最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

记一次内网主机感染木马的应急响应

  • 2019-09-23
  • 本文字数:1474 字

    阅读完需:约 5 分钟

记一次内网主机感染木马的应急响应

听说过大名鼎鼎的“永恒之蓝”和 Wannacry 勒索软件吗?其实他们一点都不遥远,就潜伏在我们周围。本文记录了一次针对内网主机感染相关木马病毒的应急响应流程,从分析思路和排查方法的角度对从发现到定位再到清除的过程进行了介绍。

详述

最近替我司某部门的主机做了一次恶意软件排查,分享一下整个分析过程和思路。


首先最初的告警来自 IPS 日志,10.10.X.X 出现大量内网 445 端口扫描,从遍历的目的 IP 来看绝对属于异常行为,流量特征符合内网漫游。



初步判断,源主机上某个程序(大概率为 malware)正在进行内网 445 端口扫描,寻找存在漏洞的主机进行感染。既然通过流量数据包的内容看不出太多名堂,那么我们就登陆主机排查一下(当然要经过业务方同意啦)。


  1. 登陆主机后先看看网络连接,是哪些程序在向外扫描 445 端口。Netstat 后发现本机大量随机端口与连续 IP 地址的半开连接。主要是两个程序发起的这些连接:spoolsv.exe 和 mssecsvc.exe。mssecsvc.exe 是去年 WannaCry 勒索软件爆发时生成的典型文件名称,而 spoolsv.exe 是 Windows 操作系统用于管理打印机池的程序。但是,为什么一个打印机管理程序会逐台扫描内网主机呢,此处有诈!



  1. 那么我们就看看任务管理器,mssecsvc.exe 就不用说了,但是 spoolsv.exe 却有两个!原来是李逵与李鬼。那么哪个是真的呢?去查资料,得知真正的 spoolsv.exe 的路径应该在 C: \WINDOWS\system32 下面,那么 PID 为 154352 的进程明显就是仿冒系统进程的木马进程了(其实从 PID 的数值大致可以判断真伪,但是不能心存侥幸)。



  1. 既然找到了木马进程,kill 掉他们就是了,然后去删文件。然而,mssecsvc.exe 进程是杀掉了,但是 spoolsv.exe 杀掉后换了个 PID 马甲又出现了。看来应该是有守护进程重新开启了这个程序文件。



4.所以,杀不掉的进程怎么办??这个时候用到了一个叫 PChunter 的工具,它能够对进程列表中的进程进行签名校验,黑色为系统进程,蓝色为签名验证通过的进程,粉色为签名验证未通过也就是存在问题的进程。我们可以看到 spoolsv.exe 就是粉色的,于是我们用 PChunter 来结束进程并删除文件。但是!!还是没有用!!!文件删除后又出现了,也就是说这个守护进程不仅会重新打开并且还会重新创建程序文件。



5.既然 spoolsv.exe 本身被删掉还会重新生成,那我们就去找生成这个文件的进程,也就是它的父进程,PID 为 23428 的 svchost.exe。当我把这个父进程 kill 掉后再去解决 spoolsv.exe,果然 spoolsv.exe 没有再重新出现。


这个时候木马算是基本清除了,收尾工作包括检查一下启动项、服务和计划任务,把木马进程相关的项目清理一下。最后再次查看网络连接,瞬间清爽许多。



  1. 收工~~ 等等,这就完了吗?并没有!一次完整的应急响应还包含了经验总结和持续监控。于是,我把整个分析过程记录在了我们的日常安全事件报告中,并在两天后再一次登录该主机查看相关进程,确保恶意软件不会死灰复燃。

后记

如果有额外的精力和能力,还可以把恶意软件的样本放到沙盒里进行调试,分析它的行为。常用的 Windows 恶意软件调试工具有:


  • IDA Pro

  • Windows 反汇编和调试器,有免费评估版

  • OllyDbg

  • Windows 可执行程序汇编级调试器

  • Process Explorer

  • 高级 Windows 任务管理器

  • Process Monitor

  • Windows 下高级程序监控工具


作者介绍:


张洪洋,专注于安全运营、应急响应、网络攻防方向,本科毕业于北京邮电大学,休斯顿大学全额奖学金研究生。曾供职于毕马威美国、安全公司 Alert Logic,2017 年归国加入贝壳找房任高级安全工程师。


本文转载自公众号贝壳产品技术(ID:gh_9afeb423f390)。


原文链接:


https://mp.weixin.qq.com/s/Tl1u8_XnkfEoDLbSrc89IQ


2019-09-23 09:421629

评论

发布
暂无评论
发现更多内容

架构训练营模块2作业

唐江

图算法系列之无向图的数据结构

Silently9527

Java 数据结构和算法 图算法 无向图

架构学习模块二作业

架构实战营

模块2—分析一下微信朋友圈的高性能复杂度

sandy

架构实战营

产品经理训练营 Week4 学习心得

Mai

一文带你更方便的控制 goroutine

万俊峰Kevin

线程 并发 Go 语言 goroutine

华仔架构-模块

大师兄

架构实战营-作业2

大肚皮狒狒

作业

微信朋友圈高性能架构

chenmin

架构师实战营 模块二作业 微信朋友圈高性能架构分析

小遵

架构实战营模块 2 作业

梦寻解语花

架构实战营

朋友圈高性能复杂度

Simon

架构实战营

架构实战营 模块二作业

Dylan

架构实战营

Java-技术专题-CountDownLatch的介绍和使用

洛神灬殇

Java AQS CountDownLatch JUC

架构实战营模块 2 学习总结

林子钧

总结 架构实战营 模块二

后端服务太多,且涉及多种语言,如何进行高效管理?

我爱娃哈哈😍

架构 架构设计 架构场景实战

模块二-微信朋友圈的高性能复杂度

华仔架构训练营

微信朋友圈高性能复杂度分析设计

贯通

#架构实战营

架构实战营模块2作业

林子钧

作业 架构实战营 模块二

产品经理训练营Week14学习心得

Mai

模块二:课后作业

iHai

架构实战营

模块二作业-架构训练营

架构训练营

架构训练营-模块二作业

Neil43

架构训练营

微信朋友圈高性能复杂度分析

thewangzl

架构实战营第二模块作业

DZ

架构实战营模块 2 作业

Lukefang

产品经理训练营 Week3 学习心得

Mai

【架构实战营】模块2作业

dragonboa

「架构实战营」第二次作业

高亮

架构实战营

架构0期作业2

sjj

甲方日常 94

句子

工作 随笔杂谈 日常

记一次内网主机感染木马的应急响应_文化 & 方法_张洪洋_InfoQ精选文章