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
pgAdminOpendoor — Exploit- und Teststand für CVE-2025-2945 | Kitploit
Tools/GitHubGitHub/i3r1h0n/pgadminopendoor
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubi3r1h0n/pgadminopendoor

pgAdminOpendoor

Exploit- und Teststand für CVE-2025-2945

Repository anzeigen
vor 9 MonatenNoch 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

pgAdminOpendoor (CVE-2025-2945)

Übersicht

Dies ist meine Forschung zu CVE-2025-2945. Dieses Repository enthält einen Teststand mit PostgreSQL und verwundbarem pgAdmin sowie einen Exploit.

CVE

Nützliche Links:

  • NVD Details
  • WIZ Analyse
  • Metasploit

Aufschlüsselung

Im pgAdmin-Backend, das in Python geschrieben ist, gibt es zwei Endpunkte, denen eine ordnungsgemäße Bereinigung fehlt. Die Endpunkte sind:

  • /sqleditor/query_tool/download – Parameter query_commited
  • /cloud/deploy – Parameter high_availability

Schauen wir uns den Code von sqleditor an:

root@kitploit:~
for key, value in data.items():
    if key == 'query':
        sql = value
    if key == 'query_commited':
        query_commited = (
            eval(value) if isinstance(value, str) else value
        )

Was wir hier sehen, ist, dass der Wert von query_commited direkt an die Funktion eval() übergeben wird. Sie können die Dokumentation für eval einsehen.

Siehe auch den Code von pgacloud:

root@kitploit:~
def _create_google_postgresql_instance(self, args):
    credentials = self._get_credentials(self._scopes)
    service = discovery.build('sqladmin', 'v1beta4',
                              credentials=credentials)
    high_availability = \
        'REGIONAL' if eval(args.high_availability) else 'ZONAL'

Hier dasselbe Problem.

Es sind weiterhin gültige Anmeldedaten und Zugriff auf pgAdmin erforderlich, um diese Endpunkte zu erreichen. Aber jeder Angreifer, der darauf zugreifen kann, ist auch in der Lage, jeden beliebigen Wert an eval zu übergeben. Dies kommt der Ausführung eines beliebigen Python-One-Liners gleich.

Ausnutzung

Die Ausnutzung ist relativ einfach. Siehe exploit/src/main.py. Vergessen Sie nicht, die Konfiguration zu aktualisieren, um eine Reverse-Shell zu erhalten.

Aufbau des Standes

Um den Stand aufzusetzen, führen Sie Folgendes aus:

root@kitploit:~
cd stand
docker compose up -d

Und das war's. pgAdmin ist nun unter http://localhost:8080 erreichbar. Standard-Anmeldedaten:

root@kitploit:~
[email protected]
admin

Passen Sie bei Bedarf die Datei .env und stand/init-db/01-init.sql an.


produziert von I3r1h0n.

Tool herunterladen