【网络安全】追踪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
相关推荐
安教安全员通关宝10 小时前
2026年广东安全员C3证考试题库+答案+解析
安全
沫璃染墨13 小时前
《Qt从零入门系列(十五):Qt线程安全与锁机制详解——从QMutex到RAII与读写锁实战》
开发语言·c++·qt·安全·交互·线程·qt6.3
Lyra_Infra13 小时前
prod-bus 主机 CPU 异常故障排查与安全事件分析报告
后端·安全
武天旭14 小时前
AI安全--AI大模型的数据投毒攻击污染
人工智能·安全
jimmyleeee14 小时前
Agent安全之二:Tool Misuse & Exploitation(ASI02)----当合法工具被用来做错事
人工智能·安全
林伽一15 小时前
训练断网、部署上门槛:AI 基础设施的两道新闸门|2026年10月25日
人工智能·科技·安全·ai·1024程序员节
终端安全笔记16 小时前
下一个大版本要动的三处:更新指令、传输要求、策略写法
网络安全·ios·1024程序员节·移动设备管理
长不大的杨瑞杰16 小时前
OpenCode v2 团队治理实战:多仓库 Policy、灰度发布与故障回滚
运维·人工智能·安全·软件工程·devops
loulanyue_16 小时前
当AI学会自主攻击与渗透破壁:Agent行为链失控与Mythos级攻防颠覆下的安全范式重构——读CNCC2026第六届网络生态治理论坛实录
网络·人工智能·安全
进击的丸子17 小时前
代理网络环境下 Linux Pro 在线激活实操指南
javascript·后端·安全