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
faxhell — Um Shell Bind Usando o Serviço de Fax e um Sequestro de DLL | Kitploit
Ferramentas/GitHubGitHub/ionescu007/faxhell
Escalada de PrivilégiosExploraçãoPós-ExploraçãoRed TeamingDesenvolvimento de Payloads
GitHubionescu007/faxhell

faxhell

Um Shell Bind Usando o Serviço de Fax e um Sequestro de DLL

Ver Repositório
33485há 6 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

faxhell ("Fax Shell")

Um bind shell de Prova de Conceito usando o serviço Fax e um sequestro de DLL baseado em Ualapi.dll.

Veja nosso artigo em: https://windows-internals.com/faxing-your-way-to-system/

Obligatory Demo

Como usar

  • Construa Ualapi.dll e coloque em c:\windows\system32
  • Inicie o serviço Fax, que carregará a DLL e chamará a exportação UalStart. O UalStart enfileirará um item de trabalho do pool de threads que abrirá um handle para RpcSs, encontrará um token SYSTEM e o impersonará. Em seguida, criará um socket no endereço do endpoint local, o associará à porta 9299 e aguardará assincronamente uma conexão usando uma porta de conclusão de I/O do pool de threads.
  • Conecte-se ao socket na porta 9299 usando seu cliente favorito (como nc(at).exe <ip> 9299) e então digite let me in e pressione ENTER. Se você estiver escrevendo código personalizado, certifique-se de enviar a string let me in\n.
  • O pacote de conclusão de I/O então despertará o callback do pool de threads, que iniciará um processo Cmd.exe sob o serviço DcomLaunch com privilégios SYSTEM, ligando seus handles de entrada e saída ao socket recém-criado.
  • Vitória!

Evasão de EDR / AV

  • Utiliza um serviço que não é comumente conhecido e não é monitorado ou sinalizado como suspeito pelos fornecedores de EDR.
  • Usa a API de pool de threads do Windows para fazer a configuração, tornando as pilhas mais difíceis de ler, descarregando o trabalho por meio de múltiplas threads e evitando "dicas" fáceis de que algo suspeito está acontecendo.
  • O tempo de vida dos tokens impersonados é muito curto, e apenas a thread trabalhadora roda como SYSTEM, revertendo rapidamente para NETWORK SERVICE após realizar apenas uma chamada de API. Isso ajuda a reduzir a chance de ser pego por vários scanners.
  • Utiliza APIs de socket incomuns que tornam a tabela de importação menos suspeita e evitam detecções de EDR, hooks IOCTL e LSPs.
  • Cria o bind shell sob o serviço DcomLaunch (que já é um serviço SYSTEM) e não sob o serviço Fax, tornando-o muito mais natural e evitando uma árvore de processos muito suspeita.
  • Aproveita um bug do Windows que faz parecer que nosso socket pertence ao serviço Fax, e não ao DcomLaunch ou Cmd.exe. Se matarmos o serviço Fax, parece que o socket pertence ao System.

Ressalvas

Isso não pretende ser um shell malicioso, indetectável e pronto para uso:

  • É apenas um bind shell, que a maioria dos firewalls impedirá. Abrir regras de firewall, ou usar um reverse bind shell, ou fazer comunicações em uma porta comum como 80 ou 443 funcionaria melhor.
  • Outros serviços, notadamente o Spooler, também carregam Ualapi.dll. Embora o sistema se comporte bem se o serviço Fax ficar "preso" no estado SERVICE_START_PENDING, isso causará problemas no Spoolsv.exe.
  • Provavelmente existem bugs/vazamentos de memória no PoC — tentamos ao máximo fazer as coisas com qualidade de produção, mas não passamos pelo Application Verifier ou asan.
Baixar ferramenta