Solución al reto 4 de análisis de malware (una ayuda para Juanito)

Si recordáis, en el último reto que os planteábamos, teníamos que ayudar a un técnico informático de una pequeña empresa, Juanito, a analizar un fichero sospechoso con malware. Este malware, había afectado a los equipos de su red y cabreado muchísimo a su jefe.

Afortunadamente, vamos a ayudar a Juanito a que no pierda su puesto de trabajo, analizando el malware y respondiendo a las preguntas que os hacíamos para resolver el reto. A continuación, se muestra el procedimiento y el resultado de ese análisis.

Preparando un entorno aislado y descargando el software

En primer lugar y como aconsejábamos en la descripción del reto, preparamos un entorno aislado (en nuestro caso, nuestro laboratorio estará compuesto de dos máquinas virtuales en Virtualbox) y, a continuación, procedemos a descargar el archivo para analizarlo.


Lo primero que tenemos que hacer es comprobar el hash MD5 de los archivos descargados para verificar su integridad. Con cualquier utilidad para ello, nos aseguramos de que el checksum corresponde con el mostrado en la página de descarga:


Una vez que sabemos que se trata del ejecutable "malicioso" original, nos ponemos manos a la obra.

Análisis online

Empezamos a analizar el espécimen sin correr riesgos, subiéndolo a un buen número de utilidades de análisis online.

Para comenzar, es necesario saber si el ejecutable es detectado por otros motores de antivirus (ya sabíamos que Panda no lo detectaba). Si el ejecutable no es FUD (completamente indetectable) obtendremos una pista inmejorable para saber el tipo y nombre del malware a analizar.

En este caso, subimos el binario al escáner multi-antivirus de novirusthanks, que es uno de los pocos actualmente, si no el único, que permite subir ficheros sin distribuir el malware a los diversos antivirus que utiliza (muy útil para respetar nuestro stub).


El resultado, como podéis comprobar a continuación, es determinante:

Enlace permanente: http://scanner.novirusthanks.org/analysis/4f07524e2ac01deefb82b29544764ab5/aHB5c19zZXJ2ZXIyLmV4ZQ==/

File Info

Report date: 2010-05-30 22:53:02 (GMT 1)
File name: hpys_server2.exe
File size: 303104 bytes
MD5 Hash: 4f07524e2ac01deefb82b29544764ab5
SHA1 Hash: 715cd5b82daccb88e632dbd7aff46a64b85c420c
Detection rate: 13 on 19 (68% )
Status: INFECTED

Detections

a-squared - Trojan.Win32.Pincav!IK
Avast - Win32:Spyware-gen [Spy]
AVG - Generic17.AEEW
Avira AntiVir - TR/Pincav.wxy.39
BitDefender - Trojan.Dropper.VB.AZL
ClamAV - -
Comodo - -
Dr.Web - Win32.HLLW.SpyNet
F-PROT6 - -
G-Data - Trojan.Win32.Pincav.wxy A
Ikarus T3 - Trojan.Win32.Pincav
Kaspersky - Trojan.Win32.Pincav.wxy
NOD32 - Win32/TrojanDropper.VB.NOS
Panda - -
Solo - Trojan.Win32.Pincav.Wxy
TrendMicro - TSPY_BANCOS.ZWQA
VBA32 - Trojan.VBO.09206
VirusBuster - -
Zoner - -

Con estas detecciones, ya podemos responder a las dos primeras preguntas del reto, es decir, ya sabemos el nombre y tipo de malware utilizado.

Sin embargo esto es sólo el comienzo. Necesitamos recabar más información para saber donde se conecta el troyano, cual es el nombre del instalable en el equipo de la víctima, las claves de registro que modifica, etc. En definitiva, probar el troyano en un entorno que simule o sea un equipo real.

Seguimos probando diversas utilidades online disponibles, y ahora procederemos a subir el artefacto a varios sandboxes online. Para ello, utilizamos varios enlaces disponibles en nuestro antiguo post y estudiamos los resultados.

Los primeros informes obtenidos en Anubis, Comodo, CWSandbox, Eureka, Norman y ThreatExpert no arrojan detecciones o devuelven pobres resultados. Seguramente debido a que el malware tiene capacidades antidebug.

Sin embargo, el análisis de Joebox recoge resultados muy positivos. Gracias a este último y magnífico análisis de Joebox podríamos responder ya a casi todas las preguntas del reto.

Si habéis visto el informe de Joebox, sólo con este análisis online, hemos descubierto como funciona casi por completo el malware que se infiltró en la red de Juanito. Pero para asegurarnos y ver si nos hemos dejado algo, procederemos a instalar también el malware en un equipo virtual.

Análisis local

Antes de infectar nuestro equipo de pruebas con el espécimen, es necesario instalar y activar las herramientas apropiadas para la monitorización.

Hoy en día existen un montón de herramientas que te permitirán observar como el malware en Windows interactúa con su entorno:

