on

Respuesta a Incidentes: Analizando un mailer desde la memoria

Es especialmente crítico que al detectar un incidente, como puede ser la infección por malware de cualquier equipo de una red interna, inmortalizar la “escena del crimen” con la máxima información posible acerca del estado de los equipos infectados.

En este caso, particularizaremos sobre lo importante que puede ser el hecho de disponer una foto del estado de la memoria volátil (RAM), ya que es un recurso muy jugoso de obtención de información dado un análisis post-mortem o incluso ante un caso de respuesta a incidente, ya que nos permitirá identificar rápidamente las suficientes trazas que permitan contener rápidamente el incidente.

Para obtener la memoria desde un equipo Windows infectado, existen variedad de herramientas específicas a tal efecto. Para el presente ejemplo, hemos utilizado la herramienta win32dd con el siguiente log:

[sourcecode language=’plain’]

D:tools>win32dd.exe /m 1 /c 0 /r /f  Z:memory.win32dd

win32dd – 1.3.1.20100417 – (Community Edition)
Kernel land physical memory acquisition
Copyright (C) 2007 – 2010, Matthieu Suiche <http://www.msuiche.net>
Copyright (C) 2009 – 2010, MoonSols <http://www.moonsols.com>

Name                        Value
—-                        —–
File type:                  Raw memory dump file
Acquisition method:         \Device\PhysicalMemory
Content:                    Full physical address space

Destination path:           Z:memory.win32dd

O.S. Version:               Microsoft Windows XP Professional Service Pack 3 (build 2600)
Computer name:              XXXXXXXX

Physical memory in use:         47%
Physical memory size:       1038384 Kb (   1014 Mb)
Physical memory available:   543808 Kb (    531 Mb)

Paging file size:           2503312 Kb (   2444 Mb)
Paging file available:      2029016 Kb (   1981 Mb)

Virtual memory size:        2097024 Kb (   2047 Mb)
Virtual memory available:   2083272 Kb (   2034 Mb)

Extented memory available:        0 Kb (      0 Mb)

Physical page size:         4096 bytes
Minimum physical address:   0x0000000000001000
Maximum physical address:   0x000000003F67F000

Address space size:         1063780352 bytes (1038848 Kb)

–> Are you sure you want to continue? [y/n] y

Acquisition started at:     [28/11/2010 (DD/MM/YYYY) 20:24:35 (UTC)]

Processing….Done.

Acquisition finished at:  [2010-11-28 (YYYY-MM-DD) 20:25:08 (UTC)]
Time elapsed:             0:33 minutes:seconds (33 secs)

Created file size:          1063780352 bytes (   1014 Mb)

NtStatus (troubleshooting):   0x00000000
Total of written pages:        259712
Total of inacessible pages:         9
Total of accessible pages:     259703

Physical memory in use:         47%
Physical memory size:       1038384 Kb (   1014 Mb)
Physical memory available:   543664 Kb (    530 Mb)

Paging file size:           2503312 Kb (   2444 Mb)
Paging file available:      2028796 Kb (   1981 Mb)

Virtual memory size:        2097024 Kb (   2047 Mb)
Virtual memory available:   2083272 Kb (   2034 Mb)

Extented memory available:        0 Kb (      0 Mb)

Physical page size:         4096 bytes
Minimum physical address:   0x0000000000001000
Maximum physical address:   0x000000003F67F000

Address space size:         1063780352 bytes (1038848 Kb)

[/sourcecode]

Tras la obtención de la memoria, adicionalmente, nos hemos tomado la libertad de obtener una captura de red para apoyar al análisis de la memoria RAM que vamos a efectuar con la herramienta Volatility.

Empezaremos identificando todos los procesos que se encuentran actualmente en ejecución mediante el comando:

[sourcecode language=’bash’]
python volatility pslist_ex_1 –f memory.win32dd
[/sourcecode]

obteniendo los siguientes resultados:

[sourcecode language=’plain’]

