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
swarm — Uma ferramenta modular e distribuída de testes de penetração. | Kitploit
Ferramentas/GitHubGitHub/a7vinx/swarm
Frameworks de Testes de PenetraçãoScanners de VulnerabilidadesColeta de InformaçõesSegurança WebTestes de PenetraçãoEnumeração de SubdomíniosRastreador
GitHuba7vinx/swarm

swarm

Uma ferramenta modular e distribuída de testes de penetração.

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

swarm

v0.6.0

English | 中文.

Swarm é uma ferramenta modular de teste de penetração distribuída de código aberto que utiliza fila de tarefas distribuída para implementar comunicação no sistema mestre-escravo e usa MongoDB para armazenamento de dados. Consiste em uma estrutura distribuída e módulos funcionais. O módulo funcional pode ser uma implementação totalmente nova de algumas funções de penetração ou pode ser um simples encapsulamento de uma ferramenta existente para implementar funcionalidade distribuída. Devido à arquitetura modular, é fácil personalizar e estender novos recursos sob a estrutura distribuída.

Agora nesta versão 0.6.0, possui cinco módulos:

  • Módulo de varredura de nomes de subdomínios
  • Módulo de varredura de diretórios e arquivos
  • Módulo de extensão Nmap
  • Módulo de rastreamento de sitemap
  • Módulo Intruder

Se quiser escrever seu próprio módulo, leia isto.

Instalação

O zipball pode ser baixado aqui. Você também pode usar git para obter o swarm:

root@kitploit:~
git clone [email protected]:Arvin-X/swarm.git

em seguida, use setup.py para instalar o swarm:

root@kitploit:~
python setup.py install

Swarm funciona com Python 2.6.x ou 2.7.x e precisa de suporte MongoDB no host mestre.

Se você ainda não tem MongoDB, pode usar apt-get para instalá-lo:

root@kitploit:~
apt-get install mongodb

Uso

Baixar ferramenta

Execute swarm no host mestre para distribuir tarefas e execute swarm-s com a opção '-p' no host escravo para concluir a subtarefa do mestre.

root@kitploit:~
swarm-s -p 9090

Você também pode criar um listener na porta alvo do host escravo para receber comandos para despertar o swarm-s especificando a opção '--waken' ao executar swarm. Caso contrário, deixe '--waken' nulo. Para criar um listener, você pode usar nc ou socat, por exemplo:

root@kitploit:~
nc -e /bin/sh -l 9191

E use o comando de despertar como:

root@kitploit:~
swarm-s ARGS

Você precisa deixar "ARGS" em seu comando e garantir que ele será passado como argumentos de linha de comando para o swarm, para que o swarm o substitua por alguns argumentos necessários como '-p'.

Uso básico do swarm:

root@kitploit:~
usage: swarm [-h] -m MODULE [-v] [-c] [-o PATH] [-t [TARGET [TARGET ...]]]
             [-T PATH] [-s [SWARM [SWARM ...]]] [-S PATH] [--waken CMD]
             [--timeout TIME] [--m-addr ADDR] [--m-port PORT] [--s-port PORT]
             [--authkey KEY] [--db-addr ADDR] [--db-port PORT] [--process NUM]
             [--thread NUM] [--taskg NUM] [--dom-compbrute] [--dom-dict PATH]
             [--dom-maxlevel NUM] [--dom-charset SET] [--dom-levellen LEN]
             [--dom-timeout TIME] [--dir-http-port PORT]
             [--dir-https-port PORT] [--dir-compbrute] [--dir-charset SET]
             [--dir-len LEN] [--dir-dict PATH] [--dir-maxdepth NUM]
             [--dir-timeout TIME] [--dir-not-exist FLAG] [--dir-quick-scan]
             [--nmap-ports PORTS] [--nmap-top-ports NUM] [--nmap-ops ...]
             [--int-target [URLS [URLS ...]]] [--int-method METHOD]
             [--int-headers JSON] [--int-cookies COOKIES] [--int-body BODY]
             [--int-payload PAYLOAD] [--int-flag FLAGS] [--int-timeout TIME]
             [--map-seed SEED] [--map-http-port PORT] [--map-https-port PORT]
             [--map-cookies COOKIES] [--map-interval TIME]
             [--map-timeout TIME]

optional arguments:
  -h, --help            mostra esta mensagem de ajuda e sai
  -m MODULE             Use o nome do módulo em ./modules/ para ativá-lo

Saída:
  Essas opções podem ser usadas para controlar a saída

  -v                    Saída mais detalhada
  -c                    Desativa saída colorida de log
  -o PATH               Grava log em um arquivo alvo

Alvo:
  Pelo menos uma dessas opções deve ser fornecida para definir o alvo, a menos
  que haja outra opção especial para definir o alvo no módulo

  -t [TARGET [TARGET ...]]
                        Separados por espaço (ex: github.com 127.0.0.0/24
                        192.168.1.5)
  -T PATH               Arquivo contendo lista de alvos, um alvo por linha