• Sistema de ficheros y monitorización del registro: Process Monitor y Capture BAT ofrecen una potente manera de observar en tiempo real como los procesos locales leen, escriben o borran entradas del registro y ficheros. Estas herramientas nos pueden ayudar a entender como el malware intenta introducirse en el sistema para infectarlo.

• Monitorización de procesos: Process Explorer y Process Hacker reemplazan el clásico administrador de tareas de Windows, ayudándonos a observar los procesos maliciosos, incluyendo los intentos de apertura de puertos de red locales.

• Monitorización de red: Wireshark y SmartSniff son sniffers de red, que pueden observar el tráfico de red para los intentos de comunicación maliciosos que se realizan en el PC de nuestro laboratorio, como peticiones de resolución DNS, tráfico del bot y descargas.

• Detección de cambios: Regshot es una herramienta para comparar el estado del sistema antes y después de la infección, para subrayar los cambios claves realizados en el registro y en el sistema de ficheros.

Y, adicionalmente, no está de más examinar el código del espécimen, ya que esto nos ayudará a describir características que son difíciles de descubrir con las herramientas de observación del comportamiento descritas anteriormente. Para ello, tenemos también a nuestra disposición buenas herramientas:

• Desensamblador y depurador: OllyDbg y IDA Pro Freeware pueden tratar ejecutables compilados en Windows y, actuar como desensambladores, mostrando las instrucciones en ensamblador de Intel x86. Estas herramientas también incluyen capacidades de depuración, que nos dejarán ejecutar las partes más interesantes del programa malicioso más lentamente y bajo condiciones de control, para entender mejor el propósito del código.

• Memory dumper: LordPE y OllyDump nos ayudarán a obtener y salvar el código protegido localizado en la memoria del sistema del laboratorio. Esta técnica es particularmente útil cuando analizamos ejecutables empaquetados, los cuales son difíciles de desensamblar porque sus instrucciones están cifradas.

Una vez que tenemos nuestro arsenal preparado, procedemos a instalar el binario del troyano, observamos su comportamiento y funcionamiento, y vemos que más o menos coincide con los resultados anteriores obtenidos a partir de las herramientas online.

Os dejo los resultados del regshot, unas pantallas y unas breves palabras para no ser demasiado repetitivo:

Regshot 1.8.2

Comentarios:Reto IV Hackplayers - infección

Fecha y hora:2010/x/xx 00:05:50 , 2010/x/xx 00:44:51

Computador:equipo_virtual_1 , equipo_virtual__1

Usuario:Administrador , Administrador


Claves añadidas:3

HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_VSMON\0000\Control
HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VSMON\0000\Control
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\victima


Valores borrados:2

HKLM\SYSTEM\ControlSet001\Services\kmixer\Enum\0: "SW\{b7eafdc0-a680-11d0-96d8-00aa0051e51d}\{9B365890-165F-11D0-A195-0020AFD156E4}"
HKLM\SYSTEM\CurrentControlSet\Services\kmixer\Enum\0: "SW\{b7eafdc0-a680-11d0-96d8-00aa0051e51d}\{9B365890-165F-11D0-A195-0020AFD156E4}"


Valores añadidos:15

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\hpys_troyano: "C:\Archivos de programa\hpys_troyano\servidor.exe"
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_VSMON\0000\Control\ActiveService: "vsmon"
HKLM\SYSTEM\ControlSet001\Services\Schedule\AtTaskMaxHours: 0x00000048
HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\C:\Archivos de programa\Mozilla Firefox\firefox.exe: "C:\Archivos de programa\Mozilla Firefox\firefox.exe:*:Enabled:Windows Firewall Update"
HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VSMON\0000\Control\ActiveService: "vsmon"
HKLM\SYSTEM\CurrentControlSet\Services\Schedule\AtTaskMaxHours: 0x00000048
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\C:\Archivos de programa\Mozilla Firefox\firefox.exe: "C:\Archivos de programa\Mozilla Firefox\firefox.exe:*:Enabled:Windows Firewall Update"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Windows\Temp\javatmp54004.exe: "DQYYuYGKnWyuRSCLJPFac"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Windows\Temp\bombalogica.bat: "bombalogica"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Windows\Temp\javatmp54005.exe: "DQYYuYGKnWyuRSCLJPFac"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Windows\Temp\hpys_server.exe: "hpys_server"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Archivos de programa\hpys_troyano\servidor.exe: "servidor"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\WINDOWS\system32\cscript.exe: "Microsoft (R) Console Based Script Host"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\victima\FirstExecution: "27/05/2010 -- 11:24"
HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\victima\NewIdentification: "victima"


Valores modificados:31

