Análisis de Malware - Universidad de Granada
Transcript of Análisis de Malware - Universidad de Granada
![Page 1: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/1.jpg)
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la a
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis de Malware
![Page 2: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/2.jpg)
2
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 3: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/3.jpg)
3
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 4: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/4.jpg)
4
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Terminología
• Bomba lógica
• Troyano
• Backdoor (Botnet & RATs & CC)
• Virus
• Worm
• Rabbit
• Spyware
• Adware
• Downloader / Launcher
• Rootkit
• Spammer
• Scareware
Introducción e historia
![Page 5: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/5.jpg)
5
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Introducción e historia
![Page 6: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/6.jpg)
6
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Introducción e historia
![Page 7: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/7.jpg)
7
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 8: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/8.jpg)
8
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• VirusTotal
• Hashing
• Strings• Unicode
• Cabeceras
• Análisis de Packer (PEiD)
Análisis estático básico
![Page 9: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/9.jpg)
9
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Bibliotecas enlazadas• Estáticas
• Dinámicas (imports) Dependency Walker
• En tiempo de ejecución• LoadLibrary• GetProcAddress
Análisis estático básico
![Page 10: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/10.jpg)
10
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Librerías comunes de Windows• Kernel32.dll
• Advapi32.dll
• User32.dll
• Gdi32.dll
• Ntdll.dll
• Wsock32.dll / Ws2_32.dll
• Wininet.dll
Análisis estático básico
![Page 11: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/11.jpg)
11
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Nombres de funciones• CreateWindow / CreateWindowEx
• CreateDirectory• CreateDirectoryA• CreateDirectoryW
Análisis estático básico
![Page 12: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/12.jpg)
12
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Ficheros PE• IMAGE_DOS_HEADER Historical
• MS-DOS Stub Program Historical
• IMAGE_NT_HEADERS
• IMAGE_FILE_HEADER Información sobre compilación
• IMAGE_OPTIONAL_HEADER • Subsystem description: GUI / Consola
• IMAGE_SECTION_HEADER Secciones del ejecutable, nombres elegidos por el compilador
• Virtual Size: lo que ocupa en memoria
• Size of Raw data: lo que ocupa en disco
Análisis estático básico
![Page 13: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/13.jpg)
13
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Ficheros PE
Análisis estático básico
Nombre Descripción
.text / .code
Código ejecutable
.rdata / .const
Datos read-only
.data Datos
.idata Funciones importadas (a veces se omite y están en .rdata)
.edata Funciones exportadas (a veces se omite y están en .rdata)
.pdata Información de EH en 64 bits
.rsrc Resources
.reloc Información para relocar bibliotecas
.bss Uninitialized data
… …
![Page 14: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/14.jpg)
14
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Resources• Iconos
• Menús
• Diálogos
• Cadenas
Análisis estático básico
![Page 15: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/15.jpg)
15
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¡Probemos! Práctica, 3.1
Análisis estático básico
![Page 16: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/16.jpg)
16
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 17: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/17.jpg)
17
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Máquinas virtuales• Pros
• Aisladas• Snapshots• Record/Replay
• Contras
• Detectables)• Vulnerabilidades
Análisis dinámico básico
![Page 18: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/18.jpg)
18
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Warning! No sabemos qué tenemos entre manos y vamos a ejecutar cosas! Usa un entorno aislado!
Análisis dinámico básico
![Page 19: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/19.jpg)
19
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Sandboxes• Norman Sandbox
• GFI Sandbox (ThreatAnalyzer)• https://www.threattrack.com/online-malware-sandbox.aspx
• Cuckoo / VMCloak• https://malwr.com/
• Online / Offline
Análisis dinámico básico
![Page 20: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/20.jpg)
20
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Sandboxes, problemas
• Parámetros
• Funciones de arranque
• Detección de VM
• Malware en DLLs
Análisis dinámico básico
![Page 21: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/21.jpg)
21
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Malware en DLLs
• rundll32.exe DLLname, Export arguments
• rundll32.exe xyzzy.dll, #5
• rundll32 ipr32x.dll,InstallService ServiceNamenet start ServiceName
Análisis dinámico básico
![Page 22: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/22.jpg)
22
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Process Monitor• Registro• Filesystem• Procesos y hebras• Red (no recomendado)
Análisis dinámico básico
![Page 23: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/23.jpg)
23
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Process Explorer• Task manager• Verifica si DLL está firmada por
Microsoft en runtime• Comprobar strings en disco y en
memoria• Algunas diferencias son normales
• Análisis rápido de malware en documentos
Análisis dinámico básico
![Page 24: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/24.jpg)
24
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Regshot • Permite hacer dos snapshots del
registro y compararlas
Análisis dinámico básico
![Page 25: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/25.jpg)
25
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Comportamiento de red• Fakenet / fakenet-ng
• Redirige el tráfico DNS/HTTP/SSL
• Inteligente, si piden jpg sirve jpg• Saca un pcap• Muy flexible
Análisis dinámico básico
![Page 26: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/26.jpg)
26
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Comportamiento de red• Wireshark• InetSim (Linux)• Nc• ApateDNS
Análisis dinámico básico
![Page 27: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/27.jpg)
27
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¡Probemos! Práctica, 3.2
Análisis dinámico básico
![Page 28: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/28.jpg)
28
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 29: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/29.jpg)
29
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• El análisis estático básico nos permite saber qué funciones se importan, pero no si se usan ni como se usan.
• El análisis dinámico básico nos puede dar una visión a nivel de interfaz, pero se acaba ahí
Análisis estático avanzado
![Page 30: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/30.jpg)
30
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Niveles de abstracción en programación• Hardware (lógica digital)
• Microcódigo / Firmware 10101001…
• Código máquina (opcodes) 26h32h…
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel (C, C++, …)
• Lenguajes interpretados (bytecode)
• ¿En qué nivel trabaja el analista de malware?
Análisis estático avanzado
![Page 31: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/31.jpg)
31
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¿En qué nivel trabaja el analista de malware?
Análisis estático avanzado
![Page 32: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/32.jpg)
32
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Arquitectura X86
Análisis estático avanzado
![Page 33: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/33.jpg)
33
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones ASM
• Mnemonic
• Mnemonic [destination]
• Mnemonic [destination], [source]
• Mnemonic [destination], [source1], [source2]
Análisis estático avanzado
![Page 34: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/34.jpg)
34
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Disassembler
B9 42 00 00 00 mov ecx, 0x42
Análisis estático avanzado
![Page 35: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/35.jpg)
35
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Tipos de operando
• Inmediato: 0x42
• Registro: ecx
• Dirección de memoria: [ecx]
Análisis estático avanzado
![Page 36: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/36.jpg)
36
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Registros
Análisis estático avanzado
![Page 37: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/37.jpg)
37
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Registros
Análisis estático avanzado
![Page 38: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/38.jpg)
38
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• EFLAGS
Análisis estático avanzado
![Page 39: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/39.jpg)
39
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• EFLAGS
• ZF: Zero Flag
• CF: Carry Flag
• SF: Sign Flag
• TF: Trap Flag, Modo single step
Análisis estático avanzado
![Page 40: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/40.jpg)
40
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones
Análisis estático avanzado
![Page 41: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/41.jpg)
41
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones
• mov eax, ebx+8 lea eax, [ebx+8]
Análisis estático avanzado
![Page 42: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/42.jpg)
42
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones
• mov eax, [ebx+8] eax = ?
• lea eax, [ebx+8] eax = ?
Análisis estático avanzado
![Page 43: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/43.jpg)
43
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones
Análisis estático avanzado
![Page 44: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/44.jpg)
44
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila
• ESP: Stack pointer (top)
• EBP: Base pointer, comienzo de parámetros de función y variables locales (suelen referenciarse con respecto a ebp)
• push, pop, pusha, popa, pushad, popad
• enter / leave
• call / ret
Análisis estático avanzado
![Page 45: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/45.jpg)
45
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
![Page 46: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/46.jpg)
46
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones• Prólogo
• En este momento tenemos…
• Epílogo
Análisis estático avanzado
![Page 47: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/47.jpg)
47
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
![Page 48: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/48.jpg)
48
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address esp
add: # prologopush ebp
eip
![Page 49: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/49.jpg)
49
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp esp
add: # prologopush ebp eip
![Page 50: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/50.jpg)
50
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp esp
add: # prologopush ebpmov ebp,esp eip
ebp
![Page 51: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/51.jpg)
51
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebxesp
add: # prologopush ebpmov ebp,esp
# guardamos registros # según cdecl
push esipush edipush ebx eip
ebp
![Page 52: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/52.jpg)
52
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c esp
add: # prologopush ebpmov ebp,esp
# guardamos registros # según cdecl
push esipush edipush ebx
# hacer sitio para variable local c
sub esp,4 eip
ebp
![Page 53: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/53.jpg)
53
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c esp
add: # prologopush ebpmov ebp,esp
# guardamos registros # según cdecl
push esipush edipush ebx
# hacer sitio para variable local c
sub esp,4# meto b en ebx
mov ebx, [ebp+12]add ebx, [ebp+8] eip
ebp
![Page 54: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/54.jpg)
54
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c esp
add: # prologopush ebpmov ebp,esp
# guardamos registros # según cdecl
push esipush edipush ebx
# hacer sitio para variable local c
sub esp,4# meto b en ebx
mov ebx, [ebp+12]add ebx, [ebp+8]
# meto a+b en cmov [ebp-16], ebx eip
ebp
![Page 55: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/55.jpg)
55
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c esp
add: # prologopush ebpmov ebp,esp
# guardamos registros # según cdecl
push esipush edipush ebx
# hacer sitio para variable local c
sub esp,4# meto b en ebx
mov ebx, [ebp+12]add ebx, [ebp+8]
# meto a+b en cmov [ebp-16], ebx
# meto c en eaxmov eax, [ebp-16] eip
ebp
![Page 56: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/56.jpg)
56
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4 eip
ebp
![Page 57: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/57.jpg)
57
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebx eip
ebp
![Page 58: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/58.jpg)
58
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebxpop edi eip
ebp
![Page 59: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/59.jpg)
59
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebxpop edipop esi eip
ebp
![Page 60: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/60.jpg)
60
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebxpop edipop esi
# epílogomov esp, ebp eipebp
![Page 61: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/61.jpg)
61
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebxpop edipop esi
# epílogomov esp, ebppop ebp eip
![Page 62: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/62.jpg)
62
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: llamadas a funciones
Análisis estático avanzado
b
a
return address
old ebp
esi
edi
ebx
c
esp
# limpiar pilaadd esp, 4pop ebxpop edipop esi
# epílogomov esp, ebppop ebpret eip
eip
![Page 63: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/63.jpg)
63
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• La pila: disposición
Análisis estático avanzado
![Page 64: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/64.jpg)
64
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Otras calling conventions• cdecl :
• Los argumentos se ponen en la pila de derecha a izquierda
• El caller limpia la pila
• El valor de retorno va en eax
• stdcall : propia de la API de Windows
• Idem pero el called limpia la pila
• Ms fastcall : depende del compilador
• Primeros dos argumentos en edx, ecx
• Resto en la pila de derecha a izqda.
Análisis estático avanzado
![Page 65: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/65.jpg)
65
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Comparaciones
• tst equivale a and
• cmp equivale a sub
• No alteran los operandos solo las flags
Análisis estático avanzado
![Page 66: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/66.jpg)
66
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Branching
• Incondicional jmp
• Condicional más de 30 tipos
Análisis estático avanzado
![Page 67: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/67.jpg)
67
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones Rep
• movsX, cmpsX, stosX, scasX• X = (b)yte, (w)ord, (d)ouble Word
• esi source index (++)
• edi destination index (++)
• ecx counter (--)
Análisis estático avanzado
Depende de DF
![Page 68: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/68.jpg)
68
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Instrucciones Rep
Análisis estático avanzado
![Page 69: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/69.jpg)
69
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• El main en C
Análisis estático avanzado
![Page 70: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/70.jpg)
70
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Llamadas al sistema
• En Linux son usuales• eax = syscall number
• Args ebx, ecx, edx, esi, edi, ebp
• int 0x80
• http://syscalls.kernelgrok.com/
Análisis estático avanzado
![Page 71: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/71.jpg)
71
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Llamadas al sistema
• En Windows están “escondidas” bajo la API • syscall, sysenter, int 0x2e
• Para hacer ciertas cosas (rootkits) hay que programar en kernel mode (drivers) (acceso directo al hardware)
Análisis estático avanzado
![Page 72: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/72.jpg)
72
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Llamadas al sistema
Análisis estático avanzado
![Page 73: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/73.jpg)
73
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Llamadas al sistema
Análisis estático avanzado
![Page 74: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/74.jpg)
74
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Más información
Análisis estático avanzado
![Page 75: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/75.jpg)
75
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis estático avanzado
![Page 76: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/76.jpg)
76
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¡Probemos! Práctica, 3.3
Análisis estático avanzado
![Page 77: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/77.jpg)
77
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• IDA Pro
• Estándar de facto
• Hay otras herramientas pero no tan buenas
• Es comercial (1500€ aprox)• Versión 7.0 free
Análisis estático avanzado: IDA Pro
![Page 78: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/78.jpg)
78
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• IDA Pro
• Descubre funciones
• Analiza la pila
• Identifica variables locales
• Fast Library Identification and Recognition Technology (FLIRT)
• Plugins
• Hex-Rays decompiler 2500€
• Zynamics BinDiff (free desde 2016)
Análisis estático avanzado: IDA Pro
![Page 79: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/79.jpg)
79
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis estático avanzado: IDA Pro
![Page 80: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/80.jpg)
80
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis estático avanzado: IDA Pro
![Page 81: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/81.jpg)
81
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis estático avanzado: IDA Pro
![Page 82: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/82.jpg)
82
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Navegando por el código
• Links• Sub links comienzo de funciones
• Loc links destino de saltos.
• Offset links posiciones de memoria
• Cross references• CODE XREF
• DATA XREF
• Botones de History Adelante / Atrás
Análisis estático avanzado: IDA Pro
![Page 83: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/83.jpg)
83
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Navegando por el código
• Jump • to address
• to file offset
• Searching
Análisis estático avanzado: IDA Pro
![Page 84: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/84.jpg)
84
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Análisis de funciones
• IDA Pro es capaz de reconocer funciones, etiquetarlas y deducir
• parámetros (prefijo arg_)
• y variables locales (prefijo var_)
• Permite un mayor nivel de abstracción
• A veces puede omitir funciones
• Podemos especificarlas a mano
Análisis estático avanzado: IDA Pro
![Page 85: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/85.jpg)
85
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Gráficos útiles
• Xrefs to: different paths that a program can take to reach a particular function.
• Xrefs from: This view can quickly tell you what a function does and what the functions do underneath it. This is the easiest way to get a quick overview of the function.
Análisis estático avanzado: IDA Pro
![Page 86: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/86.jpg)
86
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Mejorando el resultado
• Podemos:• Renombrar funciones / locations
• Poner comentarios• : un comentario• ; un comentario que se repite en
cada xref
• Cambiar el tipo de una referencia (dec/hex/bin…)
Análisis estático avanzado: IDA Pro
![Page 87: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/87.jpg)
87
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Mejorando el resultado
• A veces el analizador puede equivocarse…
Análisis estático avanzado: IDA Pro
![Page 88: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/88.jpg)
88
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Mejorando el resultado
• Constantes• ¿Cómo tratamos un #DEFINE ?
• IDA Pro trae un catálogo de los usuales en la librería estándar de C y en el SDK de Windows (Type libraries subview)
Análisis estático avanzado: IDA Pro
![Page 89: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/89.jpg)
89
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Scripting
• IDC
• IDAPython
Análisis estático avanzado: IDA Pro
![Page 90: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/90.jpg)
90
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¡Probemos! Práctica, 3.4
Análisis estático avanzado: IDA Pro
![Page 91: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/91.jpg)
91
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 92: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/92.jpg)
92
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Debugger: • Insight
• Measure and control the internal state
• Dynamic view
• GDB, WinDBG, OllyDbg, IDA Pro…
![Page 93: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/93.jpg)
93
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Debugger de código Vs Debugger ASM
• Visual Studio GDB
• Kernel Debugging Vs User-Mode Debugging• Para debuggear el kernel necesitas
dos máquinas
• Considerablemente más complejo
• Necesitas WinDBG
![Page 94: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/94.jpg)
94
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Conceptos básicos
• Debug desde el principio Vs Attach
• Single step
• Step over Vs Step into
• Step out
• Modificar valores
• Breakpoint
• Software• Conditional
• Hardware
![Page 95: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/95.jpg)
95
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
![Page 96: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/96.jpg)
96
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Excepciones
• Los breakpoints generan excepciones y el control se pasa al debugger
• También los errores como
• memory-access violation
• division by zero
• …
![Page 97: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/97.jpg)
97
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Excepciones
![Page 98: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/98.jpg)
98
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado
• Excepciones
• Excepciones comunes
• INT 3
![Page 99: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/99.jpg)
99
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• OllyDbg
• Free
• Easy
• Plugins
![Page 100: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/100.jpg)
100
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Cargando malware
• File Open• Permite añadir parámetros
• Por defecto para en el Entry Point• 2.0 Puede configurarse para que pare
en el TLS Callback
• File Attach• Puede que te pares en medio de una
DDL de Windows
![Page 101: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/101.jpg)
101
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz1 2
4 3
![Page 102: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/102.jpg)
102
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz
• View Memory map
![Page 103: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/103.jpg)
103
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Re – Basing
• Módulos se cargan en la dirección especificada en Image Base del PE Header
• Los ejecutables • Normalmente 0x00400000
• Las DLLs• Normalmente 0x10000000
![Page 104: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/104.jpg)
104
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Re – Basing
• ¿Qué pasa si dos DLLs tienen la misma base address?
• Sección .reloc
• No es eficiente
• Las DLLs de Windows vienen preparadas con distintos base address
• Cuidado si estamos a la vez con el dissasembler
![Page 105: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/105.jpg)
105
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz
• View Threads
• Cuando pausas, pausas todo
![Page 106: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/106.jpg)
106
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz
![Page 107: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/107.jpg)
107
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz
• View Breakpoints
• Software, Conditional
![Page 108: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/108.jpg)
108
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Interfaz
• Debug Hardware Breakpoints
• Hardware
![Page 109: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/109.jpg)
109
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Carga de DLLs
• Ejecutable dummy que llama a DllMain y pausa
• Debug Call DLL Exports
![Page 110: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/110.jpg)
110
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Carga de DLLs
![Page 111: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/111.jpg)
111
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Carga de DLLs
![Page 112: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/112.jpg)
112
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Tracing• Standard Back Trace
• Navegamos lo que hemos hecho con + / -
• No muestra cambios en los registros
• View Call Stack
• Muestra la pila de la función actual (como un backtrace)
![Page 113: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/113.jpg)
113
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Tracing• Run Trace
• Graba lo que se hace con cambios en los registros y flags incluidos
• Hay que seleccionar el trozo de código que queremos tracear
• También podemos usar Trace Into y Trace Over
• Trazan hasta encontrar un breakpoint
• Debug Set condition
• Permite trazar hasta que se cumple una condición
![Page 114: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/114.jpg)
114
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Tracing• Run Trace
• Podemos revisar con View Run Trace
• Recorremos con +/-
![Page 115: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/115.jpg)
115
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Exception Handling
![Page 116: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/116.jpg)
116
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Patching
• Binary Edit
• Binary Fill with NOPs
• Aplicar en disco
• Copy to executable
![Page 117: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/117.jpg)
117
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Analizando Shellcode
• Copio shellcode en hex
• En memory map, selecciono una zona de tipo Priv y la marco como RWX (Full Access)
• Abro el dump y vuelco la shellcode (Binary Binary Paste)
• Muestro la zona en ventana de desensamblado (Go to dirección)
• Modifico EIP (new origin here)
![Page 118: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/118.jpg)
118
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Other features
• Find References to Selected Command
• View Watches
• Right Click + Label
• Plugins• OllyDump
• Hide Debugger
• Command Line
• Bookmarks
![Page 119: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/119.jpg)
119
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Análisis dinámico avanzado: OllyDbg
• Scripting• Hay que utilizar ImmDbg que da soporte a
Python
• PyCommands
![Page 120: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/120.jpg)
120
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Kernel Debugging? WinDBG• Setup del entorno complejo
• VMWare• Habilitar debug por puerto serie
• Es complejo
• Hay que saber programar drivers
• El malware de kernel para x64 es prácticamente inexistente• Firma de drivers• PatchGuard
Análisis dinámico avanzado
![Page 121: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/121.jpg)
121
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¡Probemos! Práctica, 3.5
Análisis dinámico avanzado
![Page 122: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/122.jpg)
122
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 123: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/123.jpg)
123
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Backdoors• Netcat Reverse Shell
• Windows Reverse Shell
• CreateProcess + CreatePipe
• RATs
• Botnets
Funcionalidad típica del Malware
![Page 124: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/124.jpg)
124
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Robo de credenciales• GINA (Graphical Identification and
Authentication)• HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\GinaDLL• DLL que implementa funciones Wlx.*
• Hash Dumping / Mimikatz• DLL injection en lsass.exe• NlpGetPrimaryCredential,
Funcionalidad típica del Malware
![Page 125: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/125.jpg)
125
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Robo de credenciales• Keyloggers
• Hooking• SetWindowsHookEx
• Polling
Funcionalidad típica del Malware
![Page 126: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/126.jpg)
126
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Mantener la persistencia• Windows Registry
• Hay muchas! (Autoruns by Sysinternals)• AppInit_DLLs
• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
• Winlogon Notify• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\Winlogon\
• SvcHost DLLs• HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\ServiceName
Funcionalidad típica del Malware
![Page 127: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/127.jpg)
127
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Mantener la persistencia• Troyanizar binarios del sistema
• DLL Hijacking• Directorio de la app
• Directorio de ejecución
• Directorio del sistema (Windows/System32)
• Directorio del sistema 16 bits (Windows/System)
• Directorio de Windows (Windows/)
• Directorios del PATH
• Entrada KnownDLLs del registro fuerza System32
Funcionalidad típica del Malware
![Page 128: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/128.jpg)
128
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Escalar a privilegios de admin• No suele ser necesario
• Explotar DLL Hijack en servicios
• Exploits variados
• Escalar a privilegios de system• Necesario para llamar a CreateRemoteThread
• SeDebugPrivilege
Funcionalidad típica del Malware
![Page 129: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/129.jpg)
129
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Ocultación (rootkits)• Kernel space
• SSDT Hooking
• IRP Hooking
Funcionalidad típica del Malware
![Page 130: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/130.jpg)
130
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Ocultación (rootkits)• User space
• IAT Hooking
• Inline Hooking• Modifico la función en memoria e inserto un jmp
Funcionalidad típica del Malware
![Page 131: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/131.jpg)
131
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Inyección de procesos• DLL Injection
Funcionalidad típica del Malware
![Page 132: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/132.jpg)
132
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Inyección de procesos
• Direct Injection
• En lugar de inyectar llamada a carga de DLL, inyectamos código directamente (normalmente shellcode).
Funcionalidad típica del Malware
![Page 133: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/133.jpg)
133
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Process Replacement / Hollowing
• Lanzo un proceso confiable en estado suspendido
• Reemplazo su memoria por la de otro malo
Funcionalidad típica del Malware
![Page 134: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/134.jpg)
134
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Hook injection• SetWindowsHookEx
Funcionalidad típica del Malware
HHOOK WINAPI SetWindowsHookEx(_In_ int idHook,
_In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD
dwThreadId );
![Page 135: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/135.jpg)
135
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Hook injection• Local hooks
• Mensajes destinados a mi proceso
• Remote hooks• Mensajes destinados a otro proceso
• High-Level: (e.g. WH_KEYBOARD)• El hook es una función exportada
de una DLL• El OS mapea en el espacio del
proceso hookeado• Low-Level: (e.g. WH_KEYBOARD_LL)
• La función está en el proceso que instala el hook
Funcionalidad típica del Malware
![Page 136: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/136.jpg)
136
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Hook injection• Thread Targeting
• Salvo que seas un logger con correr en una hebra tienes
• Para DLL injection se coloca un hook en un proceso benigno para que arranque al recibir un mensaje poco común (e.g. WH_CBT)
Funcionalidad típica del Malware
![Page 137: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/137.jpg)
137
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Detours• Librería de Microsoft
• Permite• Modificar estructura PE en disco para
que cargue más librerías• Crea una nueva sección .detour• Con setdll
• Programar hooks de manera muy sencilla
• Otras librerías comunes
• EasyHook
• Deviare
Funcionalidad típica del Malware
![Page 138: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/138.jpg)
138
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Detours• API hookingtradicional
Funcionalidad típica del Malware
![Page 139: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/139.jpg)
139
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• Detours• API hookingcon Detours
Funcionalidad típica del Malware
![Page 140: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/140.jpg)
140
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• APC Injection• Asynchroneus Procedure Call
• Cada hebra posee una cola de funciones que se llaman cuando está esperando.
• En lugar de crear una nueva hebra ponemos el código malicioso como un APC
• Se puede hacer desde
• User Space• DWORD WINAPI QueueUserAPC(
_In_ PAPCFUNC pfnAPC, _In_ HANDLE hThread, _In_ ULONG_PTR dwData );
• Kernel Space• KeInitializeApc / KeInsertQueueApc• Permite ejecutar código de usuario fácilmente estando
en kernel
Funcionalidad típica del Malware
![Page 141: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/141.jpg)
141
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
• ¿Y en Unix?• Aplica básicamente todo de manera muy similar
• Obviamente no hay PE en Linux sino ELF
• Persistencia en scripts de arranque (init.d, .bashrc, …)
• Inyección de código de usuario
• LD_PRELOAD
• ptrace
• gdb
• Inyección de código kernel
• Cargando un módulo• Buscarla sys_call_table• Reemplazar entrada
Funcionalidad típica del Malware
![Page 142: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/142.jpg)
142
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Índice
1. Introducción e historia
2. Análisis estático básico
3. Análisis dinámico básico
4. Análisis estático avanzado
5. Análisis dinámico avanzado
6. Funcionalidad típica del malware
7. Técnicas anti ingeniería inversa
![Page 143: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/143.jpg)
143
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• Problemas del desensamblado lineal
![Page 144: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/144.jpg)
144
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• Problemas del desensamblado orientado a flujo
![Page 145: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/145.jpg)
145
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• jz/jnz
![Page 146: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/146.jpg)
146
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• jz incondicional
![Page 147: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/147.jpg)
147
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• Desensamblado ambiguo
![Page 148: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/148.jpg)
148
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• Punteros a funciones
• IDA no los puede interpretar como funciones
• Perdemos información (Xrefs)
• Se podrían añadir a mano• AddCodeXref(0x004011DE, 0x004011C0, fl_CF);
![Page 149: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/149.jpg)
149
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Disassembly
• call2ret
![Page 150: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/150.jpg)
150
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• Usando la API de Windows
• IsDebuggerPresent
• CheckRemoteDebuggerPresent
• NtQueryInformationProcess
• OutputDebugString
![Page 151: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/151.jpg)
151
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• A mano
• PEB BeingDebugged Flag
![Page 152: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/152.jpg)
152
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• A mano
• PEB ProcessHeap Flag
![Page 153: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/153.jpg)
153
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• A mano
• PEB NTGlobalFlag• Offset 0x68
• Si vale 0x70 estás siendo debuggeado
![Page 154: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/154.jpg)
154
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• Side effects
• Buscar ventanas
• Ficheros en el sistema
• Entradas en el registro• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\AeDebug• Si tu entrada no es DrWatson no eres un usuario
normal
![Page 155: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/155.jpg)
155
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de debugger
• En tiempo de ejecución
• Exceptions que no llegan
• Buscar INT 3 (0xcc)
• Checksums
• Timing checks• Timestamps• Ticks count (rdtsc)• Windows API
• QueryPerformanceCounter y GetTickCount
![Page 156: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/156.jpg)
156
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Dificultar debugging
• TLS Callbacks
• Meter INT 3 por doquier (0xCC)
• 2-byte INT 3 attack (0xCD03) • Hace que WinDBG ejecute un flujo diferente
• Otras instrucciones con las que los debuggers tinene problemas:
• Kernel breakpoint INT 2D
• ICE breakpoint icebp (0xF1)
![Page 157: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/157.jpg)
157
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Dificultar debugging
• Vulnerabilidades del debugger
• Cabeceras PE mal formadas
• Vulnerabilidad OutputDebugString Olly 1.10• OutputDebugString ("%s%s%s%s%s%s%s%s%s%s%s%s%s%s")
![Page 158: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/158.jpg)
158
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
Técnicas Anti Ingeniería Inversa
• Anti Debugging• Detección de VM
• Procesos
• Nombre de los discos
• Servicios
• La MAC
• Búsqueda de cadenas en memoria
• VMware I/O communication port
• Red Pill / No pill (sidt, sgdt, sldt, smsw, cpuid)
• Vulnerabilidades de VM (escapar a la VM)
![Page 159: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/159.jpg)
159
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017
¡Gracias por atenderme!
![Page 160: Análisis de Malware - Universidad de Granada](https://reader031.fdocuments.ec/reader031/viewer/2022012501/617a042a6bd89253ac2922ab/html5/thumbnails/160.jpg)
160
Mást
er
en
Cib
ers
egu
ridad
Mó
du
lo:
No
mb
re d
el m
ód
ulo
de
la A
sig
nat
ura
UC
yS-U
GR
2
016/
2017