Fran 🐝 Brizzolis

hace 6 años · 5 min. de lectura · +100 ·

Blogging
>
Blog de Fran 🐝
>
Informática forense: Adquisición de memoria RAM después de un incidente de seguridad.

Informática forense: Adquisición de memoria RAM después de un incidente de seguridad.

000116016101010111600010161010101000101
©10101911001810100101001001010101110600
1621001001. ..10101110100101010011100001
10810010010101110101010811°" Ra GET]
I RRC EC CC RC ETS) ie
1010010100100101610111¢

FORENSIC:

©1810191110000100100
PCICTISSCEEESCEPCEREY

S(T velit of eel

  
 
  
   

 

IS

10010 FROMMEMOR?


Hola abejas, después de un período fortuito en el que no he podido publicar nada, debido a una avería en mi PC, que afortunadamente ya se ha solucionado satisfactoriamente, y sin coste para mi (el equipo todavía está en garantía, aunque no por mucho tiempo más), vuelvo otra vez a "daros la brasa" con mis artículos de informática y seguridad.


Cuando se me estropeó el PC, estaba preparando un artículo sobre informática forense, ya que me habia inscrito en un curso sobre "investigador forense certificado", para lo que debería pasar con éxito un prueba de acceso, y asi obtener una de las 16 plazas disponibles para el curso de horario matinal... Lamentablemente, este incidente no me ha permitido adquirir conocimientos, que pudieran hacerme menos díficil el acceso, por lo que no me presenté.


Pero seguiré "estudiando" para próximas convocatorias.


Durante mi "tiempo de estudio" he buscado información sobre un proceso vital en la informatica forense, y aunque hay varias formas (software), y seguramente también técnicas distintas para realizarlo, el concepto será el mismo en todas ellas (creo yo), éste es un tema que desconozco mucho, ya que nunca he hecho nada de esto, ni he leido suficientemente sobre ello.


A continuación os muestro un ejemplo, que yo he podido entender (nunca escribiría sobre algo que yo no entiendo), y aunque vosotros no lo entendáis como yo, os podréis hacer una idea general de cómo va el proceso, y por qué es tan importante.


En este "ejemplo" se usarán las siguientes herramientas: YARA, Volatility, Memoryze, y Virus Total... Pero se puede hacer con muchas otras, y puede ahora se haga con otras distintas, ya que ejemplo ya tiene algo de antigüedad, o a mi me lo parece.


Os agradezco como siempre vuestra atención y paciencia, asi como vuestro apoyo y seguimiento... ¡Va por vosotras abejas!...


Vamos al lío.


                                                                                              *     *     *     *     *



Cuando una organización es una víctima de la infección por malware avanzado, se requiere una acción de respuesta rápida para identificar los indicadores asociados al malware para remediarlo, establecer mejores controles de seguridad para evitar que se presenten en el futuro.


Según algunos expertos de los servicios de ciberseguridad del  International Institute of Cyber Security,  el análisis forense de memoria es el análisis de la imagen de memoria tomada desde el ordenador en funcionamiento. La memoria forense juega un papel importante en las investigaciones y respuestas a incidentes. Podemos extraer datos de análisis forense desde la memoria de la computadora, como en un proceso en ejecución, conexiones de red, los módulos cargados, etc.



Pasos en el análisis forense de memoria


A continuación, os detallo la lista de los pasos involucrados en el análisis forense de memoria:


Adquisición de memoria – Este paso consiste en el volcado de la memoria de la máquina de destino. En la máquina física se pueden utilizar herramientas como Win32dd / Win64dd, Memoryze, Dumpit, FastDump. Mientras que en la máquina virtual es más fácil adquirir la imagen de memoria, se puede conseguir a través de la suspensión de la máquina virtual, y el archivo “.vmem”.


  • Análisis de la memoria – una vez que una imagen de memoria es adquirida, el siguiente paso es analizar dicha imagen de la memoria. Herramientas para análisis forense como Volatility, y otros como Memoryze nos pueden servir para analizar la memoria.


Volatility es un framework de análisis forense de memoria escrita en Python. Volatility se puede instalar en varios sistemas operativos (Windows, Linux, Mac OS X).



Escenario simulado


Nuestros sistemas de seguridad nos alertan de una conexión maliciosa http con el dominio “web3inst.com” que nos muestra la IP 192.168.1.2, la conexión se ha realizado desde la IP de origen 192.168.1.100. Se nos pide que investiguemos y realicemos un análisis forense de la memoria en la máquina de 192.168.1.100.


ftps pubs hytang in

 

lad
e@xes cece 2 @HQcan Enay 3
* gr. Cu doo
for
TE To + 08 (ova) eat wnba1es Lond ms-bete sac rms
Dei wo 80 eb ve x)
isan?

Te a0» 8

 

