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
Ferramentas/GitHubGitHub/kudaes/lolbits
Escalada de PrivilégiosFrameworks de ExploraçãoMovimento LateralPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de Payloads
GitHubkudaes/lolbits

LOLBITS

** DESCONTINUADO ** C2 framework que usa o Background Intelligent Transfer Service (BITS) como protocolo de comunicação e Direct Syscalls + Dinvoke para evasão de hooking em modo de usuário do EDR.

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

License

root@kitploit:~
			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

Índice

  • Sobre o Projeto
    • Agradecimentos
  • Primeiros Passos
    • Pré-requisitos
    • Configuração
  • Uso
  • Contribuição
  • Licença
  • Contato

Sobre o Projeto

O LOLBITS é um framework de C2 que utiliza o Background Intelligent Transfer Service (BITS) da Microsoft para estabelecer o canal de comunicação entre o host comprometido e o backend. O backend do C2 está oculto atrás de uma aplicação web flask aparentemente inofensiva e só é acessível quando as requisições HTTP recebidas pela aplicação contêm um cabeçalho de autenticação válido. Como esta ferramenta foi projetada para ser usada em ambientes altamente monitorados, os seguintes recursos foram implementados para evitar a detecção por EDR e AV:

  • Correção de ETW e AMSI.
  • Uso de chamadas de sistema diretas para evitar o hooking de API em modo de usuário do EDR.
  • Mapeamento manual de kernel32.dll e advapi32.dll em combinação com DInvoke.
  • Detecção básica de sandbox antes de estabelecer o canal de comunicação com o backend do C2.
  • Uso do BITS em modo de fundo para gerar o canal de comunicação sem perturbar a experiência do usuário.

Em relação à arquitetura, o LOLBITS é composto por 3 elementos principais:

  • O agente C# responsável por executar os comandos no host comprometido e enviar a saída de volta ao servidor C2 assim que a tarefa for concluída.
  • A aplicação web flask que atua como um despachante. Este elemento é o que permite ocultar a infraestrutura C2 por trás de um site inofensivo, ao mesmo tempo em que fornece novos comandos ao agente quando uma requisição autenticada é recebida.
  • O console C2, usado para controlar o agente.

Para impedir a inspeção de conteúdo por proxies, todo o conteúdo relevante enviado entre o agente e o servidor C2 é criptografado usando RC4 com uma chave secreta pré-compartilhada gerada aleatoriamente. Um diagrama de alto nível do comportamento da infraestrutura seria como mostrado na imagem a seguir:

Diagrama de alto nível

Para evitar que a Equipe Azul possa reproduzir algumas das requisições antigas e descobrir a infraestrutura do backend C2, cada cabeçalho de autenticação é gerado aleatoriamente e é válido apenas para um único ciclo (um ciclo é composto por uma requisição POST seguida de uma requisição GET, nessa ordem). Cabeçalhos de autenticação antigos serão ignorados e o site inofensivo será exibido para essas requisições.

Agradecimentos

Algumas funcionalidades desta ferramenta foram implementadas reutilizando código de outros projetos ou graças ao esforço de vários pesquisadores de segurança cibernética. Abaixo listo alguns dos trabalhos e projetos externos que foram usados de uma forma ou de outra para melhorar esta ferramenta:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Windows System Call Table
  • CheckPlease for Sandbox Evasion

Primeiros Passos

Pré-requisitos

Para a infraestrutura C2, é necessário um Windows Server 2016 ou superior com Python 3.4+ e PowerShell 5.1+. O agente C# foi testado com sucesso no Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 e Windows 10. Para compilá-lo, é necessário:

  • Visual Studio 2017 ou superior.
  • .NET Framework 4.5 ou superior.

Configuração

  1. Clone este repositório no seu servidor C2
root@kitploit:~
git clone https://github.com/Kudaes/LOLBITS.git
  1. Instale o Servidor Web (IIS) através do Gerenciador do Servidor Windows. Certifique-se de instalar as funções CGI, ASP.NET e Extensibilidade .NET.

Funções do Servidor

Também instale os recursos do .NET Framework e do BITS para o IIS.