Name                 Pid    PPid   Thds   Hnds   Time
System               4      0      59     1141   Thu Jan 01 00:00:00 1970
smss.exe             724    4      3      19     Sun Nov 28 16:56:13 2010
csrss.exe            772    724    13     627    Sun Nov 28 16:56:15 2010
winlogon.exe         796    724    15     311    Sun Nov 28 16:56:15 2010
services.exe         840    796    15     297    Sun Nov 28 16:56:15 2010
lsass.exe            852    796    20     385    Sun Nov 28 16:56:15 2010
svchost.exe          1004   840    15     197    Sun Nov 28 16:56:16 2010
svchost.exe          1088   840    10     421    Sun Nov 28 16:56:16 2010
svchost.exe          1128   840    55     1084   Sun Nov 28 16:56:16 2010
EvtEng.exe           1164   840    8      130    Sun Nov 28 16:56:16 2010
S24EvMon.exe         1204   840    6      175    Sun Nov 28 16:56:16 2010
svchost.exe          1264   840    6      87     Sun Nov 28 16:56:16 2010
ZCfgSvc.exe          1540   796    5      183    Sun Nov 28 16:56:18 2010
svchost.exe          1588   840    17     228    Sun Nov 28 16:56:18 2010
explorer.exe         1664   1644   20     622    Sun Nov 28 16:56:18 2010
shell.exe            1672   1644   8      152    Sun Nov 28 16:56:18 2010
svchost.exe          1912   1880   6      57     Sun Nov 28 16:56:19 2010
spoolsv.exe          212    840    10     120    Sun Nov 28 16:56:20 2010
AppleMobileDevi      404    840    3      87     Sun Nov 28 16:56:21 2010
ApplicationUpda      472    840    2      93     Sun Nov 28 16:56:21 2010
mDNSResponder.e      500    840    2      90     Sun Nov 28 16:56:21 2010
jqs.exe              548    840    5      135    Sun Nov 28 16:56:21 2010
mdm.exe              584    840    4      93     Sun Nov 28 16:56:21 2010
OProtSvc.exe         600    840    6      120    Sun Nov 28 16:56:21 2010
RegSrvc.exe          644    840    3      76     Sun Nov 28 16:56:21 2010
wdfmgr.exe           748    840    4      64     Sun Nov 28 16:56:21 2010
alg.exe              1448   840    6      108    Sun Nov 28 16:56:22 2010
UnlockerAssista      1752   1664   1      27     Sun Nov 28 16:56:23 2010
hkcmd.exe            1776   1664   2      78     Sun Nov 28 16:56:23 2010
igfxpers.exe         1792   1664   3      89     Sun Nov 28 16:56:23 2010
RTHDCPL.EXE          1804   1664   5      183    Sun Nov 28 16:56:23 2010
1XConfig.exe         1840   1004   13     4869   Sun Nov 28 16:56:23 2010
iFrmewrk.exe         1848   1664   5      165    Sun Nov 28 16:56:23 2010
EOUWiz.exe           1900   1664   4      147    Sun Nov 28 16:56:23 2010
SearchSettings.      1908   1664   3      79     Sun Nov 28 16:56:23 2010
winampa.exe          1932   1664   1      30     Sun Nov 28 16:56:23 2010
jusched.exe          196    1664   1      26     Sun Nov 28 16:56:23 2010
iTunesHelper.ex      636    1664   11     351    Sun Nov 28 16:56:24 2010
qtplugin.exe         1048   1664   23     201    Sun Nov 28 16:56:24 2010
ctfmon.exe           1356   1664   1      78     Sun Nov 28 16:56:24 2010
msnmsgr.exe          1736   1664   21     504    Sun Nov 28 16:56:28 2010
msmsgs.exe           1512   1664   2      159    Sun Nov 28 16:56:29 2010
svcnost.exe          1468   1664   1      148    Sun Nov 28 16:56:29 2010
updates.exe          1820   1664   5      101    Sun Nov 28 16:56:29 2010
iPodService.exe      2284   840    11     123    Sun Nov 28 16:56:31 2010
svchost.exe          4076   840    8      92     Sun Nov 28 16:56:43 2010
mshta.exe            820    1128   3      168    Sun Nov 28 17:13:00 2010
dwm.exe              360    3456   6      57     Sun Nov 28 17:58:48 2010
mshta.exe            2296   1128   3      169    Sun Nov 28 18:13:00 2010
mshta.exe            2812   1128   3      169    Sun Nov 28 19:13:00 2010
wireshark.exe        2632   3284   3      209    Sun Nov 28 19:58:40 2010
dumpcap.exe          2872   2632   0      -1     Sun Nov 28 19:58:50 2010
2010
firefox.exe          2072   1664   22     400    Sun Nov 28 20:10:24 2010
plugin-containe      3572   2072   5      145    Sun Nov 28 20:11:30 2010
mshta.exe            3312   1128   3      169    Sun Nov 28 20:13:00 2010
svchost.exe          2752   840    6      127    Sun Nov 28 20:15:10 2010
cmd.exe              3984   1664   1      34     Sun Nov 28 20:20:42 2010
win32dd.exe          3944   3984   1      22     Sun Nov 28 20:24:33 2010
[/sourcecode]

A priori, identificar el proceso malicioso se podría considerar, dependiendo del sistema analizado, algo complicado. Por ello, vamos a correlar la información de los procesos en ejecución con la información sockets abiertos, y por lo tanto, potenciales conexiones UDP o TCP:

[sourcecode language=’bash’]

python  volatility sockscan –f memory.win32dd

[/sourcecode]

[sourcecode language=’plain’]

PID    Port   Proto  Create Time                Offset
—— —— —— ————————– ———-

1048   2848   6      Sun Nov 28 20:23:14 2010   0x05310cb8
2072   1163   6      Sun Nov 28 20:10:37 2010   0x05323008
1048   2932   17     Sun Nov 28 20:24:20 2010   0x05323400
1048   2980   6      Sun Nov 28 20:24:31 2010   0x053251f0
1048   2962   17     Sun Nov 28 20:24:22 2010   0x053c9e98
500    5353   17     Sun Nov 28 19:46:23 2010   0x053d8b58
1048   2956   6      Sun Nov 28 20:24:21 2010   0x053dbe98
820    4176   17     Sun Nov 28 17:13:01 2010   0x053e44b8
1048   1357   17     Sun Nov 28 19:43:24 2010   0x053f8a58
1048   2955   17     Sun Nov 28 20:24:21 2010   0x053fae98
4      138    17     Sun Nov 28 19:46:21 2010   0x0540a470
1048   2927   6      Sun Nov 28 20:24:19 2010   0x054148a8
1588   1900   17     Sun Nov 28 19:46:21 2010   0x05421810
2296   2987   17     Sun Nov 28 18:13:01 2010   0x05424470
1048   2977   6      Sun Nov 28 20:24:30 2010   0x05427008
1048   2950   17     Sun Nov 28 20:24:21 2010   0x054292b0
1468   4660   6      Sun Nov 28 19:42:04 2010   0x0542a650
1048   2952   17     Sun Nov 28 20:24:21 2010   0x054487d0
1468   2502   6      Sun Nov 28 19:52:04 2010   0x0545a558
2072   1158   6      Sun Nov 28 20:10:27 2010   0x05469710
1128   123    17     Sun Nov 28 19:46:21 2010   0x0547b9f8
1048   2979   6      Sun Nov 28 20:24:30 2010   0x05480858
1048   2961   17     Sun Nov 28 20:24:22 2010   0x054e56e8
1088   135    6      Sun Nov 28 16:56:16 2010   0x054f7008

