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-2003-0264 — Classico buffer overflow basato su stack in SLMail 5.1 che mostra come i primi server di posta potessero essere compromessi tramite comandi SMTP e POP3 sovradimensionati. | Kitploit
Strumenti/GitHubGitHub/themalwareguardian/cve-2003-0264
Analisi delle VulnerabilitàExploitReverse EngineeringShellcodeDebuggerFuzzingPenetration TestingApprendimento e FormazioneSviluppo Payload

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
Binary Exploitation
GitHubthemalwareguardian/cve-2003-0264

CVE-2003-0264

Classico buffer overflow basato su stack in SLMail 5.1 che mostra come i primi server di posta potessero essere compromessi tramite comandi SMTP e POP3 sovradimensionati.

Vedi Repository
15 mesi faNon ancora revisionato

🐞 CVE-2003-0264: SLMail 5.5 - Buffer Overflow basato su stack

Classico buffer overflow basato su stack in SLMail 5.5 che mostra come i primi server di posta potessero essere compromessi tramite comandi SMTP e POP3 di dimensioni eccessive.




📑 Indice dei contenuti

  • Perché esiste questo repository
  • Perché questa vulnerabilità è interessante
  • Contesto e software interessato
  • Informazioni sulla vulnerabilità
  • Attivare il crash
  • Exploitation



🎓 Perché esiste questo repository

Questo repository fa parte del materiale che utilizzo quando insegno l'exploitation della corruzione della memoria (oltre al mio lavoro abituale, insegno anche in diversi corsi di cybersecurity dove aiuto a formare la prossima generazione di reverse engineer).

CVE-2003-0264 è uno dei primi casi che introduco quando insegno i buffer overflow vanilla basati su stack su un protocollo di rete. È pulito, ben documentato e il percorso di exploitation è diretto: niente SEH, niente egghunter, nessun vincolo di spazio. Lo studente invia un payload, sovrascrive EIP, atterra su un gadget JMP ESP e ottiene una shell. È proprio questa chiarezza a renderlo utile come punto di partenza.




💡 Perché questa vulnerabilità è interessante

SLMail 5.5 è un server di posta legacy per Windows. La vulnerabilità risiede nel servizio POP3, in particolare nel gestore del comando PASS, che copia l'input dell'utente direttamente in un buffer di stack di dimensioni fisse senza alcuna validazione della lunghezza. Ciò che rende questo caso particolarmente utile per la didattica è il numero ridotto di componenti coinvolti:

  • Nessuna autenticazione richiesta per attivare il crash. L'overflow scatta prima che venga effettuato qualsiasi controllo delle credenziali. Un comando USER viene inviato prima come parte del protocollo POP3, ma il crash effettivo avviene nel gestore del comando PASS indipendentemente dalla validità delle credenziali.
  • Sovrascrittura diretta di EIP. Non è coinvolta alcuna catena SEH, nessuna corruzione dell'heap, nessuna exploitation multi-stadio. L'indirizzo di ritorno salvato viene sovrascritto direttamente e l'esecuzione viene reindirizzata allo stack controllato dall'attaccante.
  • Spazio abbondante per lo shellcode. Il buffer è abbastanza grande da contenere un payload standard di reverse shell dopo la sovrascrittura di EIP, senza alcun vincolo di dimensione.
  • Un gadget affidabile in un modulo senza ASLR. SLMFC.dll, una libreria inclusa con SLMail, è stata compilata senza ASLR, SafeSEH o CFG. I suoi indirizzi sono fissi tra i riavvii, rendendo il riutilizzo dei gadget semplice.

Questa combinazione — esposta alla rete, senza autenticazione, sovrascrittura diretta di EIP, nessuna mitigazione moderna — rende CVE-2003-0264 uno degli esempi reali più puliti di stack overflow vanilla che funziona ancora sulle versioni moderne di Windows.




🔍 Contesto e software interessato

SLMail è un server di posta per Windows che fornisce servizi SMTP, POP3 e di amministrazione. Il servizio POP3 resta in ascolto sulla porta TCP 110 e gestisce i comandi standard di recupero della posta. La vulnerabilità risiede nel gestore del comando PASS, che elabora l'argomento password inviato da un client in connessione.

Scarica lo strumento

Dettagli tecnici principali:

  • Tipo di vulnerabilità: Buffer overflow basato su stack
  • Versione interessata: SLMail 5.5 e precedenti
  • Endpoint interessato: Comando POP3 PASS
  • Componente vulnerabile: Gestore del comando PASS
  • Autenticazione richiesta: No
  • Impatto: Esecuzione di codice in remoto



⚠️ Informazioni sulla vulnerabilità

Il servizio POP3 di SLMail elabora il comando PASS copiando l'argomento password fornito in un buffer di stack di dimensioni fisse tramite una funzione non sicura, senza alcun controllo della lunghezza. Una versione semplificata della logica vulnerabile è la seguente:

root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, pass_argument);

Inviare una stringa sufficientemente lunga come argomento PASS fa sì che la copia scriva oltre la fine del buffer, corrompendo lo stack fino a sovrascrivere l'indirizzo di ritorno salvato. Quando la funzione ritorna, la CPU carica il valore controllato dall'attaccante dallo stack in EIP e vi salta.




💥 Attivare il crash

Il crash può essere riprodotto inviando un argomento PASS di dimensioni eccessive tramite POP3. Non sono richieste credenziali valide. Esempio con Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 110

payload = b"A" * 3000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER username\r\n")
s.recv(1024)

s.send(b"PASS " + payload + b"\r\n")
s.close()

Se eseguito sotto un debugger, il crash mostra EIP sovrascritto con dati controllati dall'utente:

root@kitploit:~
EIP = 41414141

confermando che l'indirizzo di ritorno salvato è stato corrotto dall'overflow.




💣 Exploitation

L'obiettivo di questo repository non è solo dimostrare il crash, ma percorrere passo dopo passo l'intero processo di exploitation, dal fuzzing a una reverse shell funzionante.

Per mantenere pulito il README principale, le note dettagliate sull'exploitation, gli script e i passaggi con il debugger sono inseriti nella cartella Vulnerability 📂 di questo repository.

Lì troverai il flusso di lavoro completo utilizzato per sfruttare questa CVE, tra cui:

  • Fuzzing del comando PASS per identificare il crash.
  • Individuazione dell'offset per localizzare la posizione esatta di EIP nello stack.
  • Analisi dei bad character per identificare i byte che corrompono il payload.
  • Individuazione di un gadget JMP ESP in SLMFC.dll, un modulo compilato senza ASLR o SafeSEH.
  • Posizionamento ed esecuzione dello shellcode.