Esta es una pequeña guia de como empezar a desarrollar malware donde te pondre recursos en orden cronologico, los puntos que tome en cuenta para hacer esta guia fueron:
- Hacer todo manual
- Programar todo desde cero en C/C++ y ensamblador
- No se tiene nada de conocimiento de como funciona una computadora (internamente), en programacion, redes y sistemas operativos
- Todos los recursos mostrados son gratis
Nota: Solo soy un aprendiz y aficionado que quiso compartir estos recursos para los intersados en el tema
Nota 2: Investiga aun mas por tu cuenta
Nota 3: Pequeño "foro" por si tienes algunas duda, aportacion, opinion, etc: Click aqui o en el apartado de "Discussions"
-
Fundamentos de windows
- THM Pt1
- THM Pt2
- THM Pt3
- HTB Windows Fundamentals (por si no quieres usar THM)
-
Fundamentos de Linux
-
Fundamentos en Redes
-
Introduccion a PowerShell
-
Linux Shells (comandos y demas) Esto podria ser complementario con la parte de
Fudamentos en Linux
-
Sistemas operativos
-
Esto es debatible, por que este libro aparte de darte conceptos basicos, te enseñara cosas sobre arquitectura de computadoras donde tendras que programar en C y ensamblador, y tomando en cuenta que esta guia lleva un orden, en este punto aun no se entra en materia de programacion.
Si solo quieres una pequeña introduccion sobre como funciona una compu, el CPU, la administracion de memoria, los procesos, etc, puedes leer hasta la parte 2.10 o hasta la pagina 102
Adicionalmente puedes saltarte hasta el capítulo 10 (página 389) para conocer acerca del VAS (Virtual Adress Space)
-
-
Archivos PE y ELF
-
Logica de programacion:
-
Programacion en C/C++
-
Ensamblador x86-64 y x86
-
Curso Neomatrix, Este es full introductorio, no es mala idea verlo primero
-
Curso Solid y Ricardo Narvaja, Orientado al reversing, full practico desde un depurador
-
Open Security Training, Son como diapositivas aca rapidas con conceptos puntuales
-
Open Security Training v2, Lo mismo de arriba pero version 2 (desconozco si este es gratis)
-
0xInfection, Orientado a la explotacion binaria y reversing, full practico desde GNU debugger
-
-
Manejo de depuradores
-
Desarrollo de shellcodes
La WinAPI es muy extensa, por lo que regularmente las funciones que se usan son las que tiene que ver con el manejo de procesos, subprocesos, y todo lo relacionado al VAS (Virtual Adress Space)
-
Programando con la WinAPI
- Introduccion a la WinAPI
- WinAPI process management, es un PDF de Windows con todas las funciones de procesos y sub procesos
-
Algunas funciones (no son todas)
-
Persistencia via el registro
-
Cifrado (para ransomware)
-
Manejo de procesos y subprocesos
- VirtualAlloc
- ReadProcessMemory
- CreateRemoteThread
- ResumeThread
- CreateProcess
- CreateThread
- CreateFileMapping
- CreateMutex, esta es interesante por que puedes crear una exclusión mutua para que el malware se ejecuté una sola vez y no vuelva a ejecutarse si la máquina ya fue infectada
-
Keyloggers
-
Sitio web con multiples funciones de la winapi y su uso en el desarrollo de malware:
-
Introduccion a las inyecciones de proceso/codigo
-
Algunas tecnicas de inyecciones de procesos/codigo, algunas tecnicas con las que puedes empezar a inyectar tus primeras shellcodes o DLLs, algunas de estas tambien puedes ser usadas para evadir los AV/EDRs en memoria, ten en cuenta que cada una funciona de diferente forma, asi que procura entenderlas y analizarlas en un depurador, tambien pueden ser aplicadas de diferentes formas
- Shellcode via Inline Assembly
- RemoteThreadInjection
- DLL Injection basico
- Thread Hijacking
- Local Thread Hijacking
- Shellcode via CreatePoolWait
- Reflective DLL injection
- Process Hollowing
- Shellcode via Inter-Process Mapped-View
- Ghostwriting
- Atom Bombing
- Process Doppelgänging
- Early Bird APC Queue
- Fiber injection
- PROPagate
- Module Stomping
- NLS Code Injection
- Recopilación de técnicas: https://github.com/daem0nc0re/TangledWinExec
-
AntiDBG (evadir depuradores)
-
AntiVM y Anti emulacion (evadir maquinas virtuales)
-
Anti Disassembly
-
Timming Attacks/Ataques basados en temporizadores
-
Ofuscacion y Packers
-
RATs y C2
-
API nativa o NTAPI: Como practica, puedes implementar las mismas tecnicas mostradas anteriormente pero ahora usando la NTAPI
-
Kernel Shellcodes
-
Programacion y explotacion de drivers
- MSDN: Drivers Introduction
- OSR
- Piotr Bania: Explotacion de drivers
- Off By One Security: Modern Windows Kernel Exploitation
- HackSys Driver
- Bring Your Own Vulnerable Driver (no encontre tutoriales, pero basicamente es necesario saber programar drivers o cargar uno con una vulnerabilidad intencionada, ejemplo:)
-
Creacion de rootkits
-
Seguridad y Explotacion del UEFI
- BlackHat: Breaking Firmware Trust From Pre-EFI: Exploiting Early Boot Phases
- Binarly: Post sobre seguridad del UEFI
- BlackHat: Breaking Secure Bootloaders
- BlackHat: Taking DMA Attacks to the Next Level
- BlackHat: Analyzing UEFI BIOSes from Attacker & Defender Viewpoints
- BlackHat: Attacking Intel BIOS
- BlackHat: Introducing Ring -3 Rootkits
- CanSecWest: Attacks on UEFI Security
- DEFCON: Hacking the Extensible Firmware Interface
- ATT&CK: Vectores de ataque de un bootkit
-
Analisis de Bootkits
-
Codigos fuente
-
Inline Hooking
-
SSDT Hooking
-
IAT Hooking
-
IRP hooking y DKOM
-
Sourcefire, "Minicurso" de desarrollo de rootkits
RootKits and Bootkits, es muy buen libro, ya que te enseñan tecnicas que han usados rootkits para evadir AV/EDRs, sobreescribir la UEFI y BIOS, almacenarse en el chipset de la BIOS, escalar de ring 3 a ring 0, etc
- https://cocomelonc.github.io/
- https://www.vkremez.com/
- https://0xpat.github.io/
- https://zerosum0x0.blogspot.com/
- https://www.guitmz.com/
- GuidedHacking
- cr0w
- ActiveXSploit
- Tech69 - Playlist de Malware Development