500    5354   6      Sun Nov 28 16:56:21 2010   0x056a4210
1048   1099   17     Sun Nov 28 20:09:48 2010   0x056c3580
1048   2993   17     Sun Nov 28 20:24:34 2010   0x056c96a0
500    1025   17     Sun Nov 28 16:56:21 2010   0x056d0e98
1048   2958   6      Sun Nov 28 20:24:22 2010   0x05789890
4      445    17     Sun Nov 28 16:56:02 2010   0x06198308
1820   2715   6      Sun Nov 28 20:21:52 2010   0x06199b48
1048   2926   6      Sun Nov 28 20:24:19 2010   0x061ae580
1048   2999   6      Sun Nov 28 20:24:38 2010   0x061b05a8
1048   2998   6      Sun Nov 28 20:24:37 2010   0x061c19f0
1048   2917   17     Sun Nov 28 20:24:19 2010   0x061d5b20
1048   2960   6      Sun Nov 28 20:24:22 2010   0x061e6e18
1468   1468   6      Sun Nov 28 20:12:05 2010   0x06202bf0
1048   2997   6      Sun Nov 28 20:24:35 2010   0x062129f8
1048   2949   6      Sun Nov 28 20:24:21 2010   0x06222170
1048   2987   6      Sun Nov 28 20:24:32 2010   0x0622fcf0
1048   2745   6      Sun Nov 28 20:23:08 2010   0x0629a008
1048   2978   6      Sun Nov 28 20:24:30 2010   0x062bfbb8
1264   60158  17     Sun Nov 28 20:24:37 2010   0x062ce008
1048   2988   17     Sun Nov 28 20:24:33 2010   0x0634be98
1048   2924   6      Sun Nov 28 20:24:19 2010   0x06353d98
2072   1157   6      Sun Nov 28 20:10:27 2010   0x063ceba0
1264   49893  17     Sun Nov 28 20:09:47 2010   0x06f03df0
1048   1112   6      Sun Nov 28 20:09:49 2010   0x07181870
1820   3128   6      Sun Nov 28 16:56:42 2010   0x08cf6448
1048   1119   6      Sun Nov 28 20:09:51 2010   0x09fbf750
1048   1087   6      Sun Nov 28 20:09:47 2010   0x0f064d38
1048   1093   6      Sun Nov 28 20:09:47 2010   0x1628be98
1048   4898   6      Sun Nov 28 20:08:44 2010   0x17b0f008
636    1032   6      Sun Nov 28 16:56:29 2010   0x189a0e98
1048   1060   6      Sun Nov 28 20:09:46 2010   0x1a12fd20
1048   1094   6      Sun Nov 28 20:09:47 2010   0x1c1e0128
1048   1128   6      Sun Nov 28 20:09:52 2010   0x1c1e0668
1048   1056   6      Sun Nov 28 20:09:46 2010   0x1d671750
1048   1126   6      Sun Nov 28 20:09:51 2010   0x1ef8ee30
1048   1055   6      Sun Nov 28 20:09:46 2010   0x20666d68
1468   4660   6      Sun Nov 28 19:42:04 2010   0x2245e650
4      445    17     Sun Nov 28 16:56:02 2010   0x22b89308
500    5354   6      Sun Nov 28 16:56:21 2010   0x25093210
1820   19457  6      Sun Nov 28 16:56:42 2010   0x25f618c0
1048   1357   17     Sun Nov 28 19:43:24 2010   0x26121a58

[/sourcecode]

Tal y como se observa en la siguiente figura, se ha realizado un pequeño estudio de la cantidad de sockets utilizados por cada proceso, identificando claramente que el proceso con PID 1048 es claramente el que potencialmente genera más actividad de red:

Volviendo al listado de procesos anteriormente identificado, el PID 1048 se corresponde al ejecutable qtplugin.exe. El elevado número de sockets utilizados por dicho proceso indica un comportamiento anómalo, pudiendo ser el causante de posibles afecciones en el rendimiento del equipo analizado.

Si nos centramos, en analizar los datos de la memoria en torno al PID 1048, podemos ver que ha sido lanzado por el proceso explorer.exe, ha lanzado en el instante de la captura de la memoria 23 threads y aparentemente se ha iniciado acto seguido de arrancar el proceso padre, es decir, explorer.exe con lo que nos estaría indicando que, con alta probabilidad, hay algún mecanismo que auto-arranca el proceso:

[sourcecode language=’plain’]

Name                 Pid    PPid   Thds   Hnds   Time
explorer.exe           1664   1644   20     622    Sun Nov 28 16:56:18 2010
qtplugin.exe         1048   1664   23     201    Sun Nov 28 16:56:24 2010

[/sourcecode]

Además, es posible obtener el conjunto de ficheros utilizados por dicho proceso mediante el siguiente comando:

[sourcecode language=’bash’]

python volatility files –f memory.win32dd

[/sourcecode]

Obteniendo un listado de ficheros utilizados por el proceso. De forma similar, se podrían obtener todas las DLLs que se encuentran cargadas por el proceso, pudiendo de este modo, identificar qué uso hace el proceso de código compartido con el sistema u otros procesos.

[sourcecode language=’plain’]

*****************************************************
Pid: 1048
File   Documents and SettingsAdministrator
File   WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
File   AsyncConnectHlp

*****************************************************

[/sourcecode]

[sourcecode language=’bash’]

python volatility dll –f memory.win32dd

[/sourcecode]

[sourcecode language=’plain’]

*****************************************************
qtplugin.exe pid: 1048
Command line : “C:WINDOWSsystem32qtplugin.exe”
Service Pack 3

