必备知识点

  1. 熟悉常用的web安全攻击技术

  2. 熟悉相关日志启用以及存储查看等

  3. 熟悉日志中记录数据分类和分析等

Web 服务器被入侵后,怎样进行排查?

当Web服务器被入侵后,为了及时发现并清除安全威胁,需要对服务器进行排查。以下是一些可能有效的排查步骤:

  1. 收集日志和证据:在服务器上查找可疑的文件、目录、进程和网络连接,并记录下来。此外,收集服务器日志,包括系统日志、Web服务器日志、应用程序日志等,以了解攻击者的行为和攻击路径。
  2. 切断网络连接:如果发现服务器被攻陷,应该立即切断服务器与网络的连接,以避免攻击者继续对服务器进行操作或盗取敏感信息。封ip或者隔离下线chu’li
  3. 分析攻击痕迹:通过分析日志和证据,了解攻击者是如何入侵服务器的,包括攻击的方式、攻击的时间和攻击者的来源等。
  4. 看看有没有异常端口开放
  5. 使用安全狗等服务器安全软件清扫
  6. 清除恶意文件和程序:彻底清除服务器上的恶意文件、程序和后门,以避免攻击者再次入侵。
  7. 更新和修补系统:更新服务器操作系统和应用程序,补丁安全漏洞,以减少服务器遭受攻击的风险。
  8. 重建服务器:如果攻击者已经在服务器上建立了持久性后门或存在无法清除的恶意程序,建议重建服务器,以确保服务器的安全性。

应急响应-webshell排查场景

服务器存在webshell,如何处理?

网站被植入 webshell,意味着网站存在可利用的高危漏洞,攻击者通过利用漏洞入侵网站,写入 webshell 接管网站的控制权

  1. 及时隔离主机
  2. 定位事件范围,查看文件 webshell 文件的创建时间,对 webshell 取证样本
  3. 排查:通过创建时间结合web日志分析可疑行为,以及启动用户的其他进程确定漏洞
  4. 清除 webshell 及残留文件,查看有无后面,然后修复漏洞,进行入侵排查
  5. 看看可有即使修复的可能,如果暂时不好修复就关站

怎么检测、查杀webshell,怎么检测webshell

主机层面

  1. 静态:静态检测通过匹配特征码,特征值,关键词,危险函数函数来查找webshell的方法,只能查找已知的webshell。
  • 通过一些查杀工具对比特征值,如D盾、安全狗进行全盘扫描
  • 对比历史文件夹,查看是否有新增可疑文件,近期修改的文件
  1. 动态

通过日志,流量,文件访问频率、访问记录等方法查看文件找到webshell进行检测

webshell 传到服务器了,在执行函数时这些对于系统调用、系统配置、数据库、文件的操作动作都是可以作为判断依据

  1. 日志检测

使用 webshell 一般不会在系统日志中留下记录,但是会在网站的 web 日志中留下 webshell 页面的访问数据和数据提交记录

  1. 语法检测

语法语义分析形式,是根据 php 语言扫描编译的实现方式,进行剥离代码、注释,分析变量、函数、字符串、语言结构的分析方式,来实现关键危险函数的捕捉方式这样可以完美解决漏报的情况但误报上

流量层面

webshell流量特征

常见Webshell | 晚上十一点睡觉のBlog (gungnir.top)

