【网络安全】追踪PowerShell命令历史

1. 概述:无处遁形的"隐形"操作

在现代网络对抗中,PowerShell 是一把名副其实的双刃剑。它不仅是系统管理员的得力助手,更是高级威胁参与者(APT)和勒索软件团伙在"离地攻击"(Living off the Land, LotL)时的首选武器。

很多攻击者以为,只要不留下恶意可执行文件,或者在内存中执行脚本,就能做到"踏雪无痕"。但实际上,从 Windows 10 和 PowerShell 5.0 开始,微软引入了 PSReadLine 模块,它会在默认情况下悄悄记录用户在控制台中输入的每一条命令------这为安全防守方和应急响应人员(IR)提供了一个极具价值的"黑匣子"。


2. 核心线索:PowerShell 的历史记录文件

如果你正在进行应急响应排查,或者怀疑某台机器被植入了后门,你必须检查以下路径中的文本文件:

默认文件路径:

C:\Users<USER>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

(注意:将 <USER> 替换为你正在调查的实际 Windows 用户名。)

3. 文件特性与作用

  • 行为类似 Bash History :对于熟悉 Linux 的人来说,这个文件就等同于 ~/.bash_history。它以纯文本格式保存了该用户在 PowerShell 交互式控制台中执行过的所有命令。
  • 独立于事件日志:即使攻击者清除了 Windows 的安全事件日志(Event Logs),只要他们没有专门处理这个文本文件,他们的命令行操作记录依然会完整保留在这里。

4. 实战应用:防守方能从中发现什么?

通过读取 ConsoleHost_history.txt,SOC 分析师和应急响应人员通常可以挖掘出以下关键指标(IOCs):

  1. 恶意载荷下载 :例如使用 Invoke-WebRequest (或 iwr)、Net.WebClient 从外部恶意服务器下载 C2 远控木马或横向移动工具。
  2. 混淆与编码命令 :发现长串的 Base64 编码数据(通常伴随 -enc 或 -EncodedCommand 参数)。
  3. 权限提升与凭证窃取:例如运行 Mimikatz 的命令,或者尝试导出 SAM 注册表项的操作。
  4. 防御规避行为 :发现关闭 Windows Defender (Set-MpPreference) 或绕过执行策略 (-ExecutionPolicy Bypass) 的命令。

查看记录的快捷命令:

如果你当前拥有这台机器的访问权限,可以直接在 PowerShell 中运行以下命令来快速读取历史记录:

powershell 复制代码
Get-Content (Get-PSReadLineOption).HistorySavePath
相关推荐
MicrosoftCloud10 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
hasty17 小时前
2026-10-04_ABSENTIA鉴权不变量审计_CSDN_待发布
安全
杭州领祺科技19 小时前
27 号令横向隔离落地清单:储能边缘计算网关 ≠ 电力专用网闸,算电协同中心安全分区/纵向加密/SPDnet 怎么配
人工智能·安全·网络安全·边缘计算·储能·电力·电力监控
jimmyleeee20 小时前
大模型安全之四十:纵深防御----AI安全没有银弹
人工智能·安全
菩提小狗21 小时前
每日安全情报报告 · 2026-10-04
网络安全·漏洞·cve·安全情报·每日安全
迪康coolmu1 天前
屏幕水印与防拍照落地:从水印类型到泄密溯源的完整配置
运维·网络·安全·网络安全·数据安全
Seraphina361 天前
DVWA(SQL Injection-High,XSS Reflected-Medium,XSS Stored-Medium)
数据库·经验分享·sql·网络安全·xss
网络毒刘1 天前
AtomGit Actions + AI 评审草稿:PR 描述自动生成与安全敏感词门禁示例
人工智能·安全
恒拓高科WorkPlus1 天前
BeeWorks 企业即时通讯平台 - 常见问题(FAQ)
安全
奈落241 天前
【RAG 深度修炼】专栏 · 第 9 期(收官):安全专题与生产 Checklist 总集——从能跑的 Demo 到睡得着觉的生产系统
大数据·网络·人工智能·安全·ai编程