HKLM\SOFTWARE\CheckPoint\LTA\IntegrityFWactive: 0x00000000 HKLM\SOFTWARE\CheckPoint\LTA\IntegrityFWactive: 0x00000001 HKLM\SOFTWARE\JavaSoft\Java Update\Policy\UpdAvailNotifyCnt: 0x00000004 HKLM\SOFTWARE\JavaSoft\Java Update\Policy\UpdAvailNotifyCnt: 0x00000005 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\szLastScanned: "C:\Documents and Settings\Administrador\Escritorio\regshot_1.8.2_src_bin\regshot.ini" HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\szLastScanned: "C:\WINDOWS\Internet Logs\ZALog.txt" HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesInfected: 0x00000000 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesInfected: 0x00000002 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesScanned: 0x00000224 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesScanned: 0x00000497 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesDeleted: 0x00000000 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\dwFilesDeleted: 0x00000002 HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed: BA 73 A4 67 47 27 2E 61 AD F3 E7 B1 60 DA A4 06 E6 F2 53 F4 39 60 2F F6 01 46 66 F2 18 80 73 59 C2 2C AC FA C5 1A FD 41 56 6F 07 60 47 71 7D 63 75 2D 65 CD 82 1E B6 49 11 ED 41 DB 0D E7 FC 78 E4 69 8F E1 19 EA 9B 87 9A 63 59 8B 11 44 96 86 HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed: 7C DE 71 E2 04 3B C5 06 B1 1B 85 98 C6 DB 42 58 60 29 9B 4E C3 D1 AD 49 89 9E 9F F0 F2 B0 91 76 D8 1A FA A8 58 9F 6C 73 D5 AB 44 25 8B 91 38 21 C8 6A 55 4D EF FD B0 E8 C2 46 EB CF 14 12 AB F2 3F 75 1A 67 06 B5 B1 3F 58 A8 E9 F8 56 9F DE 78 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher\TracesProcessed: 0x0000000E HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher\TracesProcessed: 0x0000001B HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher\TracesSuccessful: 0x00000006 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher\TracesSuccessful: 0x0000000A HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon\Settings\Data: 01 00 00 00 D0 8C 9D DF 01 15 D1 11 8C 7A 00 C0 4F C2 97 EB 01 00 00 00 9D 44 23 4A B2 93 1D 44 9A 13 E2 C2 54 9C 26 21 04 00 00 00 04 00 00 00 53 00 00 00 03 66 00 00 A8 00 00 00 10 00 00 00 FD 8A 76 F8 E4 DD 21 EF F6 27 A0 7B 07 8B E7 B4 00 00 00 00 04 80 00 00 A0 00 00 00 10 00 00 00 7D B0 57 11 0C A3 16 27 9B 45 DE 3B 0F D5 B1 75 98 02 00 00 29 8E 44 51 2B 94 45 59 E1 27 15 4A 38 0C 6F D1 05 D0 91 13 11 33 E4 86 EA 3B A5 A3 25 0D 3D A8 C6 7E 8A 09 87 CF 77 83 53 E2 E1 32 31 7A 3D 9D FB 60 EC 73 A1 38 59 50 35 06 CA 64 DE 93 BA A7 DE 97 E1 35 3E 01 86 43 4F 91 9A 3D DF 31 0C 76 9D 84 08 F9 12 51 8B C3 31 37 E3 E3 3F C6 2A 09 AF 69 1E A4 7C 28 15 BD 6D A4 FB B3 C9 F0 07 24 85 DA E4 C5 A4 76 B1 B1 51 6E 4B BE 4E DD 42 73 11 15 DD 70 11 DE D4 12 0C 9D 92 F4 C4 C1 B3 C4 43 B4 5C C9 69 62 35 CA 5B 08 F2 D1 56 83 15 28 BF 7F 88 EC 75 8F B8 AB A3 27 54 AC 87 02 B8 13 CE 1E 6D 24 1E A1 7D 37 A8 34 20 C
1 40 BC A7 77 35 14 B0 0C 74 AD D3 13 20 EA 86 89 22 33 0E D1 4F EC 9F DF 6F 6B C2 1F FB 17 2F B7 65 BF 8D 4C 73 AD 4A FC B8 36 52 AB A9 98 0C 8E 7F 9E FD AE 48 63 CC AF 99 4B CF 4A 51 4B 40 26 A1 B1 3A 8C CF A2 81 53 84 3A AC DB 68 7E F9 11 A4 82 5E 01 05 4B E8 79 35 8D 23 F6 DF 3B C9 E5 A1 ED DB 3B 27 89 9F 5A 46 6D D2 66 F5 84 74 75 1B FF C3 38 1A F5 90 A2 B0 78 27 C2 9D 77 F5 B8 8E C2 90 A8 A7 B0 A4 7E 3C 61 F2 B3 7C 8F 8A FE 7D 63 AC 18 6F A8 D4 DE 14 0E 1D 9B 73 F3 6E A2 10 D2 41 86 DA 37 05 09 DA 69 32 D8 A4 2E FF 38 B8 06 F2 BD 1C AF 36 B3 08 6E 22 62 5B 82 2F 71 1E F6 89 F2 2D 34 08 AE 56 27 ED 9F 4F 56 2A 63 58 5C 58 99 5F 13 E3 34 12 B3 CC E3 B8 02 1F 80 E9 5B AF 69 FF 20 A3 2E 52 F1 EE DB 69 3E DA 14 57 B1 14 7E B3 E1 B1 25 1E D3 52 40 3E C2 D2 EA DF 2B AA BB 91 E1 FE 2B 47 D1 E2 B0 97 C6 7F 5F A5 A3 C7 32 0D FB B2 AE 50 2E CB 69 73 40 C2 C2 90 EE 87 6F 3C 65 D1 0F 47 41 75 2E 38 3D AE 0C EE 81 60 9F 81 DC 08 D7 79 1B 35 64 AD B5 D0 5E D9 0F 3B 07 CC 8D 35 EC 7D 22 BC F5 63
95 AF 3C 88 E6 C5 F3 26 D4 47 1A E2 19 36 0F 55 4E CB C5 0F 64 BE A4 44 EC DD F8 2C A6 F0 66 94 D6 CA A4 8D 36 2F 75 33 31 FD E2 DA BA 9D AF 84 89 00 95 DF 24 47 60 61 D6 A7 69 3B 77 E9 38 CC 5E CD 30 C2 54 F3 34 3B 97 C2 9B D5 99 B8 FB 2F B2 B9 09 85 51 6F 85 5B 6A AD 9C 43 AE 87 C6 00 3C 6A A1 4B 11 32 0C F5 2C 3F 61 90 E4 D0 FD 48 F5 51 E0 80 1D D8 95 C6 78 91 2D A8 F9 DA FF BD BC 58 2A 02 E5 06 B9 3A 5C DC 07 B6 B3 DF 64 14 00 00 00 31 61 F5 6E 67 9E 5D 3B E6 8B 4E DE 10 6D 46 6F 4C 79 A4 24 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon\Settings\Data: 01 00 00 00 D0 8C 9D DF 01 15 D1 11 8C 7A 00 C0 4F C2 97 EB 01 00 00 00 9D 44 23 4A B2 93 1D 44 9A 13 E2 C2 54 9C 26 21 04 00 00 00 04 00 00 00 53 00 00 00 03 66 00 00 A8 00 00 00 10 00 00 00 E8 15 7E 5C 98 5D DA 0B FD 95 7A 06 E2 67 38 81 00 00 00 00 04 80 00 00 A0 00 00 00 10 00 00 00 5A F5 FC 5C B3 20 93 3C 47 9D 13 4A 7E FC 95 B9 98 02 00 00 7E F2 7B 16 BC CB 14 4D EB D8 CE 6D 58 45 38 00 FB F4 15 44 45 47 0C 0C DC 9B BE C5 A4 AD 68 65 4F BA 5C F3 E0 55 34 75 24 DA 27 3A 8B 91 26 85 C9 7B 67 C3 7A DC C0 EC E4 65 9D BC 4E 3E C0 C4 F2 76 86 2F C0 85 25 8C 3C 24 3B F1 9A E5 D4 60 BC A2 EE CD B0 8E 5B 87 34 A6 5F C4 16 EC 12 18 6B F5 ED 6A 84 C2 B7 3A 1F FC 2E 22 06 C4 B7 74 11 79 DF ED 0B 83 AF 3F 04 6D D7 58 80 24 EA 74 3F EB 4F 55 44 8E B4 B6 4B 81 AC CD BC 66 A9 B5 C4 09 D7 EE 2F C4 9C E8 7C 7C A9 9E F1 0A 36 A2 59 0D AC 36 00 59 C3 55 7C FA 98 D8 F7 B8 BB 7C EA FB 02 8B 2C 40 76 AB C4 D7 26 1
2 42 62 D6 E3 B0 27 98 F1 5D 82 18 2A 91 8E 4E 69 1B 4B DF 60 20 48 A4 E8 8A 5B 44 9A 27 42 66 0C 79 7F 9B 5D 46 3A 42 3C D0 7B 28 2D D6 8D 45 26 C0 76 6D 08 C9 41 D0 19 62 D0 9D C0 C6 09 78 E0 B4 69 99 F8 7D 5A DE 03 9F DD E2 10 75 60 4B 75 6F AF 37 31 91 F4 4B 92 47 78 28 E1 23 99 9B 79 74 9B B9 9B 6F 7A 2D FC 4A 43 27 52 8B 64 26 4D CF 35 9D 6F 5C CE 1D EA 66 77 8A 10 EC 29 8E 41 2C 5D B5 36 2C 17 E9 54 E7 53 11 98 F3 02 C1 F2 24 10 01 84 2F 55 54 CC E5 A4 78 4D 9A 06 19 91 E3 CA 28 80 EB 4B 9F 6F A2 F6 A9 EF D0 4E EE CE 3C B9 D6 8B 27 0B 08 F8 46 EE 2B 97 8E 23 3C F5 F0 D7 F8 B4 BC 68 E3 4D 14 2F 82 A1 47 BF 19 DF FE B8 DE BC 90 D0 E6 00 EF CA 47 45 E8 1D 26 D9 9B 3F DF 51 95 D5 1C 52 35 67 27 F8 91 82 0D 9A F6 D1 57 B6 C2 FD 87 45 0E 91 93 10 61 87 C7 6C 43 75 B3 EB F0 B3 9B 0E C2 55 F2 86 C2 00 8B CB 1C 5B 8A 47 1D 9C F0 C1 F5 21 3C E6 43 AC 3A E1 BE 03 21 08 52 46 4D 6F 5D 79 77 11 F9 46 77 8F 7B A0 D8 DC 71 8C 76 7B 87 1B 8D E6 78 30 82 93 A1 9B 6E 72 E5 63 73 36 2E A2 E8 28 7B
86 D3 C7 DC C4 EE A4 C3 1D 12 AD C3 FE 7C 71 C9 9A C3 10 BB 59 F7 9D 5E E7 96 A7 6C BB 4F 32 D0 B8 9F 67 84 3E 4E 77 28 75 4B 44 42 5A 4F AA 41 66 82 A9 D8 D3 13 3D 61 20 38 E1 D2 D6 06 75 31 2F 00 B9 46 E8 E3 12 3F 64 CB 74 D1 66 EB B8 86 61 E4 93 65 77 61 38 EC F8 19 02 21 C9 C0 16 D9 56 AD 0A 67 98 18 15 8A 40 70 49 3F 30 DD 86 E0 00 E2 AC EB 79 32 0C C7 20 FF 50 15 30 52 AE F4 D4 F8 DF FD 00 B7 FA 4E BF A4 89 BC C2 F9 59 14 00 00 00 73 19 B0 88 D1 BA D6 3A F9 C2 23 9F 76 EB 42 13 2D EF AB 9C HKLM\SOFTWARE\Zone Labs\TrueVector\StartDate: 0x3CBA555D HKLM\SOFTWARE\Zone Labs\TrueVector\StartDate: 0x3CBB4902 HKLM\SYSTEM\ControlSet001\Control\ServiceCurrent\: 0x0000000F HKLM\SYSTEM\ControlSet001\Control\ServiceCurrent\: 0x00000010 HKLM\SYSTEM\ControlSet001\Services\kmixer\Enum\Count: 0x00000001 HKLM\SYSTEM\ControlSet001\Services\kmixer\Enum\Count: 0x00000000 HKLM\SYSTEM\ControlSet001\Services\kmixer\Enum\NextInstance: 0x00000001 HKLM\SYSTEM\ControlSet001\Services\kmixer\Enum\NextInstance: 0x00000000 HKLM\SYSTEM\ControlSet001\Services\Schedule\NextAtJobId: 0x00000001 HKLM\SYSTEM\ControlSet001\Services\Schedule\NextAtJobId: 0x00000003 HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Epoch\Epoch: 0x0000138B HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Epoch\Epoch: 0x0000138C HKLM\SYSTEM\CurrentControlSet\Control\ServiceCurrent\: 0x0000000F HKLM\SYSTEM\CurrentControlSet\Control\ServiceCurrent\: 0x00000010 HKLM\SYSTEM\CurrentControlSet\Services\kmixer\Enum\Count: 0x00000001 HKLM\SYSTEM\CurrentControlSet\Services\kmixer\Enum\Count: 0x00000000 HKLM\SYSTEM\CurrentControlSet\Services\kmixer\Enum\NextInstance: 0x00000001 HKLM\SYSTEM\CurrentControlSet\Services\kmixer\Enum\NextInstance: 0x00000000 HKLM\SYSTEM\CurrentControlSet\Services\Schedule\NextAtJobId: 0x00000001 HKLM\SYSTEM\CurrentControlSet\Services\Schedule\NextAtJobId: 0x00000003 HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch\Epoch: 0x0000138B HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch\Epoch: 0x0000138C HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 37 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 30 82 F4 A5 03 ED CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 0A 00 02 0F 00 00 00 00 00 00 00 00 75 00 72 00 72 00 65 00 6E 00 74 00 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 53 00 65 00 74 00 5C 00 53 00 65 00 72 00 76 00 69 00 63 00 65 00 73 00 5C 00 4E 00 65 00 74 00 42 00 54 00 5C 00 50 00 61 00 72 00 61 00 6D 00 65 00 74 00 65 00 72 00 73 00 5C 00 49 00 6E 00 74 00 65 00 72 00 66 00 61 00 63 00 65 00 73 00 00 00 00 00 00 00 HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 38 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 30 82 F4 A5 03 ED CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 0A 00 02 0F 00 00 00 00 00 00 00 00 75 00 72 00 72 00 65 00 6E 00 74 00 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 53 00 65 00 74 00 5C 00 53 00 65 00 72 00 76 00 69 00 63 00 65 00 73 00 5C 00 4E 00 65 00 74 00 42 00 54 00 5C 00 50 00 61 00 72 00 61 00 6D 00 65 00 74 00 65 00 72 00 73 00 5C 00 49 00 6E 00 74 00 65 00 72 00 66 00 61 00 63 00 65 00 73 00 00 00 00 00 00 00 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\UpdateTimestamp: 0x4BFD4343 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\UpdateTimestamp: 0x4BFE379E HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\ComponentsLastUpToDate64: 47 43 FD 4B 00 00 00 00 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\ComponentsLastUpToDate64: A7 37 FE 4B 00 00 00 00 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\Stats\Normal\running_apps: 0x00000000 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\CheckPoint\ISW\Stats\Normal\running_apps: 0x00000001 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count\HRZR_HVDPHG: 2E 00 00 00 78 00 00 00 00 93 9F C5 79 FD CA 01 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count\HRZR_HVDPHG: 2E 00 00 00 79 00 00 00 B0 02 12 12 7D FD CA 01 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 96 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 90 2A 5C 51 01 7F CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 C0 A8 F4 81 00 00 00 00 00 00 00 00 6F 00 6F 00 74 00 25 00 5C 00 54 00 45 00 4D 00 50 00 00 00 44 00 3B 00 2E 00 56 00 42 00 53 00 3B 00 2E 00 56 00 42 00 45 00 3B 00 2E 00 4A 00 53 00 3B 00 2E 00 4A 00 53 00 45 00 3B 00 2E 00 57 00 53 00 46 00 3B 00 2E 00 57 00 53 00 48 00 00 00 79 00 73 00 74 00 65 00 6D 00 33 00 32 00 5C 00 57 00 62 00 65 00 6D 00 00 00 00 00 00 00 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 98 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 90 2A 5C 51 01 7F CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 C0 A8 F4 81 00 00 00 00 00 00 00 00 6F 00 6F 00 74 00 25 00 5C 00 54 00 45 00 4D 00 50 00 00 00 44 00 3B 00 2E 00 56 00 42 00 53 00 3B 00 2E 00 56 00 42 00 45 00 3B 00 2E 00 4A 00 53 00 3B 00 2E 00 4A 00 53 00 45 00 3B 00 2E 00 57 00 53 00 46 00 3B 00 2E 00 57 00 53 00 48 00 00 00 79 00 73 00 74 00 65 00 6D 00 33 00 32 00 5C 00 57 00 62 00 65 00 6D 00 00 00 00 00 00 00 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Zone Labs\zonealarm\LastAutoUpdate: 0x4BFDF8C2 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Zone Labs\zonealarm\LastAutoUpdate: 0x4BFE39C7 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Zone Labs\zonealarm\LastManualUpdate: 0x4BFDF8C2 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\Software\Zone Labs\zonealarm\LastManualUpdate: 0x4BFE39C7 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\SessionInformation\ProgramCount: 0x00000002 HKU\S-1-5-21-1177238915-1637723038-1801674531-500\SessionInformation\ProgramCount: 0x00000004 HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 37 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 30 82 F4 A5 03 ED CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 0A 00 02 0F 00 00 00 00 00 00 00 00 75 00 72 00 72 00 65 00 6E 00 74 00 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 53 00 65 00 74 00 5C 00 53 00 65 00 72 00 76 00 69 00 63 00 65 00 73 00 5C 00 4E 00 65 00 74 00 42 00 54 00 5C 00 50 00 61 00 72 00 61 00 6D 00 65 00 74 00 65 00 72 00 73 00 5C 00 49 00 6E 00 74 00 65 00 72 00 66 00 61 00 63 00 65 00 73 00 00 00 00 00 00 00 HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 46 00 00 00 38 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 30 82 F4 A5 03 ED CA 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 0A 00 02 0F 00 00 00 00 00 00 00 00 75 00 72 00 72 00 65 00 6E 00 74 00 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 53 00 65 00 74 00 5C 00 53 00 65 00 72 00 76 00 69 00 63 00 65 00 73 00 5C 00 4E 00 65 00 74 00 42 00 54 00 5C 00 50 00 61 00 72 00 61 00 6D 00 65 00 74 00 65 00 72 00 73 00 5C 00 49 00 6E 00 74 00 65 00 72 00 66 00 61 00 63 00 65 00 73 00 00 00 00 00 00 00


