Strumento di rete, ricognizione e sicurezza offensiva per Linux.
Hawk è un'utilità di rete e di pentest che ho sviluppato per poter eseguire diversi tipi di attività utilizzando la stessa suite, invece di passare da uno strumento all'altro.
Attualmente, questo script può eseguire una varietà di attività come ifconfig, ping, traceroute, scansioni delle porte (inclusa SYN, TCP, UDP, ACK, scansione completa, host discovery (scansione dei dispositivi attivi su una rete locale), rilevamento dell'indirizzo MAC (ottieni l'indirizzo MAC di un IP host su una rete locale), banner grabbing, controlli DNS (con informazioni di geolocalizzazione), WHOIS, enumerazione dei sottodomini, ricognizione delle vulnerabilità, packet sniffing, MAC spoofing, IP spoofing, SYN flooding, attacco deauth e attacco brute-force (beta).
Altre funzionalità sono ancora in fase di implementazione. Le implementazioni future potrebbero includere rilevamento WAF, enumerazione DNS, analisi del traffico, scanner di vulnerabilità XSS, avvelenamento della cache ARP, avvelenamento della cache DNS, MAC flooding, ping of death, attacco di disassociazione di rete (non attacco deauth), OSINT, spoofing email, exploit, alcune attività automatizzate e altro.

Nota che attualmente questo script funziona bene solo su Linux. Se lo provi su Windows o macOS, potrebbe funzionare, ma appariranno numerosi errori.
Questo script è stato testato su:
Per installare i pacchetti necessari affinché lo script funzioni senza problemi, esegui semplicemente lo script setup.sh con privilegi di root. Attualmente, questo script di installazione è supportato solo su distribuzioni basate su Debian, Red Hat e Arch che hanno rispettivamente il gestore di pacchetti apt, dnf e pacman (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, ecc.). Sulla maggior parte dei sistemi, per installare Hawk esegui semplicemente i seguenti comandi:
git clone https://github.com/medpaf/hawk.git
cd hawk
sudo sh setup.sh
Quindi, segui semplicemente le istruzioni. Ignora i messaggi di errore che compaiono durante l'installazione.
Tuttavia, se stai utilizzando qualsiasi altra distribuzione Linux con un gestore di pacchetti diverso, installa manualmente i pacchetti usando il gestore di pacchetti della tua distribuzione. A seconda della distribuzione specifica utilizzata, alcuni dei pacchetti richiesti per eseguire questo script potrebbero essere già installati sulla tua macchina.
Se desideri conoscere i pacchetti necessari, guarda il file setup.sh.
Dopo l'installazione, per eseguire il programma, basta andare nella directory del progetto ed eseguire il file hawk.py usando python. Si consiglia di eseguire lo script come root per ottenere prestazioni migliori ed evitare errori di autorizzazione. Il comando utilizzato è il seguente:
sudo python3 hawk.py
Per effettuare le configurazioni, basta andare al file di configurazione in files/conf.py e modificarlo.
Se vuoi visualizzare la configurazione di rete TCP/IP attuale del tuo sistema, digita il seguente comando:
-ifconfig

Per inviare pacchetti ICMP a uno o più host per verificare la connettività, digita semplicemente:
-ping <HOST(s) IP/FQDN>

Per diagnosticare i percorsi di rotta e misurare i ritardi di transito, usa il comando -traceroute:
-traceroute <HOST IP/FQDN>

La scansione delle porte aiuta a rilevare potenziali violazioni della sicurezza identificando gli host connessi alla tua rete e i servizi in esecuzione.
Sono supportati più tipi di scansione, tra cui TCP SYN (-scansyn) [nota anche come scansione stealth], TCP Connect (-scantcp), UDP (-scanudp), TCP ACK (-scanack) e scansione completa (-scan).
-scan -host <HOST(s) IP/FQDN>
-scan -host <HOST(s) IP/FQDN> -p <PORT(s)>
Se desideri scansionare un intervallo di IP e/o un intervallo di porte, usa uno dei seguenti comandi:
-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>

Dopo questa scansione, è possibile vedere che sia la porta 22 (SSH) che la 80 (HTTP) sono aperte.
Per cercare i dispositivi attualmente attivi su una determinata rete, digita il seguente comando:
-scanlan
Poi digita la rete che vuoi scansionare.

Per ottenere l'indirizzo MAC di uno o più host attivi sulla LAN, usa il comando:
-getmac -host <HOST(s) IP>
