Sunteți pe pagina 1din 20

ROMÂNIA

MINISTERUL APĂRĂRII NAȚIONALE


ACADEMIA TEHNICĂ MILITARĂ

Temă
Securitatea rețelelor de calculatoare
Atacuri DDoS bazate pe malware-ul Mirai

Autori :
Mihai Alina Valentina
Țîmpău Alexandru

2018
Cuprins
1. Introducere .........................................................................................................3
2. Prezentare malware Mirai ..................................................................................3
Bot ..............................................................................................................4
Server CNC ................................................................................................4
Loader.........................................................................................................4
3. Mod de operare ..................................................................................................4
4. Demonstrație practică ........................................................................................7
Arhitectura rețelei/domeniului de test:....................................................9
Pașii premergători activității de testare: ................................................10
Instalarea prerechizitelor: ......................................................................11
Configurarea bazei de date:...................................................................15
Descărcarea și configurarea fișierelor sursă Mirai: ..............................16
Realizarea atacului (scanare & atac): ....................................................18
5. Concluzii ..........................................................................................................19
6. Bibliografie ......................................................................................................20

2
1. Introducere
Unu din cele mai importante aspecte ale societății este reprezentat de
securitatatea informației. Atacurile cibernetice au crescut considerabil în ultimii ani.
Atacurile DDoS (Distributed Denial of Service) sunt printre cele mai răspândite
forme de infracţionalitate cibernetică în prezent. Acest tip de atac informatic are
drept scop scoaterea din uz a unui sistem hardware, respectiv software, procesul în
sine neafectând datele care există în sistem (aplicațiile/site-urile web, bazele de date,
fișierele media etc.), ci doar împiedică temporar accesul utilizatorilor la resursa
online respectivă. DDoS presupune utilizarea mai multor dispozitive, accesul la
acestea făcându-se prin intermediul unor programe de tip malware/trojan, care pe
lângă aplicația propriu-zisă pot conține si alte programe ce persistă în sistem pentru
a fi activate ulterior. Un sistem, pe care există un astfel de program ce poate fi activat
și folosit apoi pentru atacuri DDoS de la distanță, se numește botnet.
Dintre cele mai cunoscute atacuri de tip DDoS având un impact ridicat se numără
cele bazate pe malware-ul Mirai. Mirai are ca scop compromiterea dispozitivelor
interconectate, insuficient protejate (în special cele de tip IoT). Acestea includ
camera de supraveghere, routere, telefoane și alte tipuri de dispozitive conectate la
Internet. Principala vulnerabilitate a dispozitivelor IoT, exploatată de botnetul Mirai,
constă în faptul că interfețele de administrare ale acestora sunt accesibile din Internet
și nu sunt securizate corespunzător, utilizând configurările și credențialele implicite.
În continuare, vom prezenta modul de acțiune și diverse componente ale codului
sursă Mirai. Pentru aceasta a fost creat și un mediu virtual controlat, în care a fost
instalat Mirai.

2. Prezentare malware Mirai


Codul sursă a malware-ului Mirai a fost făcut public în Septembrie 2016, făcând
astfel mai ușoară analiza acestuia, însă oferind și modalități pentru hackeri de a face
bani construind botnet-uri de închiriat sau rularea atacurilor pentru diferite scopuri.
Unul din cele mai importante atacuri a avut loc în Octombrie 2016 asupra
furnizorului de servicii DYN ce a dus la blocarea de numeroase site-uri web,
inclusive Twitter, Netflix, Reddit și GitHub, pentru mai multe ore.
Codul sursă este împărțit în mai multe componente, principalele fiind : bot, server
CNC(Command and Control) și loader. Acesta poate fi compilat pe mai multe tipuri
de arhitecturi. Componenta ”admin.go” reprezintă interfața principală de
administrare ce permite creare de useri admin, inițiere de atacuri, etc.

3
Bot
Această componentă reprezintă partea propriu-zisă ce infectează dispozitivele.
Fișierul main.c șterge fișierul executabil după ce a fost rulat, acesta rămânand doar
în RAM pentru a evita detecția. Bot-ul are în componență 3 module: attack, killer si
scanner. Scanner-ul foloseste telnet-ul și adrese publice IP pentru a gasi dispozitive
IoT vulnerabile. Procesele ce folosesc porturile 22,23 și 80 sunt distruse pentru a
putea fi folosite de malware. Bot-ul conține și metodele de atacuri pe care serverul
CNC le trimite botnet-ului.

Atacuri UDP
- Atacuri GRE (Generic Routing Encapsulation)
- Reflective Denial of Service
- DNS Flood (interogări cu înregistrări de tip A)
- Fluxuri de biți random prin pachete simple

Atacuri TCP
- SYN Flood
- ACK Flood
- PSH Flood

Atacuri HTTP
Odata ce conexiunea este stabilita, bot-ul poate trimite cereri HTTP de tip GET
sau POST constând în numeroase cookie-uri și payload random de date.

