

远程连接一下
我们先查找一下网站的目录,到网站页面,可以看到有很多php文件,这样我们可以大致确定黑客上传的应该是php木马

通过ls -a 查看一下隐藏文件

现在我们查看一下各个php文件的内容
可以看到shell.php是一句话木马,但没有flag,我们继续找

这样找太慢了,我们通过,find命令进行快速查找
find ./ -name "*.php" | xargs grep "eval("

成功找到了第一个flag

@session_start();:启动会话
@set_time_limit(0);:设置脚本执行时间限制为无限制
@error_reporting(0);:关闭错误报告
function encode($D,$K){...}:定义了一个名为 encode 的函数,它接受两个参数 $D 和 $K。这个函数看起来像是一个简单的异或编码函数,用于对数据进行加密或解密。它使用 $K 作为密钥,对 $D 中的每个字符进行异或操作。
接下来的几行代码定义了 $payloadName、$key 和 $data 变量。$payloadName 是用于存储有效载荷的会话变量名,$key 是用于编码的密钥,$data 是从 php://input 流中读取的数据。
if ($data!==false){...}:如果从 php://input 读取的数据不是 false(即成功读取了数据),则执行以下代码块。
if (isset($_SESSION[$payloadName])){...}:检查 $payloadName 对应的会话变量是否已设置。
if (strpos($payload,"getBasicsInfo")===false){...}:检查 $payload 变量中是否包含字符串 "getBasicsInfo"。
eval($payload);:如果 $payload 变量包含 "getBasicsInfo" 字符串,则执行 $payload 变量中的 PHP 代码。
echo encode(@run($data),$key);:如果 $data 包含 "getBasicsInfo" 字符串,则执行 @run($data) 函数,并将结果编码后输出。
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
常用的Webshell连接工具主要就下面几款:
中国菜刀,蚁剑,冰蝎,哥斯拉
哥斯拉病毒是一种Java后门木马,通常用于攻击并控制web服务器,特征就包括:
- @session_start(); - 开启一个会话。
- @set_time_limit(0); - 设置脚本执行时间为无限。
- @error_reporting(0); - 关闭所有错误报告。
我们找到哥斯拉的github地址进行MD5加密
39392de3218c333f794befef07ac9257
第三个flag是让我们查找隐藏文件路径,刚刚我们通过find找到的就一个隐藏文件


所以路径就是/var/www/html/include/Db/.Mysqli.php
用md5转一下
aebac0e58cd6c5fad1695ee4d1ac1919
4.黑客免杀马完整路径 md5 flag{md5}
免杀马是指经过特殊处理和混淆,使其能够避开杀毒软件和安全检测工具识别的恶意软件或后门程序。黑客使用各种技术手段,使恶意代码看起来像是正常代码,从而躲避签名检测和基于规则的安全机制。这种技术通常用于Webshell和其他后门程序,目的是保持对受害系统的隐蔽访问。
既然它经过了免杀处理,那么木马的特征值以及特征函数应该都是被去掉了。
这里我们总结一下常见网站日志的路径:
IIS
IIS是Windows上的默认Web服务器,其日志文件默认存储在以下路径:
IIS 6.0 及更早版本:
C:\WINDOWS\system32\LogFiles\W3SVC[SiteID]\
IIS 7.0 及更高版本:
C:\inetpub\logs\LogFiles\W3SVC[SiteID]\
其中,[SiteID] 是网站的标识符,通常是一个数字。
Apache HTTP Server
如果在Windows上安装了Apache,日志文件默认存储在安装目录下的logs文件夹中:
C:\Program Files (x86)\Apache Group\Apache2\logs\
或者
C:\Program Files\Apache Group\Apache2\logs\
具体路径取决于安装时选择的位置。
Linux系统中的网站日志路径
Apache HTTP Server
在Linux上,Apache日志文件通常位于以下目录:
访问日志:
/var/log/apache2/access.log
或者
/var/log/httpd/access_log
错误日志:
/var/log/apache2/error.log
或者
/var/log/httpd/error_log
不同的Linux发行版可能有不同的目录。
Nginx
Nginx是另一个流行的Web服务器,默认的日志文件路径如下:
访问日志:
/var/log/nginx/access.log
错误日志:
/var/log/nginx/error.log
我们查看一下apache的日志,分析一下

我们可以看到有个名为top.php的文件执行了phpinfo();且返回值为200,有点可疑。

查看文件内容,发现确实是使用了字符串拼接进行免杀,代码中没有直接暴露的高危函数

然后我们对路径进行md5加密 /var/www/html/wap/top.php
eeff2eabfd9b7a6d26fc1a53d3f7d1de
其实我们可以通过将文件都传到本地,通过D盾进行一个查杀的,这样更快,但这毕竟是靶场尽量还是手工查杀,熟悉应急响应流程
到这里 第一章 应急响应-webshell查杀就结束了