Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Win32_Offensive_Cheatsheet — Técnicas de abuso de Win32 e Kernel para pentesters | Kitploit
Ferramentas/GitHubGitHub/matthieu-hackwitharts/win32_offensive_cheatsheet
Mecanismos de PersistênciaExploraçãoEvasão de IDS/IPSEngenharia ReversaPós-ExploraçãoTestes de PenetraçãoAnálise de BináriosAprendizado e EducaçãoRed Teaming
Recursos Curados
Desenvolvimento de Payloads
GitHubmatthieu-hackwitharts/win32_offensive_cheatsheet

Win32_Offensive_Cheatsheet

Técnicas de abuso de Win32 e Kernel para pentesters

Ver Repositório
98113617há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# Cheatsheet Ofensivo do Win32

Técnicas de abuso do Win32 e do Kernel para pentesters e red-teamers feitas por [@UVision](https://github.com/matthieu-hackwitharts) e [@RistBS](https://twitter.com/RistBs)

**Modo desenvolvedor ativado, aberto a qualquer ajuda :)**

- [Documentação de Binários do Windows](#windows-binary-documentation)
  - [Estrutura do PE](#pe-headers)
   - [Cabeçalhos do PE ](#pe-headers)
   - [Análise do PE ](#parsing-pe)
   	- [Tabela de Endereços de Exportação (EAT) ](#export-address-table-eat)
  	- [Resolver endereço de função ](#resolve-function-address)
   - [Tabela de Endereços de Importação (IAT) ](#import-address-table-iat)
     - [Análise da IAT ](#parsing-iat)
   - [Tabela de Consulta de Importação (ILT) ](#import-lookup-table)
   - [Habilitar privilégio SeDebug](#enable-sedebug-privilege)
- [Executar algum binário](#execute-some-binary)
  - [Execução clássica de shellcode](#classic-shellcode-execution)
  - [Execução de DLL ](#dll-execute)
  - [Arquivo RAW para PE](#raw-file-to-pe)
- [Técnicas de injeção de código](#code-injection-techniques)
  - [Injeção CreateRemoteThread](#createremotethread-injection)
  - [Process Hollowing](#process-hollowing)
  - [Técnica de Fila APC](#apc-queue-technique)
  - [Early Bird](#early-bird)
  - [Injeção Reflexiva de DLL](#reflective-dll-injection)
  - [Injeção de DLL](#dll-injection)
  - [Process Doppelganging](#process-doppelganging)
  - [Fibras](#fibers)
  - [CreateThreadPoolWait](#createthreadpoolwait)
  - [Sequestro de Thread](#thread-hijacking)
  - [Injeção de código MapView](#mapview-code-injection)
  - [Module Stomping](#module-stomping)
  - [Function Stomping](#function-stomping)
- [Técnicas de hooking](#hooking-techniques)
  - [Hooking inline](#inline-hooking)
  - [Hooking de IAT](#iat-hooking)
- [Técnicas de bypass de RE](#re-bypass-techniques)
  - [Ofuscação de chamadas e strings](#call-and-strings-obfuscation)
  - [Resolução manual de funções](#manual-function-resolve) 
  - [Hashing de API do Win32](#win32-api-hashing)
- [Bypass de EDR/Endpoint](#edrendpoint-bypass)
  - [Syscall direto ](#direct-syscall)
  - [Linguagens de alto nível ](#high-level-languages)
  - [Patch de hooking inline](#patch-inline-hooking)
  - [Detectar hooks](#detect-hooks)
  - [Patch de ETW](#patch-etw)
  - [Bypass de sandbox](#sandbox-bypass)
  - [Bypass de depuração](#debugging-bypass)
  - [Técnica de VirtualProtect](#virtualprotect-technique)
  - [Unhook com cópia nova](#fresh-copy-unhook)
  - [Hell's Gate](#hells-gate)
  - [Heaven's Gate](#heavens-gate)
  - [Spoofing de PPID](#ppid-spoofing)
  - [Callback de instrumentação de processo](#process-instrumentation-callback)
  - [Criptografia de heap](#heap-encryption)
  - [Ofuscação de sleep](#sleep-obfuscation)
- [Fundamentos de programação de drivers](#driver-programming-basics)
  - [Conceitos gerais](#general-concepts)
  - [Tabela de Dispatch de Serviços do Sistema (SSDT)](#system-service-dispatch-table-ssdt)
  - [Entrada do driver](#driver-entry)
  - [Entrada Saída)](#input-output)
  - [Comunicação com o driver](#communicate-with-the-driver)
  - [Assinatura de driver (Microsoft)](#driver-signing)
  - [Callbacks personalizados (ObRegisterCallbacks)](#custom-callbacks)
- [Programação Ofensiva de Drivers](#offensive-driver-programming)
  - [Patch de callback do kernel](#patch-kernel-callback)
  - [Patch de processo protegido](#patch-protected-process)
- [Usando a API Win32 para aumentar OPSEC](#using-win32-api-to-increase-opsec)
  - [Persistência](#persistence)
    - [Tarefas agendadas](#scheduled-tasks)
  - [Spoofing de linha de comando](#command-line-spoofing)
- [Diversos](#misc-stuff)
  - [Convenção de chamada x64](#x64-calling-convention)
  - [Execução indireta](#indirect-execution)
    - [Bypass de CFG com SetProcessValidCallTargets](#cfg-bypass-with-setprocessvalidcalltargets)

<br>

- [Técnicas de malware/sofisticadas](#malwaresophisticated-techniques)
  - [Caso do Emotet: PPID Spoofing usando WMI](#emotet-ppid-spoofing)
  - [Técnica de arquivos ocultos do malware Zeus](#zeus-malware-hidden-files)
  - [Técnica de hooking do keyloger SpyEye](#spyeye-keyloger-hooking-technique)
  - [Parada de malware mais ridícula (WannaCry)](#wannacry-killswitch)

<br>

# Documentação de Binários do Windows

## Ferramentas úteis e Sites/Livros/Cheatsheet

- 🔹 https://github.com/RistBS/Awesome-RedTeam-Cheatsheet/ (Cheatsheet muito bom)
- 🔹 https://www.ired.team/ (Cheatsheet incrível de red team com ótimas notas sobre injeção de código)
- 🔹 https://undocumented.ntinternals.net/ (Funções NT não documentadas)
- 🔹 https://docs.microsoft.com/en-us/windows/win32/api/ (Documentação oficial da Microsoft)
- 🔹 [Windows Kernel Programming - Pavel Yosifovich](https://www.amazon.fr/Windows-Kernel-Programming-Pavel-Yosifovich/dp/1977593372)
- 🔹 https://research.checkpoint.com/ (Documentos muito interessantes sobre evasão, anti-debug e muito mais)
- 🔹 https://www.vx-underground.org/ (Conteúdo incrível sobre desenvolvimento de malware e engenharia reversa)

## Estrutura do PE

### Cabeçalhos do PE

- `DOS_HEADER` : Primeiro cabeçalho do PE, contém a mensagem do MS DOS ("This programm cannot be run in DOS mode...."), o Cabeçalho MZ (bytes mágicos para identificar o PE) e algum conteúdo de stub.
- `IMAGE_NT_HEADER` : Contém a assinatura do arquivo PE, o Cabeçalho do Arquivo e o Cabeçalho Opcional
- `SECTION_TABLE` : Contém os cabeçalhos das seções
- `SECTIONS` : Não é um cabeçalho, mas é útil saber: estas são as seções do PE

> Detalhes : https://www.researchgate.net/figure/PE-structure-of-normal-executable_fig1_259647266


### Análise do PE

**Análise simples do PE para obter o endereço absoluto da IAT e da ILT:**

- **Obter endereço base** : `GetModuleHandleA(NULL);`
- **PIMAGE_DOS_HEADER** = endereço base, cabeçalho DOS
- **PIMAGE_NT_HEADER** = `BaseAddress+PIMAGE_DOS_HEADER.e_lfnanew` (RVA do NT_HEADER)
- **IMAGE_DATA_DIRECTORY** = `OptionnalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]` de PIMAGE_NT_HEADER
- **IMAGE_IMPORT_DIRECTORY** = `IMAGE_DATA_DIRECTORY.VirtualAddress` (RVA de IMAGE_IMPORT_DIRECTORY)
- **IMAGE_IMPORT_DESCRIPTOR** = `BaseAddress + IMAGE_IMPORT_DIRECTORY.VirtualAddress` (RVA de IMAGE_IMPORT_DESCRIPTOR)
- **Endereço absoluto da IAT** : IMAGE_IMPORT_DESCRIPTOR.FirstThunk (RVA da IAT) + BaseAddress
- **Endereço absoluto da ILT** : IMAGE_IMPORT_DESCRIPTOR.OriginalFirstThunk (RVA da ILT) + BaseAddress


### Tabela de Endereços de Exportação (EAT)

A EAT resolve todas as funções que são exportadas pelo PE e também resolve DLLs. Ela é definida na estrutura IMAGE_EXPORT_DIRECTORY:
``````c   
typedef struct _IMAGE_EXPORT_DIRECTORY {
		DWORD Characteristics;
		DWORD TimeDateStamp;
		WORD  MajorVersion;
		WORD  MinorVersion;
		DWORD Name;   // name of DLL
		DWORD Base;   // first ordinal number
		DWORD NumberOfFunctions; // number of entries in EAT
		DWORD NumberOfNames; // number of entries in (1) (2)
		DWORD AddressOfFunctions; // RVA EAT and contains also RVA of exported functions
		DWORD AddressOfNames;   // Pointer array contains address of function names
		DWORD AddressOfNameOrdinals; // Pointer array contains address of ordinal number of functions (index in AddressOfFunctions)
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;   

Observe que a EAT é definida em uma DLL, não em um PE "real" (um PE usará a EAT de uma DLL carregada para resolver ponteiros para funções que deseja usar).

Resolver endereço de função

Baixar ferramenta