Outil réseau, de reconnaissance et de sécurité offensive pour Linux.
Hawk est un utilitaire réseau et de pentest que j'ai développé afin de pouvoir effectuer différents types de tâches en utilisant la même suite, plutôt que de passer d'un outil à un autre.
Actuellement, ce script peut effectuer une variété de tâches telles que ifconfig, ping, traceroute, analyses de ports (y compris SYN, TCP, UDP, ACK, analyse complète, découverte d'hôtes (recherche d'appareils actifs sur un réseau local), détection d'adresse MAC (obtention de l'adresse MAC d'une IP d'hôte sur un réseau local), capture de bannières, vérifications DNS (avec informations de géolocalisation), WHOIS, énumération de sous-domaines, reconnaissance de vulnérabilités, reniflage de paquets, usurpation MAC, usurpation IP, inondation SYN, attaque de désauthentification et attaque par force brute (bêta).
D'autres fonctionnalités sont encore en cours de développement. Les implémentations futures pourraient inclure la détection de WAF, l'énumération DNS, l'analyse du trafic, le scanner de vulnérabilités XSS, l'empoisonnement du cache ARP, l'empoisonnement du cache DNS, l'inondation MAC, le ping de la mort, l'attaque de dissociation du réseau (et non l'attaque de désauthentification), l'OSINT, l'usurpation d'e-mail, des exploits, certaines tâches automatisées et d'autres.

Notez qu'actuellement, ce script ne fonctionne correctement que sous Linux. Si vous l'essayez sur Windows ou macOS, il peut s'exécuter, mais de nombreuses erreurs apparaîtront.
Ce script a été testé sur :
Pour installer les paquets nécessaires afin que le script fonctionne sans aucun problème, exécutez simplement le script setup.sh avec les privilèges root. Actuellement, ce script d'installation n'est pris en charge que sur les distributions basées sur Debian, Red Hat et Arch qui disposent respectivement des gestionnaires de paquets apt, dnf et 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, etc). Sur la plupart des systèmes, pour installer Hawk, exécutez simplement les commandes suivantes :
git clone https://github.com/medpaf/hawk.git
cd hawk
sudo sh setup.sh
Ensuite, suivez simplement les instructions. Veuillez ignorer les messages d'erreur qui apparaissent pendant l'installation.
Cependant, si vous utilisez une autre distribution Linux avec un gestionnaire de paquets différent, veuillez installer les paquets manuellement à l'aide du gestionnaire de paquets de votre distribution. Selon la distribution utilisée, certains des paquets requis pour exécuter ce script peuvent déjà être installés sur votre machine.
Si vous souhaitez connaître les paquets nécessaires, consultez le fichier setup.sh.
Après l'installation, pour exécuter le programme, il suffit de naviguer vers le répertoire du projet et d'exécuter le fichier hawk.py avec python. Il est recommandé d'exécuter le script en tant que root pour de meilleures performances et pour éviter les erreurs de permission. La commande utilisée est la suivante :
sudo python3 hawk.py
Pour effectuer des configurations, il suffit d'aller dans le fichier de configuration files/conf.py et de le modifier.
Si vous souhaitez afficher la configuration réseau TCP/IP actuelle de votre système, saisissez la commande suivante :
-ifconfig

Pour envoyer des paquets ICMP à un ou plusieurs hôtes afin de vérifier la connectivité, tapez simplement :
-ping <HOST(s) IP/FQDN>

Pour diagnostiquer les chemins de routage et mesurer les délais de transit, utilisez la commande -traceroute :
-traceroute <HOST IP/FQDN>

L'analyse des ports aide à détecter d'éventuelles failles de sécurité en identifiant les hôtes connectés à votre réseau et les services en cours d'exécution.
Plusieurs types d'analyse sont pris en charge, notamment TCP SYN (-scansyn) [également connu sous le nom d'analyse furtive], TCP Connect (-scantcp), UDP (-scanudp), TCP ACK (-scanack) et l'analyse complète (-scan).
-scan -host <HOST(s) IP/FQDN>
-scan -host <HOST(s) IP/FQDN> -p <PORT(s)>
Si vous souhaitez analyser une plage d'adresses IP et/ou une plage de ports, utilisez l'une des commandes suivantes :
-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>

Après cette analyse, il est possible de constater que les ports 22 (SSH) et 80 (HTTP) sont tous deux ouverts.
Pour rechercher les appareils actuellement actifs sur un réseau donné, tapez la commande suivante :
-scanlan
Saisissez ensuite le réseau que vous souhaitez analyser.

Pour obtenir l'adresse MAC d'un ou plusieurs hôtes actifs sur le réseau local, utilisez la commande :
-getmac -host <HOST(s) IP>
