Hacking demystified
De 5 P’s en forensic readiness Oscar Vermaas
Agenda • Een beetje techniek – Terminologie – Context
• Hacking fases; de 5 P’s • Monitoring • Forensic readiness
Vormen van cybercrime • Virussen/wormen/driveby downloads – Niet doelgericht – Schieten met hagel – Opvolging veelal geautomatiseerd
• Spear Phishing – Gericht – Opvolging “handmatig”
Vormen van cybercrime • (“Ethical”) Hacking ongericht – Aandacht vanwege publieke kwetsbaarheid (google!) – Aandacht vanwege laaghangend fruit • Foutmeldingen op site
– Aandacht “omdat het kan” • Lektober/”geenstijl”
• Hacking gericht – Baldadigheid/Prestige/Hacktivisme – Advanced Persistent Threat
Advanced Persistent thread • Wordt uitgevoerd als “er iets te halen is” – Klantgegevens – Bedrijfsspionage – (afpersing Dos)
• Uitvoering – Trojan via spearphish – Hacken kwetsbaar systeem, interne systemen zijn vaak slecht beveiligd
Vormen van cybercrime vandaag • Buiten beschouwing – (Spear)phish – Driveby downloads – Virus/worm
• In scope, – Targeted attack op organisatie
Wat ziet de hacker?
Gevolgen hack • Lekken vertrouwelijke informatie – – – – –
Imagoschade Wet bescherming persoonsgegevens Aansprakelijkheid Investering intellectueel eigendom Bedrijfsgegevens zoals klantbestanden
• Denial of service – Afpersing – Oneerlijke concurrentie
• Fraude – Spookfacturen/spookorders – Autorisatie
Gevolgen hack indirect • • • •
Kosten onderzoek Deelneming aan botnet Stepping stone Diefstal/gebruik van resources – Bitcoins!
• Malware deployment naar bezoekers
Internet; méér dan WWW • Op afstand bedienbare systemen – Telnet, Secure Shell, Remote Desktop, VNC, X11
• Bestandsoverdracht – SMB/CIFS, FTP, NFS
• Database toegang – MSSQL, MySQL, Oracle, PostgreSQL, Sybase
• En natuurlijk – E-mail, streaming audio/video, IRC, Usenet, P2P
IP adressen, hostnames en DNS • Computers adresseren elkaar op basis van IP adressen – Lastig te onthouden
• Nameservers vertalen IP adressen naar hostnames en vice versa – www.hoffmannbv.nl = 87.233.226.187 – 8.8.8.8 = google-public-dns-a.google.com
Fasen van hacking en de 5 P’s • Een hack is niet 1-2-3 gezet – Afhankelijk van factoren
• Rode draad is – Probe – Penetrate – Persist – Propagate – Paralyze
Probe • De eerste fase is verkenning • Welke IP adressen behoren tot organisatie? – RIPE IP ranges – (Brute force) DNS
• Welke servers zijn actief en benaderbaar? • Welke diensten zijn actief op de servers? • Meer systemen/diensten/interactie = meer kansen • Documenten met vertrouwelijke informatie – Google!
Verkenning RIPE
Verkenning (brute force) DNS • Zone transfer – Nameserver vertelt wat hij weet – Meestal niet meer mogelijk
• Brute force hostnames raden – – – – – – –
webmail.bedrijf.nl ftp.bedrijf.nl customers.bedrijf.nl db1.bedrijf.nl shares.bedrijf.nl thuiswerk.bedrijf.nl portal.bedrijf.nl
Internet poort • Applicaties ‘luisteren’ op poort • Ieder IP pakket (*) bevat poortnummer 80|1100
21|0010
3389|1111
80|0110
• Poortnummer bepaalt applicatie op doelsysteem
10.100.23.163
21 FTP
80 HTTP
3389 RDP
Poortscan I • Stuur pakketten met poort 1 t/m 65355 • Als applicatie luistert, dan OK 20|1111
21|1111
22|1111
23|1111
10.100.23.163
21 FTP
80 HTTP
21 OK
• Uiteindelijk zijn alle luisterende apps bekend
3389 RDP
Poortscan II
Sporen • Firewall log – De meeste SYN pakketten stuiten op firewall – SYN valt op als bijbehorende service niet draait – Source IP wordt gelogd
• Passieve verkenning is moeilijk te detecteren – RIPE – Google
• Bruteforce DNS – Nameserver log
Propagate sporen
Penetrate • De targets zijn bekend – Naar voren gekomen in verkennende fase
• Vinden van kwetsbaarheden/exploits – Google productnaam icm CVE – Kijk op exploit-db.com – Start Nikto, dirbuster, sqlmap, msfconsole …
• Of – Download source en analyseer – Fuzz – “Handwerk”
Penetrate
Penetrate
Typische kwetsbaarheden I • Configuratie – Default/geen wachtwoorden – Browsable folders (“Open dirs”) • www.bedrijf.nl/download/dbbackup020613.txt
• “Verstopte” functionaliteit – www.bedrijf.nl/beheer/files/upload.asp
• Clientside validatie – Browser valideert invoer gebruiker – Eenvoudig te omzeilen
Typische kwetsbaarheden II • SQL injectie – www.bedrijf.nl/artikel?id=10 union select passwd from users
• Remote command execution – www.bedrijf.nl/ping.php?ip=10.2.0.1; curl inranet.bedrijf.nl
• Path traversal – www.bedrijf.nl/download?f=..\..\..\..\..\boot.ini – www.bedrijf.nl/download?f=...\.\...\.\...\.\...\.\boo t.ini
Casus pentest • Op het oog onschuldige foutmelding …
Casus pentest • … bevat kritische informatie voor maken database backup
• Slordigheid foutmelding heeft grote gevolgen
Penetrate ‘lengthy operations’ • Boolean SQL injection – 1 bit informatie per request – 1 letter = 8 bits = 8 requests
• Padding Oracle decrypt – Gemiddeld 128 requests/letter
• Scanners – Nikto ‘6448 items checked’
• Brute force login attempts
Penetrate ‘lengthy operations’ • Real life scenario in pentest – Boolean SQL injectie in website – Wachtwoord hashes uit database – Inlog CMS gevonden met bruteforce scanner – Upload van shell script mbv CMS – Pathtraversal voor upload naar executable dir – Tunnel dmv van reDuh
Sporen • Webserver logs – – – –
Omvang logbestanden Opeenvolgende (bijna identieke) requests User agent Steekwoorden (bijv SQL, /etc/passwd, ‘shell.php’)
• Audit logs – Omvang logbestanden – Voor diverse services (SSH, FTP etc)
• Mailserver logs – Zelfs daar bestaan exploits voor
Sporen
Persist • De hacker is binnen – Volgende stap is binnen blijven
• Meerdere opties – Gebruik blijven maken van initiële kwestbaarheid – Uploaden backdoor/trojan – Wachtwoord/gebruikersnamen bemachtigen
Wat ziet de hacker? Het begint met
Persist sporen • Executable bestanden in opstart profiel gebruiker • Virusscanner • Databestanden • Wijzigingen in register
Propagate • De hacker is blijvend binnen – Wellicht nog in DMZ … – … als er een DMZ aanwezig is
• Achter de firewall schijnt de zon • Breidt aanval uit naar overige systemen (in interne netwerk) binnen organisatie – Fileservers – Databaseservers – Productiesystemen – Domaincontrollers
Propagate • Moeilijkheidsgraad afhankelijk van – Firewall/proxy naar buiten – Virus scanners – Compartimentering netwerk! – Kwetsbaarheid interne systemen
• De probe en penetratie fase worden intern overgedaan – Met bijbehorende sporen van dien
Propagate DNS tunnel Afbeelding verwijderd
Propagate • PsExec/RDP/NET USE Audit failure/Succes – Audit policy defaults
Propagate sporen • Sporen in firewall zijn zichtbaar indien voldoende compartimentering netwerk • Onverwachte communicatie tussen systemen – Outbound webserver verkeer – Webserver naar fileserver
• Backdoor/bot communicatie met C&C • Activiteit buiten kantooruren – Logintijden op diverse servers – Reboots van servers
Paralyze • Motieven hacker worden duidelijk • Denial of Service/Afpersing – Verwijderen kritische componenten/bestanden/data – Versleutelen kritische documenten/bestanden/data
• IP diefstal • Fraude
Paralyze sporen • Denial of Service/Afpersing duidelijk te herkennen – Laat, maar in ieder geval herkend
• Fraude/IP diefstal kan jaren duren – Custom malware niet herkent door virus scanners
• Geen noodzaak hacker voor verder verkenning – “Draait mee in het proces”
• Outbound traffic naar FTP/C&C/E-mail enige indicatoren – Verdwijnt in ruis in grote organisatie
Monitoring • Met voldoende monitoring kan een hack mogelijk vroegtijdig gedetecteerd worden – Passief de logs laten vollopen helpt niet
• Onzorgvuldig geconfigureerde systemen en firewalls veroorzaken veel ruis – Monitor-moeheid
Forensic readiness • Weet wat u logt • Webserverlog – Host-header – POST data
Forensic readiness • Niet alle default log-instellingen zijn geschikt voor onderzoek – Windows eventlog – Apache weblog – Maximale grote logbestanden/retentie – Accepts/deny alle poorten?
• Controleer nu of de configuratie geschikt zijn – Tijdens onderzoek incident is dat te laat
Forensic readiness • Ken je netwerk en de data – Definieer een baseline van ‘normaal’ gedrag – Hierin vallen uitzonderingen op – In chaos zoeken naar uitzonderingen is als een naald in een hooiberg
• Configureer systemen dusdanig dat deze niet bijdragen aan ruis
Conclusie • Met voldoende voorbereiding en dijkbewaking kunt u cyberaanval detecteren – Verschillende fasen waarin detectie kan plaatsvinden
• Waakzaamheid is geboden – Ziet uw organisatie wat er op het netwerk gebeurd? – Wordt dit gelogd/gemonitoord? – Phishing/spearphishing/driveby-downloads voltrekken instantaan!
Dank voor uw aandacht