Koadic: post-explotación usando Windows Script Host

En la pasada Defcon, el Red Team de RiskSense presentó una interesante herramienta que ellos describen como un "Advanced JScript/VBScript RAT"

Se trata de Koadic o COM Command & Control, un rootkit de post-explotación de Windows similar a otras herramientas de pentesting como Meterpreter, Cobalt Strike o Powershell Empire.

La principal diferencia es que Koadic hace la mayoría de sus operaciones usando Windows Script Host (aka JScript/VBScript) y tiene compatibilidad para soportar desde una instalación predeterminada de Windows 2000 sin service packs (y potencialmente incluso versiones de NT4) hasta Windows 10.

Es posible servir completamente los payloads en memoria desde el stage 0, así como utilizar comunicaciones cifradas seguras a través de SSL y TLS (dependiendo de lo que haya habilitado el sistema operativo de víctima).

Koadic también intenta ser compatible con Python 2 y 3.

Demo

- Hookea un zombie
- Eleva integridad (UAC Bypass)
- Vuelca la SAM/SECURITY para obtener contraseñas
- Escanea la red local para SMB abiertos
- Pivota a otra máquina

Stagers

Los stagers se encargan de hookear los equipos de las víctimas para poder usar los implants.

Módulo Description
stager/js/mshta sirve payloads en memoria usando aplicaciones HTML con MSHTA.exe
stager/js/regsvr sirve payloads en memoria usando scriptlets COM con regsvr32.exe
stager/js/rundll32_js sirve payloads en memoria usando rundll32.exe
stager/js/disk sirve payloads en memoria usando archivos en disco

Implantes

Los implantes inician jobs en los zombies.

Módulo Descripción
implant/elevate/bypassuac_eventvwr Usa el exploit de enigma0x3 de eventvwr.exe para evadir UAC en Windows 7, 8 y 10.
implant/elevate/bypassuac_sdclt Usa el exploit de enigma0x3 de sdclt.exe para evadir UAC en Windows 10.
implant/fun/zombie Pone al máximo el volumen y abre un vídeo en Youtube de The Cranberries en una ventana oculta.
implant/fun/voice Hace sonar un mensaje de texto a voz.
implant/gather/clipboard Obtiene el contenido actual del portapapeles del usuario.
implant/gather/hashdump_sam Obtiene los passwords hasheado de la SAM.
implant/gather/hashdump_dc Obtiene los hashes del Controlador de Dominio del fichero NTDS.dit.
implant/inject/mimikatz_dynwrapx Inyecta una DLL "reflective-loaded" para ejecutar powerkatz.dll (usando Dynamic Wrapper X).
implant/inject/mimikatz_dotnet2js Inyecta una DLL "reflective-loaded" para ejecutar powerkatz.dll (@tirannido DotNetToJS).
implant/inject/shellcode_excel Ejecuta un shellcode (si Excel está instalado).
implant/manage/enable_rdesktop Activa el Escritorio Remoto en el objetivo.
implant/manage/exec_cmd Ejecuta un comando arbitrario en el objetivo, y opcionalmente obtiene la salida.
implant/pivot/stage_wmi Hookea un zombie en otra máquina usando WMI.
implant/pivot/exec_psexec Ejecuta un comando en otra máquina usando psexec de sysinternals.
implant/scan/tcp Usa HTTP para escanear puertos TCP abiertos en la LAN del zombie.
implant/utils/download_file Descarga un fichero de la máquina zombie.
implant/utils/upload_file Sube un fichero desde el servidor escuchando a los zombies objetivos.

Proyecto: https://github.com/zerosum0x0/koadic

Comentarios

  1. Está un poco verde. Levanta muchísimas alarmas al windows objetivo y le faltan algunos módulos muy básicos (Persistencia, por ejemplo), pero la herramienta me gusta mucho.

    ResponderEliminar

Publicar un comentario