Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Browser opent vanzelf met WHO verzoek om COVID-19 app te downloaden

25-03-2020, 16:26 door Erik van Straten, 11 reacties
Laatst bijgewerkt: 25-03-2020, 17:12
DNS server hijack
In https://www.bleepingcomputer.com/news/security/hackers-hijack-routers-dns-to-spread-malicious-covid-19-apps/ las ik dat cybercriminelen DNS instellingen van routers proberen te hijacken. Eerder werd op 18 maart in https://www.bleepingcomputer.com/forums/t/715480/coronavirus-dns-router-hijack-covid-19-informator-browser-extension/ al melding gemaakt van deze aanval.

Als securityonderzoeker wilde ik weten hoe dit precies werkt en wat er in dit geval gebeurt.

Check op internetconnectiviteit - en zelfstartende webbrowser bij (semi-) public W-Fi
Als het de cybercriminelen lukt om de DNS server instellingen in jouw modem/router te wijzigen, maken zij vervolgens misbruik van het feit dat steeds meer besturingssystemen checken of het gebruikte apparaat een werkende internetverbinding heeft. Deze check wordt kennelijk ook gebruikt door (semi-) publieke WiFi access points waarvan de eigenaar wil dat je aan hun voorwaarden voldoet en je evt. vraagt om een code of wachtwoord in te vullen.

Volgens een wat oudere pagina, https://zapier.com/blog/open-wifi-login-page/, waren die URLs ooit:
Apple iOS and macOS: captive.apple.com
Microsoft Windows: www.msftncsi.com/ncsi.txt
Google Android and Chrome: google.com/generate_204
Of en hoe moderne Linux distro's dat doen weet ik niet.

NCSI calls www.msftconnecttest.com
In elk geval proberen recente Windows versies na opstarten, af en toe tussendoor en nadat de internetverbinding hersteld lijkt, verbinding te maken met:
http://www.msftconnecttest.com/connecttest.txt
Merk op dat dit http is (geen https). Dat zou ook erg lastig zijn, want dan zouden Wi-Fi access points een geldig certificaat voor "www.msftconnecttest.com" moeten hebben, en dat is natuurlijk niet de bedoeling.

Overigens maakt niet jouw webbrowser verbinding met die URL, dat doet de "NCSI client" (de Network Connection Status Indicator, onderdeel van Windows NLA = Network Location Awareness). De werking daarvan lijkt te zijn dat als de server antwoordt met:
Microsoft Connect Test
dat Windows ervan uitgaat dat jouw computer verbinding heeft met Internet. Echter, het lijkt er op dat als er iets anders wordt geretourneerd, Windows jouw (als standaard ingestelde) webbrowser zal openen met wat er terugkwam. Daardoor kunnen (semi-) publieke Wi-Fi access points (of proxies in bedrijven) een browser op jouw PC openen met scherminhoud naar keuze.