Base         Size         Path
0x400000     0x161000     C:WINDOWSsystem32qtplugin.exe
0x7c900000   0xaf000      C:WINDOWSsystem32ntdll.dll
0x7c800000   0xf6000      C:WINDOWSsystem32kernel32.dll
0x7e410000   0x91000      C:WINDOWSsystem32user32.dll
0x77f10000   0x49000      C:WINDOWSsystem32GDI32.dll
0x77dd0000   0x9b000      C:WINDOWSsystem32advapi32.dll
0x77e70000   0x92000      C:WINDOWSsystem32RPCRT4.dll
0x77fe0000   0x11000      C:WINDOWSsystem32Secur32.dll
0x77120000   0x8b000      C:WINDOWSsystem32oleaut32.dll
0x77c10000   0x58000      C:WINDOWSsystem32msvcrt.dll
0x774e0000   0x13e000     C:WINDOWSsystem32ole32.dll
0x77c00000   0x8000       C:WINDOWSsystem32version.dll
0x5d090000   0x9a000      C:WINDOWSsystem32comctl32.dll
0x7c9c0000   0x817000     C:WINDOWSsystem32shell32.dll
0x77f60000   0x76000      C:WINDOWSsystem32SHLWAPI.dll
0x773d0000   0x103000     C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83comctl32.dll
0x76780000   0x9000       C:WINDOWSsystem32SHFolder.dll
0x71ad0000   0x9000       C:WINDOWSsystem32wsock32.dll
0x71ab0000   0x17000      C:WINDOWSsystem32WS2_32.dll
0x71aa0000   0x8000       C:WINDOWSsystem32WS2HELP.dll
0x76d60000   0x19000      C:WINDOWSsystem32iphlpapi.dll
0x5ad70000   0x38000      C:WINDOWSsystem32uxtheme.dll
0x10000000   0x4000       C:Program FilesUnlockerUnlockerHook.dll
0x5e0c0000   0xd000       C:WINDOWSsystem32pstorec.dll
0x76b20000   0x11000      C:WINDOWSsystem32ATL.DLL
0x77a80000   0x95000      C:WINDOWSsystem32crypt32.dll
0x77b20000   0x12000      C:WINDOWSsystem32MSASN1.dll
0x71a50000   0x3f000      C:WINDOWSsystem32mswsock.dll
0x662b0000   0x58000      C:WINDOWSsystem32hnetcfg.dll
0x71a90000   0x8000       C:WINDOWSSystem32wshtcpip.dll
0x76fc0000   0x6000       C:WINDOWSsystem32rasadhlp.dll
0x76f20000   0x27000      C:WINDOWSsystem32DNSAPI.dll
0x76fb0000   0x8000       C:WINDOWSSystem32winrnr.dll
0x76f60000   0x2c000      C:WINDOWSsystem32WLDAP32.dll
0x64000000   0x25000      C:Program FilesBonjourmdnsNSP.dll
0x74720000   0x4c000      C:WINDOWSsystem32MSCTF.dll

*****************************************************

[/sourcecode]

Es de especial interés el hecho de detectar DLLs que proporcionan funcionalidades de red, ya que nos ayuda a relacionarlo con la alta actividad de red detectada por el proceso:

  • wsock32.dll, mswsock.dll,hnetcfg.dll,wshtcpip.dll,DNSAPI.dll,WS2_32.dll las cuales proporcionan funciones de acceso a los recursos de red
  • crypt32.dll,Secur32.dll proporcionando funciones de criptografia, indicando la posibilidad de que se esté efectuando transferencia de información de forma cifrada
  • WLDAP32.dll que proporciona funciones de interacción con repositorios del tipo directorio
  • RPCRT4.dll que proporciona funciones de interacción con funciones de Remote Procedure Calls

Si volcamos el proceso desde la memoria mediante la opción procdump de volatility, podemos a continuación realizar un análisis de strings del fichero ejecutable obtenido. De dónde se han podido identificar los siguientes strings:

Dominios e IP potencialmente afectadas y/o relacionadas

Se han detectado 153 equipos pertenecientes a dominios .ru y .ua de los cuales la mayoría aparentan ser servidores de correo electrónico. Véase la siguiente muestra:

pop.inbox.ru
yandex.ru
rambler.ru
e-mail.ru
pochta.ru
newmail.ru
nextmail.ru
mailgate.ru
zmail.ru
hob.ru
by.ru
mail.km.ru
email.ru
mail.rin.ru
www.webservis.ru
mail.online.ua
smtp.nextmail.ru
nextmail.ru
smtp.russian.ru
smtp.xaker.ru
smtp.students.ru
smtp.mail2k.ru
smtp.dezigner.ru
smtp.programist.ru
smtp.nxt.ru
smtp.yes.ru
smtp.mailgate.ru
mailgate.ru
smtp.msx.ru
smtp.pobox.ru
smtp.a.org.ua
smtp.bride.crimea.ua
smtp.cd.crimea.ua
smtp.doctor.crimea.ua
smtp.forum.crimea.ua
smtp.google.crimea.ua
smtp.index.crimea.ua
smtp.it.crimea.ua
smtp.kino.crimea.ua

Además, se ha podido recuperar información de algunas IPs y/o redes potencialmente afectadas, pudiendo geolocalizarlas en el siguiente mapa:

Mapa de IPs potencialmente afectadas

Mapa de IPs potencialmente afectadas

Potenciales modificaciones y/o accesos a claves del registro de Windows

Los strings detectados y relacionados con las claves del registro abajo enumeradas, podrían indicar que el proceso qtplugin.exe es ejecutado cada vez que el sistema operativo es arrancado, asegurándose de este modo, la ejecución del malware ante reinicios del equipo afectado.

[sourcecode language=’plain’]
system32qtplugin.exe
SoftwareMicrosoftWindowsCurrentVersionRun
[/sourcecode]

Datos relativos a un posible panel de control

Los siguientes recursos PHP, indicant la posibilidad de que el especimen esté administrado mediante un panel de control en PHP:

[sourcecode language=’plain’]
admin1
/stat1.php
/stat2.php
/smtps.php
/u.php?
/error.php?
[/sourcecode]

De modo que, dado el caso de un análisis en mayor profundidad del sistema de ficheros podríamos buscar historial de navegación, cookies, etc relacionados con la tecnología.

Indicios de mailer

Se han detectado otros indicios, que juntamente con los servidores smtp enumerados previamente, corroboran la posibilidad de que el espécimen se trate de un Mailer, tal y como se refleja en un parámetro de un potencial panel de configuración:

[sourcecode language=’plain’]
ver=1&login=kuklachev&macroses_version=2&SMTPWorking=True&SMTPOn=True&SMTPSentNumber=5

S:ProgramsDelphiMailer4clSourcesclMailMessage.pas
[/sourcecode]

O bien, también es posible detectar múltiples fragmentos de correos electrónicos enviados a destinatarios diferentes, utilizando diferentes servidores de correo., confirmando que estamos frente a un malware que, entre otras acciones, se dedica a enviar spam utilizando los recursos de red del equipo afectado:

