Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019...

31
Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt? Digicomp Hacking Day

Transcript of Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019...

Page 1: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

Referent: Yves Kraft

21. Mai 2019

Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man

dagegen unternimmt?

Digicomp Hacking Day

Page 2: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 3: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

3 © 2019 Oneconsult AG

NETZWERKSCHEMA

Page 4: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

4 © 2019 Oneconsult AG

ACTIVE DIRECTORY KILL CHAIN ATTACK & DEFENSE

Quelle: https://github.com/infosecn1nja/AD-Attack-Defense

Page 5: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 6: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 7: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 8: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

8 © 2019 Oneconsult AG

→ Ziel

○ Permanenter Zugang sichern

→ DCSync

→ DCShadow

PERSISTENCE

Page 9: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

© 2019 Oneconsult AG

Szenarien

Page 10: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 11: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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)

Page 12: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 13: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 14: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 15: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 16: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 17: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 18: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 19: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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/

Page 20: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 21: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 22: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 23: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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)

Page 24: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 25: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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?

Page 26: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 27: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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?

Page 28: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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?

Page 29: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 30: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

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

Page 31: Firma XYZ wurde gehackt!» Warum es jeden treffen kann und ......Referent: Yves Kraft 21. Mai 2019 Firma XYZ wurde gehackt!» Warum es jeden treffen kann und was man dagegen unternimmt?

© 2019 Oneconsult AG31