一次云上病毒事件的应急响应——阿云的阿里云安全技术实践(1)

本文涉及的产品
云安全中心 免费版,不限时长
简介: 企业安全团队在阿里云上的一次木马病毒事件响应——一次根据非真实事件改编的安全小说……“安骑士主机异常事件:木马程序。”就不高速运转的脑神经,突然一阵抽搐……

image

[TOC]

一点惆怅

自打从老东家辞职后,阿云加入了一个新兴的互联网企业。新、老公司运维模式完全不一样,这里没有 IDC 机房,也没有传统的防火墙,更没有天天“救火”的匆忙。作为一名信息安全工程师,阿云的日常工作就是保障公司租用的阿里云基础设施和云上业务系统的安全。

似乎云平台解决了所有的安全问题,阿云已经好几个月没有和黑客正面对抗了。这让他有些惆怅,心生倦怠,他甚至怀念起了以往与“黑产”正面厮杀的场景。

重燃烈火

“防狼”的日子一天天过去,到了秋季,准确地说是2018年9月31日——一个平淡得不能再平淡的上午。正在浏览vipread.com(不是广告)的阿云,看到任务栏弹出一则钉钉消息:“安骑士主机异常事件:木马程序”。久不高速运转的脑神经,突然一阵抽搐。3秒钟过后,阿云的脑回路重新激活。“来活了!”阿云朝身边的其他战友喊道,脸上似乎带着些快意。

image

阿云再次喊道:“开发环境,192.168.0.3可能中木马了,赶紧给看下!”

负责主机安全事件的余老师因为临时被叫去参加一个会议无法立即协助,好在组织内部分工明确也协作有序,替补人员大鹏哥立即响应:“我登上阿里云控制台了,正在看!”

“svchost.exe,系统进程么?会不会是安骑士误报啊?”大鹏哥淡淡地说。话音刚落又是一条消息:“安骑士主机异常事件:DDoS木马”,还是192.168.0.3。紧接着又是一梭钉钉消息!

192.168.0.4,192.168.4.4,192.168.4.10,10.0.3.19都有告警,看来不是误报,是沦陷!

image

阿云的额头开始冒汗,老司机这回要翻车了?

稳住,我们能行!

阿云所在的团队总共五个人,当时能参与事件响应的只有三个人:阿云、大鹏哥和小明。

此时,团队已经兵分三路开工了。

  • 大鹏哥和各个系统的维护人员比较熟悉,第一时间联系到相关责任人,对阿里云上的多台服务器的用途和状态立即做了确认,之后配置安全组规则快速执行了网络隔离。
  • 小明早已开始通过外部威胁情报渠道,查询本次安全事件背后的关联信息。
  • 远在会议室开会的余老师开上了小差,和一些重要部门的同学就服务器近期访问情况进行讨论并启动日志分析。
  • 阿云自己则开始快速查询日志,进行事件关联性分析。

工作在争分夺秒地开展,时间在缓慢地流逝,办公室里突然安静了许多。接下来还会不会有更多的服务器沦陷?没人敢说,也不看敢想……

初现端倪

通过查询微步威胁情报,小明发现目标文件已经被多款杀毒软件识别为恶意软件。看来这是真中招,不是误报。

image

大鹏哥这边也有发现!结合阿里云安骑士告警,再登录受感染服务器查询,大鹏哥发现服务器上有个可疑的文件目录:C:\Windows\SpeechsTracing\Microsoft\。通过互联网搜索,发现已经有相关安全报告涉及到这个未知文件和目录,可能和虚拟货币“挖矿”有关。参考FreeBuf《【安全研究】关于挖矿蠕虫Wannamine2.0的研究分析》,病毒大概逻辑是这样的:

  • 扫描同网段存活的445端口,并启动程序逐个发起攻击。
  • 攻击阶段一:启动svchost.exe > stage1.txt(c:\windows\SpeechsTracing\Microsoft\svchost.exe )执行端口扫描
  • 攻击阶段二:启动spoolsv.exe >stage2.txt(c:\windows\SpeechsTracing\Microsoft\spoolsv.exe )执行漏洞攻击

