
Ein Skript ist ein PoC für CVE-2022-1257, eine Schwachstelle im McAfee Agent (Trellix Agent) bei der Arbeit mit dessen Datenbank. Die Schwachstelle ermöglicht es Angreifern, Anmeldeinformationen aus der Datenbankdatei des McAfee Agent (`ma.db`) aufgrund unsachgemäßer Handhabung des Verschlüsselungsschlüssels abzurufen und zu entschlüsseln.
Erstellt von scottk817
Dieses Skript ist ein PoC für CVE-2022-1257, eine Sicherheitslücke im McAfee Agent (Trellix Agent) bei der Arbeit mit dessen Datenbank. Die Schwachstelle ermöglicht es Angreifern, Anmeldeinformationen aus der McAfee Agent-Datenbankdatei (ma.db) zu extrahieren und zu entschlüsseln, da der Verschlüsselungsschlüssel nicht ordnungsgemäß gehandhabt wird.
Dieses Skript ist ausschließlich für Bildungszwecke bestimmt. Verwenden Sie es nicht auf Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testgenehmigung haben. Unautorisierter Zugriff auf Systeme und Daten ist illegal und unethisch.
CVE-2022-1257 wie von NIST beschrieben:
Unsichere Speicherung sensibler Informationen in MA für Linux, macOS und Windows vor Version 5.7.6 ermöglicht es einem lokalen Benutzer, über die Speicherung in ma.db auf sensible Informationen zuzugreifen. Die sensiblen Informationen wurden in verschlüsselte Datenbankdateien verschoben.
Dieses Skript demonstriert, wie ein Angreifer diese Sicherheitslücke ausnutzen könnte, indem er:
ma.db zur Vermeidung von Sperrkonflikten an einen temporären Speicherort kopiert.winsqlite3.dll: Diese DLL-Datei muss für SQLite-Operationen verfügbar sein; unter Windows 11 ist sie nativ vorhanden.winsqlite3.dll auf Ihrem System verfügbar ist (unter Windows 11 nativ vorhanden).ma.db) haben. Diese befindet sich normalerweise unter C:\ProgramData\McAfee\Agent\DB\ma.db.Führen Sie das Skript in PowerShell mit dem folgenden Befehl aus:
.\CVE-2022-1257.ps1
Das Skript gibt die Benutzernamen und entschlüsselten Passwörter aus der Datenbank im CSV-Format aus:
Username,Password
user1,password1
user2,password2
Wenn Sie dieses Skript in einer Bewertung verwenden, kann es sinnvoll sein, das Skript zu bereinigen und mit Invoke-Obfuscate zu verschleiern.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.