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
MASAPT — Sistema Multiagente para Testes de Penetração Automatizados (MASAPT) | Kitploit
Ferramentas/GitHubGitHub/marzekan/masapt
Frameworks de Testes de PenetraçãoReconhecimentoScanners de VulnerabilidadesMapeamento de RedeTestes de PenetraçãoAprendizado e Educação
GitHubmarzekan/masapt

MASAPT

Sistema Multiagente para Testes de Penetração Automatizados (MASAPT)

Ver Repositório
304há 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 →
Compartilhar

MASAPT 🤖 ↔ 🤖 ↔ 🤖


 

❗ Aviso

Esta ferramenta foi desenvolvida para fins académicos e de investigação como parte de um curso universitário. O uso do MASAPT para atacar alvos sem consentimento prévio é ilegal.

Os programadores não se responsabilizam por qualquer dano causado por esta ferramenta e condenam qualquer uso nefasto do MASAPT. Esta ferramenta não se destina a ser usada em qualquer ambiente profissional neste momento, é apenas uma prova de conceito para o modelo teórico subjacente.


Bem-vindo a...

Sistema Multiagente para Testes de Penetração Automatizados 🐱‍💻

usage_gif

 

Explore → Exploit → Report → 📝

Um sistema autónomo de agentes SPADE que se comunicam via XMPP para coordenar e realizar testes de penetração. Numa ferramenta CLI!

Passe o URL, espere um pouco, leia o relatório!

   

report1 report1


O que é o MASAPT?

É uma prova de conceito, sistema multiagente, desenvolvido em Python, destinado a ser usado para automatizar o processo de testes de penetração de forma estruturada e inteligente.

O objetivo final é criar uma ferramenta de pentest funcional, flexível, distribuída e baseada em CLI que possa ser usada para automatizar tarefas de testes de penetração.

Recursos atuais:

  • Realizar varredura de rede com Nmap
  • Realizar injeção básica de SQL com SQLMap
  • Gerar relatório com os resultados das explorações e reconhecimento realizados

Planos futuros e recursos estão listados aqui.


Como executar?

Difícil.

Instalar requisitos:

Há um número razoável de pré-requisitos e requisitos para instalar:

  • Kali Linux 2020.4 (opcional) - qualquer sistema baseado em Debian deve funcionar bem.
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (Já instalado no Kali)
  • Nmap (Já instalado no Kali)

Além do Python e das ferramentas de pentest que podem ser encontradas no Kali, também precisa de acesso a algum serviço XMPP. Para testar o sistema usei o ejabberd a correr localmente.

Para executar os agentes no seu servidor XMPP de escolha, precisará criar os seguintes utilizadores. Pode, claro, criar outros utilizadores, mas depois necessitará de passar os novos parâmetros JID e PWD ao criar agentes no script masapt.

JIDPASSWORD
repoter@domainrepoterSecret

Configuração:

Após os pré-requisitos estarem instalados e o XMPP configurado:

  1. cd para a pasta do projeto

    root@kitploit:~
        cd ../MASAPT
    
  2. Adicionar diretório ao PATH

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Instalar requisitos python

    root@kitploit:~
        pip install -r requirements.txt
    
  4. Tornar o script masapt executável

    root@kitploit:~
        chmod +x masapt
    

Executar:

Inicie o sistema com:

root@kitploit:~
    masapt -t url/to/target

 


Trabalho futuro

  • script install.sh
  • Agentes Docker
  • Conectar com base de dados/conhecimento de exploits

Mais agentes:

  • Agente DoS
  • Agente XSS
  • Agente de buffer overflow

Expandir Explorer.py para que possa:

  • Executar Harvester
  • Executar mais ferramentas OSINT

Expandir SQLinjector.py para que possa:

  • Fazer melhor uso do SQLMap
  • Ser adaptável a mais tipos de bases de dados

Expandir Coordinator.py para que possa:

  • Tomar melhores decisões sobre quais agentes realizam ataques

Visão geral do sistema 🔎

O sistema MASAPT foi concebido para ser modular, distribuído e pragmático. Isto significa que os agentes que compõem o sistema são independentes do processo principal, atualizáveis e usam ferramentas de pentest existentes e 'testadas em batalha'.

Para alcançar os objetivos previstos, os agentes são desenvolvidos como parte de um modelo de três camadas que é derivado das fases padrão de pentest (planeamento - execução - pós-execução). Uma visão geral do referido modelo pode ser vista na Img1 abaixo.

Todos os conceitos teóricos desta visão geral já foram implementados em código (exceto a ideia para o futuro - Img 8.). Estes conceitos devem continuar a ser implementados em quaisquer futuras atualizações do sistema.

Modelo de três camadas

