当前位置: 首页 > news >正文

从流量包到攻击链:一次APT攻击的深度取证WriteUp

1. 从告警到流量包:APT攻击的初始线索

那天下午3点27分,安全运营中心的告警大屏突然亮起红灯。SIEM系统弹出一条高危告警:内网FTP服务器检测到异常登录行为。作为值班分析师,我立即调取了相关流量包,一个名为capture.pcap的文件。

打开Wireshark,扑面而来的是3万多条数据记录。面对这种量级的数据,我通常会先做三件事:

  • 统计协议分布:通过Statistics > Protocol Hierarchy查看各协议占比
  • 筛选异常端口:用tcp.port not in {21,80,443,3389}过滤非常用端口
  • 定位时间窗口:根据告警时间前后5分钟做初步时间筛选
# 快速统计HTTP请求方法分布 tshark -r capture.pcap -Y "http" -T fields -e http.request.method | sort | uniq -c

在FTP流量中,我发现攻击者使用USER adminPASS Root123完成了认证。这个弱密码组合让我眉头一皱——这明显是暴力破解的结果。更可疑的是,成功登录后立即出现了STOR shell.php的上传操作。

2. 穿透Web防线:攻击者的横向移动

顺着FTP线索,我将注意力转向HTTP流量。使用过滤器http contains "POST"后,几个可疑请求浮出水面:

  1. /file.php的POST请求携带了eval=参数
  2. 请求头中的User-Agent显示为Rebeyond v1.0
  3. 响应体中包含"status":"c3VjY2Vzcw=="(base64解码为"success")
# 提取Web请求中的关键字段 from pyshark import FileCapture pcap = FileCapture('capture.pcap', display_filter='http') for pkt in pcap: if hasattr(pkt.http, 'request_method'): print(f"{pkt.http.request_method} {pkt.http.host}{pkt.http.request_uri}")

通过追踪TCP流,我复原了攻击者的操作链条:

  1. 通过FTP上传WebShell
  2. 访问/shell.php建立持久化后门
  3. 使用cmd=whoami等参数执行系统命令
  4. 最终通过certutil下载第二阶段载荷

3. 恶意程序拆解:隐藏在流量中的木马

在分析到第21号TCP流时,一段异常的Base64编码引起了我的注意。解码后出现如下PHP代码片段:

function encrypt($data,$key) { if(!extension_loaded('openssl')) { for($i=0;$i<strlen($data);$i++) { $data[$i] = $data[$i]^$key[$i+1&15]; } return $data; } else { return openssl_encrypt($data, "AES128", $key); } }

这段代码展示了攻击者使用的两种加密方式:

  • 当OpenSSL不可用时采用逐字节异或加密
  • 优先使用AES-128加密通信内容

通过动态调试,我提取出关键解密密钥e45e329feb5d925b。用这个密钥解密后续流量后,攻击者的C2(Command and Control)服务器地址终于浮出水面:185.xx.xx.xx:443

4. 攻击链重建:从入侵到控制的完整路径

将各个阶段的发现串联起来,完整的攻击时间线逐渐清晰:

4.1 初始入侵阶段

  • T+0:00暴力破解FTP服务(admin/Root123)
  • T+2:17上传WebShell文件(shell.php)
  • T+4:33通过HTTP POST执行探测命令

4.2 权限提升阶段

  • T+6:45下载PowerShell脚本到内存执行
  • T+9:12转储LSASS进程获取域凭证
  • T+12:08创建计划任务实现持久化

4.3 横向移动阶段

  • T+18:22通过SMB协议扫描内网
  • T+25:41利用永恒之蓝漏洞攻击文件服务器
  • T+31:56在DC上创建黄金票据

通过分析注册表修改记录和WMI事件日志,我发现攻击者还做了以下操作:

  1. 禁用Windows Defender实时监控
  2. 修改防火墙规则放行445端口
  3. 清除系统日志和Web访问日志

5. 防御建议:基于攻击手法的防护策略

针对此次攻击中暴露的薄弱环节,我总结了几个关键改进点:

