Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Hale — Monitor di comando e controllo di botnet | Kitploit
Strumenti/GitHubGitHub/pjlantz/hale
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniSicurezza di ReteAnalisi MalwareCommand and ControlThreat IntelligenceRisposta agli Incidenti
GitHubpjlantz/hale

Hale

Monitor di comando e controllo di botnet

Vedi Repository
20260584 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Informazioni

Hale è un monitor/spia per botnet command & control con un design modulare per sviluppare facilmente nuovi moduli che monitorano nuovi protocolli usati dai server C&C. Hale include monitor IRC e HTTP sviluppati con Twisted per gestire la scalabilità di un grande numero di connessioni. Questi moduli hanno una grammatica del protocollo e impostazioni dei bot configurabili, ma possono anche essere modificati per adattarsi alle proprie esigenze. Tutti i log e i file catturati vengono salvati in un database e, nel caso di IRC, vengono tracciati anche gli IP.

Per nascondere la posizione dell'operatore, le connessioni possono essere effettuate tramite proxy SOCKSv5 e questo è configurabile tramite l'interfaccia web, dove tutti i log sono disponibili per la navigazione insieme a grafici statistici e timeline. L'interfaccia è stata sviluppata con Django e Google Visualization API. Alcuni extra nell'interfaccia web includono il supporto per un'API RESTful con supporto OAuth e un motore di ricerca.

L'idea principale di Hale è aiutare la caccia alle botnet e la ricerca a collaborare creando una rete di sensori (monitor Hale). Per migliorare questa idea, è disponibile un bot XMPP per connettersi a un server XMPP centralizzato, dove attualmente vengono usate due diverse stanze di gruppo: una per il coordinamento tra i sensori e una per la condivisione di log e file. La stanza di coordinamento utilizza hash delle botnet generati dalle chiavi univoche nelle impostazioni della botnet; in questo modo due botnet non devono essere monitorate simultaneamente se hanno lo stesso hash (identità), migliorando l'utilizzo. Per aiutare terze parti a usare questa rete, un bot può unirsi alla stanza di coordinamento e chiedere a un sensore di iniziare a tracciare una botnet se non è tracciata, inviandone le configurazioni. Inoltre, nella stanza di condivisione, i bot di terze parti possono ottenere in tempo reale log e file catturati dai sensori. Per consultare la cronologia dei log è possibile usare l'API web, che supporta richieste GET.

Installazione

Hale ha le seguenti dipendenze:

Python == 2.6
Django == 1.2.1
Twisted == 10.1.0
GeoIP-Python == 1.2.4 (and GeoIP C lib)
Whoosh == 0.3.18
django-haystack == 1.0.1-final
django-piston == 0.2.3rc1
pefile == 1.2.10-63
sleekxmpp == 0.9Rrc1
wsgiref == 0.1.2
zope.interface == 3.6.1
oauth2 == 1.2.0
httplib2 == 0.6.0

Inoltre, il monitor richiede un driver di backend del database corrispondente al database usato da Django. Quando queste librerie sono installate, scarica i sorgenti da qui ed estraili ovunque.