Analyse van deze aanval
Als de cybercriminelen toegang kunnen krijgen tot de DNS server instellingen in jouw router, wijzigen zij deze (volgens https://www.bleepingcomputer.com/news/security/hackers-hijack-routers-dns-to-spread-malicious-covid-19-apps/, dit heb ik niet getest) in 109.234.35.230 en 94.103.82.249. Omdat BleepingComputer in laatstgenoemde pagina ook het IP-adres noemde dat die DNS servers teruggeven voor 176.113.81.159, heb ik daarmee getest, door aan de hosts file op mijn test-PC toe te voegen:
176.113.81.159 www.msftconnecttest.com
Door de internetverbinding te verbreken en weer te herstellen werd inderdaad Firefox geopend met het plaatje van de browser zoals te zien is in laatstgenoemde BleepingComputer pagina.

Interessant hierbij was dat als ik mijn muispijl boven de "Download" knop plaatste, er als URL verscheen: "https://google.com/chrome". Dat klinkt niet als een malware-download (alhoewel je daarover van mening kunt verschillen).

De source code daaronder luidt echter (ik heb de eerste https vervangen door hxxps en bakhaken om de eerstvolgend punt gezet):
<a target="_blank" onClick="this.href='hxxps://cutt[.]ly/xtb4xhB'" href="https://google.com/chrome"> <button class="btn"><i class="fa fa-download"></i> Download</button></a>
Hmm, daar gaat mijn advies dat je altijd de link moet checken voor je klikt...

Toen ik op download klikte, opende eventjes een leeg Firefox venster. Tevens werd (onzichtbaar), via de URL shortener service van https://cutt.ly/, verbinding gemaakt met:
hxxps://bitbucket[.]org/softcov3/v1/downloads/runcov05.exe
Nb. toen ik daarna in het browservenster mijn muispijl boven de Download knop plaatste, toonde Firefox linksonderin nu wel de bovengenoemde URL naar cutt.ly.

Ook die laatstgenoemde bitbucket URL blijkt geen executable te zijn, maar iets dat een unieke redirect genereert naar (dit was 1 lange karakterreeks):
hxxps://bbuseruploads[.]s3[.]amazonaws[.]com/a3003b0f-6d20-4470-befb-36a1f42c6bf6/downloads/869e7c51-311c-4b40-bcb3-ca836081bea9/runcov05.exe
?Signature=base64_string
&Expires=1585xxxxxx
&AWSAccessKeyId=base64_string
&versionId=base64_string
&response-content-disposition=attachment%3B%20filename%3D%22runcov05.exe%22
Interessant is dat de gegevens achter het vraagteken bij elke download lijken te wijzigen. Daardoor kan bijv. VirusTotal niets met zo'n URL, en meldt (voor alle URL's die ik probeerde) 0 detecties door 72 scanners.

De (unsigned) malware die ik heb gedownload werd vanochtend om 04:16:07 UTC en vanmiddag (om 13:38:09 UTC) door 19 van 72 virusscanners herkend: https://www.virustotal.com/gui/file/65dd5464ed3fd652a83725ba2b470b6fb73e799c86231bd881424488fff5ede1/detection.

Aanvullend onderzoek
In "hxxps://bitbucket[.]org/softcov3/v1/downloads/" trof ik, naast "runcov05.exe", nog één ander kwaadaardig "bestand" aan, althans ook een redirect: "file_signed.exe". Als je daarop klikt wordt ook deze vanaf een Amazon S3 URL gedownload.

Interessant aan deze file is dat deze van een authenticode handtekening lijkt te zijn voorzien (voor de Duitse portable versie van Teamviewer), echter met een ongeldige signature.

Om 13:27:46 UTC werd dit bestand door 37 van 72 virusscanners herkend, zie https://www.virustotal.com/gui/file/85dc928cba39c46588e5862e98b6152cf05813fd0a4e2affcd36c2f84b5c026d/detection (op de details pagina kun je zien welke certificaten aan de file zijn toegevoegd, zonder dat de criminelen over de bijbehorende private key beschikten - waardoor er geen sprake is van een geldige handtekening).

Security awareness tips
1) Handige trucs zoals een automatisch startende webbrowser voor het aanmelden op (semi-) publiek Wi-Fi kunnen ook worden misbruikt door criminelen. Vertrouw nooit zomaar wat in een browser-venster staat; zeker niet als sprake is van een http verbinding. Bij een https verbinding raad ik aan te checken of de domeinnaam bekend is voor jou, dat is ALLES tussen "https://" en de eerstvolgende "/" (slash), waarbij je van rechts naar links moet kijken. Check zo mogelijk het certificaat! Zie https://security.nl/posting/649226 voor meer info.

2) In bedrijven kan een aanvaller met newerktoegang wellicht ook het bovenstaande doen. Met tools als Responder kan zo'n aanvaller PC's van gebruikers (tenzij flink dichtgetimmerd) met andere computers laten verbinden dan bedoeld, en via die weg wellicht ook een browser laten starten - en zo gebruikers ervan overtuigen dat ze iets moeten doen (zoals malware downloaden en starten of hen vragen inloggegevens prijs te geven).

