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
CVE-2018-10933 — Sfida CTF che sfrutta il bypass di autenticazione libSSH CVE-2018-10933. Include configurazione Docker, script di sfruttamento e guida per scoprire flag nascoste tramite collegamenti simbolici. | Kitploit
Strumenti/GitHubGitHub/silasspringer/cve-2018-10933
Analisi delle VulnerabilitàExploitCTFApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubsilasspringer/cve-2018-10933

CVE-2018-10933

Sfida CTF che sfrutta il bypass di autenticazione libSSH CVE-2018-10933. Include configurazione Docker, script di sfruttamento e guida per scoprire flag nascoste tramite collegamenti simbolici.

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
Vedi Repository
3 anni faNon ancora revisionato

Sfida CTF Proof of Concept

Di Silas Springer

Basato su CVE-2018-10933

Contesto

CVE-2018-10933 è una vulnerabilità scoperta in alcune versioni di libSSH, che può consentire l'accesso potenzialmente illimitato a una macchina. La vulnerabilità deriva da una gestione impropria delle intestazioni dei pacchetti durante il processo di autenticazione, dove l'invio di un pacchetto manipolato con il byte MSG_USERAUTH_SUCCESS può permettere a chiunque di bypassare l'autenticazione. Chi lo sfrutta ha quindi pieno accesso alla macchina.

La base di questa sfida, quindi, è richiedere ai concorrenti di esplorare l'immagine docker fornita, scoprire questa vulnerabilità, sfruttarla per ottenere l'accesso, e quindi trovare la chiave nascosta in un symlink sulla macchina.

Descrizione Esempio di Sfida CTF

root@kitploit:~
Someone got into my machine via port 22...
It looks like they didnt even know my credentials.

Anyways, they made a file with an odd name, but it's gone now, 
I wonder if there's still some trace of the filename - 
it might be something symbolic of the attacker...

Can you figure out how they got in and help me find the filename?

Soluzione

Di seguito è riportato un dettagliato walkthrough della soluzione prevista:

Notate, dalla Descrizione della Sfida, che l'attaccante ha ottenuto l'accesso attraverso la porta 22, una porta tipicamente riservata a SSH. Notate anche che l'attaccante non ha usato credenziali per ottenere l'accesso.

Da questo, se cercate vulnerabilità passate per ottenere accesso a una macchina via SSH senza credenziali, il problema con il byte MSG_USERAUTH_SUCCESS è molto probabile. In alternativa, avviando una connessione alla porta 22, si può determinare la versione di libSSH in esecuzione, e poi cercare exploit comuni per quella versione.

Si può anche notare dalla Descrizione che il nome del file che cercano di trovare (la flag) esiste solo come destinazione di un link simbolico.

Sapendo ora che l'accesso può essere ottenuto sfruttando questa vulnerabilità, si può scrivere un proprio script, o copiare uno script di esempio che esegue questo exploit, e quindi eseguire un comando sulla macchina target. Ho adattato uno script di sfruttamento per questa soluzione, e l'ho chiamato libsshauthbypass.py.

Per eseguire questo script e ottenere la flag dalla macchina, nel caso dell'immagine demo, si può eseguire un comando simile al seguente:

root@kitploit:~
./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
-- Nota: questo presuppone che l'immagine sia in esecuzione in locale, o che sia stato stabilito un tunnel al container in esecuzione tramite localhost:1337

che poi produce un output simile a

root@kitploit:~
sspringer-fedora-CVE: ./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
INFO:paramiko.transport:Connected (version 2.0, client libssh_0.8.1)
definitelyarealCTF{totally_a_REAL_flag}

Riuso

Per utilizzare una versione di questa sfida per il tuo CTF, è altamente consigliato modificare il Dockerfile per utilizzare un percorso diverso da quello predefinito, cambiare la flag in flag.txt (anche se deve rimanere su una sola riga), e poi ricostruire l'immagine. Nota che potrebbe essere necessario ospitare un nuovo container per ogni tentativo di connessione per impedire che qualcuno esegua un comando distruttivo e influenzi tutti i concorrenti.

Per ricostruire l'immagine docker con una nuova flag (e testarla)

  • Aggiornare flag.txt con la nuova flag
  • Eseguire ./build_run <image name>[:<version number] <port number>
  • Utilizzare ./libsshauthbypass.py o il proprio script per contattare il container con il payload corretto e un comando da eseguire
  • Uscendo (exit) dalla shell fornita dallo script build_run, il container verrà arrestato ed eliminato, ma l'immagine rimarrà e sarà etichettata come <image name>

Video

Proof of Concept: https://youtu.be/ELrOBm02ANg

Walkthrough della sfida https://youtu.be/Ii121piSZR0

Scarica lo strumento