image

Malware omzeilt Windows UAC-beveiliging via nieuwe truc

zaterdag 28 januari 2017, 07:29 door Redactie, 8 reacties

Cybercriminelen hebben een nieuwe methode gevonden om een beveiligingsfunctie van Windows 7 te omzeilen en zo beheerdersrechten te krijgen. Het gaat om Gebruikersaccountbeheer, ook bekend als User Account Control (UAC). UAC werd met Windows Vista geïntroduceerd en toont gebruikers een pop-up als er iets in het systeem wordt aangepast. Een nieuwe versie van de Dridex Trojan is de methode te slim af.

De malware, die speciaal ontwikkeld is om geld van bankrekeningen te stelen, wordt meestal verspreid via Word-documenten met een kwaadaardige macro. Als de gebruiker de macro inschakelt wordt de malware op het systeem gedownload. Om UAC te omzeilen en zichzelf met beheerdersrechten te laden hebben de Dridex-ontwikkelaars een nieuwe methode gevonden.

Windows 7 laat een aantal applicaties aanpassingen doorvoeren zonder daarbij het UAC-scherm te tonen. Het gaat onder andere om Windows Schijfherstel. De malware kopieert deze applicatie naar een nieuwe map en start die vervolgens om de malware, die zich in dezelfde map als dll-bestand bevindt, met beheerdersrechten uit te voeren. Vervolgens worden er firewall-aanpassingen doorgevoerd en maakt Dridex verbinding met de botnetserver, zo meldt beveiligingsbedrijf Flashpoint. Onderzoekers hebben vorig jaar meerdere keren aangetoond dat UAC te omzeilen is.

Reacties (8)
28-01-2017, 12:27 door karma4
Niets bijzonders of nieuwe als je de geschiedenis en weerstand bij gebruikers gevolgd hebt. "Het is mijn machine en ik bepaal wat er gebeurt" tegen de strict gescheiden aanpak met al de lastige beheer stappen.
https://blogs.msdn.microsoft.com/aaron_margosis/2007/06/29/faq-why-cant-i-bypass-the-uac-prompt/

Ook leuk setuid in Unix omgevingen PAM en meer , iemand ooit er in gedoken wat voor ellende daar achter zit?
Moet je eens doen met een Multi tier - Multi-user - Multi Os omgeving.
28-01-2017, 12:53 door Erik van Straten - Bijgewerkt: 28-01-2017, 13:37
Uit [1]:
The new UAC bypass method works as follows:
1. Dridex creates a directory in Windows\System32\6886.
Daar heb je al volledige admin rechten voor nodig; met de UAC slider op de hoogste stand (4 van 4) leidt de poging om een subdir ergens onder C:\Windows\ aan te maken tot een UAC prompt.

Trouwens, ook het starten van recdisc.exe (create recovery disc) leidt, met de UAC slider op de hoogste stand, eerst tot een UAC prompt. Als je als gewone gebruiker recdisk.exe start, word je gevraagd om eerst admin credentials in te voeren.

De doelgroep lijken dus admins met de UAC slider stand op de default waarde 3 of lager (zie ook [2]); in andere situaties word je op z'n minst gewaarschuwd als je deze malware start.
(Ervan uitgaande dat de write-up van Vitali Kremez in [1] tot zover klopt).

De beschreven nieuwe Dridex malware kopieert, naar verluidt, zowel de legitieme recdisc.exe als een kwaadaardige SPP.dll naar C:\Windows\System32\6886\ en start recdisk.exe vanuit die laatste map. Door een slordigheid van een Microsoft programmeur [3] in recdisk.exe wordt de kwaadaardige SPP.dll uit de "current directory" (i.p.v. "hard" uit C:\Windows\System32\) geladen, en kan (met admin rechten dus) doen wat de programmeur ervan wenst.