Server CNC
Serverul de comandă și control definește diferite API-uri și funcții de comandă
pentru a fi executate pe boți. Acesta se conectează mai întâi la baza de date cu
credentialele predefinite, apoi creează două socket-uri, unul pe portul 23 pentru
telnet și unui pe portul 101 pentru API.
Loader
Loader-ul creează serverul pentru downloadarea payload-urilor precompilate
pentru diverse arhitecturi. Apoi se comporta și ca server de stocare date, menținând
o bază de date cu detalii despre toate dispozitivele din rețeaua de boți.

3. Mod de operare
Mirai scanează adrese IP publice aleatoare prin porturile TCP 23 sau 2323. Unele
adrese, inclusiv cele ale Serviciului Postal SUA, Departamentul Apărarii, IANA,

4
General Electric(GE) și Hewlett-Packard(HP) sunt excluse, cel mai probabil pentru
a nu atrage atenția instituțiilor de securitate cibernetică.
Bot-ul încearcă prin atac de forță-brută să descopere credențialele, bazat pe un
dicționar generic și credențialele default de la producător. Există o listă de 62 perechi
de nume_utilizator – parolă, hardcodate în codul sursă.

 root xc3511  admin1 password


 root vizxv  administrator 1234
 root admin  666666 666666
 admin admin  888888 888888
 root 888888  ubnt ubnt
 root xmhdipc  root klv1234
 root default  root Zte521
 root juantech  root hi3518
 root 123456  root jvbzd
 root 54321  root anko
 support support  root zlxx.
 root (none)  root 7ujMko0vizxv
 admin password  root 7ujMko0admin
 root root  root system
 root 12345  root ikwb
 user user  root dreambox
 admin (none)  root user
 root pass  root realtek
 admin admin1234  root 00000000
 root 1111  admin 1111111
 admin smcadmin  admin 1234
 admin 1111  admin 12345
 root 666666  admin 54321
 root password  admin 123456
 root 1234  admin 7ujMko0admin
 root klv123  admin 1234
 Administrator admin  admin pass
 service service  admin meinsm
 supervisor supervisor  tech tech
 guest guest  mother f**er [censored]
 guest 12345
 guest 12345

Rezultatele încercărilor de success sunt transmise de boți către serverul de


stocare care va trimite loader-ul către IP-urile dispozitivelor susceptibile. Loader-ul
folosește credențialele pentru a se loga, apoi downloadează și instalează versiunea
de malware Mirai corespunzătoare dispozitivelor, de obicei, prin intermediul lui
GNU Wget sau TFTP. Imediat ce malware-ul este executat, va inchide toate celelalte
instanțe de malware ce ruleaza pe același și va încerca să se protejeze de alte
malware-uri prin închiderea altor metode de intruziune cum ar fi serviciile de Telnet
5
sau SSH. Un nume random pentru proces va fi generat cu scopul de a face mai grea
detecția. Se conecteaza la serverul CNC si asteapta comenzi pentru a fi executate.
Dispozitivele compromise devin boți Mirai capabili de a scana după alte sisteme
și a lansa atacuri DDoS prin direcționarea fluxurilor GRE IP, GRE ETH, SYN și
ACK, STOMP, DNS, UDP, sau traffic HTTP asupra unui sistem țintă. Bot-ul
principal comandă ceilalți boți printr-o comandă la serverul CNC cu parametrii
corespunzători, cum ar fi tipul și durata atacului, adresele IP a boților și serverul
țintă.

6
4. Demonstrație practică

Simularea unui atac având la bază malware-ul Mirai a fost realizată prin
configurarea unui mediu virtual de test alcătuit din următoarele entități:

- Domain Controller:

o mașină virtuală ce are la bază instalat un sistem de operare Windows


Server 2012 R2;
o configurarea parametrilor de rețea:

o au fost configurate următoarele roluri Windows Server:

 Active Directory Domain Services;


 DNS Server;
o după instalarea rolurilor s-a creat o instanță în Active Directory (forest)
denumită ”mirai.org”, reprezentând domeniul în cadrul căreia se va
realiza atacul;

7
- Stația victimă:

o mașină virtuală în cadrul căreia ruleză Windows 7;


o configurarea plăcii de rețea:

o reprezintă mașina virtuală asupra căreia se va realiza atacul declanșat


în urma realizării scanării utilizându-se utilitarul telnet;

- Entitatea malițioasă:

o reprezentată de mașina virtuală de Dibian 8.1 ce va iniția atacul în


cadrul rețelei locale;
o configurarea parametrilor de rețea:

8
o adăugarea serverului de DNS a fost realizată prin editarea fișierului
/etc/resolv.conf ;
o numele stației a fost setat prin editarea fișierului /etc/hosts;

Arhitectura rețelei/domeniului de test:

9
Pașii premergători activității de testare:

1. Configurarea tabelei DNS din Active Directory:

2. Adăugarea stației victimei în domeniu;


3. Realizarea actualizărilor disponibile Debian 8.1:

