Está en la página 1de 8

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

Identificación de un malware

1. Presentación de los malwares por familias

9

1.1 Introducción

9

1.2 Backdoor

10

1.3 Ransomware y locker

11

1.4 Stealer

12

1.5 Rootkit

13

2. Escenario de infección

14

2.1 Introducción

14

2.2 Escenario 1: la ejecución de un archivo adjunto

14

2.3 Escenario 2: el clic desafortunado

15

2.4 Escenario 3: la apertura de un documento infectado

16

2.5 Escenario 4: los ataques informáticos

16

2.6 Escenario 5: los ataques físicos: infección por llave USB

17

3. Técnicas de comunicación con el C&C

17

3.1 Introducción

17

3.2 Actualización de la lista de nombres de dominio

18

3.3 Comunicación mediante HTTP/HTTPS/FTP/IRC

18

3.4 Comunicación mediante e-mail

19

3.5 Comunicación mediante una red punto a punto

19

3.6 Comunicación mediante protocolos propietarios

19

3.7 Comunicación pasiva

20

3.8 Fast flux y DGA (Domain Generation Algorithms)

20

4. Recogida de información

21

4.1 Introducción

21

4.2 Recogida y análisis del registro

22

4.3 Recogida y análisis de los registros de eventos

24

4.4 Recogida y análisis de los archivos ejecutados durante el arranque

25

4.5 Recogida y análisis del sistema de archivos

26

4.6 Gestión de los archivos bloqueados por el sistema operativo

32

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

 

4.7 Framework de investigación inforense

33

4.8 Herramienta FastIR Collector

35

5. Imagen de memoria

37

 

5.1 Presentación

37

5.2 Realización de una imagen de memoria

38

5.3 Análisis de una imagen de memoria

41

5.4 Análisis de la imagen de memoria de un proceso

48

6. Funcionalidades de los malwares

49

 

6.1 Técnicas para ser persistente

49

6.2 Técnicas para ocultarse

51

6.3 Malware sin archivo

55

6.4 Esquivar el UAC

56

7. Modo operativo en caso de amenazas a objetivos persistentes (APT)

57

 

7.1 Introducción

57

7.2 Fase 1: reconocimiento

58

7.3 Fase 2: intrusión

58

7.4 Fase 3: persistencia

59

7.5 Fase 4: pivotar

59

7.6 Fase 5: filtración

60

7.7 Trazas dejadas por el atacante

60

8. Conclusión

61

Análisis básico

1.

Creación de un laboratorio de análisis

63

1.1 Introducción

63

1.2 VirtualBox

64

1.3 La herramienta de gestión de muestras de malware Viper

70

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

2. Información sobre un archivo

76

2.1 Formato de archivo

76

2.2 Cadenas de caracteres presentes en un archivo

77

3. Análisis en el caso de un archivo PDF

79

3.1 Introducción

79

3.2 Extraer el código JavaScript

79

3.3 Desofuscar código JavaScript

84

3.4 Conclusión

88

4. Análisis en el caso de un archivo de Adobe Flash

88

4.1 Introducción

88

4.2 Extraer y analizar el código ActionScript

89

5. Análisis en el caso de un archivo JAR

90

5.1 Introducción

90

5.2 Recuperar el código fuente de las clases

91

6. Análisis en el caso de un archivo de Microsoft Office

93

6.1 Introducción

93

6.2 Herramientas que permiten analizar archivos de Office

93

6.3 Caso de malware que utiliza macros: Dridex

94

6.4 Caso de malware que utiliza alguna vulnerabilidad

96

7. Uso de PowerShell

98

8. Análisis en el caso de un archivo binario

99

8.1 Análisis de binarios desarrollados en AutoIt

99

8.2 Análisis de binarios desarrollados con el framework .NET

101

8.3 Análisis de binarios desarrollados en C o C++

101

9. El formato PE

102

9.1

Introducción

102

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

9.2 Esquema del formato PE

103

9.3 Herramientas para analizar un PE

110

9.4 API de análisis de un PE

113

10. Seguir la ejecución de un archivo binario

117

10.1 Introducción

117

10.2 Actividad a nivel del registro

118

10.3 Actividad a nivel del sistema de archivos

120

10.4 Actividad de red

121

10.5 Actividad de red de tipo HTTP(S)

129

11. Uso de Cuckoo Sandbox

130

11.1 Introducción

130

11.2 Configuración

131

11.3 Uso

136

11.4 Limitaciones

145

11.5 Conclusión

147

12. Recursos en Internet relativos a los malwares

147

12.1 Introducción