Archivos añadidos:15

c:\archivos de programa\hpys_troyano\servidor.exe
C:\WINDOWS\system32\CatRoot2\tmp.edb
C:\WINDOWS\Tasks\At1.job
C:\WINDOWS\Tasks\At2.job
C:\WINDOWS\Temp\bombalogica.bat
C:\WINDOWS\Temp\etilqs_zQ2NMDguPImyA0mmVkTa
C:\WINDOWS\Temp\hpys_server.exe
C:\WINDOWS\Temp\javatmp54004.exe
C:\WINDOWS\Temp\javatmp54005.exe
C:\WINDOWS\Temp\teste.vbs
C:\WINDOWS\Temp\UuU.uUu
C:\WINDOWS\Temp\XxX.xXx
C:\WINDOWS\Temp\ZLT04602.TMP
C:\WINDOWS\Temp\~DF634E.tmp
C:\windows\system32\CatRoot2\tmp.edb


Archivos borrados:1

C:\WINDOWS\Temp\WFV2.tmp


Atributos de archivo modificados:45

c:\archivos de programa\CheckPoint\ZAForceField\Updates\LocalCatalog.xml
C:\WINDOWS\Internet Logs\BACKUP.RDB
C:\WINDOWS\Internet Logs\fwpktlog.txt
C:\WINDOWS\Internet Logs\IAMDB.RDB
C:\WINDOWS\Internet Logs\MARVIN-0DAEF2BA.ldb
C:\WINDOWS\Internet Logs\tvDebug.log
C:\WINDOWS\Internet Logs\tvDebug.Zip
C:\WINDOWS\Internet Logs\ZALog.txt
C:\WINDOWS\Prefetch\CMD.EXE-087B4001.pf
C:\WINDOWS\Prefetch\FIREFOX.EXE-24B8FB1A.pf
C:\WINDOWS\Prefetch\TASKMGR.EXE-20256C55.pf
C:\WINDOWS\system32\CatRoot2\edb.chk
C:\WINDOWS\system32\CatRoot2\edb.log
C:\WINDOWS\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb
C:\WINDOWS\system32\CatRoot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\catdb
C:\WINDOWS\system32\config\default.LOG
C:\WINDOWS\system32\config\SECURITY.LOG
C:\WINDOWS\system32\config\software.LOG
C:\WINDOWS\system32\config\system.LOG
C:\WINDOWS\system32\wbem\Logs\wbemcore.log
C:\WINDOWS\system32\wbem\Logs\wbemess.log
C:\WINDOWS\system32\wbem\Logs\wbemprox.log
C:\WINDOWS\system32\ZoneLabs\Updates\LocalCatalog.xml
C:\WINDOWS\Temp\IswTmp\Logs\ISWFWMON.swl
C:\WINDOWS\Temp\IswTmp\Logs\ISWMENUS.swl
C:\WINDOWS\Temp\IswTmp\Logs\ISWSHEX.swl
C:\WINDOWS\Temp\IswTmp\Logs\ISWSHEX.swl.old
C:\WINDOWS\Temp\IswTmp\Logs\ISWSVC.swl
C:\WINDOWS\Temp\IswTmp\Logs\ISWUL_MIN.swl
C:\WINDOWS\Temp\IswTmp\Logs\ISWUPD.swl
C:\WINDOWS\Temp\IswTmp\Logs\TrustcheckerMozillaPlugin.swl
C:\WINDOWS\Temp\IswTmp\Logs\TrustcheckerMozillaPlugin.swl.old
C:\WINDOWS\Temp\java_install_reg.log
C:\windows\system32\CatRoot2\edb.chk
C:\windows\system32\CatRoot2\edb.log
C:\windows\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb
C:\windows\system32\CatRoot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\catdb
C:\windows\system32\config\default.LOG
C:\windows\system32\config\SECURITY.LOG
C:\windows\system32\config\software.LOG
C:\windows\system32\config\system.LOG
C:\windows\system32\wbem\Logs\wbemcore.log
C:\windows\system32\wbem\Logs\wbemess.log
C:\windows\system32\wbem\Logs\wbemprox.log
C:\windows\system32\ZoneLabs\Updates\LocalCatalog.xml


