Ferramenta de rede, reconhecimento e segurança ofensiva para Linux.
Hawk é uma ferramenta de rede e pentest que desenvolvi para executar diferentes tipos de tarefas usando a mesma suíte, em vez de ficar saltando de uma ferramenta para outra.
Atualmente, este script pode executar uma variedade de tarefas como ifconfig, ping, traceroute, varreduras de portas (incluindo SYN, TCP, UDP, ACK, varredura abrangente, descoberta de hosts (procura por dispositivos ativos em uma rede local), detecção de endereço MAC (obter o endereço MAC de um IP de host em uma rede local), captura de banner, verificações de DNS (com informações de geolocalização), WHOIS, enumeração de subdomínios, reconhecimento de vulnerabilidades, sniffing de pacotes, spoofing de MAC, spoofing de IP, flood SYN, ataque deauth e ataque de força bruta (beta).
Outros recursos ainda estão sendo implementados. Implementações futuras podem incluir detecção de WAF, enumeração de DNS, análise de tráfego, scanner de vulnerabilidades XSS, envenenamento de cache ARP, envenenamento de cache DNS, MAC flooding, ping da morte, ataque de dissociação de rede (não ataque deauth), OSINT, spoofing de e-mail, exploits, algumas tarefas automatizadas e outros.

Note que atualmente, este script só funciona bem no Linux. Se você tentar usá-lo no Windows ou macOS, pode até rodar, mas vários erros aparecerão.
Este script foi testado em:
Para instalar os pacotes necessários para que o script possa rodar sem problemas, basta executar o script setup.sh com privilégios de root. Atualmente, este script de instalação só é suportado em distribuições baseadas em Debian, Red Hat e Arch que tenham os gerenciadores de pacotes apt, dnf e pacman, respectivamente (Ubuntu, Kali Linux, Parrot OS, Debian, Pop!_OS, Linux Mint, Deepin, Zorin OS, MX Linux, Elementary OS, Fedora, CentOS, Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, Oracle Linux, ClearOS, Arch, Black Arch, Manjaro, etc). Na maioria dos sistemas, para instalar o Hawk basta executar os seguintes comandos:
git clone https://github.com/medpaf/hawk.git
cd hawk
sudo sh setup.sh
Então, basta seguir as instruções. Por favor, ignore as mensagens de erro que aparecem durante a instalação.
No entanto, se você estiver usando qualquer outra distribuição Linux com um gerenciador de pacotes diferente, instale os pacotes manualmente usando o gerenciador de pacotes da sua distribuição. Dependendo da distribuição específica usada, alguns dos pacotes necessários para executar este script podem já estar instalados na sua máquina.
Se quiser saber os pacotes necessários, consulte o arquivo setup.sh.
Após a instalação, para executar o programa, basta navegar até o diretório do projeto e executar o arquivo hawk.py usando python. Executar o script como root é recomendado para melhor desempenho e para evitar erros de permissão. O comando usado é o seguinte:
sudo python3 hawk.py
Para fazer configurações, basta ir até o arquivo de configuração em files/conf.py e editá-lo.
Se quiser exibir a configuração atual de rede TCP/IP do seu sistema, digite o seguinte comando:
-ifconfig

Para enviar pacotes ICMP para um ou mais hosts e verificar a conectividade, basta digitar:
-ping <HOST(s) IP/FQDN>

Para diagnosticar caminhos de rota e medir atrasos de trânsito, use o comando -traceroute:
-traceroute <HOST IP/FQDN>

A varredura de portas ajuda a detectar possíveis brechas de segurança, identificando os hosts conectados à sua rede e os serviços em execução.
Vários tipos de varredura são suportados, incluindo TCP SYN (-scansyn) [também conhecida como varredura stealth], TCP Connect (-scantcp), UDP (-scanudp), TCP ACK (-scanack) e varredura abrangente (-scan).
-scan -host <HOST(s) IP/FQDN>
-scan -host <HOST(s) IP/FQDN> -p <PORT(s)>
Se você quiser varrer um intervalo de IPs e/ou intervalo de portas, use um dos seguintes comandos:
-scan -host <HOST(s) IP/FQDN> -prange <START PORT> <END PORT>
-scan -iprange <START IP> <END IP> -p <PORT(s)>
-scan -iprange <START IP> <END IP> -prange <START PORT> <END PORT>

Após esta varredura, é possível ver que as portas 22 (SSH) e 80 (HTTP) estão abertas.
Para procurar dispositivos ativos em uma rede específica, digite o seguinte comando:
-scanlan
Em seguida, digite a rede que deseja varrer.

Para obter o endereço MAC de um ou mais hosts ativos na LAN, use o comando:
-getmac -host <HOST(s) IP>