vm Come
ar

  

|| Se Tait

aRTIA/e.0 came 10her wE1E 6.0: viedoms 1 3.15 1)
aa re cha’

 

oI A (Tio) hs mn pismo sams [2] 400 0K © net © Clon 1m



Adquisición de memoria


Para empezar, debemos conseguir una “copia” de la imagen de memoria desde 192.168.1.100, utilizando herramientas de adquisición de la memoria. El archivo de imagen (que no es una fotografía si no un “clon” de todo lo que hay en la RAM) de memoria se denomina como “infected.vmem”. Este el famoso proceso que muchos otros conocen y denominan “volcado de memoria”.



Análisis


Ahora que ya tenemos nuestra copia del contenido de la RAM y que hemos llamado “infected.vmem”, vamos a comenzar nuestro análisis utilizando Volatility.


Volatility,  nos muestra la conexión a la IP maliciosa, hecha por el proceso (con pid 888).


rootebt:~/volatility
SEEN PR

 

 

 

te ITI 2.3 betas |


Realizando una búsqueda en Google, podemos ver que este dominio (web3inst.com) es conocido por esta asociado con malware, (web3inst.com). Esto indica que la máquina de la IP de origen 192.168.1.100 podría estar infectada por cualquiera de estos malware, y es necesario confirmar esta posibilidad con un análisis más detallado.


ape pe Arman vay entre Dygmiare eters SALA mmm rs hemes mm
volatile Systems Volatility Framework 2.3 bate
Ee)

IEC
Re
ea ey
0x0931cda0 winlogon exe
Ren
I re
er ba
Re
0109431600 VHGr asemel per
TTT tree
TLE
Rae

 

 

TR a
ot EU
Sopra itbpiy

 

 

 

ss
i
EB

fre

|

EEeEEEE Tite]

LER

prorat
pres
RST
oR
rrr
FoRTed
RETR
2012-08-15
rR
proses
2012-08-13
post
2002.08.15
pr RTET
Freres
Frosty
Rest
2012.08.13

 

 

 

pan
Ra
PRT
pen
pres
12:08:36
Pre
preety
Ray
PRY
Fay
pas
FTE
Ra
PE
Ras
PETE
FT
PLT

Fi
Poisoned
ee
Peel
Pe
UTCe0000
Reed
ee
Pel
Pe
PR eeed
Peed
eed
Pe
UTCo0000
Perel
eee
eee)

 

Rt

pe

 

 

RTI


Dado que la conexión de red a la IP 192.168.1.2 fue realizada por un proceso con PID 888, tenemos que determinar qué proceso concreto está asociado al PID 888. “psscan” muestra que el PID 888 pertenece al “famoso” svchost.exe.

 

1~/volatility 2.3 |
e Systems Volatility Framework 2.3 beta

RR
ee  — Tn
AUC] re

2e 63 6f 6d
0x1000471b 73 2f 63 72 63 6d 64 73 2f 6d 61 69 Ge
0x1000472b 00 68 74 74 70 3a 2f 2f 77 65 62 34
AC TE ER EER RIN NT RENE

 

EUR VAT
YC VL UR
Rr
.com/tdss/cromds

beta# python vol.py -f infected.vmem yarascan -Y “weblinst™

<&


La ejecución del escaneo usando YARA sobre imagen de memoria para el texto “web3inst” nos confirma que el dominio (web3inst.com) está presente en la memoria de svchost.exe (PID 888). Con esto podemos estar seguros de que "svchost.exe" estaba haciendo conexiones con el dominio malicioso “web3inst.com”.


rootgbt:-/volatility 2.3 beta# python vol.py -f infected.veem handles -p 838 -t Mutant
Volatile Systems Volatility Framework 2.3 beta

 

 

 

 

UT) Pid Lt LITT LEY

tired cd Ce Ot BL ACT