Carpetas añadidas:1

c:\archivos de programa\hpys_troyano



Total de cambios:113

Al ejecutar el troyano en la máquina virtual, vemos el primer mensaje desafiante:


Comprobamos como, después de su ejecución, se ha añadido la tarea programada en el equipo, se trata de la bomba lógica:


El análisis del código del binario, dadas las capacidades del troyano, requiere cierto "encaje de bolillos". Prometo el análisis más en profundidad de este RAT u otro en futuros artículos...


El monitor de procesos nos servirá para vigilar la actividad de nuestro bichito:


Y por último, no olvidéis observar el sniffer:


Solución

Si habéis brujuleado un poco y observado los resultados de los análisis locales y en línea, ya os habréis dado cuenta de que es posible responder a todas las preguntas planteadas en el reto. Si no lo habéis hecho todavía, os animo a responderlas por vosotros mismos antes de seguir leyendo…

…bien, vayamos ya a las respuestas:

1. ¿Qué tipo de malware es? ¿Cuáles son las consecuencias para el equipo infectado?

Es un troyano de acceso remoto (RAT), probablemente con capacidad de conexión inversa. Se denomina RAT (Remote Access|Administration Trojan) porque reside y permite administrar la máquina remotamente y realizar diferentes acciones dependiendo de los privilegios del usuario remoto y de las características propias del troyano. Las consecuencias para el equipo infectado son por lo tanto fatales.

