Categoría: Seguridad

  • Tips iniciales Kali Linux

    Una vez instaladas Kali Linux tenemos que efectuar los siguientes pasos:

    1. Si se instala kali bajando una máquina virtual, el usuario por defecto es «kali» con la clave «kali». Vamos a crear un nuevo usuario:

    sudo adduser miguel

    2. Vamos a configurarlo para que pueda ejecutar sudo sin clave: Añadimos ahora al usuario a los grupos de Kali:

    sudo adduser miguel sudo
    sudo adduser miguel kali-trusted

    3. Actualizar los paquetes de kali:

    sudo apt update && sudo apt upgrade -y
    suto apt autoremove -y
    sudo reboot

    4. Configurar la hora.

    Pulsando el reloj con el botón derecho buscamos la Timezone correcta:

    En nuestro caso sería «Europe/Madrid».

    5. Cambiar el idioma del sistema operativo:

    Si ejecutamos:

    locale

    Nos muestra la configuración del lenguaje actual:

    Lo que tendremos que hacer es:

    sudo dpkg-reconfigure locales

    y buscar el adecuado para nuestro país:

    Una vez reiniciado el sistema, Kali nos ofrece la posibilidad de renombrar las principales carpetas al castellano:

    6. Cambiar la distribución de nuestro teclado. La distribución por defecto es en inglés y las teclas de puntuación, entre otras, no están correctamente mapeadas:

    Para ello, en el botón de inicio, buscamos teclado:

    En la pestaña distribución, podemos añadir el español y ponerlo en primer lugar, por delante del Inglés o bien podemos borrar el inglés:

    Previamente, tendremos que desmarcar la opción predeterminada o no será posible añadir nuevas distribuciones de idiomas:

    7. Actualizar la base de datos de metasploit para que, cuando vayamos a utilizarla, esté ya preparada:

    sudo msfdb init

  • Rclone (3/3): Recuperando datos

    Ya tenemos el entorno preparado y los datos salvados en la nube pero necesitamos un mecanismo que nos permita recuperar de forma rápida dichos datos.

    Propongo dos formas:

    1. Montaje de la carpeta de Google Drive encriptada como unidad de nuestro ordenador.
    2. Recuperación de los datos a través de un servidor http que nos ofrezca de forma transparente el acceso a nuestra nube.

    Montar volumen cifrado en claro

    Para montar un volumen cifrado necesitamos crear en nuestro equipo local una carpeta donde veremos el contenido de nuestra carpeta de la nube ya sin cifrar. Nos puede servir el siguiente script.

    #!/bin/sh
    
    rclone mount \
            --rc --transfers 8 \
            --volname GDrive \
            --allow-other \
            --log-level INFO \
            --buffer-size 32M \
            --vfs-cache-mode writes \
            --vfs-cache-max-size 16G \
            miGDrive_encriptado:/ /Users/miguel/transito

    Donde miGDrive_encriptado es el nombre del repositorio encriptado que creamos en Rclone (2/3) y /Users/miguel/transito es una carpeta en nuestro equipo local. Recordar que hay que dar los permisos de ejecución a nuestro script.

    $ chmod +x montar_almacenamiento_encriptado.sh

    El resultado del ejecutar el script lo podemos ver en el explorador de archivos de nuestro equipo:

    Vista de la carpeta montada en nuestro equipo
    Misma carpeta en la nube de Google

    Como podemos ver, el script de montaje nos trae a nuestro equipo la nube de Google sin encriptar de tal forma que podemos recuperar cualquier fichero que se nos antoje.

    Cuando cerremos la terminal o terminemos el comando de montaje «montar_encrypted_storage_mac.sh» con Ctrl+C se desmontará la carpeta de nuestro equipo local.

    Recuperar datos a través del navegador

    Rclone nos permite de una forma sencilla recuperar los datos de nuestra nube también a través de un servidor http (entre otros métodos).

    Para ello montaremos un script con el siguiente contenido:

    #!/bin/sh
    
    rclone serve http miGDrive_encriptado: --addr :9090

    Donde «miGDrive_encriptado» es el nombre del repositorio encriptado en la nube y «–addr :9090» es el puerto en que se montará el servidor http:

    Si navegamos ahora tendremos:

    Ahora podemos hacer uso del navegador estándar para descargar nuestros datos.

    Conclusión

    Como podemos observar Rclone es una herramienta extraordinaria, con múltiples de posibilidades. En nuestro caso la hemos usado para solventar una escenario muy particular pero las opciones son infinitas.

    Si te ha resultado mínimamente útil esta serie de post, por favor, comparte y comenta. Estaré encantado en responder.

  • Securización de router Mikrotik

    Expongo aquí unas buenas prácticas básica que deberiamos hacer cada vez que instalemos o restauremos un router Mikrotik con su s.o. RouterOs.

    • 1. Cambiar el usuario por defecto y eliminar el admin.
    /user add name=myname password=mypassword group=full
    /user remove admin

    2. Eliminar servicios que no usamos.

    /ip service disable telnet,ftp,www,api,api-ssl
    /ip service print

    3. Cambiar el puerto por defecto del servicio ssh.

    /ip service set ssh port=2200
    /ip service print

    4. Configuración del cortafuegos IPV4

    • Trabajar con conexiones nuevas para bajar la carga de la cpu.
    • Crear una address-list para las direcciones Ip’s a las que concedemos permiso para administrar el router
    • Aceptar conexiones icmp
    • Rechazar todas las demás conexiones input.
    /ip firewall filter
    add action=accept chain=input comment="default configuration" connection-state=established,related
    add action=accept chain=input src-address-list=allowed_to_router
    add action=accept chain=input protocol=icmp
    add action=drop chain=input
    /ip firewall address-list
    add address=192.168.88.2-192.168.88.254 list=allowed_to_router
    add address=172.26.0.2-172.26.0.254 list=allowed_to_router

    5. Reglas IPV4 para clientes

    • Los paquetes Established/related son añadidos a fasttrack para una rápida gestión.
    • Rechazar conexiones inválidas y hacer log de ellas con el prefijo «invalid»;
    • Rechazar intentos de llegar a direcciones no públicas desde el interior de la red local, aplicar address-list=not_in_internet antes, bridge1 es la interfaz LAN, registrar los intentos con !public_from_LAN;
    • Rechazar paquete que no son NATeados, ether1 is la interfaz WAN, registrar estos intentos con el prefijo !NAT prefix;
    • Rechazar paquetes desde internet, los cuales no son direcciones públicas, ether1 es la WAN, registrar los intentos con el prefijo !public;
    • Rechazar los paquetes desde LAN que no tienen IP de la LAN;
    /ip firewall filter
    add action=fasttrack-connection chain=forward comment=FastTrack connection-state=established,related
    add action=accept chain=forward comment="Established, Related"  connection-state=established,related
    add action=drop chain=forward comment="Drop invalid" connection-state=invalid log=yes log-prefix=invalid
    add action=drop chain=forward comment="Drop tries to reach not public addresses from LAN" dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=!public_from_LAN out-interface=!bridge1
    add action=drop chain=forward comment="Drop incoming packets that are not NATted" connection-nat-state=!dstnat connection-state=new in-interface=ether1 log=yes log-prefix=!NAT
    add action=drop chain=forward comment="Drop incoming from internet which is not public IP" in-interface=ether1 log=yes log-prefix=!public src-address-list=not_in_internet
    add action=drop chain=forward comment="Drop packets from LAN that do not have LAN IP" in-interface=bridge1 log=yes log-prefix=LAN_!LAN src-address=!192.168.88.0/24
    
    /ip firewall address-list
    add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
    add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
    add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
    add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
    add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
    add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
    add address=224.0.0.0/4 comment=Multicast list=not_in_internet
    add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
    add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
    add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
    add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
    add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
    add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
    add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
    add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=not_in_internet

     

     

    Fuente wiki mikrotik

     

  • Mikrotik

    Apuntes Mikrotik

    Hace unos días tuve la oportunidad de trastear con un aparatito que pululaba por la oficina. Concretamente un router Mikrotik.

    A continuación expongo las pruebas que hice y lo que consideré importante para cubrir un par de escenarios típicos en mi trabajo.

    1. Acceso típico de una red interna a internet.

    Hacer un reset desde el terminal:

    system reset-configuration no=yes

    En “Interfaces List”, cambiamos los nombres de los puertos para identificarlos mejor: WAN, LAN1, ….

    En IP/Addresses creamos un pool de IP’s para la LAN1.

    En IP/DHCP Client creamos el cliente para el puerto WAN que tome una ip de la entrada que reciba (router).

    (más…)

  • Zerotier te da la vida

    Hace tiempo que no hago ninguna entrada en el blog. Mea culpa. No hay excusa. Pero ahora me animo con un servicio que ha «revolucionado» la gestión de las redes, en particular, las VPN.

    Para quien no se haya oído hablar de Zerotier diré que es una empresa que nos suministra un servicio centralizado de VPN. Nos proveé de programas clientes para muchas plataformas como son Windows, Linux, Mac, Android, IOs e incluso tiene soporte para muchos modelos de NAS de las marcas Synology y Qnap.

    (más…)

  • Spectre & Meltdown Checker

    Este script sirve para verificar si son o no vulnerables a Spectre & Meltdown.

    wget -N https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh
    
    sudo chmod +x spectre-meltdown-checker.sh
    
    sudo ./spectre-meltdown-checker.sh

    Pantallazo de ejemplo:

  • Nueva píldora raspberry

    Por motivos que se me escapan al entendimiento en este momento, la nueva versión Debian Jessie para la Raspberry pi (versión de marzo 2017) viene con el servicio ssh deshabilitado.

    Esto impide que se pueda controlar la raspberry desde consola a través de ssh y obliga a configurarla la primera vez con un monitor y teclado.

    Salvando este inconveniente, la solución es sencilla. Simplemente tenemos que teclear lo siguiente:

    sudo update-rc.d ssh enable

    Con esto tenemos nuestro servicio ssh habilitado.

  • Construye tu ordenador hacker portable con Raspberry Pi3

    Ante todo decir que el contenido aquí expuesto no es mas que una traduccíon del tutorial de youtube: PNPtutorials.

    Se trata de de montar una distribución kali sobre raspberry Pi3 y configurarla de tal manera que nos permita examinar y estudiar las redes wifis de nuestro entorno. Pasamos al tutorial.

    Necesitaremos:

    • 1 móvil desde el cual controlaremos nuestra raspberry.
    • 1 tarjeta de red externa compatible con kali que permita el modo monitor o promiscuo (habitualmente una Alfa).
    • 1 raspberry Pi3 (ya que tiene una tarjeta de red wifi ya incluída)
    • 1 powerbank que nos permitirá alimentar nuestra raspberry y la dotará de cierta autonomía.
    • 1 tarjeta SD de al menos 8 gigas.

    material

    (más…)

  • Píldora Kali – Virtualbox

    Siempre que he instalado Kali hasta ahora en una máquina virtual utilizando Virtualbox he tenido problemas con el apartado gráficos en cuanto al redimensionamiento de la pantalla.

    Pues bien, viendo un tutorial por Youtube un compañero me dío la solución.

    Una vez instalado Kali, actualizado convenientemente y reiniciado, en consola tecleamos:

    apt-get install -y virtualbox-guest-x11

    Después de esto, reiniciamos la máquina Kali y ya tendremos el driver gráficos correctamente instalado.

  • MITM rápido

    Receta Mitm.

    Ingredientes:

    Ettercap, SSlStrip, iptables, arp, una víctima(192.168.0.15), una puerta de enlace(192.168.0.1), equipo linux con dichas herramientas instaladas.

    Preparación:

    Lo primero que vamos a hacer es activar el «IP forwarding» de nuestra tarjeta de red. Esto hará que la máquina a la cual estamos atacando no pierda la conectividad:

    echo 1 >> /proc/sys/net/ipv4/ip_forward

    Seguidamente vamos a aplicar el filtro en iptables para redireccionar todo el tráfico del puerto 80 al puerto 1001, que es el puerto en el que pondremos a escuchar a SSLStrip.

    (más…)