La [Ct {A03259- JT4F - 4280 84C8-FO463A90(B3
0x39258020 888 [Cat

iba [oC RT

0x895341a0 888 Oxlec 0120001 Mutant pr

rid Lt

sci LR Le NT

sit [tL SE

lle a [or Bt PRE EY

0x89215ce8 883 Lo Lt

(or ari— x28c__0x110001 Mutant -

TT aT CC pt =

 Ssorrerediii eed bitordii ii osetdindintd Rs ininbotd =

ia LT REST

Ta 0x408 0110001 Mutant ©: Iwindows | systead2! contig! systemprofilet local setti
td

0xSydabdes 888 ot «: Iwindows | systea32! contig! systemprofile! cookies!
0x894ab79%0 888 0x420  0x110001 Mutant <1 windows | systead2 | config! systemprofilellocal setti
i Le LO

ei [at

0x89249498 888 Lo a WininetProryRegistryMutex

tired od ed LS

lr EE ER Ln [Ly


Ahora que sabemos que el proceso svchost.exe estaba haciendo conexiones al dominio “web3inst.com”, vamos a centrarnos en este proceso. Comprobando el "mutex" creado por svchost.exe muestra un "mutex" sospechoso “TdlStartMutex”.


ay
aed
ary
eid
serie
ty

i

lead

Ca

ey
td
Saray

a

HET
HHH

HH
HHH

1
]

 

 

ia
any
0187 File
[onan

 

ob harbniond

NN]

en]

\NanedPipe\Ctx_WinStation API service
\Device\NamedPipe\Ctx_winStation API service

\Device\Terndd

Re ee]

Ne
\Device\Narddiskvelunel\MINDOWS \NinSxS\x86 Microsoft. Windows. Come

 
 

\Device\Marddiskvolunel WINDOWS \ sys tend2\TOSSoigh dLL 5
\Device\WarddiskVolumel WINDOWS \ sys tend2\dr {vers \TDS:
a ai =
Re a]
\Device\NanedPipe\ TDSScnd
\Device\NamedPipe\TOSScrd

PEAR Deg Apes oT


Examinando controladores de los archivos en svchost.exe podemos apreciar que controla dos archivos sospechosos.

 

rootght:~/volatility 2.3 beta# python vol.py -f infected.vmem dlldump -p 888 -b 0x10000000 -D dump

Volatile Systems Volatility Framework 2.3 beta
Process(V) Neme Module Base Module Name Result

FUTILE OK: Bodule.888.94easds. 10000000. 11  <.)

 

TLL RR
rootgbt:~/volatility 2.3 betas

En el paso anterior se detectó una DLL oculta. Esta DLL oculta puede ser descargada desde la memoria a nuestro disco duro utilizando el módulo Volatility dlldump como se podemos ver a continuación.

 

ous Gon Trgan ens OM 0300810110 3008
a Para wa we Ee
sgn ° 20rn
Inna Arne 2020000
ow Arve 03000
wasariay ° 0
ren 03 Tog ret sn Ee)
Unrmri ° 200008
[or Mame 000k AB 2000008
case Gow Laven anes dcx susscnse mae
ean eet Hh 20000
ve ravasetcin ° 200
NANO Aetna Tegan wo ofl ave. 200308.
Saran ° Ey
nt ° wom
rn Corre am 2003000
rcToom Tegan Oem 2003008


root@gbt:~/volatility 2.3 beta# python vol.py -f infected.vmem moddump -b 0xb838b000 -D dump
Volatile Systems Volatility Framework 2.3 beta
Module Base Module Name Result

 

CITE)
rootgbt:~/volatility 2.3 betas


Al examinar el volcado de la librería DLL con confirmamos, que dicha librería es maliciosa.

 

jEEEfi

aorvne

TREE

wa Teopns wz
J
warToss By

Or. Poa t reas AMPS AY
Tron wi: (EEE

UDG DasgamnsCrrect MA Genes.
WAS Tig Conor Mest)

rere to ven)

Tog WT Aen ©

Ton Wa ZPACK ines


Buscando el archivo controlador usando "Volatility Plugin" no se podría encontrar el controlador que empiece con “TDSS” mientras que "Volatility’s driver scan plugin" consiguió encontrarlo. De esta forma podemos comprobar que el controlador del kernel (TDSSserv.sys) estaba oculto.


e28db7c7.jpg


Haciendo un “volcado” del controlador de kernel y enviándolo a  Virus Total   (de acuerdo con el ejemplo), confirmaremos que se trata de “TDSS (Alureon) rootkit”.


7e1fb63b.jpg


c7317b22.jpg



El análisis forense de memoria es una técnica de investigación de gran alcance, es imprescindible (diría yo), aunque no siempre es posible realizarla, ya que el PC comprometido puede  haber sido apagado, y con una herramienta como Volatility es posible encontrar malwares avanzados, pero hay muchas más,  lo que nos ayudará a saber qué pasó, cuándo pasó, y cómo ocurrió, recordad que en  la RAM de nuestro PC, se "almacenan" los procesos que en ese momento se están ejecutando en el ordenador, TODO se ejecuta desde la RAM, por eso es muy importante, "sacar esa fotografía" del instante en que se produjo la incidencia.


Teniendo muy poca información al principio, hemos podido ver cómo se puede detectar el malware y sus componentes, que ya nos ha ocasionado un determinado incidente.


Es importante recalcar, que salvo que sea imprescindible para detener el proceso maligno (por ejemplo, en caso de ransomware), deberemos mantener el ordenador encendido, y nunca apagarlo, y a ser posible tal y como estaba en el momento que nos ha saltado la alarma, aunque seguramente, podremos finalizar ciertas aplicaciones, ya que como imagino que algunos sabréis, y otros muchos no, la memoria RAM, es una memoria (espacio de almacenamiento) "volátil", lo que quiere decir, que si apagamos el ordenador se perderá todo su contenido, y por lo tanto, no podriamos hacer todo lo que habéis visto antes.



Referencias:


https://www.virustotal.com/es/

http://www.iicybersecurity.com/index-eng.html

https://yara.readthedocs.io/en/v3.5.0/index.html

http://www.volatilityfoundation.org/

https://www.fireeye.com/services/freeware/memoryze.html

https://es.wikipedia.org/wiki/Biblioteca_de_enlace_din%C3%A1mico

https://www.dragonjar.org/analisis-de-memoria-ram-recogida-de-evidencias.xhtml

http://hotfixed.net/adquisicion-de-memoria-en-windows-con-memoryze/

https://es.wikipedia.org/wiki/Exclusi%C3%B3n_mutua_(inform%C3%A1tica)

https://www.fwhibbit.es/volcado-de-memoria-ram-en-windows-osforensics

 


Comentarios

Fran 🐝 Brizzolis

hace 6 años #10

#23
jajaja.... Siempre va bien saber algo de chino... Lo del klingon ya es mas complicado....

Fran 🐝 Brizzolis

hace 6 años #9

#17
Siempre podemos "hablar del tiempo" Adela Garcia jajaja

Fran 🐝 Brizzolis

hace 6 años #8

#18
Gracias Alejandro Serrano Notivoli... Es desde luego una de mis prioridades el hacer estos temas mas comprensibles a todos.... Entre todos me animais a seguir mejorando. Mil grscias!

Fran 🐝 Brizzolis

hace 6 años #7

#15
Gracias Antonio Riob\u00f3 Conde... Intentare estar lo mejor preparado que pueda.

Fran 🐝 Brizzolis

hace 6 años #6

#11
Cuando quieras Adela Garcia.

Fran 🐝 Brizzolis

hace 6 años #5

#12
Muchas gracias Sonia \ud83d\udc1d Quiles Espinosa... No sabes lo difícil que se me hace decidir sobre que tema concreto (de estas cosas, claro) escribir un artículo. Gracias por compartirlo. buen finde!!

Fran 🐝 Brizzolis

hace 6 años #4

#9
Gracias Chabi Angulo... Me alegro de que te guste.

Fran 🐝 Brizzolis

hace 6 años #3

#1
Gracias Jos\u00e9 Ram\u00f3n \ud83d\udc1d L\u00f3pez... Si a veces no escribo mas es por que "todo me parece poco" para vosotros

Fran 🐝 Brizzolis

hace 6 años #2

#3
Debere esperar otra convocatoria y mientras tanto adquirir conocimientos... Mucha gente y muy pocas plazas.

Fran 🐝 Brizzolis

hace 6 años #1

#5
No... Lo realizan los tecnicos para saber el que y como ha pssado....

Artículos de Fran 🐝 Brizzolis

Ver blog
hace 5 años · 4 min. de lectura

Hola abejas, después de este período navideño en el que "se me han pegado los turrones" (os pido dis ...

hace 5 años · 3 min. de lectura

Los mecanismos conocidos como "skimmers de tarjetas" han sido una amenaza importante para la segurid ...

hace 5 años · 3 min. de lectura

La seguridad de la información está cada día entrando, poco a poco en la pequeña y mediana empresa. ...

Puede que te interesen estos puestos de trabajo

  • beBee Professionals

    Especialista en Seguridad Informática

    Encontrado en: beBee Professionals - hace 2 días

    Aplicar directamente

    beBee Professionals Las Palmas de Gran Canaria, España Desarrolladores Freelance

    beBee Professionals está buscando un Especialista en Seguridad Informática para unirse a su equipo en Las Palmas de Gran Canaria. · Estamos buscando a alguien con una pasión por la seguridad informática y una comprensión profunda de los conceptos de seguridad informática. El cand ...

  • Cronoshare

    Problemas con antivirus y memorias RAM

    Encontrado en: Cronoshare ES C2 - hace 1 día


    Cronoshare Tres Cantos (Madrid), España

    Cuando compré el equipo pedí que le instalaran una memoria RAM (8 GB) para tener capacidad suficiente ya que el objetivo principal era para juegos de ordenador. Sin embargo, el PC no se ha utilizado hasta ahora, puesto que el objetivo sería para creación de música, conectar instr ...

  • Repsol

    Ingeniero/a Cloud Incident Response

    Encontrado en: Talent ES C2 - hace 2 días


    Repsol Madrid, España De jornada completa

    At Repsol, we are committed to equality and do not request personal information. · We believe that diversity contributes to innovative ideas and provides added value that enables us to benefit from mutual learning and perform our best work. Here, what counts is your experience an ...