Dit klinkt bij mij vooral als een poging om AppLocker (de opvolger van en vergelijkbaar met SRP = Software Restriction Policies) te omzeilen, mede omdat het erop lijkt dat een executable in %TEMP% niet direct maar indirect via
C:\Windows\System32\svchost.exe en C:\Windows\System32\spoolsv.exe wordt opgestart (ik heb er geen idee van of 1 van deze commando's, of beide, werken).

Of daadwerkelijk sprake is van AppLocker/SRP omzeilen weet ik niet zeker, want [1] is extreem onduidelijk. In de tekst staat bijvoorbeeld:
Dridex executes the following commands:
• C:\Windows\System32\svchost[.]exe “C:\Users\%USER%\AppData\Local\Temp\dridex[.]exe”
• C:\Windows\System32\spoolsv[.]exe “C:\Users\%USER%\AppData\Local\Temp\ dridex[.]exe”
Let naast de spatie vóór dridex in de laatste regel op image 5, waarin (met enige moeite) te lezen valt dat de command line luidt:
C:\Windows\System32\svchost.exe "C:\Users\Admin\Desktop\dridex.exe"
Desktop dus i.p.v. Temp; hier lijkt geen sprake van correcte en zorgvuldige verslaglegging.

Opvallend vind ik ook dat in image 2 sprake is van:
C:\Documents and Settings\Administrator\Desktop\103a...
Dat lijkt een ander account in een oudere Windows versie.

Kortom, een rommelig en slordig verhaal (naast bovengenoemde slordigheden: batchfiles die verkeerd gewrapped worden, "customer packer" waar vermoedelijk "customized packer" bedoeld wordt etc.) waar ik niet heel wijs uit wordt. Weet iemand of er daadwerkelijk sprake is van AppLocker/SRP bypass (naast UAC bypass)? Of is dit alleen maar om AV detectie te bemoeilijken?

[1] https://www.flashpoint-intel.com/blog-dridex-banking-trojan-returns/
[2] https://www.security.nl/posting/498070/UAC+stand+3+bypass
[3] DLL binary planting vulns creëeren lijkt wel de "best all time practice" bij Microsoft programmeurs - terwijl zij beter zouden moeten weten, zie https://msdn.microsoft.com/en-us/library/windows/desktop/ff919712(v=vs.85).aspx

28-01-2017, 16:32 door [Account Verwijderd]
Wordt er hier uitgegaan van werken in een Administrator account met UAC ingeschakeld of werken in een standaard account met beperkte rechten? Ben je in zo'n standaard account hier ook kwetsbaar voor?
28-01-2017, 21:09 door Erik van Straten
28-01-2017, 16:32 door opti: Wordt er hier uitgegaan van werken in een Administrator account met UAC ingeschakeld of werken in een standaard account met beperkte rechten? Ben je in zo'n standaard account hier ook kwetsbaar voor?
Mijn vorige bijdrage was misschien niet zo duidelijk, maar:

1) Als je een "admin" account gebruikt, d.w.z. een account dat lid is van de groep Administrators, krijg je geen enkele UAC melding als de UAC slider op stand 3 of lager staat (de standaard instelling in Windows 7 en later). Het account dat wordt aangemaakt als je Windows installeert is altijd lid van de groep Administrators (naast het, soms verborgen, account met de naam "Administrator").

Of jouw account lid is van de groep Administrators kun je zien door in een opdrachtpromptvenster het volgende commando te starten:
whoami /groups
Als daarin een regel voorkomt die begint met het volgende ben je lid van Administrators:
BUILTIN\Administrators
(ik weet niet hoe dit eruit ziet in een Nederlandstalige Windows versie).

2) Als je een account gebruikt dat geen lid is van de groep Administrators en deze malware uitsluitend werkt zoals beschreven in [1], zal deze hooguit meldingen genereren dat je het Administrator wachtwoord moet invoeren.
29-01-2017, 12:43 door [Account Verwijderd]
Bedankt Erik! Ik werk onder een administrator account met de slider op de hoogste stand. Is malware nu in staat om deze beveiliging gemakkelijk te omzeilen omdat er geen wachtwoord ingevoerd hoeft te worden (alleen klikken op "ja" is voldoende na de prompt)?
29-01-2017, 16:12 door Erik van Straten
29-01-2017, 12:43 door opti: Bedankt Erik! Ik werk onder een administrator account met de slider op de hoogste stand. Is malware nu in staat om deze beveiliging gemakkelijk te omzeilen omdat er geen wachtwoord ingevoerd hoeft te worden (alleen klikken op "ja" is voldoende na de prompt)?

Uit [1]:
Sept. 2007, Door Dr. Jesper M. Johansson: UAC does not, nor is it intended to, stop malware.

