第一章 应急响应-webshell查杀

步骤1

webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}

首先代码特征

可疑函数调用

WebShell通常会使用一些危险的函数来执行系统命令或代码,如:
PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), base64_decode()
ASP: Execute(), Eval(), CreateObject()
JSP: Runtime.getRuntime().exec()

  1. 编码和解码
    • WebShell经常使用编码和解码技术来隐藏其真实意图,如Base64编码:
1
eval(base64_decode('encoded_string'));

文件操作

WebShell可能会包含文件操作函数,用于读取、写入或修改文件:
PHP: fopen(), fwrite(), file_get_contents(), file_put_contents()
ASP: FileSystemObject
网络操作

WebShell可能会包含网络操作函数,用于与远程服务器通信:
PHP: fsockopen(), curl_exec(), file_get_contents(‘http://…’)
ASP: WinHttp.WinHttpRequest
上面刚刚也说了我们可以尝试定位一些特殊的后缀文件,例如:.asp、.php、.jsp、.aspx。

命令:

1
2
3
4
5
6
7
8
9
//搜索目录下适配当前应用的网页文件,查看内容是否有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("

//对于免杀Webshell,可以查看是否使用编码
find ./ type f -name "*.php" | xargs grep "base64_decode"

一个一个进行尝试即可;

首先定位Web服务器,查看网络发现开放了80端口

1
netstat -ano

c37432d570dbdf7c.png

查看端口对应应用知道了使用的web服务器为apache

263850631a7b9025.png

所以我们去到apach目录

1
cd /var/www/html

在这里搜索web目录下的php文件,看是否包含恶意函数,发现有三个文件中包含了恶意函数

1
2
find ./ -type f -name ".php" | xargs grep "eval("

在这里发现flag

1
cat include/gz.php

512b776bb3d9dced.png

即flag为

1
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}

步骤2

黑客使用的什么工具的shell github地址的md5 flag{md5}

知识点:哥斯拉病毒

哥斯拉病毒是一种Java后门木马,通常用于攻击并控制Web服务器。特征就包括:

  1. @session_start(); - 开启一个会话。
  2. @set_time_limit(0); - 设置脚本执行时间为无限。
  3. @error_reporting(0); - 关闭所有错误报告。

这些代码行主要用于隐藏病毒活动并确保其能够长时间运行而不被发现。哥斯拉病毒通常会通过Webshell或其他漏洞注入到服务器中,然后使用这些命令来掩盖其存在并执行进一步的恶意操作。

所以我们只需要找到它的github地址并且进行MD5加密即可;

Godzilla地址:https://github.com/BeichenDream/Godzilla

常用的Webshell连接工具主要就下面几款:

caidao,中国菜刀 AntSword,蚁剑 Behinder,冰蝎 Godzilla,哥斯拉

b5c629ccdedf0181.png

即flag为

1
flag{39392DE3218C333F794BEFEF07AC9257}

后面的问题我们可以使用河马查杀

河马查杀webshell

步骤3

黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx

之前查恶意代码发现有一个文件是.Mysqli.php,用.作为开头的文件不会直接显示出来,可以确定这个是隐藏文件

0a78b9f08e92ae48.png

1
2
3
对文件路径进行md5加密得到flag

flag{aebac0e58cd6c5fad1695ee4d1ac1919}

步骤4

黑客免杀马完整路径 md5 flag{md5}

1845e02d5c7dd3b0.pngdc5d045df048c48f.png