- 首先,在攻击行为发生时,创建客服系统后台服务的 Dump 文件,注意区分 x86 和 x64。
- 安装 WinDbg 或 WinDbg Priview ,Windows 10 推荐使用 WinDbg privew,使用 WinDbg 打开 Dump 文件。
第一次打开时,会自动下载所需的 PDB 文件,等待下载完成后,即可加载调试信息,如下图:
- 执行 reload 命令
- 执行 loadby sos clr 命令
- 执行 !tp 命令
显示出 CPU 占用率 51%。
- 接下来,我们要找到造成 CPU 占用具体的线程和位置,使用 !runaway 命令。定位到线程 41 长时间占用 CPU。
- 使用命令 ~41s 进入线程。接着使用 !clrstack 命令显示调用堆栈。
如图,根据调用堆栈显示的信息,非常明确的指示出,Socket 端口接收数据时,大量占用了 CPU。
结合系统的其它日志,判断攻击者通过连接 TCP 端口,高强度,大量的发送垃圾数据,导致服务器 CPU 高负荷运行,企图拖垮服务器。明确攻击位置和原因之后,就好办了,在 Socket 端口连接和监听时,加入安全反制的机制,重新部署上线。
不久,抓到了一个国内 IP ,此 IP 发起了攻击行为,系统自动切断了连接并拉黑了此 IP 地址。随后的几天中,攻击者使用了国外代理发起攻击行为,先后抓到了两个不同国家的 IP,使用相同的方式发起攻击行为。虽然攻击者切换了国外代理,但最初的国内 IP 已经暴露。
攻击者使用了一个位于荷兰的 IP ,再次发起攻击,服务器在识别到攻击行为后,几秒钟内切断了连接,并拉黑攻击 IP。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/308924.html