HTB: Mirai Botnet

Mirai Malware

Mirai je malware typu botnet, ktorý sa prvýkrát objavil v roku 2016.
Vytvorila ho skupina mladých programátorov v USA (Paras Jha, Josiah White a Dalton Norman).
Bol určený na infikovanie IoT zariadení (kamery, routery, DVR rekordéry a pod.) ktoré mali predvolené alebo slabé prihlasovacie údaje.
Po infikovaní zariadenie vstúpilo do botnetu ktorý útočníci využívali na DDoS útoky.
Mirai automaticky skenoval internet a hľadal zariadenia prístupné cez Telnet alebo SSH. Potom skúšal zoznam známych predvolených používateľských mien a hesiel.
Najznámejšie použitie Mirai botnetu bol masívny útok na DNS poskytovateľa Dyn v októbri 2016, ktorý spôsobil výpadky veľkých služieb ako Twitter, Netflix, Reddit či Spotify.
Mirai(Malware))

Toto HTB Mirailaboratórium demonštruje aké rizikové je ponechať zariadenie s predvolenými prihlasovacími údajmi bez zmeny.

Prieskum

Po prihlásení do laboratória a priradení cieľovej IP adresy je prvým krokom vždy získať prehľad o tom, aké služby stroj ponúka.
Na to je najjednoduchšie použiť nástroj nmap ktorý nám umožní zistiť otvorené porty, spustené služby a aj ich verzie.
Vďaka tomu vieme určiť ďalší smer prieskumu a hľadať potenciálne zraniteľnosti. Preto začnem skenom cieľa.

Na rýchle odhalenie všetkých portov použijem príkaz:

basic scan

-p- skenujem všetkých 65 535 portov.
--min-rate 10000 nastavuje minimálnu rýchlosť odosielania paketov (10 000 za sekundu), aby bol sken výrazne rýchlejší.

Po ukončení skenu si otvorené porty oskenujem hlbšie:

deep scan

-sC spustí default NSE skripty (Nmap Scripting Engine).
    Tieto skripty skúšajú získať extra info o službách (verzia SSH, SSL certifikát, HTTP titulok, FTP info atď.).
-sV spustí detekciu verzií služieb na otvorených portoch.
    Nmap sa pokúsi zistiť presný softvér a verziu.

Poprípade môžme použiť hlbši sken hneď pomocou nmap -A -Pn -T4 -p- $IP
-A spustí default NSE skripty (Nmap Scripting Engine). A zapne viacero pokročilých možností:
    * OS detection (skúsi uhádnuť operačný systém)
    * version detection (zistí verzie služieb)
    * script scanning (default NSE skripty)
    * traceroute
-Pn ignoruje ping (host discovery).
  Nmap sa bude tváriť, že host je živý a rovno skúsi porty (užitočné ak ICMP/ping je blokovaný firewallom).
-T4 časovanie/agresivita.
    T0 = stealth, super pomalé
    T4 = rýchle skenovanie vhodné pre lokálne siete alebo keď vieš že nechceš čakať.
    T5 = extrémne rýchle ale môže spôsobiť chybovosť.
-p- skenuje všetky porty (1–65535) nie len default 1000.

#### 80/TCP
Predtým ako sa pokúsime o zneužitie tak sa pokúsime otvoriť web http://cieľová_IP:80
Stránka nám nič nevráti.
Hlavičky odpovede HTTP poskytujú niekoľko náznakov:

HTTP header

Zaujímavá je časť X-Pi-hole. Vraví nám že sa jedná o Pi-hole. Jedná sa o DNS server ktorý beží na Raspberry Pi, linuxoch alebo dockeroch.
Používa sa na blokovanie reklám a celkovo ku zlepšeniu súkromia.

Máme niekoľko možností ako zistiť viac informácií o webovej stránke napr. pomocu: Gobuster, Nikto, feroxbuster…
Pre naše účely použijeme gobuster

gobuster