Swarm:
  Use essas opções para personalizar a conexão swarm. Pelo menos um host
  escravo deve ser fornecido.

  -s [SWARM [SWARM ...]]
                        Endereço dos hosts escravos com porta se precisar
                        despertá-los (ex: 192.168.1.2:9090 192.18.1.3:9191).
                        Sem porta se swarm-s no host escravo já estiver em execução
  -S PATH               Arquivo contendo lista de escravos, um host por linha
  --waken CMD           Comando para despertar hosts escravos, nulo se swarm-s
                        no host escravo já estiver em execução
  --timeout TIME        Segundos para esperar antes que a requisição ao swarm
                        obtenha resposta
  --m-addr ADDR         Endereço mestre que seja acessível por todos os hosts
                        escravos
  --m-port PORT         Porta de escuta no host mestre para distribuir tarefa
  --s-port PORT         Porta de escuta no host escravo para receber comando
                        do mestre
  --authkey KEY         Chave de autenticação entre mestre e escravos

Banco de dados:
  Essas opções podem ser usadas para acessar o servidor MongoDB

  --db-addr ADDR        Endereço do servidor MongoDB
  --db-port PORT        Porta de escuta do servidor MongoDB

Comum:
  Essas opções podem ser usadas para personalizar configuração comum do host
  escravo

  --process NUM         Número máximo de processos concorrentes no host escravo
  --thread NUM          Número máximo de threads concorrentes no host escravo
  --taskg NUM           Granularidade das subtarefas de 1 a 3

Varredura de Domínio:
  Essas opções podem ser usadas para personalizar ação do swarm para
  varredura de subdomínios

  --dom-compbrute       Usa força bruta completa sem dicionário no alvo
  --dom-dict PATH       Caminho para dicionário usado para varredura de
                        subdomínios
  --dom-maxlevel NUM    Nível máximo de subdomínio a varrer
  --dom-charset SET     Conjunto de caracteres usado para força bruta completa
  --dom-levellen LEN    Intervalo de comprimento de subdomínio em cada nível
  --dom-timeout TIME    Opção de timeout para varredura de subdomínios

Varredura de Diretório:
  Essas opções podem ser usadas para personalizar ação do swarm para
  varredura de diretório

  --dir-http-port PORT  Separado por vírgula se precisar de múltiplas portas
  --dir-https-port PORT
                        Separado por vírgula se precisar de múltiplas portas
  --dir-compbrute       Usa força bruta completa sem dicionário no alvo
  --dir-charset SET     Conjunto de caracteres usado para força bruta completa
  --dir-len LEN         Intervalo de comprimento de nome de diretório ou arquivo
  --dir-dict PATH       Caminho para dicionário usado para varredura de diretório
  --dir-maxdepth NUM    Profundidade máxima na varredura de diretórios e arquivos
  --dir-timeout TIME    Opção de timeout para varredura de diretório
  --dir-not-exist FLAG  Separado por vírgula dupla se precisar de múltiplos
                        flags
  --dir-quick-scan      Usa método HEAD em vez de GET na varredura

Módulo Nmap:
  Essas opções podem ser usadas para personalizar ação do nmap nos hosts
  escravos

  --nmap-ports PORTS    Suporta formato como '80,443,3306,1024-2048'
  --nmap-top-ports NUM  Varre <número> de portas mais comuns
  --nmap-ops ...        Lista de opções do nmap conforme páginas man, isso deve
                        ser o último nos argumentos de linha de comando

Intruder:
  Use o símbolo indicador '@n@' onde 'n' deve ser um número, como '@0@','@1@'
  etc., para especificar ponto de ataque na opção 'int_target' e 'int_body'.
  Use a opção 'int_payload' para especificar payload usado nesses pontos de
  ataque para concluir este ataque.

  --int-target [URLS [URLS ...]]
                        Use esta opção em vez de '-t' ou '-T' para especificar
                        alvos, separados por vírgula
  --int-method METHOD   Método HTTP usado neste ataque
  --int-headers JSON    Dados em formato JSON (ex: {"User-
                        Agent":"Mozilla/5.0","Origin":"XXX"})
  --int-cookies COOKIES
                        Separados por vírgula. (ex: PHPSESSIONID:XX,token:XX)
  --int-body BODY       Corpo HTTP ou HTTPS. Você pode usar símbolo indicador
                        nesta opção
  --int-payload PAYLOAD
                        O formato deve seguir '@0@:PATH,@1@:CHARSET
                        :NUM-NUM'
  --int-flag FLAGS      Separado por vírgula dupla se tiver múltiplos flags
  --int-timeout TIME    Opção de timeout para módulo intruder

Rastreador de Sitemap:
  Essas opções podem ser usadas para personalizar o rastreador de sitemap,
  ainda não suporta parsing de JS

  --map-seed SEED       Separado por vírgula se tiver múltiplas sementes
  --map-http-port PORT  Separado por vírgula se precisar de múltiplas portas
  --map-https-port PORT
                        Separado por vírgula se precisar de múltiplas portas
  --map-cookies COOKIES
                        Separado por vírgula se tiver múltiplos cookies
  --map-interval TIME   Intervalo de tempo entre duas requisições
  --map-timeout TIME    Opção de timeout para rastreador de sitemap

Recomenda-se usar arquivo de configuração para configurar o swarm em vez de argumentos de linha de comando se seus requisitos forem altos. Os arquivos de configuração estão localizados em /etc/swarm/.

Licença

Swarm é licenciado sob a GPLv3.