147

12.2 Sitios que permiten realizar análisis en línea

148

12.3 Sitios que presentan análisis técnicos

152

12.4 Sitios que permiten descargar samples de malwares

154

Reverse engineering

1. Introducción

157

1.1 Presentación

157

1.2 Legislación

158

2. Ensamblador x86

159

2.1 Registros

159

2.2 Instrucciones y operaciones

164

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

2.3 Gestión de la memoria por la pila

170

2.4 Gestión de la memoria por el montículo

173

2.5 Optimización del compilador

173

3. Ensamblador x64

174

3.1 Registros

174

3.2 Parámetros de las funciones

175

4. Análisis estático

176

4.1 Presentación

176

4.2 IDA Pro

176

4.2.1

Presentación

176

4.2.2

Navegación

180

4.2.3

Cambios de nombre y comentarios

183

4.2.4

Script

184

4.2.5

Plug-ins

185

4.3 Radare2

189

4.3.1 Presentación

189

4.3.2 Línea de comandos

189

4.3.3 Interfaces gráficas no oficiales

191

4.4 Técnicas de análisis

191

4.4.1 Comenzar un análisis

191

4.4.2 Saltos condicionales

193

 

4.4.3 Bucles

194

4.5 API Windows

195

4.5.1 Introducción

195

4.5.2 API de acceso a los archivos

196

4.5.3 API de acceso al registro

199

4.5.4 API de comunicación de red

205

4.5.5 API de gestión de servicios

209

4.5.6 API de los objetos COM

212

4.5.7 Ejemplos de uso de la API

213

4.5.8 Conclusión

222

4.6 Límites del análisis estático

222

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

5.

Análisis dinámico

222

5.1 Presentación

222

5.2 Immunity Debugger

223

5.2.1 Presentación

223

5.2.2 Control de flujo de ejecución

228

5.2.3 Análisis de una librería

232

5.2.4 Puntos de ruptura

233

5.2.5 Visualización de los valores en memoria

235

5.2.6 Copia de la memoria

236

5.2.7 Soporte del lenguaje Python

237

5.2.8 Conclusión

238

5.3 WinDbg

238

5.3.1 Presentación

238

5.3.2 Interfaz

239

5.3.3 Comandos básicos

241

5.3.4 Plug-in

246

5.3.5 Conclusión

247

5.4 Análisis del núcleo de Windows

247

5.4.1 Presentación

247

5.4.2 Implementación del entorno

247

5.4.3 Protecciones del kernel de Windows

248

5.4.4 Conclusión

249

5.5 Límites del análisis dinámico y conclusión

249

Técnicas de ofuscación

1. Introducción

251

2. Ofuscación de las cadenas de caracteres

253

 

2.1 Introducción

253

2.2 Caso de uso de ROT13

253

2.3 Caso de uso de la función XOR con una clave estática

256

2.4 Caso de uso de la función XOR con una clave dinámica

262

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

2.5 Caso de uso de funciones criptográficas

264

2.6 Caso de uso de funciones personalizadas

271

2.7 Herramientas que permiten decodificar las cadenas de caracteres

281

3. Ofuscación del uso de la API de Windows

282

3.1 Introducción

282

3.2 Estudio del caso de Duqu

283

3.3 Estudio del caso de EvilBunny

287

4. Packers

289

4.1 Introducción

289

4.2 Packers que utilizan la pila

291

4.3 Packers que utilizan el montículo

305

4.4 Encoder Metasploit

313

5. Otras técnicas

315

 

5.1 Anti-VM

315

5.2

Anti-reverse engineering y anti-debug

317

6. Conclusión

321

Detección, confinamiento y erradicación

1. Introducción

323

2. Indicadores de compromiso de red

325

2.1 Presentación

325

2.2 Uso de los proxys

326

2.3 Uso de detectores de intrusión

328

2.4 Casos complejos

330

3. Detección de archivos

331

3.1

Presentación

331

Seguridad informática y Malwares

Análisis de amenazas e implementación de contramedidas

3.2 Firmas (o Hash)

332

3.3 Firmas con YARA

334

3.4 Firmas con ssdeep

341

4. Detección y erradicación de malwares con ClamAV

343

4.1 Presentación

343

4.2 Instalación

344

4.3 Uso

346

5. Artefactos del sistema

353

5.1 Tipos de artefactos

353

5.2 Herramientas

354

6. Uso de OpenIOC

356

6.1 Presentación

356

6.2 Uso

357

6.3 Interfaz gráfica de edición

358

6.4 Detección

362

7. Conclusión

367

índice

369