[sourcecode language=’html’]
__O ______< __Received: from ybfehl ([192.209.237.60])
by tmcbhx (8.13.4/8.13.4) with SMTP id m235890368158y2Sl117135
for <%TO_MAIL>; Sun, 28 Nov 2010 21:23:11 +0100 (CDT)
(envelope-from diaobtld@northfieldseniorcenter.org)
Message-ID: <015401cb8f3a$145326e0$4b2aa35a@ybfehl>
From: “diaobtld@northfieldseniorcenter.org” <diaobtld@northfieldseniorcenter.org>
To: “sspkcclark” <%TO_MAIL>
Subject: Adri Fudcks Her Saucy Pusosy With A Glass Toy From Behind
Date: Sun, 28 Nov 2010 12:21:23 -0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary=”—-=_NextPart_000_0151_01CB8F42.75D18530″
X-Mailer: Microsoft Office Outlook, Build 11.0.5510
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

——=_NextPart_000_0151_01CB8F42.75D18530
Content-Type: text/plain;
charset=”us-ascii”
Content-Transfer-Encoding: quoted-printable

abffk”
——=_NextPart_000_0151_01CB8F42.75D18530
Content-Type: text/html;
charset=”us-ascii”
Content-Transfer-Encoding: quoted-printable

 

xcrampa and to kill its kingb

hour pennon free and it soon willn
Too Shy To Resist Gymnastic Domination Passions!
vdescent for a moment the canoe pausesi
sdick i broke the news too
jnow the people in these hills arew

 

[/sourcecode]

Revelación de datos acerca del origen del especimen

Como se observa a continuación, es posible identificar algunos datos acerca de posibles recursos que revelan información acerca del especimen. A continuación, se puede observar, como ejemplo referencias a “The Bat!” el cual es un cliente de correo conocido, o bien a recursos y rutas del path del código fuente del programa:

[sourcecode language=’plain’]
SOFTWARERITThe Bat!Users depot
SOFTWARERITThe Bat!
S:ProgramsDelphiMailer4clSourcesclMailMessage.pas
[/sourcecode]

Además del análisis de los strings, es posible también analizar las claves del registro del sistema operativo del equipo afectado carga en memoria. Para ello, vamos a enumerar los offsets de cada uno de los hives que están en memoria:

[sourcecode language=’bash’]
python volatility hivescan –f memory.win32dd
[/sourcecode]
[sourcecode language=’plain’]
Offset          (hex)
14385160        0xdb8008
109400072       0x6855008
109431648       0x685cb60
114352776       0x6d0e288
164319240       0x9cb5008
164540424       0x9ceb008
310820872       0x1286c008
310823776       0x1286cb60
311027384       0x1289e6b8
311028576       0x1289eb60
360493064       0x157cb008
362885128       0x15a13008
389877768       0x173d1008
390019936       0x173f3b60
392499208       0x17651008
417206280       0x18de1008
418424504       0x18f0a6b8
418425696       0x18f0ab60
622731272       0x251e2008
862322696       0x33660008
[/sourcecode]

Obtenemos los offsets de hives principales del registro a partir del primer resultado:

[sourcecode language=’bash’]

python volatility hivelist -o 0xdb8008 –f memory.win32dd

[/sourcecode]

[sourcecode language=’plain’]

0xe102e008   [no name]
0xe1036b60   WINDOWSsystem32configsystem
0xe14e5288   [no name]
0xe15d56b8   WINDOWSsystem32configsoftware
0xe15d5b60   WINDOWSsystem32configSECURITY
0xe15db008   WINDOWSsystem32configdefault
0xe15dbb60   WINDOWSsystem32configSAM
0xe1bf6008   Documents and SettingsNetworkServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe23d7008   Documents and SettingsNetworkServiceNTUSER.DAT
0xe2611b60   Documents and SettingsAdministratorLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe2650008   Documents and SettingsAdministratorNTUSER.DAT
0xe2784008   Documents and SettingsLocalServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe2b09008   Documents and SettingsLocalServiceNTUSER.DAT

[/sourcecode]

Procesaremos los hives NTUSER, SAM, SECURITY, SOFTWARE y SYSTEM mediante regripper:

[sourcecode language=’bash’]
perl rip.pl -r memory.win32dd @0xe1036b60 -f system > system.txt
perl rip.pl -r memory.win32dd @0xe15d56b8 -f software > software txt
perl rip.pl -r memory.win32dd @0xe15d5b60 -f security > security.txt
perl rip.pl -r memory.win32dd @0xe15dbb60 -f sam > sam.txt
perl rip.pl -r memory.win32dd @0xe23d7008 -f ntuser > ntuser-NtwkSrvc.txt
perl rip.pl -r memory.win32dd @0xe2650008 -f ntuser > ntuser-Admin.txt
perl rip.pl -r memory.win32dd @0xe2b09008 -f ntuser > ntuser-LclSrvc.txt

[/sourcecode]

Del análisis de los resultados de regripper, podemos obtener:

  • En el equipo tan solo existen los usuarios, indicando que no se han creado nuevos usuarios en el sistema:
    • Administrator
    • Guest
    • HelpAssistant
    • SUPPORT_388945a0
  • En la clave del registro (MicrosoftWindowsCurrentVersionRun) que indica los programas a ejecutar al arrancar el sistema operativo, aparecen los siguientes registros:
    • RegistryMonitor1 -> C:WINDOWSsystem32qtplugin.exe
    • svchost -> C:Documents and SettingsAdministratorApplication DataMicrosoftsvchost.exe

