Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
RefleXXion — RefleXXion é um utilitário projetado para auxiliar na evasão de hooks em modo de usuário utilizados por AV/EPP/EDR etc. Para contornar os hooks em modo de usuário, ele primeiro coleta os números de syscall de NtOpenFile, NtCreateSection, NtOpenSection e NtMapViewOfSection encontrados no array LdrpThunkSignature. | Kitploit
Ferramentas/GitHubGitHub/hlldz/reflexxion
Ferramentas DefensivasEscalada de PrivilégiosMecanismos de PersistênciaEvasão de IDS/IPSPós-ExploraçãoRed TeamingArchived
GitHubhlldz/reflexxion

RefleXXion

Ver Repositório
499108há 4 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 →

Sobre

RefleXXion é um utilitário projetado para auxiliar na evasão de hooks em modo de usuário utilizados por AV/EPP/EDR etc. Para contornar os hooks em modo de usuário, ele primeiro coleta os números de syscall de NtOpenFile, NtCreateSection, NtOpenSection e NtMapViewOfSection encontrados no array LdrpThunkSignature.

Compartilhar

RefleXXion

Introdução

RefleXXion é uma utilidade projetada para auxiliar na superação de hooks em modo de usuário utilizados por AV/EPP/EDR etc. Para contornar os hooks em modo de usuário, ele primeiro coleta os números de syscall das funções NtOpenFile, NtCreateSection, NtOpenSection e NtMapViewOfSection encontradas no array LdrpThunkSignature. Depois disso, existem duas técnicas que o usuário pode escolher para contornar os hooks em modo de usuário.

Técnica-1, lê a NTDLL como um arquivo de C:\Windows\System32\ntdll.dll. Após a análise, a seção .TEXT da NTDLL já carregada (onde os hooks são realizados) na memória é substituída pela seção .TEXT da NTDLL limpa.

Na Técnica-2, a NTDLL é lida como Seção dos KnownDlls, \KnownDlls\ntdll.dll. (pois os arquivos DLL são armazenados em cache nos KnownDlls como Seção.) Após a análise, a seção .TEXT da NTDLL já carregada (onde os hooks são realizados) na memória é substituída pela seção .TEXT da NTDLL limpa.

O fluxo detalhado da metodologia e de todas as técnicas é fornecido abaixo.

RefleXXion Flow

Como Usar

Você pode abrir e compilar o projeto com o Visual Studio. Todo o projeto suporta arquitetura x64 para os modos Debug e Release.

A solução RefleXXion-EXE gera o EXE para fins de PoC. Se você quiser entender como o projeto funciona passo a passo, isso facilitará seu trabalho. A função principal contém as definições das funções Technique1 e Technique2. Comente uma delas e compile. Não use ambas as funções ao mesmo tempo.

A solução RefleXXion-DLL gera a DLL que você injeta no processo no qual deseja contornar os hooks em modo de usuário para NTDLL. No início do arquivo main.cpp, há definições de qual técnica usar. Você pode escolher uma delas e compilar. Não defina todos os valores ao mesmo tempo, defina apenas a técnica desejada. Um exemplo de configuração é fornecido abaixo.

root@kitploit:~
// Techniques configuration section
#define FROM_DISK 1 // If you set it to 1, the Technique-1 will be used. For more information; https://github.com/hlldz/RefleXXion
#define FROM_KNOWNDLLS 0 // If you set it to 1, the Technique-2 will be used. For more information; https://github.com/hlldz/RefleXXion

Notas de Uso Operacional e Preocupações com OPSEC

  • Atualmente, o RefleXXion suporta apenas arquitetura x64.

  • O RefleXXion apenas remove os hooks das funções da NTDLL; você pode precisar também remover hooks de outras DLLs (kernel32.dll, advapi32.dll etc.). Para isso, você pode editar facilmente os locais necessários no projeto.

  • O RefleXXion usa apenas a região de memória RWX quando o processo de sobrescrita da seção .TEXT começa. Para este processo, uma nova região de memória não é criada; a região de memória existente (a seção .TEXT da NTDLL já carregada) é tornada RWX e depois convertida para RX.

    root@kitploit:~
    ULONG oldProtection;
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, PAGE_EXECUTE_READWRITE, &oldProtection);
    memcpy()...
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, oldProtection, &oldProtection);
    

    P.S. O RefleXXion invoca a API NtProtectVirtualMemory sobre a NTDLL instalada limpa. Ele usa a função CustomGetProcAddress para isso porque a NTDLL limpa não está na InLoadOrderModuleList, embora esteja carregada na memória. Portanto, uma solução como a aqui (https://stackoverflow.com/questions/6734095/how-to-get-module-handle-from-func-ptr-in-win32) não funcionará. É por isso que a função customizada GetProcAddress existe e é usada.

  • Você pode carregar a DLL do RefleXXion do disco para o processo alvo. Você pode não preferir essa abordagem para trabalhos sensíveis, como uma operação de Red Team. Portanto, você pode converter a DLL do RefleXXion em shellcode usando o projeto sRDI ou integrar o código do RefleXXion ao seu próprio loader ou projeto.

  • Mesmo que a NTDLL (como arquivo ou como seção) seja recarregada no processo injetado, ela não permanece carregada. O RefleXXion fecha todos os handles abertos (handles de arquivo & seção) para seus próprios processos.

Agradecimentos Especiais e Créditos

  • Pesquisa e PoC para coleta de chamadas de sistema limpas com LdrpThunkSignature por Peter Winter-Smith, @peterwintrsmith. EDR Parallel-asis through Analysis, https://www.mdsec.co.uk/2022/01/edr-parallel-asis-through-analysis/
  • Windows 10 Parallel Loading Breakdown por Jeffrey Tang. https://blogs.blackberry.com/en/2017/10/windows-10-parallel-loading-breakdown
  • https://stackoverflow.com/questions/42789199/why-there-are-three-unexpected-worker-threads-when-a-win32-console-application-s
  • Shellycoat por Upayan, @slaeryan. https://github.com/slaeryan/AQUARMOURY/tree/master/Shellycoat
Baixar ferramenta