现在,阿云的团队至少知道这些服务器中的是什么招。受感染主机均已经被隔离,局势暂时有所缓解,但阿云还有几个问题没有解决:

  • 还有哪些主机被攻击过?(漏报)
  • 有没有被攻击但没有被告警的主机?(漏报)
  • 病毒最初是从哪里进入服务器的?(怎么死的)

其中第三个问题最为重要,也是阿云的口头禅:“‘不知道是怎么死的’往往最可怕!”

事件回溯

为了搞清楚到底还有哪些主机被攻击或沦陷,阿云团队开始了事件日志回溯工作,主要是如下思路:

  • 通过阿里云【态势感知】|【主机进程快照】,找到运行过svchost.exespoolsv.exe的主机
  • 通过阿里云【态势感知】|【网络连接日志】和【网络会话日志】,找到所有445端口连接或被连接的行为
  • 登录所有已经沦陷主机,查询c:\\windows\\SpeechsTracing\\Microsoft\\目录下的stage1.txtstage2.txt,确认曾经被扫描或攻击的日志。

通过阿里云控制台进入【态势感知】|【更多功能】|【日志检索】,可快速查找网络连接信息和网络会话信息。

image

如下图所示,通过查询可以发现主机192.168.0.3的确有过连接192.168.0.4TCP 445端口的记录。

image

基于上述统计信息,统计出病毒爆发前后1小时内所有445访问行为,阿云所在安全团队拿到了病毒在内网进行端口扫描的所有记录。为了进一步佐证攻击事实,大鹏哥登录多台服务器,逐个确认 stage1.txt和 stage2.txt,看是否有攻击程序遗留的记录。果然在192.168.0.3服务器上发现了 stage2.txt中保留的攻击192.168.0.4的记录。 同时,在192.168.0.4服务器上也找到了同样的攻击程序和文件目录。

image

通过态势感知后台查询安骑士进程快照信息,可以获悉到哪些主机曾经执行过恶意进程,从而判断具体哪些主机已经沦陷。

image

攻击还原

结合上一环节使用的阿里云态势感和安骑士日志,阿云所在的安全团队掌握了充足的信息。经过一番梳理,基本可以确定:

  • 哪些主机连接过 TCP 445端口
  • 哪些主机被连接过 TCP 445端口或在 stage2.txt中出现过(被扫描和攻击过)
  • 哪些主机执行过恶意进程 (已沦陷)
  • 哪些主机在 stage1.txt中出现,但是在 stage2.txt中未出现(开放端口,但攻击失败)

当年追踪羊毛党推荐关系链时用过的工具Graphviz再次派上用场。阿云将主机访问信息输入到绘图工具 Graphviz 中,得到下面的访问或攻击关系图。

image

其中红色实线表示成功攻击,棕色表示发起过攻击但未成功(来源于 stage2.txt),黑色虚线表示至少发起过端口扫描的连接尝试(态势感知日志和 stage1.txt)。

未完的故事

至此,阿云所在的安全团队算是搞清楚了本次病毒事件的基本时间序列。从安骑士的告警信息来看,本次病毒攻击事件几乎没有误报和漏报。阿云心中多个疑惑都已解开,唯独还有一个问题没想明白:“第一台服务器192.168.0.3是如何感染病毒的?”

是啊,病毒是怎么进的云服务器?这真是个头疼的问题,阿云想了很久,没有答案,头痛的厉害,醒来了……“唔,做梦吗?”

想知道这个问题的答案吗?关注我,且听下回分解~

附:Graphviz 绘图源码

digraph G {

edge[style = "dotted" color="brown"] 
    "192.168.0.3"->"192.168.0.6"
    "192.168.0.4"->"192.168.0.201"
    "192.168.4.4"->"192.168.4.227"
    "192.168.4.19"->"192.168.4.227"


edge[style = "solid" color="red"]
    "192.168.0.4" -> "192.168.4.4"
    "192.168.0.4" -> "192.168.4.19"
    "192.168.0.3" -> "192.168.0.4"
    "192.168.4.4" -> "10.0.3.19"

edge[style = "dotted" color="black"]        
    "192.168.0.4" -> "192.168.0.7"
    "192.168.0.4" -> "192.168.0.13"
    "192.168.0.4" -> "192.168.0.109"
    "10.0.3.19"->"10.0.3.1\n10.0.3.2\n10.0.3.7\n..."

}