2. ¿Cuál es su nombre y versión?

Las detecciones apuntan a Pincav o Spynet. En Internet aparecen algunas referencias indicando que ambos nombres podrían corresponder al troyano Spynet.

3. ¿A dónde intenta conectarse?

Se ha detectado tráfico para resolver los nombres de lo que parece ser el cliente del troyano: malo.hpys.inet y mas-malo.hpys.inet.

4. ¿Cuál es el nombre y la ruta del ejecutable del binario en el equipo infectado?

C:\Program Files\hpys_troyano\servidor.exe

5. ¿Cuál es el nombre del proceso del malware?

El servidor del troyano se inyecta en el navegador por defecto del equipo: iexplore.exe o Firefox.exe normalmente.

6. ¿Se trata de un código malicioso persistente? En caso afirmativo, ¿cómo se inicia en el arranque?

Si, es persistente. Se añade un string hpys_troyano en el registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

7. En resumen, ¿Cuál es el proceso de infección que realiza el malware? ¿por qué se apagaron todos los ordenadores de la sala? Explica un poco el cronograma de los hechos.

Cuando se ejecuta hpys_server2.exe, se lanzan otros dos archivos maliciosos que suponemos se habrán unido con un binder. Uno se trata del servidor del troyano y otro es el cmd.exe (normalmente el intérprete de comandos lanzado a través de un bat).

