La ciber inteligencia de amenazas, también llamada «cyber threat intelligence» o simplemente CTI, es un dominio muy amplio, que combina una faceta analítica, más bien abstracta, con otra que es eminentemente técnica.
En CTI habitualmente estudiaremos actores de amenaza, desde la perspectiva de la organización o el sector que estemos defendiendo. Esto implicará conocer los actores específicos que amenazan a dichas organizaciones, entendiendo sus técnicas, tácticas y procedimientos (TTPs), así como sus motivaciones, organización y demás.
Como veis, esto es muy amplio. Las acciones en CTI van desde la mera observación de espacios digitales, tales como foros o redes sociales, llegando incluso a la infiltración activa en dichos entornos, hasta el estudio más técnico, analizando los artefactos digitales de dichos grupos.
Así, habitualmente estos actores de amenazas combinarán TTPs estilo «soft», como técnicas de fraude o estafa, con TTPs más duros «hard», como técnicas de ataque a sistemas informáticos, empleo de hacktools o distribución de MALWARE. El MALWARE es, pues, como sabéis, un elemento fundamental en las ciberamenazas que reciben las organizaciones que nosotros defendemos.
Por lo tanto, un buen analista de CTI debería tener unos conocimientos, aunque fueran mínimos, de análisis de este MALWARE; sin obviar las capacidades analíticas.
Y para analizar MALWARE, lo fundamental es aprender técnicas de ingeniería inversa.
¡Y aquí es donde vienen mis apuntes! Durante estos últimos años he recopilado unas notas (en constante crecimiento) sobre ingeniería inversa para el análisis básico de malware, con herramientas de código abierto fácilmente integrables en sistemas más grandes.
Os dejo a continuación el listado completo, ¡ojalá os ayude!
Reverse Engineering with Radare2
Algunas notas y apuntes para empezar desde cero en la ingeniería inversa con herramientas como radare2 framework, gdb, frida, x64dbg among others.
Reversing Basic C Code (x86)
- Reversing x32/x64 with radare2 – 1 (intro)
- Reversing x32/x64 with radare2 – 2 (conditionals)
- Reversing x32/x64 with radare2 – 3 (funcs, cases and loops)
- Reversing x32/x64 with radare2 – 4 – I (arrays and strings)
- Reversing x32/x64 with radare2 – 4 – II (more strings)
- Reversing x32/x64 with radare2 – 5 (var types and casting)
- Reversing x32/x64 with radare2 – 6 (multi-dimensional arrays and structs)
- Reversing x32/x64 with radare2 – 7 (struct arrays, r2pm and patching)
- Reversing x32/x64 with radare2 – 8 – I (files: read, write, seek and some heaps)
- Reversing x32/x64 with radare2 – 8 – II (crackmes)
- Reversing x32/x64 with radare2 – 9 (pointers and dynamic memory)
- Reversing x32/x64 with radare2 – 10 (more pointers and dynamic structs)
- Reversing x32/x64 with radare2 – 11 (linked lists, enums, bitwise operations and r2pipe)
- Reversing x32/x64 with radare2 – 12 (defines, unions and bitmaps)
Advanced Topics on Reversing C Code (Windows and Unix)
- Reverse engineering x64 binaries with Radare2 – 13 (Linux systems programming: theory, syscalls, files and ESIL)
- Reverse engineering x64 binaries with Radare2 – 14 (The Windows API: theory, Hello World, and files)
- Reverse engineering x64 binaries with Radare2 – 15 – I (Unix sockets fundamentals)
- Reverse engineering x64 binaries with Radare2 – 15 – II (More sockets, HTTP emulation, Radasm, Ragg, and shellcode)
- Reverse engineering x64 binaries with Radare2 – 16 (Winsock, UDP C&C, and file exfiltration through DNS)
- Reverse engineering x64 binaries with Radare2 – 17 (More Winsock, bind and reverse shells)
- Reverse engineering x64 binaries with Radare2 – 18 (Unix encrypted bind shells over TLS)
- Reverse engineering x64 binaries with Radare2 – 19 (Exploiting basic buffer overflows)
- Reverse engineering x64 binaries with Radare2 – 20 (Bypassing DEP with simple ROP chains)
- Reverse engineering x64 binaries with Radare2 – 21 (Enabling code execution on stack)
- Reverse engineering x64 binaries with Radare2 – 22 (Defeating stack canaries)
- Reverse engineering x64 binaries with Radare2 – 23 (Dealing with ASLR)
Malware Analysis
- Malware analysis with IDA/Radare2 – C# Malware (Ziraat)
- Malware analysis with IDA/Radare2 – Analyzing maldocs (Emotet Dropper)
- Malware analysis with IDA/Radare2 – Basic unpacking (Dridex)
- Malware analysis with IDA/Radare2 – Multiple unpacking (Ramnit)
- Malware analysis with IDA/Radare2 – From unpacking to config extraction (IceID)
- Malware analysis with IDA/Radare2 – DLL injection, the fundamentals
- Malware analysis with IDA/Radare2 – PE injection, the fundamentals

Deja un comentario