Uit [2]:
Feb. 2009, door Steven Sinofsky / Jon DeVaan: UAC is not a security boundary.

Los van UAC en de privileges van het gebruikte account: wat mij betreft kan een computer al deels gecompromitteerd zijn als kwaadaardige code buiten een sandbox heeft gedraaid, in dit geval zodra een of meer kwaadaardige macro's in een Office document zijn uitgevoerd. Los van of het lukt om aanvullende kwaadaardige bestanden te downloaden, kunnen Office macro's al allerlei ongewenste veranderingen doorvoeren op jouw PC, ook zonder dat UAC popups worden getoond. Die macro's mogen immers alles wat jij mag.

En dat geldt ook voor eventueel aanvulende malware die zo'n macro tracht te downloaden. Ook die mag alles wat jij mag zonder UAC prompts te veroorzaken (bijv. alle bestanden versleutelen waar jij schrijfrechten op hebt).

De auteurs van de beschreven Dridex variant willen kennelijk wel dat (een deel van) hun code met volledige admin rechten draait. Daarbij kunnen ze hun code laten checken of dat in jouw situatie tot een zichtbare UAC prompt zal leiden, en de code zo maken dat in zo'n geval niet alle door hen gewenste functionaliteit beschikbaar is voor de malware (ik zou er maar niet vanuit gaan dat malware dan het bijltje erbij neergooit). Andersom, als je malware de gelegenheid geeft om stilletjes de hoogste rechten te verkrijgen, zal geavanceerde malware dat niet nalaten, want daarmee kan het zich veel beter verbergen voor toekomstige antivirus updates e.d.

Of malware in staat is om jou over te halen akkoord te gaan met een UAC prompt, hangt deels van jou af. Als jij een e-mail bijlage opent in MS Word en kort daarna verschijnt er -ongevraagd- een UAC prompt om event viewer te starten, dan zou het kunnen dat je [3] gelezen hebt en je herinnert dat je beter kunt afbreken (maar, zoals ik hierboven beschrijf, feitelijk ben je dan al te laat).

Zelfs met de UAC slider op stand 4 heb je geen garantie dat je gewaarschuwd wordt. Ik sluit niet uit dat slimme malware kan "meeliften" op het moment dat je zelf een programma start dat een UAC prompt veroorzaakt, en los daarvan zijn er gevallen van volledige UAC bypass (slider op stand 4 dus) gedocumenteerd, zie bijv. [4] en [5] (bron: comments onder [6]).

Ten slotte, uit [4] en daar ben ik het volledig mee eens:
As always, users should follow best practices and not use an administrative account for daily computer usage.
en, uit [7]: Microsoft zegt zelf UAC te hebben ontworpen om gebruikers te irriteren (van UAC heb je, zo is mijn vele jaren lange ervaring, minder last als je een non-admin account gebruikt).

[1] https://technet.microsoft.com/en-us/library/2007.09.securitywatch.aspx
[2] https://blogs.msdn.microsoft.com/e7/2009/02/05/update-on-uac/
[3] https://www.security.nl/posting/498070/UAC+stand+3+bypass
[4] https://enigma0x3.net/2016/07/22/bypassing-uac-on-windows-10-using-disk-cleanup/
[5] https://bugs.chromium.org/p/project-zero/issues/detail?id=156&can=1&q=label%3AFinder-forshaw
[6] https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
[7] https://www.cnet.com/news/microsoft-vista-feature-designed-to-annoy-users/
29-01-2017, 18:12 door Anoniem
Toch ook maar mijn beperkte duit in het zakje doen: met (oude versies van) Windows nooit je dagelijkse taken onder een account met administrator rechten doen, maar altijd met een gebruikers account met beperkte rechten werken. Voor de paar (hopelijk betrouwbare) programma's die je toch met admin rights moet draaien is er altijd de "run as" optie waar je om je login-naam en paswoord van een account met admin rechten gevraagd wordt.

Ik durf zelfs zo ver te gaan: wanneer je toch ingelogd bent met admin rights, om bijvoorbeeld wat onderhoud te doen, trek dan de netwerk kabel uit je computer.

Hoe het met nieuwe versies zit weet ik niet, ben onlangs afgestapt van het gebruik van Windows.
30-01-2017, 17:53 door Anoniem
Wat een troep de windows...hoop Allende.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.