Erweiterte Windows-Protokollierung. Auf der Suche nach Mimikatz


Hallo alle zusammen. Heute sehen wir uns ein Beispiel an, bei dem ein Angreifer Windows Defender umgehen konnte, aber fehlgeschlagen ist - ein Sicherheitsbeamter. Ja, hier geht es wieder um Mimikatz. Wie Sie durch Starten von mimikatz Windows Defender umgehen, können Sie hier lesen . Und heute, wie ich versprochen habe, überlegen Sie sich etwas für das „blaue“ Team. Wenn es zumindest jemandem hilft, ist es nicht umsonst. So lass uns gehen.

Es wurde viel über den ELK-Stapel (Elasticsearch, Logstash, Kibana) (einschließlich des Habré) geschrieben, und heute werden wir ihn verwenden, genauer gesagt, einen ELK, der auf unsere Bedürfnisse bei der Bedrohungssuche zugeschnitten ist.

The Hunting ELK oder HELK


Das HELK-Diagramm sieht folgendermaßen aus: Fahren



wir mit der Installation fort.

Als Server, auf dem sich HELK befinden wird, habe ich mich entschieden, wie der Entwickler empfiehlt:

tomhunter@helk:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" 

Die Installation ist einfach und erfolgt in 2 Befehlen:

git clone https://github.com/Cyb3rWard0g/HELK
tomhunter@helk:~/HELK/docker$ sudo ./helk_install.sh

Hinweis: Möglicherweise werden Sie aufgefordert, mehr RAM für die Installation zuzuweisen. Ich benutze 10 GB.

Aus den vorgeschlagenen Installationsoptionen habe ich KAFKA + KSQL + ELK + NGNIX + ELASTALERT ausgewählt . Und jetzt nur noch warten. Und wenn wir alles richtig gemacht haben, werden wir das geschätzte sehen: Wenn



der Server fertig ist, bereiten wir den Client vor. Es wird ein Windows 10-Computer sein. Wir müssen Sysmon darauf installieren .

Wir brauchen auch eine Konfigurationsdatei:

 git clone https://github.com/olafhartong/sysmon-modular  

Generieren Sie die Konfiguration:

 . .\Merge-SysmonXml.ps1
Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

Lauf:

 PS C:\Users\Tomhunter\Documents\sysmon-modular> .\Sysmon64.exe -i .\sysmonconfig.xml 

Wir werden auch winlogbeat installieren , die Datei winlogbeat.yml löschen und eine neue erstellen, indem wir raw.githubusercontent.com/Cyb3rWard0g/HELK/master/configs/winlogbeat/winlogbeat.yml in diese Datei kopieren


Hinweis: Hier müssen wir auch die IP-Adresse auf die gewünschte ändern (in meinem Fall Hosts: ["192.168.31.97:9092"].



Installieren:

 PS C:\Users\Tomhunter\Desktop\winlogbeat-7.6.2-windows-x86_64> .\install-service-winlogbeat.ps1 

Hinweis: Sie müssen den Dienst manuell aktivieren oder das System neu starten.

Alles ist fertig, mal sehen, was wir bekommen.

Wir starten Mimikatz unter Windows 10.



Und nachdem wir die Cybana eingegeben haben (in meinem Fall 192.168.31.97 , Standardanmeldeinformationen: helk: Jagd), sehen wir eine Warnung. In seiner Rohform sieht es so aus:



Benachrichtigungen können per E-Mail, in Ruhe usw. an Sie selbst gesendet werden.

Aber wir sind viel mehr daran interessiert, wie das funktioniert, lassen Sie uns verstehen.

Ein bisschen Theorie


Nach dem Starten von mimikatz mit Windows 10 wird die folgende Meldung angezeigt:



Welche Regel hat die Warnung ausgegeben, die mich verwirrt hat? (Spoiler: nicht der Dateiname mimikatz.exe). Werfen wir einen Blick auf die Regel selbst:

sudo docker exec -it helk-elastalert bash
cat /opt/sigma/rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml



EventID: 10. Dies ist unser ProcessAccess.

TargetImage: C: \ windows \ system32 \ lsass.exe. Das ist gut, aber Mimikatz ist nicht der einzige, der sich an lsass wendet.



GrantedAccess: 0x1410 oder 0x1010.

Und hier passt alles zusammen. Ich erkläre.

Werfen wir einen Blick auf den Quellcode von mimikatz, nämlich, dass wir uns für die Datei kuhl_m_sekurlsa.c und die Funktion kuhl_m_sekurlsa_acquireLSA () interessieren.



Wenn wir uns der Microsoft-Website zuwenden , sehen wir das

PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
PROCESS_VM_READ (0x0010)
PROCESS_QUERY_INFORMATION (0x0400)

Mit bitweisem "ODER" erhalten wir unseren gewährten Zugriff
Hinweis: Früher in der Sigma-Regel wurde nur 0x1410 erkannt. Dies ist wahrscheinlich darauf zurückzuführen, dass ältere Versionen von mimikatz beide Anforderungen gestellt haben (PROCESS_QUERY_INFORMATION und PROCESS_QUERY_LIMITED_INFORMATION). Mimikatz wurde jedoch mit 0x1010 bestanden, sodass Sie die Regel selbst anpassen mussten. Jetzt gibt es kein solches Problem und alles funktioniert sofort.

Wenn wir also im Kiban den Filter
event_id: 10 AND process_target_name: "* lsass.exe" AND process_granted_access: "0x1010" setzen, haben wir nur unseren Mimikatz.



Vom Angenehmen: Es gibt Regeln für mimikatz_inmemory, mimikatz_trough_winrm und sogar Safetycatz (.NET-Version von mimikatz mit eigenen Chips).

Was kannst du sonst noch tun?


Die Regeln sind natürlich nicht auf Mimikatz beschränkt, es gibt viele davon. Sie sind in die Kategorien Anwendung, Cloud, Compliance, Linux, Netzwerk, Proxy, Web und Windows unterteilt. Kategorien sind in Unterkategorien unterteilt. Beispielsweise ist Windows in integrierte Funktionen, Malware, andere, Powershell, process_creation und sysmon unterteilt.

Und wer weiß, vielleicht erhalten Sie durch die Aufnahme der Powershell-Protokollierung in das Gruppenrichtlinienobjekt Warnungen nach folgenden Regeln:



Das scheint alles zu sein. Abonnieren Sie den Kanal, indem Sie auf die Glocke klicken.

All Articles