BadHand
Framework di test di rete in Python, con una trentina di strumenti in un'unica riga di comando.
Contesto
BadHand è un framework di test che ho scritto in Python per tenere in un unico posto gli strumenti che uso in laboratorio, invece di saltare fra decine di comandi diversi.
Cosa ho costruito
Un menu da riga di comando che raccoglie una trentina di strumenti, divisi in cinque gruppi:
- Rete: scoperta degli host, scansione delle porte e test di resistenza
- Web: ricerca di XSS e SQL injection, analisi degli header, scoperta dei parametri
- Ricognizione: sottodomini, DNS, WHOIS, riconoscimento del CMS
- Autenticazione: test delle credenziali su SSH e FTP, scoperta delle cartelle
- SSL/TLS e utilità: verifica dei certificati, riconoscimento degli hash, posizione di un IP
Scelte tecniche
Tutto in Python, con una libreria mirata per ogni compito: scapy per la
rete, requests e BeautifulSoup per il web, paramiko per SSH, dnspython per
il DNS. Ogni strumento è un modulo leggibile: se qualcosa non torna, si apre il
file e si legge cosa fa, invece di fidarsi di una scatola nera.
Stato
Finito, il codice è su GitHub. È soprattutto il modo in cui ho imparato, costruendoli, come funzionano davvero gli strumenti che altrove si usano e basta.
Ambito d’uso
Pensato solo per test autorizzati e per imparare: sistemi propri, laboratori isolati o sistemi per cui si ha il permesso scritto. Usarlo senza autorizzazione è illegale.