4. Realizarea upgrade-urilor necesare Debian 8.1:

10
Instalarea prerechizitelor:

Pentru executarea cu succes a atacului prin rularea script-urile din cadrul


proiectului open-source este necesară descărcarea și instalarea unor utilitare/pachete
din Internet, suportate de sistemul de operare Debian 8.1.

1. Descărcarea/instalarea serviciului MySQL (server-client):

- sistem de gestiune a bazelor de date relaționale;


- open-source;
- administrare prin CLI;
- compatibil GNU/Linux;

- configurarea parolei pentru „root”:

11
2. Instalarea utilitarelor:

- GCC (GNU Compiler Collection): componentă GNU


toolchain, reprezintă un compilator standard pe cele mai multe sisteme
de operare din familia Unix;
- Go (Golang): compilator utilizat în cadrul interpretării
limbajului de programare dezvoltat de cei de la Google;
- Pachetul Debian: libc6-dev (include librariile GNU C jessie,
sid, wheezy etc.);

3. Descărcarea fișierelor ARM cross-compiler toolchain prin HTTPS


utilizând pachetul free GNU Wget:

- creare folder pentru salvarea arhivelor:

12
- descărcarea arhivelor:

- dezarhivare (utilitarul tar):

13
- redenumirea folderelor rezultate în urma dezarhivării:

- marcarea variabilelor pentru exportul acestora și în cadrul


proceselor copil:

4. Instalarea utilitarului GNU Screen (full-screen window manager):

- multiplexarea unui terminal fizic intre un număr mai mare de


procese (interactive shells);

14
Configurarea bazei de date:

După instalarea serviciului MySQL este necesară configurarea acestuia și


crearea unei baze de date specifică programului malițios.

1. Conectarea la serviciul MySQL utilizând credențialele setate la instalare:

2. Crearea unei baze de date și selectarea acesteia pentru comenziile ulerioare:

15
3. Crearea unui tabel pentru stocarea unui istoric despre atacatori și comenzile
pe care acești le-au executat după preluarea controlului asupra victimelor:

4. Crearea tabelului users (administrarea utilizatorilor/atacatorilor):

5. Crearea unei liste pentru stocarea victimelor:

6. Crearea unui utlizator pentru realizarea atacului.

7. Restartarea serviciului mysql.

Descărcarea și configurarea fișierelor sursă Mirai:

1. Descărcarea pachetului public utilizând platforma github (git clone):

16
2. Structura proiectului:

3. Editarea fișierului main.go (specificarea credențialelor pentru realizarea


conexiunii la baza de date creată anterior):

4. Criptarea numelui de domeniu folosind scipt-ul ./enc (operația de XOR):

17
5. Modificarea fișierului table.c (adăugarea string-ului criptat anterior):

Realizarea atacului (scanare & atac):

1. Rularea scriptului ./build.sh:

- parametrii: i. nume folder salvare fișiere create în urma rulării


scriptului;
ii. utilitar folosit pentru realizarea scanării;

2. Deschiderea unei noi ferestre pentru rularea scriptului ./cnc:

3. Conectarea/atacarea stației victimă:

18
4. Sesiunea telnet deschisă în urma atacului:

5. Concluzii
Atacurile DDoS sunt în general imposibil de evitat, mai ales în cazul celor de
magnitudine semnificativă, precum cele asociate cu botnetul Mirai. O serie de
masuri au fost propuse împotriva acestor tipuri de atacuri .
- Actualizarea permaentă a software-ului (firmware) de pe dispozitive.
- Schimbarea credențialelor implicite (nume de utilizator, parolă) pentru
accesarea și administrarea dispozitivelor
- Utilizarea facilităților de securitate ale dispozitivelor (ex. prevenirea
atacurilor de tip bruteforce prin opțiunea de blocare a încercărilor repetate și
nereușite de autentificare, activarea modulului firewall etc.);
- Dezactivarea facilităților/serviciilor care nu sunt necesare, precum Telnet,
SSH, sau HTTP;
- Restricționarea accesului de la distanță (prin Internet) la interfețele de
administrare și configurare a dispozitivelor. În cazul în care este absolut
necesară administrarea dispozitivului de la distanță, recomandăm utilizarea
facilităților de tip firewall ale dispozitivelor (acolo unde există), sau utilizarea
unui firewall extern, pentru permiterea accesului la interfețele de
administrare doar de la anumite adrese IP;

19
6. Bibliografie
[1] “Analysis of Mirai Malicious Software” , Hamdija Sinanovic, Sasa Mrdovic
[2] “Understanding the Mirai Botnet”, Manos Antonakakis, Tim April, Michael
Bailey etc.
[3] “DDoS in the IoT: Mirai and Other Botnets”, Constantinos Kolias, Georgios
Kambourakis, Angelos Stavrou, Jeffrey Voas
[4] “Rise of the Machines: The Dyn Attack Was Just a Practice Run”, James Scott,
Drew Spaniel, December 2016
[5] https://www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html

20

S-ar putea să vă placă și