-w určuje wordlist, teda zoznam slov alebo názvov adresárov/súborov ktoré bude nástroj skúšať.
-u je cieľová URL.
-x = prípony súborov ktoré má skúšať.
2>/dev/null Presmerovanie chybných alebo varovných výstupov (stderr) do „temnoty“.
-k Tento prepínač hovorí Gobusteru ignorovať problémy s HTTPS certifikátmi ak by bol cieľ HTTPS.
    V tomto prípade hoci je URL HTTP -k väčšinou neškodí ale ak by bol cieľ HTTPS zabezpečí že certifikát self-signed neblokuje scan.

Určite navštívim /admin panel.

#### Site

admin pi hole

Po preskúmaní admin panelu nevidím nič nezvyčajné. Vyskúšam default login ktorý som našiel na officiálnej stránke Pi-hole. Neúspešne

##### 32400/TCP – Plex Media Server

Po pripojení na (http://cieľová_IP:32400) sa vyskúšame registrovať. Po prihlásení vidím verziu 3.9.1
Pokúsim sa vyhľadať exploity pre túto verziu no nič nenájdem.

plex

Port 1877/tcp patrí historicky HP-UX WebQoS databáze, dnes už nepoužívanej takže nemá zmysel sa ním ďalej zaoberať.

Port 53/tcp dnsmasq – ľahký DNS forwarder a DHCP server často používaný v routeroch a IoT zariadeniach. (2.76 starý a zraniteľný)
Skúsim recursion test či DNS odpovedá na dotazy ktoré by nemal.
dig axfr @10.10.10.48 google.com mi nič nevracia.

#### 22/tcp – SSH

Banner prezrádza že zariadenie alebo server používa Debian, konkrétne staršiu verziu Debian 8 čo umožňuje pripojenie buď s predvoleným heslom alebo cez brute-force nástroje ako Medusa a predstavuje tak riziko napadnutia zariadenia.

medusa

-h 10.10.10.48 Cieľová IP adresa, na ktorú sa Medusa pripojí.
-u pi Používateľské meno.
-p raspberry Heslo.
-M ssh Modul Medusy ktorý určuje protokol: SSH v tomto prípade.

Po úspešnom prihlásení vyhľadám flag v user.txt
Zistíme aké príkazy môžme používať ako užívateľ a ako root:
sudo -l Zobrazí zoznam príkazov ktoré môže aktuálny používateľ spustiť cez sudo bez zadania hesla alebo s heslom.
sudo
sudo su - úplné root prostredie, vrátane PATH, domovského adresára (/root) a profilových premenných.
find / -type f -name "user.txt" 2>/dev/null
cat user.txt
flag user

Ďalej hľadáme root flag.
find / -type f -name "root.txt" 2>/dev/null
flag root

Súbor root.txt je stratený a zrejme bude na USB kľúči.
Použijeme príkazy df -h alebo mount

flag root

🙂 súbory sú vymazané. Šťastie že sme v linuxe. Skúsime použiť grep alebo string.
grep --binary-files=text --context=100 'root' /dev/sdb > /tmp/root.txt
strings /dev/sbd/

Pomocou obidvoch príkazov sa mi podarilo vytiahnúť root flag.

flag root

#### Záver

Cieľom tohto cvičenia bolo ukázať aké jednoduché je kompromitovať zariadenie s predvolenými prihlasovacími údajmi alebo so zraniteľnými službami.
Na príklade Mirai sme si pripomenuli že:
1. Malware využíva automatizované skenovanie internetu a hľadá slabé miesta (Telnet/SSH, default login).
2. Raspberry Pi alebo iné IoT zariadenia sú častým cieľom pretože používatelia často nemenia predvolené heslá.
3. Aj keď súbory zmažeme tak v Linuxe sa dajú forenzne obnoviť priamo čítaním z disku.

Mirai botnet sa stal známym nielen tým že spôsobil masívne DDoS útoky (napr. na DNS poskytovateľa Dyn v roku 2016) ale aj tým že jeho zdrojový kód bol neskôr zverejnený na internete.
To viedlo k vzniku desiatok klonov a mutácií Mirai ktoré dodnes útočia na nezabezpečené IoT zariadenia.
Ukázalo sa že hoci pôvodní autori boli chytení, zverejnenie kódu rozšírilo problém a dnes je Mirai základom mnohých botnetov využívaných na kybernetický zločin.

TheOldOne · Miroslav Gensor · HTB · THM · SCADA