Configurazione

  1. Prima crea un database che verrà usato da Hale; il motore del database può essere quello che preferisci. Se stai usando un database esistente, salta questo passaggio.

  2. Il passo successivo è installare i driver Python di backend corrispondenti a quelli usati dal motore del server.

  3. Modifica settings.py in hale/src/webdb/ e imposta le seguenti configurazioni: ENGINE, NAME, USER, PASSWORD, HOST e PORT, dove l'impostazione engine è ad esempio django.db.backends.mysql se il motore del server è MySQL. L'impostazione name è il nome del database usato durante la sua creazione.

  4. Se non vuoi avviare la tua interfaccia web, salta questo passaggio e vai al punto 8). In settings.py, imposta PATH_TO_APP in modo che punti al percorso completo dell'applicazione Django, ad esempio: '/home/..../Hale/src/webdb'. Nella directory webdb esegui il seguente comando: python manage.py syncdb. Se ricevi errori, molto probabilmente le impostazioni del database in settings.py non sono corrette. Inoltre, durante la sincronizzazione, imposta il superutente che verrà usato per amministrare gli utenti.

  5. Per supportare la ricerca nell'interfaccia web, esegui python manage.py rebuild_index per far indicizzare il motore di ricerca la prima volta. Questo creerà una directory chiamata whoosh.index/; per consentire al server web di scrivervi, esegui chmod o+w whoosh.index/. Dopodiché esegui python manage.py update_index e dovresti inserirlo come cron job per aggiornare gli indici a un intervallo regolare di tua scelta.

  6. Esegui python manage.py runserver e vai su http://127.0.0.1:8000 per verificare che la configurazione sia stata eseguita correttamente.

  7. Il comando runserver avvia un server di sviluppo che non è raccomandato per l'uso in produzione a causa di problemi di prestazioni. Per distribuire l'interfaccia web, installa invece mod_wsgi per Apache; supponendo che tu stia usando Ubuntu, esegui apt-get install libapache2-mod-wsgi. In /etc/apache2/sites-available/default aggiungi quanto segue:

    Alias /media /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
    <Location /media>
      Order allow,deny
      Allow from all
    </Location>


    WSGIDaemonProcess username processes=2 maximum-requests=500 threads=10
    WSGIProcessGroup group

    WSGIScriptAlias / /home/..../webdb/django.wsgi

e modifica lo username e il gruppo con cui il demone WSGI deve essere eseguito. WSGIScriptAlias deve essere impostato al percorso completo del file django.wsgi situato nella directory webdb. L'alias specificato sopra è necessario affinché la pagina di amministrazione venga renderizzata correttamente. Per poter caricare moduli tramite l'interfaccia web, esegui chmod o+w webdb/modules.

  1. Carica i moduli che verranno usati da hale/src/modules/ oppure scrivine di tuoi (vedi la sezione Sviluppo). Carica il modulo desiderato nell'interfaccia di amministrazione e modifica, ad esempio, il nome del modulo su irc e il nome del file su ircModule.py. Specifica le regole di configurazione per il modulo nella sezione corrispondente situata in hale/conf/modules.conf e inseriscile nella casella di testo; aggiungi inoltre le sezioni uniqueKeys per il modulo caricato.

  2. Prima di eseguire il monitor, modifica hale.conf in hale/src/conf/ se desideri usare un server XMPP. Per attivare il bot XMPP, imposta l'impostazione use su True e modifica le informazioni di accesso con un account e un server esistenti oppure avvia il tuo server XMPP. Un passaggio importante quando si avvia un server XMPP è aumentare la dimensione massima della stanza (max stanza size) dal valore predefinito a qualcosa come 10Mb. Altrimenti la segnalazione di malware non sarà possibile. Le impostazioni del canale in hale.conf sono usate per la stanza di condivisione usata dal bot, mentre l'impostazione coord è usata per la stanza di gruppo in cui avviene tutto il coordinamento tra i sensori.

  3. Modifica hale.conf e imposta le impostazioni client e server.

Utilizzo

Per avviare il monitor, vai su hale/src/ ed esegui python server.py. Se parte con errori, il file settings.py di Django non è configurato correttamente o mancano alcune librerie. Con il client è possibile inviare comandi al server, ma richiede che l'utente si autentichi sul server; l'accesso è consentito agli utenti impostati come membri dello staff tramite l'interfaccia web. Quando il client è in esecuzione, digita help o ? per ottenere i comandi disponibili. Digita help comando per maggiori informazioni sul comando specifico. L'avvio di un bot di monitoraggio si effettua modificando prima il file hale/src/conf/modules.conf, ad esempio usando una configurazione IRC come la seguente:

[uniqueKeys]
irc = botnet, *grammar
Scarica lo strumento