Categoría: Seguridad

  • SSH Reverse Tunneling

    A menudo tenemos la necesidad de conectar a un servidor ssh, a través de consola, de putty, etc.

    La mayor parte de las veces tenemos que habilitar el NAT del servidor ssh y pelear con los routers para conseguirlo. Una vez salvada la configuración del NAT (router) tenemos que volver a pelear con el posible cortafuegos.

    Para evitar estos problemas viene a nuestro rescate el ssh reverso. ¿Qué pasaría si el servidor destino nos mandara a nosotros (clientes de él) una conexión a nuestro equipo? De esta forma nosotros como clientes recibiríamos la conexión del servidor. Con esto evitamos tener que abrir puertos y configurar el cortafuegos porque es el servidor el que nos manda la conexión a nosotros (a nuestro equipo).

    ¿Cómo hacemos esto?

    (más…)

  • HTTPS, SSH Y OPENVPN EN UN MISMO PUERTO

    multi2De vez en cuando uno encuentra una de esas herramientas que resuelve un problema de una forma tan brillante que realmente dan ganas de aplaudir.

    Este es el caso de sslh, una herramienta que permite cumplir el sueño de todo aquel que ha tenido que lidiar en un entorno cuya salida estaba gestionada por un proxy.
    Sslh permite multiplexar un único puerto y convertirlo en varios servicios a la vez. Lo que hace es recibir la conexión en el puerto indicado, analizar que tipo de conexión es (ssl, openvpn, ssh, xmpp) y en función de ese análisis, enviar la conexión al puerto indicado.
    Por simple el concepto es brillante. Muchos nos hemos encontrado en un entorno donde un proxy solo facilita el método ‘CONNECT’ hacia el puerto 443. Si queríamos hacer uso de varios servicios era necesario usar túneles SSH que a la postre eran bastante engorrosos.
    Además, el creador de la herramienta indica un método para lidiar con proxys ‘inteligentes’ que no solo restringen conexiones a puertos sino que también analizan que las conexiones sean efectivamente SSL.
    Para instalarlo en Linux (para windows se proveen ejecutables) hay que hacer lo siguiente:
    Descargamos el paquete:
    wget https://github.com/yrutschle/sslh/archive/v1.15.tar.gz
    Lo descomprimimos
    tar -xvzf v1.15.tar.gz
    Compilamos e instalamos
    make install
    Una vez hecho eso, tenemos que configurar sslh para indicarle como queremos que mueva las conexiones.
    lo más fácil es usar el puerto 443 de la interface de red exterior para sslh y poner los otros servicios en localhost. De esa forma solo exponemos un puerto abierto al exterior y el resto de servicios están ocultos a miradas ajenas.
    Un ejemplo de uso de sslh para escuchar en el puerto 443 de la interface de red y enviar el tráfico SSH al puerto localhost 22
    sslh -p 172.16.183.139:443 –ssh 127.0.0.1:22
    Si queremos mover tráfico openvpn, tan solo tenemos que añadir el flag –openvpn 127.0.0.1:1194
    De esa forma estaremos moviendo tráfico SSH al puerto 22 y tráfico OpenVPN al puerto 1194 pero todas las conexiones desde el exterior irán contra el puerto 443.
  • sshput: Configurar el login sin password para servidores remotos SSH

    Aunque generar las claves publica/privada y subirlas a un servidor remoto SSH para que nos permita conectar directamente a la máquina sin necesidad de que nos pida la password es muy sencillo, nunca ésta de más tener un simple script que nos simplifique éstos pasos. Para ello podemos usar sshput, que nos permite generar las claves y despues indicando el usuario y dirección del servidor ssh, ya se encarga de subir la clave pública para que las siguientes veces que queramos acceder a ése servidor (y si tenemos los correspondientes permisos a la máquina) ya no tengamos que meter la password.

    Sintaxis: sshput usuario_remoto@maquina_remota

    #!/bin/sh
    # sshput <remotehost>
    #
    # Puts your local DSA public key into the .ssh/authorized_keys 
    # on a remote machine. This should allow you to login without
    # needing a password.
    #
    # This software comes with no guarantees whatsoever, and is yours to 
    # do with as you will. I'd be grateful if you feed any generally-useful 
    # improvements back to me, for the benefit of others.
    #
    # Quentin Stafford-Fraser http://www.qandr.org/quentin
    PUBKEY="${HOME}/.ssh/id_dsa.pub"
    if [ $# -ne 1 -o "$1" = "-h" ]
    then
     echo
     echo Syntax:
     echo "$0 [user@]<remotehost>"
     echo
     exit 1
    fi
    if [ ! -r ${PUBKEY} ]
    then
     echo
     echo Public key ${PUBKEY} not found.
     echo You can generate this by running
     echo " ssh-keygen -t dsa"
     echo Then come back and run $0 again.
     echo
     exit 1
    fi
    echo If you are prompted for a password, enter your password on the
    echo remote machine.
    cat ${HOME}/.ssh/id_dsa.pub | 
     ssh $1 'mkdir -p -m 0700 ${HOME}/.ssh && 
     cat >> $HOME/.ssh/authorized_keys && 
     chmod 0600 $HOME/.ssh/authorized_keys'
    if [ $? -eq 0 ]
    then
     echo Public key installed on remote machine.
     echo You should now be able to connect with
     echo " ssh $1"
     exit 0
    else
     echo Sorry, an error occurred!
     exit 1
    fi

    Enlace original | sshput

    Enlace traducido

  • Comandos útiles (II)

    Obtener una lista de los servidores ssh activos en una red local:

    nmap -p 22 --open -sV 192.168.2.0/24

     

     

     

    Entrada original en : commandlinefu.com

  • Auditoria inalámbrica (II)

    A la hora de inyectar paquetes en el AP atacado debemos verificar su estado.
    Verificando el filtrado MAC.
    1. Antes de continuar debemos verificar si el punto de acceso realiza filtrado MAC en sus clientes. Usamos este comando:

    sudo aireplay-ng -1 0 -e <essid_objetivo> -a 55:55:55:55:55:55 -h MY:MA:CA:DD:RE:SS <interfaz>

    Donde:

    • -1 Le dice que NO intente desautentificar clientes.
    • -e Es el nombre de la red objetivo.
    • -a Es la MAC del AP objetivo.
    • -h Es la MAC que tu quieras.

    Si el resultado luce así:

    03:22:32 Sending Authentication Request
    03:22:32 Authentication successful
    03:22:32 Sending Association Request
    03:22:32 Association successful :-)

    Significa que el filtrado esta apagado y podemos continuar con el tutorial, de otra forma salta a la sección Con Filtrado MAC.

    Sin Filtrado MAC

    1. Reinyección de paquetes.

    sudo aireplay-ng -3 -b 55:55:55:55:55:55 -h MY:MA:CA:DD:RE:SS <interfaZ>

    Ahora solo debemos ser pacientes hasta recibir un paquete ARP para poder usar una vez recibido el numero de paquetes recibidos se elevara muy rapido, en este punto como el filtrado esta desactivado podemos usar cualquier MAC. Podemos pasar a descifrar la clave.

    Con Filtrado MAC

    2. Obligamos a desautentificar al cliente que esta en el AP objetivo.

    sudo aireplay-ng -0 5 -a 55:55:55:55:55:55 -c 00:11:22:33:44:55 <interface>
    Donde:

    • -0 Indica el numero de intentos.
    • -a El MAC del AP objetivo.
    • -c La dirección MAC del cliente.

    Para la Re-Inyección se procede de la misma forma solo que ahora nos haremos pasar por el cliente.

    sudo aireplay-ng -3 -b 55:55:55:55:55:55 -h 00:11:22:33:44:55 <interfaz>

    Como había mencionado… Ahora solo debemos ser pacientes hasta recibir un paquete ARP para poder usar una vez recibido el numero de paquetes recibidos se elevara muy rapido, en este punto como el filtrado esta desactivado podemos usar cualquier MAC. Podemos pasar a descifrar la clave.

    Original El Tux AngelVerde

  • Auditoria Inalámbrica

    Aunque parezca un tópico, con este texto no pretendo incitar al aprovechamiento de conexiones a internet ajenas sino aprender y encontrar sentido a lo que se hace.

    Este tutorial se puede seguir utilizando una distribución preparada para ello como backtrack o bien instalando los paquetes necesarios en cualquier otra distribución.

    Abre una ventana de terminal (o consola) y escribe lo siguiente:

    airmon-ng

    (más…)

  • Installing OpenVPN-ALS on Ubuntu

    1) Use Synaptic or apt-get to install the following:

    • ant (and its dependencies)
    • sun-java6-bin
    • sun-java6-jdk

    2) Switch to root via «sudo -s».

    3) Add the following to .bashrc in /root:

      export JAVA_HOME=/usr/lib/jvm/java-6-sun
      export PATH=$PATH:$JAVA_HOME/bin
      java -version
    

    Note: «java -version» is not actually required. It just gives you a nice indicator (when shifting to root) that the java binary can be «seen».

    4) Type «exit» to leave root and switch back to root via «sudo -s». This reloads the root environment, including the changes you just made in #3.

    5) Download the most recent version of [[1]] from SourceForge. (Note: Instead of clicking on the big green «Download» button, click on the «View all files» next to it. The idea here is you want to download the .tar.gz version, not the .zip.)

    6) Move the file into /opt and untar the file. It will create its own working directory.

    (más…)

  • Administración del firewall con ufw

    El Uncomplicated FireWall (ufw) es una solución de administración de firewall sencilla, sin necesidad de entorno gráfico y con plena integración en el sistema de paquetes.

    Las principales ventajas de este nuevo sistema son:

    • Sintaxis fácil e intuitiva
    • Integración con el sistema de paquetes

    La integración con el sistema de paquetes es una buena noticia, pues hasta ahora, si por ejemplo instalabas apache (servidor web) tenías que encargarte manualmente de revisar la configuración de la red y abrir los puertos necesarios. Con ufw este proceso será automático y transparente para el usuario.

    Si no lo tenemos instalado aun lo haremos con la orden:
    $ sudo aptitude install ufw

    Vamos a montar un sencillo firewall de seguridad en el que cerraremos todo el tráfico, excepto los servicios que queramos habilitar.

    Iniciar el firewall:

    • Iniciar el firewall: $ sudo ufw enable
    • Establecer la política por defecto (todo cerrado): $ sudo ufw default deny
    • Guardar un registro: $ sudo ufw logging on
    • Mostrar el estado del firewall: $ sudo ufw status

    Permitir ciertos servicios:

    • Habilitar el servicio http (apache) para todos: $ sudo ufw allow http
    • Habilitar el servicio ftp en la red interna: $ sudo ufw allow from 192.168.0.0/16 proto tcp to any port ftp
    • Habilitar la administración remota (ssh) para la IP 214.214.214.214: $ sudo ufw allow from 214.214.214.214 proto tcp to any port ssh

    Otras funciones:

    • Eliminar una regla: $ sudo ufw delete allow 80
    • Abrir puerto 4662 para emule: $ sudo ufw allow 4662
    • Abrir puerto 6891 para torrent: $ sudo ufw allow 6891

    Guardar el estado del firewall:

    • Las reglas definidas por el usuario se guardan de manera automática en el archivo /var/lib/ufw/user.rules
    • El arranque automático de utf durante el boot se puede activar/desactivar en el archivo /usr/share/ufw/ufw.conf definiendo la variable ENABLED a «yes» o «no», por ejemplo, así quedaría el archivo para que el firewall se active automáticamente en cada arranque:

    # /etc/ufw/ufw.conf
    #

    # set to yes to start on boot
    ENABLED=yes

    Más información en la página del manual de ufw y también:
    https://wiki.ubuntu.com/UbuntuFirewall
    https://launchpad.net/ufw

    Existe además un proyecto para crear una interfaz gráfica (aun más sencillo de usar) llamado gufw, podeis encontrar más información y el programa en:
    https://launchpad.net/gufw/

    Artículo original en Ubuntu a Fondo

  • Scan rootkits en Ubuntu (rkhunter)

    Rootkit scanner es una herramienta de escaneo para asegurarse (99,9%) de que está limpio de herramientas desagradables. Esta herramienta busca rootkits, puertas traseras y local exploits,ejecutando pruebas como:

    • Hash MD5 comparacion
    • Busqueda de ficheros por defecto utilizados por los rootkits
    • Permisos erroneos en archivos binarios
    • Busqueda de cadenas sospechosas en los módulos LKM y KLD
    • Busqueda de archivos ocultos
    • Exploración dentro de archivos de texto y binarios

    Instalación
    sudo apt-get install rkhunter
    Actualizaciòn
    rkhunter --update
    Scan
    rkhunter --checkall

    Los mas comunes rootkits que son detectados por rkhunter son:

    55808 Trojan – Variant A
    ADM W0rm
    AjaKit
    aPa Kit
    Apache Worm

    zaRwT.KiT Rootkit

    Rootkit Hunter es un proyecto liberado bajo licencia GPL y gratuito para todos.

    Link Original : Phyx