Software Development && UnEthical Hacking
inicio hacking WiFu WiBOG MDB

NGRBot / Dorkbot
General

El NgrBot es un rootkit de modo usuario, el cual usa específicamente la técnica Inline Hooking para modificar ciertas funciones del API de Windows con el fin de ocultar su ejecución y mantener la permanencia en el sistema. Además de esto puede ser controlado remotamente por un atacante a través del protocolo IRC (Internet-Relay-Chat) por medio de comandos específicos para realizar tareas como: ataques de denegación de servicio, robo de información, etc.

MD5: f83cc91936dccb2e140a21ac6859d69b
SHA256: 6425918bc2a11e0d67c73b4fc99be746682b9da779ffdd713ca048c27b4d11cf
SHA1: 0d29e00f60a342161a77648532f98b714e115d27
Tamaño: 144.0 KB ( 147456 bytes )
Nombre: z8.exe

MD5: 59331fe7a82583ae9ebfbdf0f8b68f9f
SHA256: 01074b5b5eedee4cc0aa1fffb26228f6edc0db6f240575c9f8a895a3d1d3eef7
SHA1: 0f1507f3daba5d177acd4d20f2ac20903b5deafb
Tamaño: 88.0 KB ( 90112 bytes )
Nombre: 1348587241.59331fe7a82583ae9ebfbdf0f8b68f9f.exe

 

Información del archivo en ejecución

Al ejecutar el archivo este se copia a sí mismo en la carpeta C:\Documents and Settings\Administrador\Datos de programa con los nombres Milwli.exe o Lhlwlh.exe (según las pruebas realizadas con los dos ejecutables de prueba). También crea una llave en el registro de Windows con el fin de ejecutarse cada vez que se inicie el equipo.

Al utilizar la técnica Inline Hooking el malware modifica los resultados del API de Windows permitiendo ocultar el ejecutable, la llave registro y las peticiones de red realizadas para el envío de información y la recepción de los comandos.

 

Información de red


Servidores con los cuales se intentan realizar conexiones:

api.wipmania.com
saturn.losa.pl
uranus.kei.su
photobeat.su
niggers.triggers.ru
triggered.ddns.me


 

Análisis del archivo en ejecución

El rootkit comienza su ejecución descifrando la sección de .data por medio del algoritmo RC4 con la clave “haxer” con el fin de obtener datos de configuración que serán usados posteriormente.

Se puede identificar la clave “haxer” con los caracteres hexadecimales (68, 61, 78, 65 y 72), seguido a esto se encuentra un ciclo que itera dentro de los headers hasta encontrar la cadena 0x7461642E o “tad.” la cual seria “.dat” debido al Little endian. Después de que se ha identificado la sección de datos se procede a descifrar la información.

 

Al ejecutarse la función para descifrar los datos se obtiene información de sitios web, particularmente de sitios de seguridad los cuales serán bloqueados impidiendo la actualización de antivirus, también se encuentra información para realizar funciones de propagación del malware a través del autorun de Windows (infectando las memorias USB), a través de archivos LNK (short-cut link), y a través de mensajes ficticios por medio del Facebook, Messenger, Pidgin, Twiter, etc.

Algunos datos encontrados: 

autorun.inf
Message hijacked!
SDG.msnmsg..X-MMS-IM-Format:....SDG ....MSG ....CAL %d %256s
Detected process "%S" sending an IRC packet to server %s:%d..PRIVMSG #...
x.c.h.a.t...e.x.e...m.i.r.c...e.x.e
PASS %s
USER %s
Blocked possible browser exploit pack call on URL '%s
webroot
fortinet
virusboster
lavasoft
f-secure
clamav
malwarebytes
pandasecurity
sophos

 


En el siguiente ARCHIVO se puede ver toda la información obtenida después de ejecutada la función.

Dentro de los datos descifrados obtenidos anteriormente se obtiene una estructura de integridad la cual permite como su nombre lo dice revisar si se realizaron cambios en el archivo, si se encuentran cambios en el ejecutable este habilita inmediatamente funciones para borrar la MBR (Master Boot Record) o el disco duro con el fin de evitar el análisis del mismo. Así mismo imprime un mensaje en pantalla (muy curioso por cierto :-D).


Si falla la comparación de los hash, tanto el precomputado como el obtenido durante el proceso de descifrado de la sección de datos no realiza el JUMP (JE) y continúa con la función encargada de imprimir el mensaje:

 

Identificando la llave de registro oculta


Para identificar la llave oculta se conecto un debugger al Kernel de la maquina infectada.

Se buscan las direcciones de las llaves de registro


Se busca dentro de la posición e1d99738 donde se encuentran las llaves para la sesión Administrador, específicamente para la llave SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN la celda de la llave es la 00033998.

Al revisar en detalle la celda podemos encontrar la llave con el nombre Milwli


Al revisar dentro de la posición d0096adc se pueden observar mas detalles de la llave, incluida la parte de datos que este caso tiene un índice de celda de 95af8, el cual nos lleva a la posición específica de los datos de la llave la cual es d0096afc, logrando observar la dirección del ejecutable.

 

Enlaces


En este enlace (creado por ronghwachong) pueden ver el malware modificado para mostrar su funcionamiento en un ambiente controlado
http://youtu.be/64lhDuxtLtE

También un análisis realizado por ESET
Dorkbot: conquistando Latinoamérica - Eset

Inicio       ||       Comunidad       ||      Servicios       ||      Proyectos       ||      Hacking       ||      Contáctenos