手工查找后门木马的小技巧

  1. 首先最需要注意的地方是系统的启动项,可以在“运行”-输入“msconfig 命令” 。在打开的系统配置实用程序里的启动列表查看,并且服务也要注意一下,如果对电脑不是太熟悉的童鞋建议使用 360 安全卫士的开机加速功能,来查看有无异常的可以启动项和服务项,因为在后门木马中 99%都会注册自己为系统服务,达到开机自启动的目的,如果发现可疑项直接打开相应的路径,找到程序文件, 直接删除并且禁止自启动;
  2. 查看系统关键目录 system32 和系统安装目录 Windows 下的文件,xp 系统下两者默认路径分别是 C:\WINDOWS\system32 和 C:\WINDOWS\。然后最新修改的文件中有没有可疑的可执行文件或 dll 文件,这两个地方都是木马最喜欢的藏身的地方了(小提示:一定要设置显示所有的文件的文件夹哦)。
  3. 观察网络连接是否存在异常,还有“运行”-“cmd”-“netstat -an”查看有没有可疑或非正常程序的网络连接,如果对电脑不是很熟悉建议大家使用 360 的流量监控功能更加直观和方便,尤其注意一下远程连接的端口,如果有类似于 8000 等
    端口就要注意了,8000 是灰鸽子的默认端口,记得有一次自己就在后门木马测试中在网络连接中发现 8000 端口,当然意思不是说只要没有 8000 端口的网络连接就一定安全,因为 8000 端口只是灰鸽子上线的默认端口,并且端口是可以更改的。
  4. 通过以上方法,可以查找到电脑的一些可疑文件,如果确认无疑,就可以手工进行删除了。当然还可以借助杀毒软件的力量。如果你真的中了木马后门,不用慌。最好最彻底的方法是重装系统后,在安全模式下,利用最新病毒库的杀软进行查杀。

应急响应-内存马场景

内存马手工排查

如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理, 列出一个排查思路——

  • 先查看检查服务器web日志,查看是否有可疑的web访问日志,比如说filter或者listener类型的内存马,会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的请求。

  • 如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

    • spring的controller类型的话根据上报webshell的url查找日志,
    • filter或者listener类型,可能会有较多的404页面不存在但是带有参数的请求。
  • 查看是否有类似哥斯拉、冰蝎特征的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。

  • 通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。

杀马

接下来就算杀马过程:

终止进程:如果确认某个进程是内存马,可以尝试终止该进程。在Windows系统中,可以通过任务管理器或者命令行工具taskkill来终止进程;在Linux系统中,可以通过命令行工具kill或者pkill来终止进程。

删除文件:如果进程终止后,还需要删除相关的文件,以防止内存马重新启动。在Windows系统中,可以直接删除相关文件;在Linux系统中,需要先终止进程,然后再删除文件。

  • 不得已使用的手段:重启服务:

众所周知,重启能解决90%的问题,内存马也是存在于进程之中,所以条件允许的话直接重启服务便是了

内存马工具查杀:

注:除了有java内存马外,还有php不死马

如何查看系统java内存马

web安全事件应急案例

web应急案例1:windows+IIS+SQL - 日志搜索

故事回顾:某小企业反应自己的网站出现异常,请求支援

思路:进入网站服务器,通过配置文件找到网站日志目录,打开日志,搜索分析

1. 查询IIS日志文件存放位置

image-20221019043719897
  • 注意在这个地方,可以修改日志显示哪一些字段,可以显示的更加完善:
image-20221019044752234

可以修改日志的属性,更加全面

图片

2. 根据网站的ID号寻找对应的日志

一般IIS日志目录下面有很多的日志,要根据ID找到对应的日志

图片 图片

3. 找到日志后查看攻击语句

image-20221019044118948

4. 根据指纹判断攻击所采用的了何种攻击,搜索一些日志中常见关键词

image-20221019044958092

web应急案例2:linux+BT+Nginx+thinkphp5日志后门

故事回顾:某黑x哥哥反应自己的网站出现异常,请求支援

1. 在宝塔面板中下载日志至本地

图片

2. 分析日志,查看工具指纹和攻击请求IP,锁定攻击IP

img

3. 或者使用宝塔自带后门查杀

img

WEB应急案例3:溯源-后门,日志

故事回顾:某客户反映自己的网站首页出现篡改,请求支援
分析:涉及的攻击面,涉及的操作权限,涉及的攻击意图,涉及的攻击方式等

  • 思路1:利用日志定位修改时间(依据是被修改的文件,比如说主页),将前时间进行攻击分析,后时间进行操作分析
  • 思路2:利用后门webshell查杀脚本或工具找到对应后门文件,定位第一次时间分析

几个关键字就是:日志、修改时间、定位后门文件

站在攻击者的角度,去分析。攻击者当前拿到哪些权限,网站还是系统权限。装没装杀软,用渗透者的思路去想问题。注重信息搜集,从攻击面入手查看应急响应。