El servidor del troyano realiza todas las operaciones oportunas para instalarse en el equipo y contactar con el equipo cliente del atacante.

El proceso por lotes lanza el comando at: at 10:00 /next:6 shutdown -s -f -t6, es decir, crea una tarea programada para apagar el equipo víctima los días 6 de cada mes!!

Esto explica porque Juanito encontró todos los equipos de la sala apagados. Se trataba sin duda de una bomba lógica muy sencilla que el atacante había incluido para apagar los servidores y entretener a los administradores levantando sus servicios, distrayéndoles así para tapar otros fraudes, como las operaciones bancarias que habían realizado.

Pero los atacantes malintencionados podrían haber apagado remotamente el equipo a través de su cliente del troyano, ¿por qué no lo hicieron entonces? Pues porque cometieron los fraudes que quisieron, borraron los registros y desinstalaron los troyanos antes para no dejar pistas. De ahí que Juanito, cuando se descubrió el pastel, ya no encontró ningún rastro a pesar de analizar los discos con varios antivirus…

Construcción del malware: desde la perspectiva del atacante

Estoy seguro de que también os interesa, así que por último vamos a ver exactamente que se ha utilizado para el desarrollo del reto: el troyano Spynet 2.7 y un binder (Sm0kes Binder).

De esta manera, podremos confirmar definitivamente que las respuestas a las preguntas del reto son correctas.