Recursos do Servidor

  1. Execute o script setup.ps1 como administrador para implantar toda a infraestrutura e configurar o agente C#.

  2. Compile o agente C#. A compilação gerará um .exe e uma dependência externa (Newtonsoft.Json.dll). Você pode gerar um único .exe usando ILMerge ou apenas enviar ambos os arquivos para o host comprometido. Para evitar a saída de DEBUG, certifique-se de compilar o projeto como Aplicação Windows.

Aplicação Windows

  1. (Opcional) Por padrão, o script setup.ps1 criará um novo Site da Web no seu IIS chamado lawlbits ouvindo na porta HTTP padrão (80/TCP). Este novo Site da Web não usa HTTP sobre TLS e, embora o conteúdo das requisições enviadas pelo agente C# ao C2 seja criptografado usando RC4 com uma chave secreta pré-compartilhada e gerada aleatoriamente, é recomendável configurar o uso de HTTPS para o novo site. Para fazer isso, recomendo usar o Let's Encrypt no lawlbits, que é uma das maneiras mais fáceis de configurar HTTPS. Depois disso, lembre-se de modificar a variável Url em Program.cs para usar HTTPS em vez de HTTP, que é o comportamento padrão.

Uso

Para obter a shell reversa, basta digitar python lawlbin.py em um cmd do servidor C2 e executar o agente C# no host comprometido.

Como este projeto nasce das cinzas de um projeto anterior e fracassado, algumas das funcionalidades antigas foram mantidas. O projeto antigo era uma shell onde todos os comandos disponíveis seriam executados exclusivamente usando Living of The Land Binaries. É daí que vem o LOL do LOLBITS, e é por isso que as seguintes funcionalidades são executadas exclusivamente usando LOLBINS (isso pode ajudar a contornar a AWS e alguns filtros de AV/EDR):

  • download: Baixar um arquivo de um Webdav remoto para o host comprometido.
  • base64encode: Codificar o conteúdo de um arquivo local usando base64.
  • base64decode: Decodificar um arquivo codificado em base64.
  • compile: Compilar arquivos .cs em .exe ou .dll.

Embora essas funcionalidades possam ser interessantes em alguns ambientes (hmm, baixar arquivos remotos sem usar PowerShell? Eu gosto disso!), eu as mantive apenas para reutilizar parte do código antigo para o console C2. Abaixo está uma lista com algumas outras funcionalidades que tenho certeza que serão mais úteis em um contexto clássico de red team:

  • inject: Baixar do C2 um arquivo de shellcode (.bin) ou PE (assembly .NET) e executá-lo em memória. Com este comando, o payload nunca toca no disco sem criptografia, evitando a detecção por AV. Assemblies .NET só podem ser carregados no mesmo processo de chamada, enquanto shellcodes podem ser injetados tanto no próprio processo quanto em outros (apenas processos x64).
  • psh: Gerar uma shell reversa do PowerShell. Esta shell deve ser tratada por software adicional, como netcat (basta executar nc -lvp ).
  • send: Para enviar um arquivo do seu C2 para o host comprometido, use esta opção. O arquivo enviado será armazenado sem criptografia no disco.
  • getsystem: Tentar obter privilégios de Sistema. Requer nível de integridade alto.
  • impersonate: Tentar roubar um token de acesso de outro processo para "se tornar" outro usuário.
  • runas: Usar credenciais válidas para modificar seu contexto de segurança e fazer login como outro usuário (local ou de domínio).
  • rev2self: Remover alterações de contexto de segurança realizadas por getsystem, impersonate ou runas.
  • exfiltrate: Enviar um arquivo do host comprometido para o seu C2.

Para obter dicas de uso, basta digitar help ou <algumcomando> help.

Contribuição

Quaisquer contribuições serão muito apreciadas.

  1. Fork do Projeto
  2. Crie seu Branch de Funcionalidade (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Adicionar alguma funcionalidade incrível')
  4. Envie para o Branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Licença

Distribuído sob a Licença GNU. Veja LICENSE para mais informações.

Contato

Meu Twitter

Meu Linkedin

Baixar ferramenta