☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
# Genérico
## Redes
| Raw Sockets | WinAPI Sockets |
| ------------- | -------------- |
| socket() | WSAStratup() |
| bind() | bind() |
| listen() | listen() |
| accept() | accept() |
| connect() | connect() |
| read()/recv() | recv() |
| write() | send() |
| shutdown() | WSACleanup() |
## Persistencia
| Registro | Archivo | Servicio |
| ----------------- | ------------- | ---------------------------- |
| RegCreateKeyEx() | GetTempPath() | OpenSCManager |
| RegOpenKeyEx() | CopyFile() | CreateService() |
| RegSetValueEx() | CreateFile() | StartServiceCtrlDispatcher() |
| RegDeleteKeyEx() | WriteFile() | |
| RegGetValue() | ReadFile() | |
## Encriptación
| Nombre |
| ---------------------- |
| WinCrypt |
| CryptAcquireContext() |
| CryptGenKey() |
| CryptDeriveKey() |
| CryptDecrypt() |
| CryptReleaseContext() |
## Anti-Análisis/VM
| Nombre de la Función | Instrucciones de Ensamblador |
| --------------------------------------------------------- | --------------------------- |
| IsDebuggerPresent() | CPUID() |
| GetSystemInfo() | IN() |
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Comprobar si un proceso se está ejecutando] | |
| CreateFileW/A \[Comprobar si un archivo existe] | |
## Sigilo
| Nombre | |
| ------------------------- | -------------------------------------------------------------------------- |
| VirtualAlloc | Asignar memoria (empaquetadores) |
| VirtualProtect | Cambiar los permisos de memoria (empaquetador que da permiso de ejecución a una sección) |
| ReadProcessMemory | Inyección en procesos externos |
| WriteProcessMemoryA/W | Inyección en procesos externos |
| NtWriteVirtualMemory | |
| CreateRemoteThread | Inyección de DLL/proceso... |
| NtUnmapViewOfSection | |
| QueueUserAPC | |
| CreateProcessInternalA/W | |
## Ejecución
| Nombre de la Función |
| ----------------------- |
| CreateProcessA/W |
| ShellExecute |
| WinExec |
| ResumeThread |
| NtResumeThread |
## Varios
* GetAsyncKeyState() -- Registro de teclas
* SetWindowsHookEx -- Registro de teclas
* GetForeGroundWindow -- Obtener el nombre de la ventana en ejecución (o el sitio web de un navegador)
* LoadLibrary() -- Importar biblioteca
* GetProcAddress() -- Importar biblioteca
* CreateToolhelp32Snapshot() -- Enumerar procesos en ejecución
* GetDC() -- Captura de pantalla
* BitBlt() -- Captura de pantalla
* InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- Acceder a Internet
* FindResource(), LoadResource(), LockResource() -- Acceder a los recursos del ejecutable
# Técnicas de Malware
## Inyección de DLL
Ejecuta una DLL arbitraria dentro de otro proceso
1. Localiza el proceso en el que se va a inyectar la DLL maliciosa: CreateToolhelp32Snapshot, Process32First, Process32Next
2. Abre el proceso: GetModuleHandle, GetProcAddress, OpenProcess
3. Escribe la ruta de la DLL dentro del proceso: VirtualAllocEx, WriteProcessMemory
4. Crea un hilo en el proceso que cargará la DLL maliciosa: CreateRemoteThread, LoadLibrary
Otras funciones a utilizar: NTCreateThreadEx, RtlCreateUserThread
## Inyección de DLL Reflectante
Carga una DLL maliciosa sin llamar a las llamadas normales de la API de Windows.\
La DLL se mapea dentro de un proceso, resolverá las direcciones de importación, corregirá las reubicaciones y llamará a la función DllMain.
## Secuestro de hilos
Encuentra un hilo de un proceso y haz que cargue una DLL maliciosa
1. Encuentra el hilo objetivo: CreateToolhelp32Snapshot, Thread32First, Thread32Next
2. Abre el hilo: OpenThread
3. Suspende el hilo: SuspendThread
4. Escribe la ruta de la DLL maliciosa dentro del proceso víctima: VirtualAllocEx, WriteProcessMemory
5. Reanuda el hilo cargando la biblioteca: ResumeThread
## Inyección PE
Inyección de Ejecución Portátil: El ejecutable se escribirá en la memoria del proceso víctima y se ejecutará desde allí.
## Hollowing de procesos
El malware desmapeará el código legítimo de la memoria del proceso y cargará un binario malicioso
1. Crea un nuevo proceso: CreateProcess
2. Desmapea la memoria: ZwUnmapViewOfSection, NtUnmapViewOfSection
3. Escribe el binario malicioso en la memoria del proceso: VirtualAllocEx, WriteProcessMemory
4. Establece el punto de entrada y ejecuta: SetThreadContext, ResumeThread
# Hooking
* La **SSDT** (**System Service Descriptor Table**) apunta a funciones del kernel (ntoskrnl.exe) o controlador GUI (win32k.sys) para que los procesos de usuario puedan llamar a estas funciones.
* Un rootkit puede modificar estos punteros a direcciones que él controla.
* **IRP** (**I/O Request Packets**) transmite fragmentos de datos de un componente a otro. Casi todo en el kernel utiliza IRPs y cada objeto de dispositivo tiene su propia tabla de funciones que se pueden enganchar: DKOM (Direct Kernel Object Manipulation).
* La **IAT** (**Import Address Table**) es útil para resolver dependencias. Es posible enganchar esta tabla para secuestrar el código que se llamará.
* Hooks de **EAT** (**Export Address Table**). Estos hooks se pueden hacer desde el **userland**. El objetivo es enganchar funciones exportadas por DLLs.
* **Inline Hooks**: Este tipo es difícil de lograr. Esto implica modificar el código de las propias funciones. Tal vez colocando un salto al principio de esto.
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos de amenazas proactivas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm_source=referral&utm_campaign=hacktricks) hoy.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Comparte tus trucos de hacking enviando PRs al repositorio [hacktricks](https://github.com/carlospolop/hacktricks) y [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.