Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
DarkWidow — Indirect Dynamic Syscall, SSN + ordenação de endereços de Syscall via abordagem Modified TartarusGate + Remote Process Injection via APC Early Bird + Gera um processo sacrificial como processo alvo + política de mitigação (ACG+BlockDll) no processo gerado + PPID spoofing + resolução de API a partir do TIB + API hashing | Kitploit
Ferramentas/GitHubGitHub/reveng007/darkwidow
Escalada de PrivilégiosExploraçãoEvasão de IDS/IPSPós-ExploraçãoAnálise de MalwareAnálise de BináriosAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads
GitHubreveng007/darkwidow

DarkWidow

Ver Repositório
80710419há 8 mesesRevisado 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 →

Sobre

Indirect Dynamic Syscall, SSN + ordenação de endereços de Syscall via abordagem Modified TartarusGate + Remote Process Injection via APC Early Bird + Gera um processo sacrificial como processo alvo + política de mitigação (ACG+BlockDll) no processo gerado + PPID spoofing + resolução de API a partir do TIB + API hashing

Compartilhar

DarkWidow

Uma ferramenta Dropper customizável direcionada ao Windows.


Menções Honrosas:

  1. BlackHat Asia, 2024 - Call For Tools
  2. BlackHat USA, 2024 - Call For Tools
  3. BlackHat SecTor, 2024 - Call For Tools
  4. BlackHat Europe, 2024 - Call For Tools
  5. Wild West Hacking Fest 2024 - Arsenal
  • Muitíssimo obrigado ao Soumyadeep Da aka @SoumyadeepBas12 por me incentivar a me inscrever para estas conferências, senão eu não teria feito :)
  • Muitíssimo obrigado ao Faran aka @Chrollo_l33t por me ajudar a criar os Slides e PPT para a apresentação desta ferramenta :)

Capacidades:

  1. Chamada de Sistema Dinâmica Indireta. (MITRE ATT&CK TTP: T1106)
  2. Ordenação de SSN + endereço de Syscall via abordagem TartarusGate Modificada
  3. Injeção de Processo Remoto via APC Early Bird para CORTAR a captura de telemetria pelo EDR. (MITRE ATT&CK TTP: T1055.004)
  4. Gera um processo sacrificial como processo alvo, sem interromper processos já abertos no ambiente.
  5. Política de mitigação ACG(Arbitrary Code Guard)/BlockDll no processo sacrificial gerado.
  6. Spoofing de PPID (MITRE ATT&CK TTP: T1134.004)
  7. Resolução de Api e Dll a partir do TIB (Diretamente via offset (do TIB) -> TEB -> PEB -> resolver Nt Api) (MITRE ATT&CK TTP: T1106)
  8. Hashing Amaldiçoado de Nt API (MITRE ATT&CK ID: S0574)

Bônus: Se abençoado com privilégio de Admin =>

  1. Desabilita o Log de Eventos através da eliminação das Threads do Serviço EventLog (MITRE ATT&CK TTP: T1562.002)

Desvantagem: Se as threads forem retomadas, todos os eventos que ocorreram durante a suspensão do Event Logger são registrados novamente!

Então, pensei em matá-las!

"É mais invasivo do que a suspensão, mas a decisão é sempre do operador. Além disso, matar threads é registrado no nível do kernel" - @SEKTOR7net

Ao matar apenas essas threads no implante de syscall indireto, estava enfrentando um erro. Não consegui obter o valor "SubProcessTag" do "eventlog". Então pensei em matar todas as threads, ou seja, matar todo o processo (o svchost.exe responsável). Sim, criando um IOC!.

=

1. Bypass de hook EDR/Ring-3/UserLand

2. A syscall e a instrução return são executadas a partir da memória do ntdll.dll

3. A detecção de EDR baseada na verificação do endereço de retorno na pilha de chamadas pode ser contornada.

Compilar:

Diretamente pelo compilador VS:

image

Adicione também o sinalizador /MT do compilador! => Para vincular estaticamente as funções CRT juntas em um binário (Sim, você adivinhou, isso infla o implante)

image

  1. Também via compile.bat (prefira a opção 1.)
./compile.bat

Uso:

PS C:> .\x64\Release\indirect.exe
[!] Errado!
[->] Sintaxe: .\x64\Release\indirect.exe <PPID para falsificar>

Em Ação:

https://github.com/reveng007/DarkWidow/assets/61424547/62a90c5b-84af-4389-8ddc-9f7926debdcf

Execução Bem-sucedida Sem Criar Alerta no Sofos XDR EndPoint:

SofosXDREvade


Melhorias Futuras:

  1. Spoofing de PPID (método Emotet)
  2. Muito mais Sorrateiro Caso de Uso de Desabilitação do EventLog!

Partes do Código e Links que Ajudaram:

  1. TIB:

    • https://en.wikipedia.org/wiki/Win32_Thread_Information_Block
    • https://www.wikiwand.com/en/Win32_Thread_Information_Block
  2. Registradores GS e FS:

    • https://stackoverflow.com/questions/39137043/what-is-the-gs-register-used-for-on-windows
    • https://stackoverflow.com/questions/10810203/what-is-the-fs-gs-register-intended-for#:~:text=The%20registers%20FS%20and%20GS,to%20access%20thread%2Dspecific%20memory.
  3. Estrutura PEB LDR:

    • BlackHat - What Malware Authors Don't Want You to Know - Evasive Hollow Process Injection por @monnappa22

    • Uma imagem da memória do processo do link acima:
      alt text

    • De labs.cognisys.group, um blog por @D1rkMtr :
      alt text

  4. TIB -> TEB -> PEB -> Resolver Nt API e hashing de API

    • https://stackoverflow.com/questions/41277888/iterating-over-peb-dllname-shows-only-exe-name

    • https://doxygen.reactos.org/d7/d55/ldrapi_8c_source.html#l01124

    • labs.cognisys.group, um blog por @D1rkMtr

    • Uma imagem do trecho do link acima, que usei aqui para resolver API dinamicamente sem codificar Offsets:
      alt text

    • O código de hashing de API que apliquei:


#include <stdint.h>
#include <stdio.h>
#include <Windows.h>

DWORD64 djb2(const char* str)
{
	DWORD64 dwHash = 0x7734773477347734;
	int c;

	while (c = *str++)
		dwHash = ((dwHash << 0x5) + dwHash) + c;


	return dwHash;
}

int main(int argc, char** argv)
{
	if (argc < 2)
	{
		printf("[!] Errado!\n");
		printf("[->] Sintaxe: .\\%s <NTFuncName>\n\n", argv[0]);
		return 1;
	}

	const char* string = argv[1];

	DWORD64 hashvalue = djb2(string);

	printf("Valor Hash: 0x%llX\n", hashvalue);

	return 0;
}

  1. Política de mitigação ACG(Arbitrary Code Guard)/BlockDll:

    • links:
    • Protecting Your Malware por @xpn
    • Wraith por @winterknife
    • spawn e HOLLOW por @0xBoku alt text
  2. Detecção de Spoofing de PPID:

    • PPID Spoofing Detect por @spotheplanet
    • Se tiver tempo, adicionarei uma parte de detecção a esta seção! -> [Restante................................................!]
  3. Detecção Moneta e Detecção PESieve:\

    • Moneta:
      alt text

    • PESieve:
      alt text

  4. Varredura Capa:
    alt text

Baixar ferramenta