El proceso svchost.exe es que verifica, en el arranque, todos los servicios que están asignados en el registro para construir una lista de servicios que se deben ejecutar. Dado que forma parte del sistema operativo es especialmente sospechoso que no se encuentre almacenado bajo la ruta C:WindowsSystem32

  • En las aplicaciones permitidas de la política de filtrado del centro de seguridad de Windows ( ControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfileAuthorizedApplicationsList ), aparecen aplicaciones especialmente sospechosas, pudiendo indicar la presencia de un backdoor:
    • C:Program FilesBonjourmDNSResponder.exe -> C:Program FilesBonjourmDNSResponder.exe:*:Enabled:Servicio Bonjour
    • C:Program FilesWindows LiveMessengerwlcsdk.exe -> C:Program FilesWindows LiveMessengerwlcsdk.exe:*:Enabled:Windows Live Call
    • %windir%Network Diagnosticxpnetdiag.exe -> %windir%Network Diagnosticxpnetdiag.exe:*:Enabled:@xpsp3res.dll,-20000
    • C:Program FilesiTunesiTunes.exe -> C:Program FilesiTunesiTunes.exe:*:Enabled:iTunes
    • C:Program FilesSpotifyspotify.exe -> C:Program FilesSpotifyspotify.exe:*:Enabled:Spotify
    • C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe -> C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe:*:Enabled:ldrsoft
    • C:Program FilesWindows LiveMessengermsnmsgr.exe -> C:Program FilesWindows LiveMessengermsnmsgr.exe:*:Enabled:Windows Live Messenger
    • C:DOCUME~1ADMINI~1LOCALS~1Temp�.059610386652504066.exe -> C:DOCUME~1ADMINI~1LOCALS~1Temp�.059610386652504066.exe:*:Enabled:ldrsoft
    • %windir%system32sessmgr.exe -> %windir%system32sessmgr.exe:*:enabled:@xpsp2res.dll,-22019

Es curioso observar que la última modificación (LastWrite Time Thu Nov  4 20:08:29 2010 (UTC) ) de dicha clave del registro es del 4 de Noviembre de 2010, concordando con las fechas en las que se aprecian los primeros síntomas de bajo rendimiento del equipo.

  • Analizando el hive NTUSER del usuario Administrator, se ha observado como existen multitud de referencias a posibles ejecuciones de software de emulación de juegos de consola, indicando que aparentemente la infección haya podido venir por esta vía:
  • C:Documents and SettingsAdministratorMy DocumentsCONSOLASNESJnes.exe (Jnes Emulator for Windows 9x/2000/XP)
  • C:Documents and SettingsAdministratorMy DocumentsCONSOLASMASTER SYSTEMmekaw.exe (mekaw)
  • C:Documents and SettingsAdministratorMy DocumentsCONSOLASPLAY STATIONePSXe.exe (ePSXe)
  • C:Documents and SettingsAdministratorMy DocumentsCONSOLASGBAVisualBoyAdvance.exe (VisualBoyAdvance emulator)
  • C:WINDOWSsystem32qtplugin.exe (qtplugin)
  • C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe (Executable for Purble Place Game)
  • C:Documents and SettingsAdministratorApplication Data/dkfjasdfshd.bat (dkfjasdfshd)
  • C:DOCUME~1ADMINI~1LOCALS~1Temp3827962.exe (3827962)
  • C:DOCUME~1ADMINI~1LOCALS~1Temp899474.exe (Executable for Purble Place Game)
  • C:Documents and SettingsAdministratorApplication Dataupdatesupdates.exe (Executable for Purble Place Game)
  • C:Documents and SettingsAdministratorMy DocumentsCONSOLASMEGA DRIVEgens.exe (gens)

El hecho de disponer de la memoria RAM, nos permite extraer todos los procesos que se encontraban en ejecución el instante del incidente, para poderlos someter uno a uno a análisis de AV, como por ejemplo VirutsTotal. Para facilitar la tarea, se ha realizado la extracción y se ha pasado el antivirus del PC utilizado para el análisis:

[sourcecode language=’bash’]

blueliv@blueliv: ~$ cat pslist.txt | awk -F’ ‘ ‘{print $2}’ | sort | uniq > pids.txt

blueliv@blueliv: ~$ for x in `cat pids.txt`; do
> python volatility  procdump -f memory.win32dd -p $x
> done

[/sourcecode]

Resultado Antivirus 1

Resultado Antivirus 1

Resultado Antivirus 2

Resultado Antivirus 2

A raíz del análisis del registro y el posterior análisis mediante antivirus de los procesos detectados, se han identificado un conjunto de procesos potencialmente malintencionados, a parte del explícitamente caracterizado en el presente post (qtplugin.exe).

Realizando un simple repaso a alguno de ellos mediante un simple análisis de strings superficial, es posible detectar algunas cosas interesantes, como puede ser la presencia de diferentes tipos de malware:

  • Ejecutable – Proceso 1468 – svcnost.exe: Aparentemente parece ser un troyano bancario que al instalarse en el equipo víctima, monitoriza los accesos de red a las siguientes Entidades u Organizaciones:

[sourcecode language=’plain’]
www2.csebo.it
paco.cabel.it
linksimprese.sanpaoloimi.com
gruppocarige.it
csebanking.it
isideonline.it
bcc.it
ssb.net
in-bank.net
qweb.quercia.com
corporate.friuladria.it
altapdonline.it
cartasi.it
monetaonline.it
standardchartered.com
lloydstsb.co.uk
laiki.com
hellenicnetbanking.com
halifax.co.uk
halifax-online.co.uk
citibank.co.uk
bankofscotlandhalifax-online.co.uk
bankofscotland.co.uk
bankofcyprus.com
barclaycard.co.uk
[/sourcecode]
Al infectar el equipo es típico que el malware intente deshabilitar los sistemas de defensa de los equipos en los cuales reside. Para este espécimen, aparentemente afecta al siguiente conjunto de antivirus listados a continuación:
[sourcecode language=’plain’]
nod32krn.
ekrn.e
Nod32
mcshield.
McAfee
bdagent
BitDefender
ofcdog
TrendMicro
srvload.e
Panda
navapsvc.e
ccsvchst.e
Norton
spidernt.e
dwengine.e
winssui.e
OneCare
avastui.e
avastsvc.ex
Avast
avgrsx.e
avgnt.e
sched.e
Avira
[/sourcecode]

  • Ejecutable – Proceso 1820 – updates.exe: Este ejecutable parece ser el responsable de la modificación de las reglas de firewall anteriormente identificadas en el registro residente en memoria:

