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

Windows应急响应实战:玄机靶场vulntarget-j-02后门排查全记录(附NTLM哈希爆破脚本)

Windows应急响应实战:玄机靶场vulntarget-j-02后门排查全记录

1. 靶场环境与攻击入口分析

玄机靶场的vulntarget-j-02模拟了一个典型的Windows Server 2019企业环境。攻击者通过FCKeditor 2.6.4.1的文件上传漏洞获得了初始立足点,这个老旧的HTML编辑器版本存在已知的安全缺陷:

  • 暴露端口:3389(RDP)、5986(WinRM)、8000/18000(Web服务)
  • 脆弱组件:FCKeditor存在未授权的文件上传路径:
    /FCKeditor/editor/filemanager/connectors/test.html /FCKeditor/editor/filemanager/connectors/uploadtest.html
  • 攻击手法:利用%00截断技术实现ASP木马上传,典型攻击链为:
    1. 首次上传shell.asp%00txt→ 生成shell.asp_txt
    2. 二次上传同名文件 → 生成可执行的shell(1).asp

提示:现代防御体系应禁用FCKeditor等老旧组件,或严格限制上传文件类型,但现实中仍有大量企业系统存在类似技术债务。

2. 横向移动与权限提升

攻击者在获取webshell后,通过系统内遗留的凭据文件实现了权限升级:

  • 关键发现

    • C:\1.png(诱饵文件)
    • C:\密码本.xls(含xuanji用户的NTLM哈希值)
  • 哈希爆破实战: 已知哈希前缀和部分明文密码时,可采用以下优化爆破方案(Python实现):

    import hashlib from itertools import product def ntlm_hash(password): return hashlib.new('md4', password.encode('utf-16le')).hexdigest() def targeted_brute(prefix, suffix, charset, length=4): target_hash = "f7f2310c1233353705ca169324bcbe37" for combo in product(charset, repeat=length): candidate = prefix + ''.join(combo) + suffix if ntlm_hash(candidate) == target_hash: return candidate return None # 执行爆破(实际场景应使用更高效的实现) print(targeted_brute("H", "vX97HMhM7T0rtv0", "0123456789ABCDEF"))

    最终爆破获得明文密码:H6Du4vX97HMhM7T0rtv0

3. 后门持久化技术深度剖析

攻击者在系统内建立了至少三种持久化机制,每种都代表一类典型攻击手法:

3.1 计划任务后门

检测项正常特征异常特征
任务名称描述清晰的维护任务MyBackdoor(无实际描述)
执行程序路径System32下标准程序临时目录下的cmd.exe
触发器设置固定时间/事件触发每分钟重复执行

排查命令

Get-ScheduledTask | Where-Object { $_.TaskName -like "*backdoor*" } | Select-Object TaskName, Actions

3.2 服务型后门

攻击者创建了伪装成Redis服务的恶意服务:

sc query Redis # 服务状态检查 sc qc Redis # 查看服务配置