网络层防护

  • 部署FTP流量解密设备,实时检测暴力破解行为
  • 对出向443端口流量实施SSL拦截检测
  • 在内网核心交换机启用NetFlow/sFlow监控
# Suricata规则示例检测WebShell活动 alert http any any -> any any (msg:"疑似WebShell活动"; content:"eval="; nocase; content:"base64_decode"; distance:0; classtype:web-application-attack; sid:1000001; rev:1;)

主机层加固

  • 对关键服务器实施应用白名单策略
  • 定期轮换服务账户密码
  • 启用LSASS保护(EnableLSAProtection)

日志增强

  • 将Windows事件日志提高到Verbose级别
  • 收集PowerShell脚本块日志(Script Block Logging)
  • 部署ELK Stack集中分析日志

在复盘过程中,最让我后怕的是攻击者从初始入侵到获取域管理员权限,全程只用了不到36分钟。这提醒我们:现代APT攻击已经进入"分钟级突破"的时代,传统的日级响应机制必须升级为实时对抗体系。

http://www.jsqmd.com/news/507538/

相关文章:

  • 推荐一个高效学习SpringBoot的方法!
  • Ubuntu-无网络环境下快速部署开发环境(gcc、make、dkms等)
  • 产品经理必看!用Draw.io快速绘制专业状态流转图(含电商订单案例)
  • 羊绒衫定制如何找到可靠厂家?2026年优质推荐涵盖OEM与ODM专业服务 - 品牌推荐
  • 微信小程序中实现气泡提示框、图片css加载动画及容错处理
  • 2026化工领域钢衬四氟储罐优质厂家推荐榜 - 资讯焦点
  • 标签多伯努利滤波器(LMB):多目标跟踪中的身份一致性保障机制
  • 深入解析set_max_delay与set_min_delay在异步电路时序约束中的关键作用
  • 工业设计赋能:CYBER-VISION零号协议解读与生成SolidWorks设计注释
  • 壹方设计电话查询:获取联系方式的实用建议 - 品牌推荐
  • 摒弃有害厨具,京尚黑科技陶瓷锅,开启高端健康烹饪时代
  • SpringBoot如何快速精通?
  • Cortex-M3 特色功能——位带操作(Bit-Band)
  • 商店盗窃行为破窗行为商品安防检测数据集VOC+YOLO格式2173张1类别
  • 2026环保合规纸塑染料助剂优质厂家推荐 - 资讯焦点
  • Qwen3.5-9B图文对话精彩案例:上传电路图问原理、传PPT页问逻辑漏洞
  • 免费获取乡镇级GeoJson边界数据的3种实用方法
  • 气熙B7空气净化器电话查询:使用前需了解的关键注意事项 - 品牌推荐
  • 长寿命检测开关的新选择:ALPS SPVT210101 VS 国产替代 TONEVEE KFC-VT-318BY 高达2万次寿命
  • 履霜坚冰,龙战于野:当权力失去约束,欲望成为人性的灾难
  • AES算法解剖课:用MATLAB逐行还原字节代换/行位移的数学之美
  • PyTorch中autograd.Function.apply的5个实战技巧(附自定义ReLU实现)
  • Acme .NET 工具类库:一站式解决.NET开发高频场景问题
  • 室内要素识别建筑物内部地面墙壁天花板识别分割数据集labelme格式1031张3类别
  • 2026年消防桥架厂家推荐:防火/镀锌/大跨度/节能桥架专业供应商精选——郑州畅通机电有限公司 - 品牌推荐官
  • 2026 SRM 系统深度测评:鲸采云凭自定义适配多行业采购场景
  • 2024年Java vs Go vs Python:企业级开发选谁更香?实战代码对比
  • [特殊字符] 当 AI 拥有「过目不忘」:OpenClaw 记忆系统完全指南
  • 2026年无锡抖音代运营TOP5名单出炉,行业格局数据公布 - 精选优质企业推荐榜
  • 郑州私人订制月子服务哪家? - 中媒介