[sourcecode language=’plain’]
SYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyFirewallRules
program=%c%s%c
name=%c%s%c
advfirewall firewall add rule %s dir=in action=allow %s
netsh
[/sourcecode]

Como se ha visto, es posible obtener cantidad de información desde la memoria RAM de los equipos, permitiendo en este caso realizar una rápida identificación de software no autorizado en los equipos con el objetivo de proporcionar una rápida respuesta ante un incidente. Lógicamente, se deberá apoyar el análisis de memoria con otra información recogida durante la intervención.

En ocasiones, el análisis de la memoria, puede proporcionar más información de lo sucedido que un análisis post-mortem del sistema de ficheros, por ello, es especialmente crítico que dado un incidente de seguridad, se manipulen lo menos posible los equipos, ya que podría propiciar la contaminación de las evidencias, especialmente las más volátiles.

Saludos y que paseis una Feliz Navidad !

Potenciales modificaciones y/o accesos a claves del registro de Windows

SoftwareMicrosoftWindowsCurrentVersionSetup

system32qtplugin.exe

SoftwareMicrosoftWindowsCurrentVersionRun

Datos relativos a un posible panel de control

Los siguientes recursos PHP, indicant la posibilidad de que el especimen esté administrado mediante un panel de control en PHP:

admin1

/stat1.php

/stat2.php

/smtps.php

/u.php?

/error.php?

De modo que, dado el caso de un análisis en mayor profundidad del sistema de ficheros podríamos buscar historial de navegación, cookies, etc relacionados con la tecnología.

Indicios de mailer

Se han detectado otros indicios, que juntamente con los servidores smtp enumerados previamente, corroboran la posibilidad de que el espécimen se trate de un Mailer:

ver=1&login=kuklachev&macroses_version=2&SMTPWorking=True&SMTPOn=True&SMTPSentNumber=5

S:ProgramsDelphiMailer4clSourcesclMailMessage.pas

__O ______< __Received: from ybfehl ([192.209.237.60])

by tmcbhx (8.13.4/8.13.4) with SMTP id m235890368158y2Sl117135

for <%TO_MAIL>; Sun, 28 Nov 2010 21:23:11 +0100 (CDT)

(envelope-from diaobtld@northfieldseniorcenter.org)

Message-ID: <015401cb8f3a$145326e0$4b2aa35a@ybfehl>

From: “diaobtld@northfieldseniorcenter.org” <diaobtld@northfieldseniorcenter.org>

To: “sspkcclark” <%TO_MAIL>

Subject: Adri Fudcks Her Saucy Pusosy With A Glass Toy From Behind

Date: Sun, 28 Nov 2010 12:21:23 -0800

MIME-Version: 1.0

Content-Type: multipart/alternative;

boundary=”—-=_NextPart_000_0151_01CB8F42.75D18530″

X-Mailer: Microsoft Office Outlook, Build 11.0.5510

X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

——=_NextPart_000_0151_01CB8F42.75D18530

Content-Type: text/plain;

charset=”us-ascii”

Content-Transfer-Encoding: quoted-printable

abffk”

——=_NextPart_000_0151_01CB8F42.75D18530

Content-Type: text/html;

charset=”us-ascii”

Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>

<HTML><HEAD>

<META http-equiv=3DContent-Type content=3D”text/html; charset=3Dus-ascii”>

<META content=3D”MSHTML 6.00.6000.16431″ name=3DGENERATOR>

</HEAD>

<BODY>

<font color=3D#66CC99 size=3D”1″>xcrampa and to kill its kingb</font><br><br>

<font size=3D”1″>hour pennon free and it soon willn</font>

<font size=3D”4″><a href=3D”http://oversupergirls.x.fc2.com/advertise/aberration.html”>Too Shy To Resist Gymnastic Domination Passions!</a></font>

<font size=3D”3″>vdescent for a moment the canoe pausesi</font><br>

<font color=3D#3366FF size=3D”3″>sdick i broke the news too</font>

<font size=3D”1″>jnow the people in these hills arew</font><br><br>

<br>

</BODY></HTML>

Revelación de datos acerca del origen o owner del especimen

Como se observa a continuación, es posible identificar algunos datos acerca de posibles recursos dónde se albergaba el código fuente del espécimen:

SOFTWARERITThe Bat!Users depot

SOFTWARERITThe Bat!

S:ProgramsDelphiMailer4clSourcesclMailMessage.pas

Además del análisis de los strings, es posible también analizar las claves del registro del sistema operativo del equipo afectado carga en memoria. Para ello, vamos a enumerar los offsets de cada uno de los hives que están en memoria:

python volatility hivescan –f memory.win32dd

Offset (hex)

14385160 0xdb8008

109400072 0x6855008

109431648 0x685cb60

114352776 0x6d0e288

164319240 0x9cb5008

164540424 0x9ceb008

310820872 0x1286c008

310823776 0x1286cb60

311027384 0x1289e6b8

311028576 0x1289eb60

360493064 0x157cb008

362885128 0x15a13008

389877768 0x173d1008

390019936 0x173f3b60

392499208 0x17651008

417206280 0x18de1008

418424504 0x18f0a6b8

418425696 0x18f0ab60

622731272 0x251e2008

862322696 0x33660008

Obtenemos los offsets de hives principales del registro a partir del primer resultado:

python volatility hivelist -o 0xdb8008 –f memory.win32dd

0xe102e008 [no name]

0xe1036b60 WINDOWSsystem32configsystem

0xe14e5288 [no name]

0xe15d56b8 WINDOWSsystem32configsoftware

0xe15d5b60 WINDOWSsystem32configSECURITY

0xe15db008 WINDOWSsystem32configdefault

0xe15dbb60 WINDOWSsystem32configSAM

0xe1bf6008 Documents and SettingsNetworkServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat

0xe23d7008 Documents and SettingsNetworkServiceNTUSER.DAT

0xe2611b60 Documents and SettingsAdministratorLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat

