前备知识
webshell应急响应是什么
WebShell应急响应是指在检测到WebShell(恶意Web脚本)攻击后,采取一系列措施来控制、消除威胁,并恢复受影响的系统和服务。WebShell是一种常见的攻击手段,攻击者通过上传或注入恶意脚本到Web服务器 上,从而获得对服务器的远程控制权限,而我们需要做的就是找到问题所在根源并且解决掉它。
常规后门查杀:
1.手动排查webshell
1.1 静态测试
我们可以查找一些特殊后缀结尾的文件。例如:.asp、.php、.jsp、.aspx。
然后再从这类文件中查找后门的特征码,特征值,危险函数来查找webshell,例如查找内容含有exec()、eval()、system()的文件。
//搜索目录下适配当前应用的网页文件,查看内容是否有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查找准确率高,部署方便,一个脚本就能搞定。
缺点:漏报率、误报率高,无法查找0day型webshell,而且容易被绕过。

1.2 动态测试
webshell执行时刻表现出来的特征,我们称为动态特征。只要我们把webshell特有的HTTP请求/响应做成特征库,加到IDS里面去检测所有的HTTP请求就好了。webshell如果执行系统命令的话,会有进程。Linux 下就是起了bash,Win下就是启动cmd,这些都是动态特征。
1.3 日志检测
使用Webshell一般不会在系统日志中留下记录,但是会在网站的web日志中留下Webshell页面的访问数据和数据提交记录。日志分析检测技术通过大量的日志文件建立请求模型从而检测出异常文件,例如:一个平时是GET的请求突然有了POST请求并且返回代码为200。
2.工具排查
1.阿里伏地魔
2.河马
3.D盾
题目一:
黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
要找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("
这四条语句进行搜索就可以,其他的方法的话肯定还有,但是我看了几个wp和视频都是用的搜索或者直接工具查杀找的,那手工的话就也找吧,会发现只有第二条会找到三个php结尾的文件

依次轮流查看文件内容


shell.php是一句话木马 其他的两个很明显是webshell
然后看到在gz.php中注释了027ccd04-5065-48b6-a32d-77c704a5e26d这么一段字符串 就是flag
题目二:
黑客使用的什么工具的shell github地址的md5 flag{md5}
根据二三php

一眼哥斯拉,因为使用过哥斯拉生成xor异或木马的都知道这个是哥斯拉标配 所以找到哥斯拉的github地址然后加密就行
题目三:
黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
因为我们不是找到了三个PHP文件吗,所以就是隐藏的就是这三个里面的其中一个,依次cd对应的目录,然后cat对应的文件,然后ls,如果找不到的就是被隐藏的只能ls -la找到 最后确定是.Mysqli.php 然后对它的路径加密就是flag
题目四:
黑客免杀马完整路径 md5 flag{md5}
免杀马:
是指经过特殊处理和混淆,使其能够避开杀毒软件和安全检测工具识别的恶意软件或后门程序。黑客使用各种技术手段,使恶意代码看起来像是正常代码,从而躲避签名检测和基于规则的安全机制。这种技术通常用于Webshell和其他后门程序,目的是保持对受害系统的隐蔽访问。
通俗地说就是绕过了waf,然后能成功执行webshell的东西
所以对于免杀马来说,他一定被服务器执行了,因为绕过了服务器安全机制,所以我们查看日志,来找一下具体的免杀马文件。

我们到var/log下面去找一下apache2 然后读一下access.log文件 因为apache里面专门存放Apache的日志,然后access是记录访问日志的

会发现这里面执行了几个top.php 我们查看下它的内容

这个免杀马的意思就是,func是攻击者输入的恶意代码,然后给到fun变量,最后在func2前拼接as,常见的assert就是危险函数嘛,所以我们就可以传入参数为func2=sert,func=system('id')所以最后构建出来的就是
assert(system('id')) 中间的那部分for循环就是对我们传入的进行解码

我们现在本地进行这么一个加密操作,然后作为func的值传入,然后服务器会进行解码,然后交给func2执行,最后就会执行恶意代码,这个就是当前简单免杀马的含义。