1. 执行netstat -ano命令,通过开放的端口找到对应的PID。

img

2. 执行tasklist -svc命令,通过PID找到对应的进程名称。

img

3. 在任务管理器,右击进程名称,选择打开文件位置。

img

直接定位到具体位置

img

4. 根据不同的服务名,找寻对应的日志存储目录。

img

5. 打开日志,分析异常操作,发现有人上传了x.php文件。

img

6. 通过网站目录找到x.php

img

7. 打开看一下,是后门文件。

img

8. 还可以去网站目录查看首页修改时间,查找网站相关日志,定位修改时间基数

将该时间之前的日志进行攻击分析(分析攻击者是如何修改首页内容的),该时间之后的日志进行操作分析(分析攻击者修改网页之后还进行了什么操作,是否留有后门等)

9. 利用后门webshell查杀脚本或工具找到对应后门文件

网上有很多查杀工具,比如D盾_Web查杀、百度WEBDIR+、河马、Sangfor WebShellKill、深度学习模型检测PHP Webshell、PHP Malware Finder、在线webshell查杀工具等。

参考:应急响应之Webshell查杀工具

比如使用河马查杀,安装之后,扫描,发现两个后门。然后去日志搜索相关关键字,找到是谁访问了这个后门,如何操作等。

img

web日志分析工具

除了360星图外还有很多工具,其中ELK和Splunk部署相对比较麻烦。ELK、Splunk基本是蓝队必备,迪哥推荐FileSeek

  • ELK

开源实时日志分析的ELK平台,由ElasticSearch、Logstash和Kiabana三个开源项目组成,在企业级日志管理平台中十分常见。
下载使用:https://www.elastic.co/cn/elastic-stack

  • Splunk

一款顶级的日志分析软件,如果你经常用 grep、awk、sed、sort、uniq、tail、head 来分析日志,那么你可以很容易地过渡到Splunk。
下载地址:https://www.splunk.com/zh-hans_cn/download/splunk-enterprise.html

  • FileSeek:

https://www.ghxi.com/fileseek.html

  • FinderWeb

程序员的看日志利器,支持,tail, less, grep,支持超大的文本文件,从几M到几十G的日志文件都流畅自如。
下载使用:http://www.finderweb.net/download.html

  • web-log-parser

一款开源的分析web日志工具,采用python语言开发,具有灵活的日志格式配置。
github项目地址:https://github.com/JeffXue/web-log-parser

更多工具见下方链接

webshell查杀工具

  • D盾_Web查杀:

阿D出品,使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为。

兼容性:只提供Windows版本。

安装:

解压全部文件到指定目录,如 C 盘或 D 盘 例如:d:\d_safe 之后运行 “D_Safe_Manage.exe” D 盾程序,

如果你的是 IIS 网站环境,请点击“选项”页里点击按钮“安装[D 盾]保护”,进行安装,安装时需要管理员权限.

如果你的电脑不是 IIS 的网站环境,无需安装保护,可当 web 查杀软件使用。

D 盾查杀之前先确保规则库是最新的,可以查杀最新的 webshell 后门。

http://www.d99net.net/index.asp

  • 河马webshell查杀:

专注webshell查杀研究,拥有海量webshell样本和自主查杀技术,采用传统特征+云端大数据双引擎的查杀技术。查杀速度快、精度高、误报低。
兼容性:支持Windows、linux,支持在线查杀。

http://www.shellpub.com

Webshell Detector具有“ Webshell”签名数据库,可帮助识别高达99%的“ Webshell”。
兼容性:提供php/python脚本,可跨平台,在线检测。
官方网站:http://www.shelldetector.com/
github项目地址:https://github.com/emposha/PHP-Shell-Detector

  • 在线webshell查杀工具

在线查杀地址:http://tools.bugscaner.com/killwebshell/


refer

-

声明:

  1. 若文章存在错误,望诸君不吝指正^

  2. blog仅供个人记录学习所用

  3. 部分笔记由于年代久远,做的笔记找不到最初是引用谁的,若是不允许引用转载,请联系我