
PoCs e ferramentas para investigação de técnicas de execução de processos do Windows
Este repositório é para investigação de técnicas de execução de processos no Windows. A maioria dos PoCs recebe um nome correspondente à técnica.
BlockingDLL : Este conjunto de ferramentas é para testar o processo de bloqueio de DLL. Consulte README.md.
CloneProcess : Este diretório é para fork e reflexão de processos. Consulte README.md.
CommandLineSpoofing : Este PoC realiza Command Line Spoofing. Essa técnica pode não funcionar no Windows 11.
DarkLoadLibrary : Os PoCs neste diretório são para testar a Dark Load Library, que foi lançada por @_batsec_. Consulte README.md.
GhostlyHollowing : Este PoC realiza Ghostly Hollowing.
Misc : Este diretório contém ferramentas auxiliares para o desenvolvimento dos PoCs neste repositório.
PhantomDllHollower : Este PoC realiza Phantom DLL Hollowing. Consulte README.md.
PPIDSpoofing : Este PoC realiza PPID Spoofing.
ProcessDoppelgaenging : Este PoC realiza Process Doppelgänging. Devido a uma melhoria na proteção do kernel para o Microsoft Defender, essa técnica não funciona em sistemas Windows recentes (desde cerca de 2021, talvez). Portanto, se você quiser testar essa técnica em um ambiente mais novo, é necessário interromper o serviço Microsoft/Windows Defender Antivirus Service. Consulte o issue do repositório de hasherezade.
ProcessGhosting : Este PoC realiza Process Ghosting. Devido à proteção do kernel, essa técnica não funciona em versões mais novas do Windows a partir do 22H2.
ProcessHerpaderping : Este PoC realiza Process Herpaderping. Devido a um problema de bloqueio de arquivo, se você escolher um arquivo de imagem falso menor do que o que deseja executar, a redução do tamanho do arquivo falhará e corromperá a assinatura do arquivo para o processo herpaderping. Para aproveitar totalmente essa técnica, o tamanho do arquivo de imagem falso deve ser maior do que o que você deseja executar. Devido à proteção do kernel, essa técnica não funciona em versões mais novas do Windows a partir do 22H2.
ProcessHollowing : Este PoC realiza Process Hollowing. Ao contrário do original, a imagem PE é analisada em uma nova área de memória em vez de usar ZwUnmapViewOfSection / NtUnmapViewOfSection.
ProcMemScan : Esta é uma ferramenta de diagnóstico para investigar processos remotos. Consulte README.md.
ProtectedProcess : Este conjunto de ferramentas é para testar Protected Process. Consulte README.md.
ReflectiveDLLInjection : Este conjunto de ferramentas é para testar Reflective DLL Injection. Consulte README.md.
sRDI : Este diretório é para a ferramenta sRDI (Shellcode Reflective DLL Injection). Consulte README.md.
TransactedHollowing : Este PoC realiza Transacted Hollowing.
WmiSpawn : Este PoC tenta criar processos usando WMI. Os processos serão criados como processos filhos de WmiPrvSE.exe. Suporta execução de processos na máquina local e na máquina remota. O uso pode ser consultado em README.md.
NOTA : Atualmente, o código de ProcessHollowing não funciona no build de Debug. Para testá-lo, use o build de Release. Consulte este issue.
Evitando que DLLs de terceiros sejam injetadas no seu Malware
Permanecendo sob o radar - Parte 1 - PPID Spoofing e Blocking DLLs
Unknown Known DLLs e outras violações de confiança na integridade do código
A evolução dos processos protegidos – Parte 1: Mitigações de Pass-the-Hash no Windows 8.1
Injetando código em processos protegidos do Windows usando COM - Parte 1
Injetando código em processos protegidos do Windows usando COM - Parte 2
Obrigado pela pesquisa:
Tal Liberman (@tal_liberman)
Eugene Kogan (@EuKogan)
hasherezade (@hasherezade)
Gabriel Landau (@GabrielLandau)
Forrest Orr (@_forrestorr)
Stephen Fewer (@stephenfewer)
batsec (@_batsec_)
Nick Landers (@monoxgas)