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-29072 — 7-Zip bis einschließlich 21.07 unter Windows ermöglicht eine Privilegieneskalation und die Ausführung von Befehlen, wenn eine Datei mit der Endung .7z in den Bereich Help>Contents gezogen wird. | Kitploit
Tools/GitHubGitHub/kagancapar/cve-2022-29072
Privilege EscalationSchwachstellenanalyseExploitationLaterale BewegungFuzzingCommand and ControlPayload-EntwicklungBinary-Exploitation
GitHubkagancapar/cve-2022-29072

CVE-2022-29072

7-Zip bis einschließlich 21.07 unter Windows ermöglicht eine Privilegieneskalation und die Ausführung von Befehlen, wenn eine Datei mit der Endung .7z in den Bereich Help>Contents gezogen wird.

Repository anzeigen
673105vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

INFORMATION

Ich habe keinerlei PoC-Code für den Privilege-Escalation-Angriff veröffentlicht. Die gefundenen PoC-Codes haben nichts mit Privilege Escalation zu tun. Nur zur Information.

Über 7-zip

7-Zip ist ein freier und kostenloser Dateiarchivierer. Die Kommandozeilenversion von 7-Zip ist für Unix-ähnliche Systeme gedacht, sogar AmigaOS gehört zu diesen. Außerdem ist es mit DOS kompatibel, entweder über den Dost-Port oder mit dem HX-DOS-Extender im Windows-Kommandozeilenfenster ausführbar.

CVE-2022-29072

Ich werde ein wenig auf Türkisch schreiben, damit auch ihr Türkisch lernt.

Zunächst möchte ich auf meine Geschichte zur Entdeckung der Schwachstelle eingehen. Ich sah einen Payload, der eine XXE-Schwachstelle auf WinRAR ausführte. Gleichzeitig ermöglichte er mithilfe der HTML-Helper-Datei über JavaScript und WScript.Shell die Ausführung von Befehlen. Das unterschied sich in nichts von dem HTA, das bei den LOLBins verwendet wird – ich überlegte, wie ich den Vorfall zu meinem Vorteil nutzen könnte.

(https://www.exploit-db.com/exploits/47526)

Eigentlich war mein Ziel, nach einem Doppelklick auf die Erweiterungen von 7z, zip, rar usw. eine Reverse-Shell vom Zielcomputer zu erhalten, und ich überlegte, ob ich dafür die HTML-Helper-Datei nutzen könnte. Nach langen Fuzzing-Prozessen mit WinAFL entdeckte ich einen Heap-Overflow in FzGM.exe, aber nach dem Heap-Overflow wäre meine Berechtigung wieder dieselbe wie die des aktuellen Benutzers, also hatte es keinen Sinn. Deshalb habe ich CreateRemoteThread nicht verwendet, weil ich die API aufrufen musste und zum Auslösen dieser API eine CHM-Datei benötigte. Bei der Untersuchung des Quellcodes stellte ich fest, dass es an zwei Stellen fehlerhafte Vorgänge beim Aufruf der Windows-API gab, was direkt ein Autorisierungsproblem verursachte. An diesem Entdeckungspunkt wird, wie im folgenden Bild zu sehen, ein Child-Process unter FzGM.exe erstellt. Normalerweise würden wir erwarten, dass dieser Prozess unter hh.exe läuft.

7-zip-1

api

Wenn die API nicht eingebunden, sondern über die Funktion korrekt konfiguriert worden wäre, hätte ich erwartet, dass ein Child-Process unter hh.exe erstellt wird, aber die 7-zip.chm-Datei ruft dies über sich selbst auf. Ein typisches Beispiel: Wenn Sie die 7-zip.chm-Datei bearbeiten und eine Befehlsausführung durchführen, können Sie es dann sehen. Nach dem Heap-Overflow nutzte ich das Autorisierungsproblem der aufgerufenen API und dann die fehlerhafte Konfiguration in der 7z.dll-Datei, womit ich mich schon lange beschäftige. CreateRemoteThread() zu machen hat keinen Sinn. Was ich in meinem Payload ausführen und aufrufen muss, ist nicht die HTML-Helper-API selbst, sondern der Punkt, an dem diese API über 7-zip gehookt wird, und dass ich diesen Punkt ausführen kann. Da dieser Payload jedoch nur mit der hh.exe-Integration funktioniert, arbeitet er daher mit Funktionen wie Drag & Drop. Dadurch, dass die 7-zip.chm-Datei über die HELP-Taste in 7-zip aufgerufen wird und ich die dort aufgerufene Adresse im Payload auf den „Base Pointer“ mit dem Autorisierungsproblem umleite, bringt uns das zu einem höher privilegierten Benutzer. Der nächste Schritt besteht darin, dass sich im Payload psexec befindet und mit dem Befehl psexec -s cmd.exe die Systemberechtigung als nt authority/system erlangt wird.

7-zip-2

PoC-Video:

https://user-images.githubusercontent.com/33525376/163654035-d40ca72a-7dbc-425f-ade2-3820cfababb2.mp4

Über den ActiveXObject-Bypass

Die meisten Fragen betrafen auch die ActiveX-Warnung. Dieses Problem lässt sich im Grunde wie folgt beheben. Bevor der Payload ausgeführt wird, prüft:

<'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0' -Name '1201' -Value '0' -PropertyType "DWord">

Wenn dieser Wert 1 ist, erscheint ein Popup auf dem Bildschirm; wenn jedoch 0 als neuer Wert zugewiesen wird, wird es umgangen. Es ist jedoch anzumerken, dass dies nur den Benutzer betrifft, der den Payload gerade ausführt.

Wichtiger Hinweis

Ich habe die erforderlichen Punkte dem Entwickler mitgeteilt, und dies wurde auch von der CVE-Seite akzeptiert. Ich kann nicht verstehen, warum Menschen sich als Autorität aufspielen und der Eindruck entsteht, ich müsste ihnen den Exploit geben. Obwohl ich bereits angegeben habe, dass ich es nach dem Update veröffentlichen werde, liegt diese Respektlosigkeit, die noch vor dem Update erfolgt ist, vermutlich daran, dass man sich selbst als Autorität sieht. Ich möchte den PoC-Code des Privilege-Escalation-Angriffs möglicherweise niemals veröffentlichen – das ist mein freier Wille, und es kümmert mich kein bisschen, wer in diesem Punkt der Wahrheitsfindung was denkt.

Mögliche Gegenmaßnahmen

Erste Methode: Falls kein 7-zip-Update kommt, kann die Datei 7-zip.chm gelöscht werden. Zweite Methode: Alle Benutzer im Programm sollten nur mit Lese- und Ausführungsrechten zugreifen können.

Sigma-Regel

Die zugehörige Sigma-Regel https://github.com/kagancapar/CVE-2022-29072/blob/main/7z_CVE-2022-29072.yml

Tool herunterladen