Op uitnodiging van Computable had ik het genoegen om deel te mogen nemen aan de hands-on hacking workshop bij Madison Gurkha in Eindhoven met de naam: From XSS to Domain Admin. Als reguliere deelnemer betaal je slechts het luttele bedrag van honderd euro om aan deze workshop deel te nemen.
De workshop is bedoeld voor mensen die wel enige, maar geen diepgaande kennis hebben van de meest voorkomende it-beveiligingsrisico’s. Tijdens de workshop is ons geleerd hoe (ethische) hackers denken, waarbij we zelf aan de slag zijn gegaan om te zien hoe een geavanceerde aanval kan worden uitgevoerd. Op deze manier kunnen we volgens Madison Gurkha ervaren en zien hoe een hacker misbruik kan maken van kwetsbaarheden en dus hoe dit gevaar beter kan worden ingeschat en hoe we ons hiertegen kunnen wapenen.
De workshop ‘From XSS to Domain Admin’ behandelt de kwetsbaarheid in webapplicaties met de naam cross-site scripting (xss), een fout in de beveiliging. Het probleem wordt veroorzaakt doordat de invoer die de webapplicatie ontvangt (zoals cookie, url, request parameters) niet juist wordt verwerkt en hierdoor in de uitvoer terecht komt naar de eindgebruiker. Via deze bug in de website kan er kwaadaardige code (Javascript, VBscript, Activex, hrml, Flash et cetera) geïnjecteerd worden. Hiermee kunnen onder meer sessiecookies worden bekeken, sessies van een gebruiker worden overgenomen, functionaliteit van een website worden verrijkt of onbedoelde acties voor een gebruiker worden uitgevoerd.
Phishing
Vaak wordt xss gebruikt in combinatie met phishing, waarbij de eindgebruiker wordt verleid om op een met xss geprepareerde link in een emailbericht te klikken. Zodra deze persoon op de link klikt wordt de xss-aanval uitgevoerd (reflected-xss). Tijdens de workshop is een vorm van xss gebruikt waarbij Javascript op de webserver werd opgeslagen (stored-xss).
Nadat de ochtendgroep zijn spullen had ingepakt, was het rond 13.00 uur mijn beurt. Ik werd vergezeld door dertien andere deelnemers die voor de middagworkshop van 13.00 uur tot 16.00 uur hadden gekozen. De workshop werd ingeleid door security consultants van Madison Gurkha: Mandy van Oosterhout, Ward Wouts en Arnoud Koster. Bij de start van de workshop moest Kali Linux opgestart worden vanaf een usb-stick. Hiertoe moest de bios van de eigen meegebrachte laptop worden aangepast, wat bij enkele laptops tot de nodige strubbelingen leidde. Gelukkig had de organisatie enkele laptops beschikbaar die wel snel ingezet konden worden. Na het starten van het besturingssysteem werd Metasploit opgestart.
Metasploit Project
Metasploit Project is een open source informatiebeveiligingsproject dat informatie verstrekt over kwetsbaarheden in computersystemen die gebruikt kunnen worden door hackers en dat helpt bij het onderzoeken van systemen op dergelijke kwetsbaarheden.
Metasploit kan worden gebruikt om de kwetsbaarheden van computersystemen te testen en om op systemen in te breken. Het kan dus voor legitieme alswel illegale doeleinden worden gebruikt.
Doordat Metasploit een belangrijke plaats inneemt op de beveiligingsmarkt, wordt er bij de melding van kwetsbaarheden in systemen vaak informatie meegegeven over hoe een kwetsbaarheid in Metasploit kan worden gebruikt. In Metasploit wordt er een strikte scheiding gemaakt tussen een kwetsbaarheid, de programmatuur (payload) die de kwetsbaarheid kan uitbuiten en de shellcode. Uiteindelijk wordt de programmatuur die de kwetsbaarheid kan uitbuiten vertaald in shellcode die door een computer uitgevoerd kan worden.
Omdat de command shell van Windows-systemen zeer beperkt is in vergelijking met de shells die besturingssystemen zoals Unix, Linux en OS/X bieden, biedt Metasploit de Meterpreter aan. De Meterpreter biedt een uitgebreidere soort shell dan de Windows command shell.
Kwetsbaarheid misbruiken
Na het starten van Kali Linux moest er eerst een verbinding opgezet worden met een lokaal Wi-Fi-netwerk wat vervolgens toegang gaf tot een lokale website die we moesten gaan aanvallen. Voordat we daadwerkelijk gaan aanvallen moet er natuurlijk eerst even gecontroleerd worden of de website gevoelig is voor xss. Dat gebeurt heel eenvoudig door een scriptje in te tikken in een invulveldje op de website. We injecteren ‘alert(1337)’ tussen script tags en prompt krijgen we als antwoord de javascript-alert ‘1337’ (zie nevenstaande screendump), we weten nu dat het invoerveld op de site kwetsbaar is. Vervolgens werd Metasploit gestart en Meterpreter aangeroepen. Met BeEF kon vervolgens de xss-kwetsbaarheid misbruikt worden.
Beoordeling workshop
Ook voor mensen met weinig kennis van de toegepaste methode is de workshop goed te volgen daar de afzonderlijke stappen duidelijk worden uitgelegd. Ook is er ruimte voor overleg. Zo kregen we tussendoor nog enige tips over passwords, naar aanleiding van een discussie daarover.
Al met al een leuke, gezellige, maar vooral leerzame middag.
Leuk grapje, benieuwd wie het allemaal begrijpt.
HaHa, 100 punten Pascal!
LOL, ik had een WTF momentje, maar goed, komt deze nu uit de reactie of het artikel?
Ondertussen vervangen door een plaatje, overigens is het CMS niet van buitenaf bereikbaar. Door de tekst van het artikel te plaatsen is het script zijn werk gaan doen. (En niet als “tekst” gelezen en weergegeven in het artikel.