首发于 VSRC 公众号:https://mp.weixin.qq.com/s/fVXr-mTx1lob03vVzI7Bpw

目录
相关文章
|
23天前
|
弹性计算 安全 关系型数据库
阿里云产品在技术探索中的实践和思考
本文讲述了作者在使用阿里云产品进行技术探索的实践中,如何借助ECS、RDS、OSS、SLB和VPC构建高可用分布式系统。从最初的虚拟主机服务到全面的云服务,阿里云帮助解决了性能、负载均衡、数据存储和网络安全等问题。在面对性能优化、成本控制和安全管理的挑战时,作者通过监控、调整和采用安全措施确保了系统的高效运行。未来,作者将继续在云计算领域探索,利用AI、大数据及物联网技术驱动业务创新和增长。
70 0
|
9天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
12天前
|
算法 物联网 数据库
阿里云 OpenSearch RAG 应用实践
本文介绍了阿里云OpenSearch在过去一年中在RAG方面的应用和探索。
383 2
阿里云 OpenSearch RAG 应用实践
|
18天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
179 3
|
8天前
|
运维 监控 搜索推荐
客户案例 | 阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践
本文分享了阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践。阿里云的 Milvus 服务以其性能稳定和功能多样化的向量检索能力,为识货团队在电商领域的向量检索场景中搭建业务系统提供了强有力的支持。
|
11天前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——干货长文快收藏!阿里云专家教你如何安全访问和管理ECS资源(3)
**《从基础到应用云上安全航行指南》——阿里云专家教你如何安全访问和管理ECS资源(3)** 在阿里云的广阔云海中,ECS(弹性计算服务)资源如同航行的船只,承载着我们的业务与数据。如何确保这些
|
17天前
|
人工智能 前端开发 JavaScript
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
阿里云验证码产品,使用业界先进的风控引擎结合“规则+AI”模型,有效区分真实用户和机器自动化脚本攻击,避免机器请求造成业务损失。主要适用于垃圾注册、刷库撞库,薅羊毛,短信被刷等风险场景。为您提供安全可靠的业务环境。本文为大家介绍验证码使用时滑动验证流程及验证不通过的问题排查。
64725 4
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
|
19天前
|
运维 监控 安全
【阿里云云原生专栏】云原生时代的 DevSecOps:阿里云的安全开发流程实践
【5月更文挑战第28天】在云原生时代,面对安全新挑战,阿里云践行DevSecOps理念,将安全贯穿于开发运维全过程。通过安全需求分析、设计、代码审查、测试及持续监控,确保云原生应用安全。例如,Kubernetes配置中加入安全设置。阿里云还提供多种安全服务和工具,如身份认证、云防火墙等,助力用户构建安全可靠的云应用,为数字化转型保驾护航。
73 4
|
20天前
|
弹性计算 运维 监控
【阿里云弹性计算】云上自动化运维实践:基于阿里云ECS的自动化部署与管理
【5月更文挑战第27天】阿里云ECS自动化运维实践:借助ECS API和SDK实现自动化部署,通过Python示例展示实例创建。利用Ansible、Docker等工具进行配置管理和容器化,结合CloudMonitor和Auto Scaling实现监控告警及资源动态调整,提升运维效率和系统稳定性。
40 0
|
20天前
|
SQL 监控 安全
【阿里云云原生专栏】云原生安全体系构建:阿里云云防火墙与WAF的应用
【5月更文挑战第27天】阿里云云防火墙和WAF是构建云原生安全体系的关键产品,提供网络、主机和Web应用多维度防护。云防火墙采用分布式架构抵御网络攻击,确保应用安全稳定;WAF专注Web应用安全,防止SQL注入、XSS和DDoS等威胁。简单部署配置,结合使用可实现全面安全防护,提升企业云上应用安全性,保障业务安全运行。未来,阿里云将持续强化云原生安全建设。
149 1