En primer lugar, el servidor del troyano ha sido construido a partir de una versión compilada en Delphi por nosotros mismos (hoy en día, más vale ser desconfiado). Existe un magnífico video tutorial para realizarlo fácilmente:
http://sites.google.com/site/delphibasics/home/delphibasicscounterstrikewireleases/sncompiler


A continuación, creamos el servidor con las opciones deseadas. Las siguientes imágenes son auto-explicativas:








Viendo estas pantallas seguro que a más de uno os ha llamado la atención varias cosillas:


  • Las capacidades antidebug del troyano sólo permitían el análisis de Anubis. Sin embargo el informe más eficiente fué el de Joebox.
  • Las capacidades de propagación del troyano incluían P2P y USB, ¿a alguno se le ocurrió introducir un pendrive en la máquina infectada?
  • Existe una tercera máquina a la que el troyano envía los datos capturados por el keylogger, ftp.hpys.inet. La única manera de detectarlo hubiese sido a través de la deprotección/desamblado del código o mediante un sniffer emulando previamente la conexión con el cliente del troyano...

Continuamos y, una vez que tenemos el binario del servidor del troyano y para comprobar que no tenemos un juguete inservible, modificamos nuestro fichero hosts y añadimos los nombres utilizados:


Después, ejecutamos el binario del troyano y vemos que se conecta al cliente:


Vale, ya tenemos el servidor del troyano funcional y listo para ser propagado.

Finalmente añadimos la última guinda al pastel: la bomba lógica para que agregue una tarea programada para apagar automáticamente los equipos infectados.
Para ello, creamos un simple fichero bat…

… y lo unimos al troyano creado:


Y esto es todo. ¡Espero que les haya gustado el reto!

Comentarios

  1. La verdad que personalmente me ha encantado, de hecho con la explicacion del proceso de creacion del bicho acaban de encajarme todas las piezas que habia ido recolectando de forma dispersa.

    Espero que os animeis a publicar mas retos de este tipo.

    Saludos

    ResponderEliminar
  2. muy muy bueno!!! voy a recrear el reto este fin de semana

    ResponderEliminar
  3. 05 00 C0 CC E4 83 15 05 E2 EB 21 3F A8 ED AD 8C 6B 40 D5 83 0A 75 87 02 A1 73 44 35 15 9D E7 11 63

    ResponderEliminar

Publicar un comentario