
Diferentes scripts utilitários para pentest e hacking.
O projeto Pentesting-Multitool surge da necessidade de reunir algumas ferramentas de pentesting numa única ferramenta. Será desenvolvido usando Python3 com a adição de algumas bibliotecas externas como DNSPython, pythonwhois ou scapy.
As principais funções do script são coletar informações sobre os registros DNS, domínio ou outros dispositivos.
Clone o pentesting-multitool: $ git clone https://github.com/ffmancera/pentesting-multitool.git
Bibliotecas Python: # pip3 install dnspython pythonwhois shodan scapy-python3
Nota: Isso instala todas as bibliotecas python3 necessárias, mas você precisa instalar o TCPReplay. Procure no seu gerenciador de pacotes. Exemplos:
Debian ou Ubuntu: # apt-get install tcpreply
Arch Linux: # pacman -S tcpreply
Antes de usar o pentesting-multitool.py, siga estes passos:
Bem, agora você está pronto para usar o script. Aproveite!
Uso: $ python3 pentesting-multitool.py -d <domínio> -r <registro>
Opções: -f <nome_do_arquivo>
Aviso: Nem todos os registros DNS estão implementados. Consulte esta tabela para saber quais estão disponíveis.
Uso: $ python3 pentesting-multitool.py -w <domínio>
Opções: -f <nome_do_arquivo>
A função whois gera um dicionário com as informações. Você pode gravar as informações num arquivo com a opção -f ou imprimi-las.
Às vezes as informações estão ocultas, então tenha essa possibilidade em mente.
Uso: $ python3 pentesting-multitool.py -s <consulta de pesquisa>
Opções: -f <nome_do_arquivo>, -u (flag de informação completa)
Nota: Se a flag -u for definida, você obterá informações completas sobre os dispositivos ou serviços encontrados. Caso contrário, obterá apenas o IP.
A função de pesquisa Shodan (ssearch) utiliza a biblioteca externa Shodan para integrar o navegador Shodan no nosso script.
O script implementa uma "pesquisa simples" (tão simples quanto quiser). Para os parâmetros da consulta de pesquisa, colocaremos exatamente o mesmo que se estivéssemos pesquisando usando o site do Shodan, mas com os filtros separados por "-". Eis um exemplo de consulta de pesquisa:
"ip:8.8.8.0/24-ports:22"
Uso: # python3 pentesting-multitool.py -b <ip> -p <portas>
Opções: -f <nome_do_arquivo>
A função de captura de banner primeiro cria um socket com o IP e porta especificados, permitindo usar uma lista de portas (separadas por :).
Aviso: Nem todos os serviços estão implementados. Consulte esta tabela para saber quais estão disponíveis.
| SERVIÇO | STATUS |
|---|---|
| SSH | ATIVO |
| FTP | ATIVO |
| SMTP | ATIVO |
| MARIADB | ATIVO |
Uso: # python3 pentesting-multitool.py -o <número de envios ou pacotes (modo gerador)> -f <nome_do_arquivo_pcap>
Opções: -g (flag do modo gerador)
A função de inundação tem duas opções. A primeira é o modo gerador, que cria um arquivo PCAP com uma quantidade especificada de pacotes e nome. Esses pacotes têm duas camadas: IP e ICMP (Echo request).
Para o modo de inundação, usando TCPReplay, enviaremos a lista de pacotes contidos no arquivo PCAP em um loop de n iterações. É recomendado adicionar 200 pacotes ao arquivo para um ataque DOS e 100 pacotes para gerar aumento de latência, mas isso varia entre redes e APs.
Uso: # python3 pentesting-multitool.py -z <ip alvo> -ng <número de gerações> -n <número de pacotes> -l <Camada (UDP, TCP, ICMP)> -f <nome_do_arquivo_pcap>
A função de fuzzing gerará um número de pacotes aleatórios com camada UDP, TCP ou ICMP, conforme indicado pelo usuário, n vezes (parâmetro de número de gerações). Após enviar o pacote, aguardará uma resposta por um segundo; se não houver resposta, um pacote padrão será criado. Todos os pacotes serão armazenados em um PCAP posteriormente, onde o primeiro pacote é o enviado e o segundo é a resposta.
É óbvio que você precisa definir o IP alvo, pois não adianta definir usando a função RandIP do Scapy.
Uso: # python3 pentesting-multitool.py -m <interface> -v <IP da vítima> -a <Gateway do AP>
Bem, primeiro quero esclarecer que não é uma ferramenta projetada para atacar, mas sim para verificar se a nossa rede é vulnerável a um ataque de mitm usando ARP Spoofing.
Usando ARP Spoofing, indicamos ao roteador que o IP da vítima está no nosso endereço MAC e, ao mesmo tempo, indicamos à vítima que o IP do gateway está no nosso endereço MAC, interceptando todo o tráfego entre a vítima e o roteador.
Gostaria de agradecer ao SUGUS (Grupo de Software Livre) da Universidade de Sevilha e ao Shodan pela ajuda e apoio.
Por favor, se você tiver alguma sugestão sobre o projeto, sinta-se à vontade para implementá-la e fazer um pull request, ou pode me contactar em [email protected]
Obrigado pela sua colaboração.
Feliz Hack!
| REGISTROS | STATUS |
|---|
| A | Ativo |
| AAAA | Ativo |
| MX | Ativo |
| NS | Ativo |
| TXT | Ativo |
| SOA | Ativo |