0xe2650008 Documents and SettingsAdministratorNTUSER.DAT

0xe2784008 Documents and SettingsLocalServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat

0xe2b09008 Documents and SettingsLocalServiceNTUSER.DAT

Procesaremos los hives NTUSER, SAM, SECURITY, SOFTWARE y SYSTEM mediante regripper:

perl rip.pl -r memory.win32dd @0xe1036b60 -f system > system.txt

perl rip.pl -r memory.win32dd @0xe15d56b8 -f software > software txt

perl rip.pl -r memory.win32dd @0xe15d5b60 -f security > security.txt

perl rip.pl -r memory.win32dd @0xe15dbb60 -f sam > sam.txt

perl rip.pl -r memory.win32dd @0xe23d7008 -f ntuser > ntuser-NtwkSrvc.txt

perl rip.pl -r memory.win32dd @0xe2650008 -f ntuser > ntuser-Admin.txt

perl rip.pl -r memory.win32dd @0xe2b09008 -f ntuser > ntuser-LclSrvc.txt

Del análisis de los resultados de regripper, podemos obtener:

  • En el equipo tan solo existen los usuarios, indicando que no se han creado nuevos usuarios en el sistema:

    • Administrator

    • Guest

    • HelpAssistant

    • SUPPORT_388945a0

  • En la clave del registro (MicrosoftWindowsCurrentVersionRun) que indica los programas a ejecutar al arrancar el sistema operativo, aparecen los siguientes registros:

    • RegistryMonitor1 -> C:WINDOWSsystem32qtplugin.exe

    • svchost -> C:Documents and SettingsAdministratorApplication DataMicrosoftsvchost.exe

El proceso svchost.exe es que verifica, en el arranque, todos los servicios que están asignados en el registro para construir una lista de servicios que se deben ejecutar. Dado que forma parte del sistema operativo es especialmente sospechoso que no se encuentre almacenado bajo la ruta C:WindowsSystem32.

  • En las aplicaciones permitidas de la política de filtrado del centro de seguridad de Windows ( ControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfileAuthorizedApplicationsList ), aparecen aplicaciones especialmente sospechosas, pudiendo indicar la presencia de un backdoor:

    • C:Program FilesBonjourmDNSResponder.exe -> C:Program FilesBonjourmDNSResponder.exe:*:Enabled:Servicio Bonjour

    • C:Program FilesWindows LiveMessengerwlcsdk.exe -> C:Program FilesWindows LiveMessengerwlcsdk.exe:*:Enabled:Windows Live Call

    • %windir%Network Diagnosticxpnetdiag.exe -> %windir%Network Diagnosticxpnetdiag.exe:*:Enabled:@xpsp3res.dll,-20000

    • C:Program FilesiTunesiTunes.exe -> C:Program FilesiTunesiTunes.exe:*:Enabled:iTunes

    • C:Program FilesSpotifyspotify.exe -> C:Program FilesSpotifyspotify.exe:*:Enabled:Spotify

    • C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe -> C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe:*:Enabled:ldrsoft

    • C:Program FilesWindows LiveMessengermsnmsgr.exe -> C:Program FilesWindows LiveMessengermsnmsgr.exe:*:Enabled:Windows Live Messenger

    • C:DOCUME~1ADMINI~1LOCALS~1Temp�.059610386652504066.exe -> C:DOCUME~1ADMINI~1LOCALS~1Temp�.059610386652504066.exe:*:Enabled:ldrsoft

    • %windir%system32sessmgr.exe -> %windir%system32sessmgr.exe:*:enabled:@xpsp2res.dll,-22019

Es curioso observar que la última modificación (LastWrite Time Thu Nov 4 20:08:29 2010 (UTC) ) de dicha clave del registro es del 4 de Noviembre de 2010, concordando con las fechas en las que se aprecian los primeros síntomas de bajo rendimiento del equipo.

  • Por otra parte, analizando el hive NTUSER del usuario Administrator, se ha observado como existen multitud de referencias a posibles ejecuciones de software de emulación de juegos de consola, indicando que aparentemente la infección haya podido venir por esta vía:

    • C:Documents and SettingsAdministratorMy DocumentsCONSOLASNESJnes.exe (Jnes Emulator for Windows 9x/2000/XP)

    • C:Documents and SettingsAdministratorMy DocumentsCONSOLASMASTER SYSTEMmekaw.exe (mekaw)

    • C:Documents and SettingsAdministratorMy DocumentsCONSOLASPLAY STATIONePSXe.exe (ePSXe)

    • C:Documents and SettingsAdministratorMy DocumentsCONSOLASGBAVisualBoyAdvance.exe (VisualBoyAdvance emulator)

    • C:WINDOWSsystem32qtplugin.exe (qtplugin)

    • C:Documents and SettingsAdministratorApplication Datadownload2svcnost.exe (Executable for Purble Place Game)

    • C:Documents and SettingsAdministratorApplication Data/dkfjasdfshd.bat (dkfjasdfshd)

    • C:DOCUME~1ADMINI~1LOCALS~1Temp3827962.exe (3827962)

    • C:DOCUME~1ADMINI~1LOCALS~1Temp899474.exe (Executable for Purble Place Game)

    • C:Documents and SettingsAdministratorApplication Dataupdatesupdates.exe (Executable for Purble Place Game)

    • C:Documents and SettingsAdministratorMy DocumentsCONSOLASMEGA DRIVEgens.exe (gens)

El hecho de disponer de la memoria RAM, nos permite extraer todos los procesos que se encontraban en ejecución el instante del incidente, para poderlos someter uno a uno a análisis de AV, como por ejemplo VirutsTotal. Para facilitar la tarea, se ha realizado la extracción y se ha pasado el antivirus del PC utilizado para el análisis:

blueliv@blueliv: ~$ cat pslist.txt | awk -F’ ‘ ‘{print $2}’ | sort | uniq > pids.txt

blueliv@blueliv: ~$ for x in `cat pids.txt`; do

> python volatility procdump -f memory.win32dd -p $x

> done

Demo Free Trial MSSP
Program