A ideia principal por trás do modelo de três camadas é fornecer uma estrutura para organizar e classificar agentes neste sistema.

A primeira camada do modelo contém o(s) agente(s) Explorer (Explorador) que são encarregados de realizar OSINT e recolher informações úteis sobre o alvo.

A segunda camada contém o agente Coordinator (Coordenador) e agentes Exploit (Exploração). O Coordinator é um único agente que decide quais agentes de exploração participarão dos testes atuais. Agentes de exploração, como o nome implica, são os que executam explorações - injeção de SQL, XSS, DoS, buffer overflow... Pode haver muitos destes agentes de exploração.

A terceira camada contém o Reporter (Relator) cuja tarefa é recolher todos os dados de exploração, resultados, dumps de dados de todos os agentes de exploração e resumi-los num relatório final. O relatório é então exibido ao utilizador e armazenado localmente.

Na primeira imagem, setas grossas representam o fluxo de dados no modelo.

 

Img1     Img2

 

Img2 mostra o mesmo modelo da primeira imagem, mas com mais detalhes - os agentes podem ser claramente vistos nas suas respetivas camadas. As setas cheias nesta imagem novamente representam o fluxo de dados no modelo, que consequentemente mostra quais agentes estão a comunicar entre si. Pode ver-se que o agente Explorer envia dados para o agente Coordinator, que por sua vez envia alguns dados para os agentes Exploit (SQLinjector, agent2, agent3). Finalmente, todos os dados que os agentes de exploração recolhem são passados para o agente Reporter, que então os compila, resume e apresenta ao utilizador.

Também pode ser visto que apenas os agentes Explorer e Exploit (SQLinjector) interagem com o ambiente externo (Alvo de teste). Isto é representado com setas pontilhadas bidirecionais.


Arquitetura

Como mencionado anteriormente, uma das características do sistema MASAPT é ser distribuído. Um aspeto disto já foi implementado, visto que todos os agentes são implementados como programas independentes, executados pelo script principal (masapt).

Img 3. mostra como o sistema atual foi configurado e testado. Pode ver-se que os agentes usam o ambiente SPADE para comunicar via servidor XMPP (ejabberd) que é configurado no sistema local. O alvo de teste (SQLi Labs) também é configurado no sistema local. Esta configuração é boa para testar o sistema, mas não mostra a capacidade total do MASAPT como sistema distribuído.

 

 

Img 4. por outro lado, mostra uma possível implementação futura do MASAPT. Mostra um sistema multiagente distribuído que usa XMPP para comunicar e Docker para executar em muitos sistemas diferentes. Setas cheias mostram novamente o aspeto de comunicação e fluxo de dados do sistema, mostrando como os agentes enviam e recebem os seus dados através de um servidor XMPP central.

 

 

Razão para o XMPP

A principal razão para os agentes comunicarem via XMPP é fornecer uma forma fiável e independente de linguagem para os agentes comunicarem. Com esta abordagem, nem todos os agentes futuros têm de ser escritos em Python ou mesmo usar o ambiente SPADE.

A lógica por detrás disto é que pode haver algum caso de uso para um sistema diferente fazer parte do MASAPT no futuro (ex. agentes escritos noutras linguagens de programação). Portanto, esta 'abordagem XMPP' é a melhor forma de fornecer esse tipo de flexibilidade ao sistema.

Comportamento do agente

Além da sua capacidade de comunicar, o comportamento é o segundo aspeto mais importante de qualquer agente. Os agentes MASAPT e o seu comportamento são modelados com um conjunto de estados, o que os torna máquinas de estados finitos. O ambiente SPADE tem bom suporte para criar máquinas de estados finitos.

Os diagramas abaixo mostram todos os estados possíveis que um agente pode estar em qualquer momento no tempo. Os diagramas também mostram quais eventos causam a transição do agente para o próximo estado. Todos os agentes futuros devem ser implementados da mesma maneira.

Todos os futuros agentes de exploração (ex. DoS, XSS...) devem ser implementados usando o diagrama Img 8. como modelo.

 

Img5 Img6

 

Img7   Img8

 

Referências 🔗

[1] Muito obrigado a Audi-1 e ao seu excelente SQLI labs por testar injeção SQL baseada em erro, booleana cega e baseada em tempo!

[2] Chu, Ge, and Alexei Lisitsa. "Agent-based (BDI) modeling for automation of penetration testing." arXiv preprint arXiv:1908.06970 (2019).

[3] Qiu, X., Wang, S., Jia, Q., Xia, C., & Xia, Q. (2014, October). An automated method of penetration testing. In 2014 IEEE Computers, Communications and IT Applications Conference (pp. 211-216). IEEE.

Baixar ferramenta
explorer@domain
explorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret