Kom er maar in, MS12-020. Deze kwetsbaarheid is begin deze maand (Maart 2012) ontdekt, en het blijkt geen lieverdje. Net als bij Conficker is het theoretisch mogelijk voor aanvallers om eigen code op de kwetsbare systemen uit te voeren, net als extra bonus dat deze software automatisch op het Windows "SYSTEM" account draait. Het hoogst haalbare op een Windows machine.
Maar, om even Mike van Tell-Sell te quoten, dat is nog niet alles! Waar conficker gebruik maakte van MS08-067, een kwetsbaarheid in het protocol van bestands- en printerdeling welke vaak niet bereikbaar is via internet, gaat de MS12-020 kwetsbaarheid over een fout in Microsoft's RDP (Remote Desktop Procotol). Oftewel, een protocol wat ervoor ontworpen is om beheer op afstand (Dus vaak via internet) te verzorgen.
Helaas (of gelukkig) is het niet zonder meer bij elke computer met RDP mogelijk deze kwetsbaarheid te misbruiken. Er zijn een paar condities waaraan voldaan moet worden:
- Microsoft Update KB2621440 / KB2667402 (Afhankelijk van het systeem) mag niet geïnstalleerd zijn.
- Network Level Authentication mag niet ingeschakeld zijn
Het eerste punt is in een perfecte wereld geen probleem. Deze updates zitten immers al in de automatische Windows updates en worden dus vanzelf geïnstalleerd. Tenzij dat natuurlijk niet aan staat.
Het tweede punt is wat lastig. Het meest veilige is om RDP zo in te stellen:
Echter, lang niet alle clients ondersteunen dit. Denk hierbij bijvoorbeeld aan clients op:
- Oudere Windows versies
- Linux / Mac computers
- Mobiele telefoons
Dus, vaak wordt RDP zo ingesteld:
Nu ben ik geen ster in kansberekening verder, dus dat laat ik aan anderen over. Maar volgens dit onderzoek ligt het aantal kwetsbare systemen rond de 5 miljoen, van Windows XP tot 7, van Windows Server 2003 tot 2008 R2. Dit zijn dus systemen van consumenten, maar ook bedrijven. Van kleine webshops tot grote ondernemingen met gevoelige gegevens. Maar hoe erg is deze kwetsbaarheid dan?
Laten we eens kijken. Voor deze test heb ik een Windows 7 machine klaar staan die aan de twee eerder genoemde condities voldoet. Daarnaast heb ik aan de andere kant een BackTrack 5 machine met Metasploit. Het enige wat ik hoef te doen, is de juiste module te kiezen en het IP adres van de machine in te geven. Hierna de module uitvoeren leidt tot het volgende:
Er wordt heel trots "seems down" gemeld. Dus wat is er nu op de Windows machine te zien? Het volgende:
En dat is de essentie van het probleem. Iedereen die weet hoe een muis werkt, kan op dit moment in theorie 5 miljoen systemen laten crashen. Nu denk je vast "ja, dat is leuk, maar dat Linux snap ik niks van natuurlijk". Vrees niet, gemak dient de hacker mens, er is een nog simpelere Windows variant voor dit "geintje":
Met zo goed als hetzelfde resultaat:
Nu hoor ik je denken: "Oke, we kunnen systemen laten crashen, maar wat is daar het praktisch nut van?". Vrij weinig. Maar, bedenk dat dit nog geen maand oud is. Er zullen ongetwijfeld (zeer) binnenkort varianten uitkomen die het mogelijk maken om in plaats van een crash ervoor te zorgen dat de server jouw code uitvoert. Dus nogmaals, 5 miljoen computers op afstand infecteren / overnemen met 4 á 5 commando's. Of tenminste, tot het geautomatiseerd wordt in de vorm van een worm, een soort Conficker 2.0.
De oplossing is gelukkig simpel genoeg, maar wat nu als dat in de omgeving niet gewenst is? Denk aan clients die niet met NLA overweg kunnen, of een systeem wat niet geupdate kan worden omdat het de compatibiliteit met dat ene dure software pakket niet kan garanderen. Wat dan?
Vrees niet, er zijn meer oplossingen. Zo zijn er bijvoorbeeld intelligente firewall pakketten met detectie voor dit probleem:
Dit keer, bij het uitvoeren van de tools, komt het volgende scherm boven:
En de verbinding wordt verbroken. Beide manieren genoemd in dit blog werken niet, en er wordt netjes een melding in het logboek geplaatst:
Dit bewijst wederom hoe ontzettend belangrijk is om systemen up to date te houden, de beveiliging goed na te kijken, en een "intelligente" firewall te gebruiken in plaats van een "poortje open, poortje dicht" firewall. Zorg er in ieder geval voor dat je, hoe dan ook, niet kwetsbaar bent voor deze aanval.