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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ntqueueapcthreadex-ntdll-gadget-injection — Esta forma inovadora de usar NtQueueApcThreadEx, abusando dos parâmetros ApcRoutine e SystemArgument[0-3] ao passar um gadget aleatório pop r32; ret, pode ser usada para injeção de código furtiva. | Kitploit
Ferramentas/GitHubGitHub/lloydlabs/ntqueueapcthreadex-ntdll-gadget-injection
Evasão de IDS/IPSShellcodePós-ExploraçãoRed TeamingDesenvolvimento de PayloadsAtaque Adversário
GitHublloydlabs/ntqueueapcthreadex-ntdll-gadget-injection

ntqueueapcthreadex-ntdll-gadget-injection

Esta forma inovadora de usar NtQueueApcThreadEx, abusando dos parâmetros ApcRoutine e SystemArgument[0-3] ao passar um gadget aleatório pop r32; ret, pode ser usada para injeção de código furtiva.

Ver RepositórioSite
2663426há 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

🧪 Injeção de Gadget NtQueueApcThreadEx NTDLL

Introdução

Esta nova forma de usar NtQueueApcThreadEx abusando dos parâmetros ApcRoutine e SystemArgument[0-3], passando um gadget aleatório pop r32; ret, pode ser usada para injeção de código furtiva. Neste PoC, o gadget, neste caso, é escolhido aleatoriamente da região de memória de ntdll.dll que corresponde a um padrão específico. Isso significa que o gadget retorna para dentro do shellcode.

  1. Aloque o shellcode no processo de destino. Para melhores resultados, isto deve ser usado com o projeto shellcode-plain-sight.
  2. Encontre um gadget aleatório nas seções PE que correspondam a IMAGE_SCN_CNT_CODE e IMAGE_SCN_MEM_EXECUTE dentro de ntdll.dll na memória.
  3. Configure a chamada NtQueueApcThreadEx, ApcRoutine = endereço do gadget escolhido aleatoriamente, SystemArgument = ponteiro para o shellcode
  4. O NtQueueApcThreadEx forçará o IP para o gadget ntdll.dll!<random pop r32; ret> e retornará para dentro de SystemArgument1
  5. ✨tcharã✨

Existem centenas de gadgets que podem ser usados dentro de ntdll.dll (na minha build, pelo menos) - tornando isso difícil de detectar.

Ao inspecionar a chamada, ao contrário da injeção de APC tradicional, ApcRoutine simplesmente apontará para um endereço legítimo dentro de ntdll.dll.

Visualização

Visualização da técnica

Possíveis Vetores de Detecção

Isso provavelmente é um pouco complicado de detectar. Ao inspecionar chamadas para NtQueueApcThreadEx, verifique se algum dos argumentos aponta para memória executável. Outro possível caminho de detecção é verificar se ApcRoutine aponta para um endereço dentro de ntdll - no entanto, isso provavelmente gerará muitos falsos positivos.

Esta técnica foi originalmente detalhada no writeup do Raspberry Robin da Avast aqui.

Baixar ferramenta