3) Een onder een button (of plaatje etc.) getoonde URL hoeft niet de URL te zijn waar jouw browser werkelijk naar toe gaat als je klikt.

4) Als je van een bestand met een digitale handtekening wilt checken of die signature klopt, volstaat het niet om via "Eigenschappen" (properties) het tabblad met "Digitale Handtekeningen" (Digital Signatures) te openen: je moet een regel van de ondertekenaar selecteren (soms zijn er twee, 1 met een SHA-1 en 1 met een SHA256 hash) en op de "Details" knop klikken.

5) De cybercriminelen maken gebruik van legitieme clouddiensten om hun malware te hosten, waardoor het lastig is om ze "uit de lucht te halen". Er is nauwelijks sprake van specifiek kwaadaardige servers, en op het grootste deel van de servers staat geen malware. De malware is uitsluitend benaderbaar via kort geldige unieke URL's, waardoor ook "safe browsing services" van o.a. Google en virusscanners waarschijnlijk geen alarm slaan.

6) Cybercriminelen verzinnen voor de malware zelf ook steeds nieuwe methodes om detectie door viruscanners te ontwijken. Vertrouw niet alleen op jouw virusscanner en wees alert!

Aanvulling: in https://www.security.nl/posting/649443/Criminelen+laten+Linksys-routers+naar+%22corona-app%22+wijzen zie je hetzelfde plaatje als getoond in het artikel op BleepingComputer.
Reacties (11)
25-03-2020, 17:32 door AceHighness
Nice work Erik ... mooi onderzoekje
25-03-2020, 17:54 door Anoniem
Is een pihole met de optie DHCP ingeschakeld (in pihole) geen goede oplossing van dit probleem?
25-03-2020, 22:40 door Erik van Straten
Door AceHighness: Nice work Erik ... mooi onderzoekje
Dank voor jouw reactie! Met name positieve kritiek is prettig :-)

Overigens zag ik in het door Bitdefender uitgevoerde onderzoek (link in de redactie-pagina over dit onderwerp) dat ook minstens één andere URL shortener wordt gebruikt. En dat ook gewoon in de URL-balk van de browser ingevoerde domeinnamen (zoals "example.com") worden omgeleid naar fake sites.

