Referent: Yves Kraft
21. Mai 2019
Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man
dagegen unternimmt?
Digicomp Hacking Day
2 © 2019 Oneconsult AG
→ Yves Kraft
○ Branch Manager Bern
○ Senior Penetration Tester & Security Consultant
○ Studium BSc FH CS (Vertiefung IT-Security)
○ ISO 27001 Lead Auditor, OSCP, OPST, OPSA, OPSE, CTT+ & OSSTMM Trainer
○ Kontinuierliche Weiterbildung in den Bereichen IT-Security und Netzwerk
○ @nrx_ch
○ Technische Security Audits, Konzeptionelles Consulting
○ Security Officer
○ Training & Coaching (Kursleiter bei Digicomp)
○ Spende des Speaker-Honorars für www.hackersforcharity.org/
VORSTELLUNG
3 © 2019 Oneconsult AG
NETZWERKSCHEMA
4 © 2019 Oneconsult AG
ACTIVE DIRECTORY KILL CHAIN ATTACK & DEFENSE
Quelle: https://github.com/infosecn1nja/AD-Attack-Defense
5 © 2019 Oneconsult AG
→ Ziel
○ Zugangsdaten erhalten / Erster Zugriff auf die Infrastruktur
→ Extern
○ Phishing
○ Terminal Server Breakout (RDS)
○ Apache Tomcat Default Credentials
○ .git auf Webserver (Wordpress)
→ Intern
○ Passwort Bruteforce (RDP)
○ Foxit Exploit
MACHINE COMPROMISE
6 © 2019 Oneconsult AG
→ Ziel
○ Zugang ausbauen / Lokale Admin Privilegien erlangen
→ Zugangsdaten in Dateien GPO|GPP (cpassword)
→ Schwache Dateiberechtigungen
→ Unattend.xml
→ Password Reuse
→ Mimikatz
PRIVILEGE ESCALATION LOKALER ADMIN
7 © 2019 Oneconsult AG
→ Ziel
○ Zugang ausbauen / Domain Admin Privilegien erlangen
→ RDP Session Hijacking
→ Pass-The-Hash
→ NTLM Relay (scf-File Attack)
→ Password Reuse
→ Mimikatz
PRIVILEGE ESCALATION DOMAIN ADMIN
8 © 2019 Oneconsult AG
→ Ziel
○ Permanenter Zugang sichern
→ DCSync
→ DCShadow
PERSISTENCE
© 2019 Oneconsult AG
Szenarien
10 © 2019 Oneconsult AG
→ Angreifer
○ Klonen der Login-Page von MyDigicomp (https://idp.digicomp.ch)
○ Registrieren der Fakedomain https://idp-digicomp.ch
○ Erstellen eines Phishing Mails (Wettbewerb 2019 | Gewinner!)
→ Opfer
○ Öffnet E-Mail und folgt Link auf https://idp-digicomp.ch
○ Gibt Zugangsdaten ein
→ Massnahmen
○ Think before you klick!
SZENARIO: PHISHING
11 © 2019 Oneconsult AG
→ Angreifer○ Öffnen der RDS-Verbindung (https://remote.lab.extern) ○ Ausbrechen aus Published App
› Dialog Boxen und Menüs, Internet Explorer, Shortcuts, Taskmanager, Scripts(.bat/.wsh)
› Tipps: • cmd.exe /K pause falls CMD gesperrt, ältere PS-Version• Bei fehlenden Schreibrechten: C:\Users\USER\AppData\Local\Temp, C:\temp,
C:\Windows\Tasks• Office: VBA! ☺
→ Massnahmen○ System Hardening○ Application Whitelisting○ Netzwerksegmentierung
SZENARIO: TERMINAL SERVER BREAKOUT (RDS)
12 © 2019 Oneconsult AG
→ Angreifer
○ Apache Tomcat mit Default/leicht zu erratenden Zugangsdaten
○ Reverse-Shell als war-Datei erstellen, hochladen und Ausführen
→ Massnahmen
○ Tomcat Manager nur intern/auf Localhost betreiben
○ Komplexe Passwörter verwenden
SZENARIO: APACHE TOMCAT DEFAULT CREDENTIALS
13 © 2019 Oneconsult AG
→ Angreifer
○ .GIT Verzeichnis wird auf Webserver entdeckt. Dieses Verzeichnisses können einzelne Commits wiederhergestellt werden
○ Auch wenn sensitive Informationen nicht mehr vorhanden sind, ältere Commits enthalten die Dateien noch
→ Massnahmen
○ Repository-Verzeichnisse auf Server entfernen
○ Keine sensitiven Informationen in Repository hochladen
SZENARIO: .GIT AUF WORDPRESS
14 © 2019 Oneconsult AG
→ Angreifer
○ RDP-Port (3389) geöffnet
○ Es gibt zahlreiche Tools für Brute-Force Angriffe(und genauso viele Techniken)
→ Massnahmen
○ Account Lockout
○ Logging
SZENARIO: PASSWORD BRUTE-FORCE
15 © 2019 Oneconsult AG
→ Angreifer
○ UAF Exploit in bekanntem PDF-Reader
○ Exploit-PDF lädt Payload von Netzwerk-Share
→ Massnahmen
○ Updates installieren
○ Antivirus/Intrusion Detection
○ Application Whitelisting
SZENARIO: FOXIT EXPLOIT
16 © 2019 Oneconsult AG
→ Angreifer
○ Desöfteren können Zugangsdaten (Plaintext, Hash oder verschlüsselt) aus Dateien gelesen werden.
○ Microsoft bietet mit Group Policy Preferences (GPP) Gruppenrichtlinien Objekte mit Passwörtern zu speichern (verschlüsselt mit AES).
○ https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be
→ Massnahmen
○ Keine Zugangsdaten in Scripts
○ Zugang zu Netzwerkshares einschränken
SZENARIO: ZUGANGSDATEN IN DATEIEN GPO
17 © 2019 Oneconsult AG
→ Angreifer
○ Falls Prozesse/Dienste mit erhöhten Rechten laufen und die Pfade zu den Executables schreibbar sind, können über dieses Weg die Rechte eskaliert werden
○ Beispiel: GrassSoft Macro Expert
→ Massnahmen
○ Dateiberechtigungen prüfen
SZENARIO: SCHWACHE DATEIBERECHTIGUNGEN
18 © 2019 Oneconsult AG
→ Angreifer
○ Bei Windows Setup Automatisierungen kann es sein, dass Zugangsdaten in Setup-Dateien übrig bleiben.
› C:\unattend.xml
› C:\Windows\Panther\Unattend.xml
› C:\Windows\Panther\Unattend\Unattend.xml
› C:\Windows\system32\sysprep.inf
› C:\Windows\system32\sysprep\sysprep.xml
› C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
› C:\inetpub\wwwroot\web.config
SZENARIO: UNATTEND.XML
19 © 2019 Oneconsult AG
→ Gemäss Panda Security [1] haben Forscher der Virginia Tech University and DashlaneAnalysten herausgefunden, dass…○ After examining a database of over 28 million users and their 61 million passwords, they
have uncovered an alarming figure: 52% of the users studied have the same passwords (or very similar and easily hackable ones) for different services.
○ Of the 28.8 million users studied, 38% reused the same password for two different online services, and 21% of them slightly modified an old one to sign up for a new service.
○ With 85% of passwords reused or slightly changed in the case of online shopping, and 62% for email,…
→ Angreifer○ Desöfteren setzen Benutzer die gleichen oder ähnliche Zugangsdaten für
unterschiedliche Accounts ein.○ So auch unser Admin Hans Muster
→ Massnahmen○ Password Policy implementieren und durchsetzen
SZENARIO: PASSWORD REUSE
[1] https://www.pandasecurity.com/mediacenter/security/password-reuse/
20 © 2019 Oneconsult AG
→ Tool, um Authentifizierungsprotokolle zu überwinden→ Liest Authentifizerungsdaten aus
○ Kerberos Tickets, NTLM-Hashes, Klartext-Passwörter, etc.
→ Massnahmen○ Credential Guard○ Debugging von Programmen unterbinden
› Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> Debug programs
○ WDigest deaktivieren› HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityPro
viders\Wdigest○ Restricted Admin Mode○ Credential Cache anpassen
SZENARIO: MIMIKATZ
21 © 2019 Oneconsult AG
→ Angreifer
○ Als lokaler Admin kann man RDP Sessions von anderen Benutzern übernehmen
○ Service erstellen, der tscon.exe starten und die RDP-Verbindung «umbiegt»
○ Mimikatz bietet diese Funktionalität auch
→ Massnahmen
○ Logoff von Disconnected Sessions (z.B. per GPO)
○ RDP nicht zugänglich machen
SZENARIO: RDP SESSION HIJACKING
22 © 2019 Oneconsult AG
→ Angreifer
○ Die meisten Passwort-basierenden Authentifizierungsmethoden speichern das Passwort in Form eines Hashes (z.B. SAM bei Windows)
○ Angreifer liest Hash aus und meldet sich damit beim System an
→ Massnahmen
○ Konten mit hohen Berechtigungsstufen so selten wie möglich und nur auf gehärteten Rechnern verwenden
○ Niemals direkt vom Arbeitsplatzrechner auf zu administrierende Systeme verbinden
○ Lokaler Admin: individuelles Passwort auf jedem System (LAPS verwenden)
○ Delegieren von Berechtigungen an normale Benutzerkonten anstelle von dauerhaft „Run as Administrator“ zu verwenden
○ Anwenden der Empfehlungen aus dem «Mitigating Pass-the-Hash Attacks and Other Credential Theft» und «Best Practices for Securing Active Directory.docx» Whitepapers von Microsoft
SZENARIO: PASS-THE-HASH
23 © 2019 Oneconsult AG
→ Angreifer
○ NTLM-Hahes müssen nicht geknackt werden, sondern können einfach weitergeleitet werden.
○ Angreifer erstellt .scf-Datei auf Share und lässt ntlmrelayx laufen
○ User/Admin ruft Share auf, Credentials werden an Opfer-System weitergeleitet
→ Massnahmen
○ SMB Signing aktivieren
SZENARIO: NTLM RELAY (SCF-FILE ATTACK)
24 © 2019 Oneconsult AG
→ DCShadow ermöglicht es einem Angreifer, einen gefälschten ActiveDirectory Domain Controller (Fake DC) zu erstellen, der schädliche Änderungen an legitimen DCs replizieren kann.
→ Ist das ein Bug?
→ Eine Vulnerability?
○ Nein ein Feature!
○ Protokolle sind von Microsoft dokumentiert:
› [MS-ADTS]: Active Directory Technical Specification
› [MS-DRSR]: Directory Replication Service (DRS) Remote Protocol
SZENARIO: DCSHADOW
25 © 2019 Oneconsult AG
Die DCShadow-Attacke läuft in folgenden drei Schritten ab:
→ Registrieren eines "DC" durch Erstellen von 2 Objekten in der CN= Konfiguration und ändern der SPN (Service Principal Name)
→ “Pushen” der Daten (ausgelöst durch DrsReplicaAdd, KCC oder interne AD-Events)
→ Entfernen des erstellten Objekts, um den DC zu “demoten”
WAS PASSIERT NUN BEI EINER DCSHADOW-ATTACKE?
26 © 2019 Oneconsult AG
→ Da DCShadow Replikationsinformationen weitergibt, ist DCShadow für die Weitergabe von Replikations-Metadaten verantwortlich
→ Metadaten sind für jedermann Per LDPA oder RPC zugänglich(auch aus vertrauenswürdigen Domänen)
→ Metadaten werden von forensischen Analysten verwendet, um den Hergang des kompletten Angriffs zu reproduzieren
→ Diesen Daten kann nicht mehr vertraut werden!
FORENSISCHE ASPEKTE
27 © 2019 Oneconsult AG
→ Auf Netzwerkebene lässt sich DCShadow leicht erkennen:
○ DrsAddEntry oder DrsReplicaAdd dürfen nur von DCs aus gemachtwerden
→ Mit Logging lassen sich DCShadow-Aktivitäten erkennen:
○ Objekte hinzufügen oder Computer-Objekte ändern (siehe nächsteFolie)
○ Änderungen können jedoch nur auf dem kompromittierten DC beobachtet werden
→ Verwendung von LDAP-Cookies (LDAP_SERVER_DIRSYNC_OID) ist einweiterer Weg über LDAP-Modifikationen informiert zu werden
→ Überwachen von Directory Service Replication Events (siehe nächste Folie)
→ @gentilkiwi stellt ein Splunk-Script für Erkennung zur Verfügung: https://gist.github.com/gentilkiwi/dcc132457408cf11ad2061340dcb53c2
WIE KÖNNEN DCSHADOW-ATTACKEN ERKANNT WERDEN?
28 © 2019 Oneconsult AG
→ Ändern von 2 SPNs überwachen
○ Der Directory Replication Service (DRS) SPN mit dem Format "<DRS interface GUID>/<DSA GUID>/<DNS Domain Name>" wobei die <DRS Interface GUID> immer E3514235–4B06–11D1-AB04–00C04FC2DCD2 ist (via DrsAddEntry)
→ Eventlog
○ Event ID 4742 (SPN Änderung)
○ Event ID 5137 (Rogue DC hinzufügen)
○ Event ID 5141 (Rogue DC entfernen)
○ Event IDs 4928,4929 (Monitoring von Replication)
○ Event IDs 4935/4936 (Replication Fehler)
WIE KÖNNEN DCSHADOW-ATTACKEN ERKANNT WERDEN?
29 © 2019 Oneconsult AG
→ Mittels Directory Replication Service (DRS) ist es möglich, an Passwort-Hashes aus der NTDS.DIT-Datei zu gelangen. Diese Technik lässt sich mit den Rechten eines Domänenadministrators von jedem System in der Domäne ausführen.
→ DCSync simuliert Verhalten eines DC
→ Fordert andere DCs auf, Informationen mit MS-DRSR zu replizieren
→ «Ich bin auch ein Domaincontroller! Lass uns spielen!»
→ Geschieht ohne Code auf dem DC
→ Ziel: NTLM-Hash eines beliebigen Kontos erhalten (z.B. KRBTGT Konto => Golden Ticket)
→ Nutzt die Vorteile einer gültigen und notwendigen Funktion von Active Directory
→ Kann nicht ausgeschaltet oder deaktiviert werden
SZENARIO: DCSYNC
30 © 2019 Oneconsult AG
→ https://github.com/infosecn1nja/AD-Attack-Defense
→ https://www.pandasecurity.com/mediacenter/security/password-reuse/
→ https://download.microsoft.com/download/7/7/A/77ABC5BD-8320-41AF-863C-6ECFB10CB4B9/Mitigating-Pass-the-Hash-Attacks-and-Other-Credential-Theft-Version-2.pdf
WEITERFÜHRENDE QUELLEN & CREDITS
© 2019 Oneconsult AG31