异常特征包括:

  • 服务二进制路径指向非常规位置(如C:\Windows\Temp\cmd2.exe
  • 服务描述信息与官方文档不符
  • 启动账户为SYSTEM但无合理业务需求

3.3 辅助功能劫持

通过替换sethc.exe(粘滞键功能)实现登录界面后门:

系统文件合法路径篡改迹象
sethc.exeC:\Windows\System32\文件大小/时间戳异常
utilman.exeC:\Windows\System32\数字签名验证失败

检测方法

Get-FileHash C:\Windows\System32\sethc.exe -Algorithm SHA256

4. 痕迹清理与日志分析

攻击者尝试清除活动痕迹,但仍有线索可循:

  • 用户账户操作

    • 创建隐藏账户admin$后删除
    • 在PowerShell历史记录中残留证据:
    # 查看PSReadLine历史记录 Get-Content "$env:USERPROFILE\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"
  • IIS日志分析: 木马文件访问路径/upload/image/5(1).asp在日志中表现为:

    2023-XX-XX 14:22:45 192.168.1.100 POST /upload/image/5(1).asp - 80 - 10.0.0.1 ...

5. 防御Checklist与改进建议

5.1 应急响应流程优化

  1. 初始评估

    • 建立事件时间线
    • 确定受影响系统范围
    • 收集易失性数据(内存、网络连接)
  2. 深度检测

    • 对比系统文件哈希(如System32目录)
    • 检查所有自启动项(任务、服务、注册表)
    • 分析近期的文件系统变更
  3. 恢复措施

    • 重置所有凭据(包括服务账户)
    • 重建被篡改的系统文件
    • 更新入侵检测规则

5.2 长期防护策略

  • 应用控制

    # 启用WDAC(Windows Defender应用程序控制) Set-RuleOption -FilePath .\Policy.xml -Option 3 -Delete
  • 日志增强

    • 启用PowerShell模块日志(代码块执行记录)
    • 配置Sysmon监控关键文件变更
  • 权限管理

    • 实施本地管理员密码解决方案(LAPS)
    • 禁用NTLMv1,强制使用Kerberos认证

在实际企业环境中,建议定期进行红蓝对抗演练,使用类似玄机靶场的环境验证防御体系有效性。某次客户事件中,我们发现攻击者通过类似sethc.exe替换的手法潜伏了11个月未被发现,直到偶然的哈希比对检查才暴露。

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

相关文章:

  • 揭秘AI写教材:低查重技巧与高效工具的完美结合
  • 从API调试到文件加密:Python GMSSL的SM4算法在5个真实场景下的应用代码
  • 20251202马思钊3.23实验课报告
  • 使用Java实现支付宝支付接口的完整对接教程
  • BAAI/bge-m3从零部署:WebUI可视化工具,快速实现语义匹配验证
  • Windows powershell view huge file via command
  • 突破安卓权限壁垒:LAMDA自动化框架的跨设备流媒体解析技术全解
  • python+vue电影推荐系统python协同过滤
  • VisionPro+C#实战:告别.vpp文件,用CogFrameGrabbers类动态抓取工业相机(附完整WinForm源码)
  • 硬件设计避坑指南:反相降压-升压电路5个易错点实测复盘
  • 东方博宜OJ 1928:采购礼品 ← 有依赖的背包 + 并查集
  • JWT令牌生成与验证详细实现教程
  • Lombok注解失效排查指南:从依赖冲突到插件化解决方案
  • 化妆镜前扮精致,脊柱 “被扯得变形错位”!
  • Activiti的act_ru_identitylink类型解析与实战应用
  • ADASYN实战:用Python解决信用卡欺诈检测中的样本不平衡问题(附完整代码)
  • Dom4j解析XML时遇到JaxenException?5分钟搞定依赖配置(附Maven代码)
  • 4步精通OpenCore EFI制作:OpCore-Simplify智能配置引擎全解析
  • 嵌入式系统安全攻防实战:从应用白名单到固件完整性校验的深度解析
  • 告别环境冲突:手把手在Ubuntu服务器上为你的PyTorch项目搭建专属Miniconda环境
  • 从Chemometrics期刊到你的实验桌:深入解读连续投影算法(SPA)的20年应用与实战调优
  • 智能风扇管家:FanControl如何让你的电脑安静又高效
  • 避坑指南:Linux安装Clion时容易忽略的权限问题与目录规划建议
  • 从IPython和REPL中找灵感:用prompt_toolkit打造你的专属Python交互式环境
  • HsMod终极指南:如何免费提升炉石传说游戏体验的完整教程
  • 操作系统任务调度案例分析
  • STM32实战:为小米CyberGear/灵足电机构建机械限位零点与位置模式正弦轨迹
  • Realistic Vision V5.1高级控制:OpenCV与图像后处理流水线
  • 遥感影像重采样选‘near’还是‘bilinear’?实测gdalwarp五种算法效果与性能对比
  • Android 12 SurfaceFlinger 事务处理全流程拆解:从 queueTransaction 到 commitTransaction 的幕后故事