Existen muchas maneras de comprometer un sistema operativo 
Windows, pero quizás la más sencilla sigue siendo mediante ingeniería social. Ejecutar un archivo en tu equipo no deja de poner en peligro tu sistema si no tienes la suficiente confianza en la fuente. Eso es lo que han aprovechado en el pasado, y siguen aprovechando a día de hoy, las 
campañas de Ransomware y los ataques que se utilizan para meter las famosas 
RAT (Remote Administration Tools) en auditorías de seguridad.
|  | 
| Figura 1: Cocinar una RAT {o Ransomware} para Windows | 
Mediante esta pequeña 
Prueba de Concepto (PoC) veremos una manera rápida y muy sencilla de comprometer un sistema corriendo con 
Microsoft Windows 7 para que los que están empezando en este mundo de la seguridad entiendan algunos conceptos básicos del funcionamiento de Windows y de 
Metasploit. Básicamente usaremos un archivo .exe para adjuntarle una 
shellcode de 
meterpreter y posteriormente haremos una escalada de privilegios para asegurar la persistencia de nuestra backdoor y tener acceso permanente. Las herramientas usadas en el proceso serán 
Shellter y 
Metasploit en 
Kali Linux.
Proceso de Construcción del Binario Malicioso
Lo primero que vamos a hacer será configurar el servidor donde recibiremos la 
shell de 
meterpreter. Si elegimos recibirla en una distribución 
Kali Linux nos ahorraremos todo el proceso de instalación del framework de 
Metasploit pero tendremos que configurar un servicio de 
NO-IP para re-dirigir el tráfico a la dirección 
IP dinámica que tengamos en cada momento.
En mi caso he preferido usar un 
VPS que tengo para trastear bastante económico y realmente recomiendo esta opción, ya que estará disponible 
24H y lo podemos aprovechar para otras cosas. Yo os recomiendo RamNode por su bajo precio. Recordad que 
Metasploit necesita al menos 
1GB de 
RAM para funcionar sin problemas.
Una vez conectado por 
SSH e instalado el framework de 
Metasploit, configuramos el 
handler con el puerto por el que escucharemos la conexión, 
ExitSessionOn en 
false para que no cierre la escucha una vez recibida y 
AutoRunScript 'migrate -f' para que migre automáticamente a otro proceso. Finalmente lo dejamos ejecutando
|  | 
| Figura 2: Arranque de Metasploit en un Kali Linux montado en el VPS esperando una shell | 
Pasemos a configurar los ejecutables. Yo he usado la herramienta para escanear dispositivos en red 
WnetWatcher de Nirsoft para adjuntarle la 
shellcode. Aquí el atacante usaría un ejecutable que se supone que la víctima ejecutaría sin sospechar.
Haremos dos versiones finales del troyano, una ejecutará la herramienta de 
Nirsoft con la 
shellcode para no parecer sospechoso y la otra simplemente lanzará la ejecución de la 
shellcode. Este último será el que cree la persistencia en el sistema operativo comprometido.
Ejecutamos 
Shellter con 
Wine y nos va a pedir los siguientes parámetros y ya tendremos nuestro ejecutable modificado y listo:
Operation Mode → Auto
PE target → Ruta del ejecutable original
Enable Stealth Mode → Y (Ejecutará WnetWatcher además de la Shellcode)
Use a listed Payload or Custom → L
Select a payload by index → 1
|  | 
| Figura 3: Configuración de Shellter. Paso 1 | 
|  | 
| Figura 4: Configuración de Shellter. Paso 2 | 
|  | 
| Figura 5: Configuración de Shellter. Paso 3 | 
|  | 
| Figura 6: Configuración de Shellter. Paso 4 | 
Ahora toca crear el segundo que solo ejecutará la 
shellcode, ya que será el que se inicie con el sistema.
Lo único que cambia con el anterior es la opción 
stealth, donde pondremos 
N, quedando de la siguiente manera:
Operation Mode → Auto
PE target → Ruta del ejecutable original
Enable Stealth Mode → N (Solo ejecutará la  Shellcode)
Use a listed Payload or Custom → L
Select a payload by index → 1
|  | 
| Figura 7: Creación del segundo binario con Shellter | 
Verificación de los binarios con el Antimalware de la víctima
Ya tenemos el servidor y los ejecutables configurados. Para no confundirnos con los ejecutables, el que ejecuta el programa 
WnetWatcher lo llamaremos 
WNetWatcher_cracked.exe y el que solo ejecuta la 
shellcode se quedará como 
WnetWatcher.exe.
|  | 
| Figura 8: Binarios creados con las Shells dentro | 
Analicemos los ejecutables con el mismo antivirus que tiene la víctima instalada. En este caso usa una versión de 
Avira para comprobar si van a ser detectados o no. Conocer los antivirus que se instalan en un equipo es parte de la información que se debe tener, y esto se puede sacar de muchas formas, como por ejemplo usando 
DNS Cache Snooping buscando los dominios de actualización de las bases de firmas de cada antivirus.
|  | 
| Figura 8: Verificación con Avira del primer binario. No detectado. | 
|  | 
| Figura 9: Verificación del segundo binario con Avira. No detectado. | 
Hasta aquí se ha visto que es bastante sencillo generar dos ficheros maliciosos que tengan 
shells para controlar un sistema informático. Por supuesto, quedan muchas derivadas hasta terminar esta prueba de concepto y en un entorno fortificado habría que salvar todavía muchas medidas de seguridad - si la empresa ha hecho los deberes -.
Habrá que conseguir llevar este fichero hasta la bandeja de entrada de la víctima, consiguiente para eso pasar las políticas de seguridad del correo electrónico de la compañía, las tecnologías 
antispam/
antivirus que tengan en el servidor de correo, conseguir que el usuario caiga en un engaño de 
spear phishing (o 
spam masivo con trucos como los de correos o paquetes), y luego que el equipo no tenga una 
fortificación extra en Windows con un firewall que evite las conexiones externas.Ya veremos más mañana 
en la segunda parte.
Un saludo!
Autor: Juan Felipe Díaz (@JuanFelipeDV)
SecForYou.com
20 comentarios:
Grande Juan Felipe ;)
Gracias Juan!
Saludos!
Deberias poner al final de la página un link a la tool shellter:
https://www.shellterproject.com/
Muy bueno!
Mañana en la segunda parte detallo las fuentes y herramientas.
Me alegro que les haya gustado.
Un abrazo Pablo, tu tienes gran culpa de esto :D.
Juan Felipe Díaz
Muy bien explicado todo, muchas gracias!
Ejecutaste el archivo con el avira u otro AV en marcha? ;)
Yo tengo una pregunta,
Por que no reconoce el AV el archivo como malicioso? Es simplemente porque el avira es un antivirus "de carton"? O en el proceso se hacen tareas de camuflaje del "virus"?
Gracias!
Buenos días Chema, saludos desde México, ¿es posible comprar el libro de fortificación de Windows aquí? ¿Está disponible como compra electrónica? Gracias por tomarte el tiempo de leer y responder esto.
Muchas gracias Anónimo.
Jonathan si que lo hice. Te animo a que sigas la guía y nos des feedback.
Javi, usé Avira porque para mi es uno de los más tediosos en estos temas. Simplemente eso. En una auditoría haría una máquina virtual con el antivirus del cliente por supuesto para probar antes. El proceso de ocultación se realiza con Shellter como podrás ver.
Mañana Chema pondrá la segunda parte pero si siguen con dudas no duden en agregarme a twitter y hablamos sin problemas.
Un saludo y gracias por el feedback.
Muy buen aporte
Excelente aporte
Excelente aporte
Esperando la part2
Te noto un tanto maligno chema ^^ pero gracias por el aporte
@Cristian, cómpralo en ehack.mx
Muy bueno tu articulo Juan, gracias por compartir el conocimiento.
Gracias!!
Sirve para archivos Apk o solo los programas exe
Éste artículo solo trata archivos .exe.
Compartir el conocimiento es la base de internet. Gracias a que otros lo han hecho, sé lo que sé.
Buen día a todos!
Juan Felipe Díaz
Gracias por la información, excelente articulo juan, desde chile un abrazo..
Publicar un comentario