Ingeniería Inversa (II)files.meetup.com/18428959/reversing-reloaded.pdf · Ingeniería Inversa...

Post on 21-Aug-2020

7 views 0 download

Transcript of Ingeniería Inversa (II)files.meetup.com/18428959/reversing-reloaded.pdf · Ingeniería Inversa...

Ingeniería Inversa (II)

Rubén Molina

Estrategias

• Análisis estático – Permite analizar binarios

de plataformas y arquitecturas que no poseo

– (Casi) no hay que preocuparse por código malicioso

– No hay que preocuparse por métodos anti-debugging (pero si por packers/crypters)

• Análisis dinámico – Requiere ejecución! (o

una muy ingeniosa emulación)

– Acceso directo a parámetros y retornos de funciones (oh si!)

– Infinidad de estrategias anti-debugging (oh no!)

– Generalmente no es sensible a packers (pero si a crypters)

Estrategias

• Análisis estático

– Tiene fama de ser mas difícil pero es sólo fama

– El método favorito para “análistas”: malware, firmware…

• Análisis dinámico

– El método favorito para crackers y exploiters?

– Muchas más cosas para aprender

Típicamente se usan las dos cosas

Herramientas para el análisis estático

Reflectores, Descompiladores, Desensambladores y Vodka

RDG Simple Crackme .NET

http://crackmes.de/users/rdgmax/rdg_simple_crackme_.net/

ILSpy 2.3.0.1827

RDG Simple Crackme .NET v5

http://crackmes.de/users/rdgmax/crackme_rdg_simple_crackme_.net_v5_2015/

No tan simple ;)

No tan simple ;)

O si?

BONUS: Así se veía antes :D

rantasipi's Little Headache

http://crackmes.de/users/rantasipi/little_headache/

vb Decompiler Pro 9.8

vb Decompiler Pro 9.8

BONUS: Removiendo la ofuscación ;)

https://repl.it/languages/Python3

vb Decompiler Lite 10.0

Crack Auth

http://crackmes.de/users/volty/voltys_delphi_crackme_1/

IDR: Interactive Delphi Reconstructor

“@UStrEqual”… Muy fácil?

https://forum.tuts4you.com/topic/32862-crackme-rdg-simple-crackme-delphi/

Uno más?

Y en IDA?

Esto era un @UStrCat

Esto era un @UStrEqual

Herramientas para el análisis dinámico

Depuradores y café

Donde puedo encontrar más?

• http://tuts4you.com/

• http://crackmes.de/

http://ricardonarvaja.info/WEB/

Estrategia general

• Identificar el binario: Plataforma? Arquitectura? Compilador? Símbolos?

• Probar múltiples herramientas de análisis: Algunas pueden tener mejores firmas, otras mejores estrategias de visualización, otras mejor identificación de tipado.

• Automatizar! Siempre!

• Reversar el mínimo de código: Descompiladores totales o parciales, Visualización, Instinto, etc!

Donde puedo aprender más?

Donde puedo aprender más?

Donde puedo aprender más?

Donde puedo aprender más?

Taller

• Retos libres

– Crackmes.de → Advanced Search → Difficulty >= 2

• Reto especial:

– “secret” → :)

– Como se genera?