Tip 7: totdat je een browser hebt die vóór elke domeinnaam die je intikt automatisch "https://" plakt (zoals Firefox binnenkort gaat doen: https://www.security.nl/posting/649456/Mozilla+voorziet+Firefox+76+van+https-only+mode), kun je het beste zelf https:// intikken voor de domeinnaam - tenzij je zeker weet dat het betreffende domein slechts http:// ondersteunt. Maar dat worden er steeds minder.
25-03-2020, 23:25 door Erik van Straten
Door Anoniem: Is een pihole met de optie DHCP ingeschakeld (in pihole) geen goede oplossing van dit probleem?
Ik neem aan dat je bedoelt dat de PiHole (i.p.v. modem/router) als DHCP server werkt en daar ook daadwerkelijk voor gebruikt wordt. Dat helpt wellicht iets. Je kunt overigens in de meeste PC-besturingssystemen zelf DNS-servers configureren (daarmee de via DHCP verstrekte DNS-server gegevens negeren).

Maar persoonlijk zou ik niet willen dat iemand vanaf internet iets in mijn router kan wijzigen. Zelfs als aanvallers aanvankelijk alleen maar DNS-server instellingen kunnen wijzigen, loop je het risico dat de router zelf op onveilige wijze op updates checkt (via http, of via https maar het servercertificaat niet goed controleert) en updates niet of onvoldoende checkt op authenticiteit.

Zodra criminelen verdergaande toegang tot een router hebben (en software kunnen toevoegen of zelfs firmware vervangen) en zij netwerkverkeer kunnen sniffen en/of netwerkpakketjes wijzigen (inclusief, on-the-fly, IP-adressen van internetservers) en/of verkeer met specifieke servers blokkeren (OS updates, antivirus updates, OCSP/CRL's, ntp etc.) kan dat al flinke consequenties hebben voor apparatuur aan je LAN of Wi-Fi. Er is nog steeds veel software (ook apps op smartphones/tablets) die via niet-authenticeerde protocollen communiceert of certificaten niet goed checkt, en blokkeren kan ongeacht het gebruikte protocol.

M.a.w., zelfs als je DoH hebt ingesteld in jouw browser, een domeinnaam zoals example.com intikt (zonder https:// ervoor) en de browser daar een correct IP-adres voor ontvangt, kan jouw router (met NAT aan de internetzijde) jou nog steeds met een andere server laten verbinden. Als dat een server is die HSTS ondersteunt en die je niet te lang geleden met die browser hebt bezocht, lukt zo'n aanval niet (je ziet dan een certificaatfoutmelding die je niet kunt omzeilen). Maar helaas ondersteunen nog steeds veel servers HSTS niet of niet op correcte wijze, en er zijn er nog zeer veel servers die (tevens) ongeauthenticeerde verbindingen (zoals http i.p.v. https) ondersteunen.

Tip 8: zorg dat je router up-to-date is qua patches. Koop een nieuwe als er geen support meer voor is. En zorg dat er niet vanaf internet op kan worden ingelogd en je, ondanks het voorgaande, sowieso het standaard admin-wachtwoord ervan gewijzigd hebt (om CSRF aanvallen te bemoeilijken). Wees alert op "vreemde gebeurtenissen" zoals de persoon in https://www.bleepingcomputer.com/forums/t/715480/coronavirus-dns-router-hijack-covid-19-informator-browser-extension/. Kijk af en toe in je router of de juiste instellingen er nog staan.
26-03-2020, 09:00 door The FOSS
Door Erik van Straten: ... Check op internetconnectiviteit - en zelfstartende webbrowser bij (semi-) public W-Fi
Als het de cybercriminelen lukt om de DNS server instellingen in jouw modem/router te wijzigen, maken zij vervolgens misbruik van het feit dat steeds meer besturingssystemen checken of het gebruikte apparaat een werkende internetverbinding heeft. Deze check wordt kennelijk ook gebruikt door (semi-) publieke WiFi access points waarvan de eigenaar wil dat je aan hun voorwaarden voldoet en je evt. vraagt om een code of wachtwoord in te vullen.

Volgens een wat oudere pagina, https://zapier.com/blog/open-wifi-login-page/, waren die URLs ooit:
Apple iOS and macOS: captive.apple.com
Microsoft Windows: www.msftncsi.com/ncsi.txt
Google Android and Chrome: google.com/generate_204
Of en hoe moderne Linux distro's dat doen weet ik niet. ...

Dit artikel [1] bevat een mooi tabelletje. Bij Linux is de gebruikte URL blijkbaar afhankelijk van de distributie.

[1] https://www.ctrl.blog/entry/network-connection-http-checks.html
26-03-2020, 09:04 door Erik van Straten
@The FOSS: mooie tabel, dank voor de link!
26-03-2020, 09:04 door [Account Verwijderd] - Bijgewerkt: 26-03-2020, 09:50
@Erik,

Ik ben geen security/IT specialist maar een belangstellende lezer omdat hij computerveiligheid serieus neemt en tracht zo goed en kwaad mogelijk in de praktijk te brengen, en voort te zetten. Daarom lees ik jouw bijdragen graag. Vooral omdat je A: een goede balans weet tussen vaktaal en, zoals dat in mijn jeugd heette: populair-wetenschappelijk en B: je afsluit met een inhoudelijke conclusie: een suggestie, raad- en of tipgeving.

Daarnaast vind ik het lovenswaardig dat je dit zomaar belangeloos doet. Niet veel mensen hebben de insteek om met het oog op het algemeen belang uit vakkennis ontstane conclusies te delen met anderen.

Dankjewel!
27-03-2020, 12:26 door Erik van Straten
@Threnology: dank voor jouw reactie! Ik deel graag mijn kennis, en door dat in het Nederlands te doen hoop ik ook lezers te bereiken die niet zo goed zijn in Engels. En gelukkig kan dat nog op security.nl, alhoewel ik mij grote zorgen maak over de toekomst van deze site. Veel goede bijdragers (waar ik het inhoudelijk lang niet altijd mee eens was - maar wel veel van geleerd beb, zoals SirDice) zijn weggelopen of lezen alleen nog maar (Spiff?) als gevolg van het eindeloze getroll op deze site. De weinige inhoudelijk interessante reacties onder artikelen worden zo snel opgevolgd door troll-posts dat niemand ze nog leest of de moeite wil nemen om een zinvolle bijdrage of antwoord op een vraag te schrijven. Heel jammer.

Ook ik vind Windows een gedrocht (wat moet je in vredesnaam met ruim 260 services). Maar ik ben genoeg aan de overkant geweest om te weten dat het gras daar alleen maar groener lijkt. Door te proberen Microsoft ervan te overtuigen dat dingen beter (met name veiliger) kunnen -onkruid wieden zeg maar- hoop ik het gras aan deze kant groener te krijgen. Als voldoende klanten hun krachten bundelen luistert elke leverancier.

Helemaal belangeloos is het overigens niet wat ik doe, naast naamsbekendheid continueren dwingt publiceren mij om zaken goed te doordenken. Vaak kom ik er, tijdens het schrijven, achter dat ik ergens dieper in moet duiken, en daar leer ik weer meer door. Reacties (ook negatieve, mits onderbouwd) stel ik zeer op prijs, en niet alleen ik kan daar wat van opsteken!

Overigens zouden veel meer bezoekers van security.nl kunnen bijdragen en/of vragen stellen over opmerkelijke zaken (met mogelijke security-aspecten) waar zij tegenaanlopen.

Tip: voor velen is Wireshark een brug te ver, en bovendien zijn steeds meer verbindingen versleuteld (en met TLSv1.3 zie je zelfs certificaten niet meer voorbijkomen). Maar een PC-webbrowser als Firefox heeft uitgebreide middelen aan boord om achter de schermen te kijken! Start bijvoorbeeld eens de "Browser console" met de toetsen Ctrl, Shift en j en bezoek de sites die je regelmatig bezoekt. Je hoeft echt niet meteen te snappen wat er in detail gebeurt, maar als je dit af en toe doet en elke keer een ander specifiek onderdeel onderzoekt, is dat in mijn ervaring zeer leerzaam. Alleen al om te zien met welke sites jouw browser, normaal gesproken onzichtbaar, allemaal verbindinng maakt en welke informatie daarbij wordt uitgewisseld is vaak een eye-opener...

Ten slotte: ik beloof niks, maar overweeg om in deze thuiswerktijden wat security-awareness stukjes voor beginners te schrijven. Bestaat daar überhaupt belangstelling voor?
28-03-2020, 09:18 door Anoniem
Hey Erik,

we waren allemaal ooit beginners, en op veel gebieden zijn we dat allemaal nog steeds.

Voor elke azijnpisser zijn er honderd stille genieters, en daar ben ik er een van.

Boks op 1,5 meter.

Thijzzz
28-03-2020, 10:48 door Anoniem
Door Erik van Straten: @Threnology: dank voor jouw reactie! Ik deel graag mijn kennis, en door dat in het Nederlands te doen hoop ik ook lezers te bereiken die niet zo goed zijn in Engels. En gelukkig kan dat nog op security.nl, alhoewel ik mij grote zorgen maak over de toekomst van deze site. Veel goede bijdragers (waar ik het inhoudelijk lang niet altijd mee eens was - maar wel veel van geleerd beb, zoals SirDice) zijn weggelopen of lezen alleen nog maar (Spiff?) als gevolg van het eindeloze getroll op deze site. De weinige inhoudelijk interessante reacties onder artikelen worden zo snel opgevolgd door troll-posts dat niemand ze nog leest of de moeite wil nemen om een zinvolle bijdrage of antwoord op een vraag te schrijven. Heel jammer.
....

Ten slotte: ik beloof niks, maar overweeg om in deze thuiswerktijden wat security-awareness stukjes voor beginners te schrijven. Bestaat daar überhaupt belangstelling voor?

Geweldig Erik, ik zou de artikelen graag volgen en delen met mensen die niet technisch onderlegd zijn!
24-02-2021, 01:13 door Anoniem
Mijn complimenten voor de heldere analyse van deze aanval in het Nederlands. Graag wil ik je bedanken voor dit artikel. Ik ben zelf geen gebruiker van deze site, vandaar het "Anoniem" account, maar kwam dit artikel tegen op het internet na slachtoffer te zijn geweest van deze type DNS hijacking. Het genoemde artikel van BleepingComputer.com kwam ik als eerst tegen maar ben helaas niet veel andere artikelen tegen gekomen, behalve dan in de BleepingComputer forums zelf.

Na het downloaden van een verkeerd bestand verkregen van een supplier op Alibaba, waren precies zoals hier omschreven mijn DNS server instellingen gewijzigd. Per direct na het downloaden van dit bestand verbrak de internetverbinding terwijl mijn laptop zichtbaar nog wel verbonden was met het WiFi netwerk. Binnen enkelen seconden opende zichzelf een browser met inderdaad de URL www.msftconnecttest.com. In eerste instantie vertrouwde ik dit natuurlijk niet, maar bij het opzoeken van deze URL in Google kom je alleen te weten dat de URL www.msftconnecttest.com een legitieme site is en onderdeel is van de NCSI client onderdeel van Windows. Echter had ik dus te maken met een "/redirect" URL..

BELANGRIJKE TOEVOEGING. Zoals omschreven in dit artikel, en in het artikel van BleepingComputer, werd inderdaad bij mij ook een (Chrome) pagina geopend (via de NCSI client onderdeel van Windows). Echter, de pagina die ik te zien kreeg was een vrijwel exacte kopie van mijn WiFi modem/router login pagina. Met zelfs de juiste modem op de achtergrond. Op deze pagina vertoonde zich een download button die nodig was om het zogenaamde internetconnectiviteitprobleem op te lossen. Stom genoeg op deze download knop gedrukt. Halverwege deze download (48%) snel mijn laptop uitgedrukt vanwege argwaan. Helaas tevergeefs, mijn laptop was overduidelijk geïnfecteerd met malware. Ik heb vrijwel direct de laptop in de Safe Mode opgestart. Na een back-up op een externe harde schijf van een aantal bestanden, staat deze momenteel bij de computerzaak voor een volledige wipe + reinstall van de hard drives en Windows 10.

Artikel van BleepingComputer doet vermoeden dat;
Update 3/24/20: Security researcher Fumik0_ told BleepingComputer that based on the network traffic, this is the Oski information-stealer, not Vidar. Article updated.

Ik heb verder niet bijzonder veel expertise van security/ICT op de basis na..maar dit lijkt mij een behoorlijk smerige malware om op te lopen.

Zoals het artikel van BleepingComputer doet vermelden, ligt de kern van deze DNS hijacking dus in de gewijzgde DNS server instellingen van de modem/router. In mijn geval zijn deze door het downloaden van een malicous bestand van Alibaba gewijzigd, en hebben de cybercriminelen via deze manier toegang gekregen. Opmerkelijk was ook dat na het downloaden van dit bestand op Alibaba, de WiFi-internetverbinding voor zowel mijn laptop als telefoon het direct niet meer deed, terwijl beiden nog wel verbonden waren op het netwerk. Indicatie dat mijn DNS server instellingen inderdaad gewijzigd waren. De modem/router heeft een factory reset ondervonden en inloggegevens voor zowel modem als WiFi internet zijn ook gewijzigd. Ik ben benieuwd met het resultaat van de wipe en de reinstall van de hard drives en Windows 10. Ik hou jullie graag op de hoogten mochten jullie geïnteresseerd zijn.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.