Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-37017 — Umgehung des Passworts der Client-Benutzeroberfläche von Symantec Endpoint Protection | Kitploit
Tools/GitHubGitHub/apeppels/cve-2022-37017
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringPenetrationstestsBinary-Exploitation
GitHubapeppels/cve-2022-37017

CVE-2022-37017

Umgehung des Passworts der Client-Benutzeroberfläche von Symantec Endpoint Protection

Repository anzeigen
vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-37017

Authentifizierungsumgehung für das Benutzeroberflächen-Passwort von Symantec Endpoint Protection 14.3.5351 Client

Symantec Endpoint Protection ermöglicht das Einrichten eines Passwortschutzes für die Benutzeroberfläche, um Konfigurationsänderungen zu verhindern. Diese Passwortprüfung wird durch eine Logik implementiert, die weder in einem Protected Process Light (PPL) noch in einem Kernel-Treiber läuft; das Ändern eines Rückgabewerts im Speicher oder das Patchen der Binärdatei erlaubt einem Angreifer, das Passwort zu umgehen. Dies funktioniert sogar, wenn der Tamper Protection aktiviert ist.

Wenn der Angreifer Code mit Administratorrechten ausführen kann, kann er schädliche Richtlinien-XML und/oder Verbindungseinstellungen für die zentrale SEP-Verwaltung importieren. Damit erlangt er praktisch die vollständige Kontrolle über den Client. Durch den Richtlinienimport kann er Ausnahmen hinzufügen, UI-Optionen freischalten, das Administratorkennwort deaktivieren oder ändern, den Schutz dauerhaft deaktivieren und/oder den Client deinstallieren.

Wenn der Angreifer keine Administratorrechte besitzt, kann dies zum Exportieren von Fehlerbehebungsinformationen, zum Lesen von Protokollen und zum Anzeigen von Client-Einstellungen verwendet werden. Unter 14.0 können die Richtlinie exportiert und der Tamper Protection ohne Administratorberechtigungen deaktiviert werden. Dies war unter 14.3.5413.3000 nicht möglich.

In 14.3.5351 prüft Folgendes, ob das Passwort übereinstimmt:

root@kitploit:~
.text:00438021 loc_438021:                             ; CODE XREF: sub_437FA0+73↑j
.text:00438021                 mov     ecx, offset ServiceName ; "SepMasterService"
.text:00438026                 call    sub_43DDF0
.text:0043802B                 test    eax, eax
.text:0043802D                 jnz     short loc_4380A5
.text:0043802F                 push    ecx             ; Src
.text:00438030                 lea     eax, [ebp+var_14]
.text:00438033                 mov     ecx, esp
.text:00438035                 push    eax
.text:00438036                 call    ds:??0?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> const &)
.text:0043803C                 call    sub_4380F0
.text:00438041                 test    al, al
.text:00438043                 jz      short loc_43804F
.text:00438045                 mov     ecx, esi
.text:00438047                 call    ds:__imp_?OnOK@CDialog@@MAEXXZ ; CDialog::OnOK(void)
.text:0043804D                 jmp     short loc_4380AD

Der Sprung, der den Erfolg aller Passwortversuche in SymCorpUI.exe zu steuern scheint, ist die JZ-Anweisung bei .text:00438043. Wenn man diese in eine JNZ (Anweisung 0x74 -> 0x75) ändert, wird der Sprung umgekehrt, sodass ein beliebiges Passwort akzeptiert wird.

Das Python-Skript findet den Installationsordner für SEP, liest SymCorpUI.exe ein, schreibt eine gepatchte Kopie in den Ordner neben dem Skript und führt die gepatchte Version im ursprünglichen Arbeitsverzeichnis aus. Führen Sie es mit Administratorrechten aus, und es wird eine SEP-Benutzeroberfläche starten, die jedes eingegebene falsche Passwort akzeptiert.

Nun könnte ein Angreifer die Richtlinien-XML unter Help -> Troubleshooting exportieren. Diese enthält die Konfiguration einschließlich aller Hashes für das Administratorkennwort. Der Angreifer kann dann die XML bearbeiten, um beliebige Einstellungen im Client zu ändern, z.B. den Passwort-Hash zu ersetzen oder die Passwortanforderung zu deaktivieren. Diese schädliche Richtlinien-XML kann dann mit der Schaltfläche neben Export wieder importiert werden.

Das Skript führt einige Prüfungen durch, um festzustellen, ob es erhöhte Rechte hat; falls nicht, wird die gepatchte Binärdatei gezwungen, ohne Administratorrechte ausgeführt zu werden. Um die Benutzeroberfläche als Administrator auszuführen, führen Sie das Python-Skript als Administrator aus oder setzen Sie die Variable as_admin auf True.

Um nicht für jede Version spezifische Offsets speichern zu müssen, führt das Skript eine allgemeine Suche/Ersetzung für eine Sequenz von Anweisungen durch, die ich in den drei getesteten Versionen als eindeutig befunden habe. Es ist möglich, dass eine andere Version mehrere Übereinstimmungen hat, was den PoC beschädigen könnte. In diesem Fall durchsuchen Sie die Übereinstimmungen, um einen Block zu finden, der mit mov ecx, offset ServiceName ; "SepMasterService" beginnt, um die relevante JZ-Anweisung zu finden, die in der Nähe des Endes gepatcht werden muss.

Zum Testen der Passwortfunktionalität kann Folgendes in die Richtlinien-XML (auf derselben Ebene wie GlobalGroups) eingefügt werden, um den Schutz zu aktivieren. Der Hash ist ein MD5 des Strings "test".

root@kitploit:~
<AdminPassword ExitNeedPassword="1" UINeedPassword="1" ImportExportNeedPassword="1" UninstallNeedPassword="1">098f6bcd4621d373cade4e832627b4f6</AdminPassword>

Symantec reagierte schnell auf das Problem, die CVE wurde von ihnen registriert und ein Fix wurde als 14.3 RU6 veröffentlicht.

https://support.broadcom.com/external/content/SecurityAdvisories/0/21014

Tool herunterladen