【网络安全】追踪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
相关推荐
JackSparrow4143 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
鹿鸣天涯4 小时前
应急响应:MySQL日志分析
mysql·安全·adb·oracle
砚凝霜4 小时前
软考网络工程师|第 4 章 WLAN MAC 机制、Ad Hoc、无线安全、WPAN 蓝牙 ZigBee 完整备考笔记
网络·笔记·安全
奇迹暖暖暖15 小时前
企业邮箱选型与部署:公司用什么邮箱比较好、如何注册企业邮箱
安全·架构·邮箱
Privasa-隐私实验室16 小时前
全程无死角安全测评|从开机上锁、硬核加密到彻底销毁,Privasa 全生命周期隐私防护详解
笔记·安全·本地存储·隐私安全·aes-256
白猫不黑16 小时前
GitHub 30K Star 的 AI 渗透测试工具
web安全·网络安全·信息安全·渗透测试·github·ai渗透测试
NOVAnet202317 小时前
IDC 权威认证,南凌科技云网融合零信任落地实践:一体化 ZTNA 平台四大核心优势
网络安全·零信任·sd-wan·sase·企业网络
上海云盾-小余19 小时前
CC 高频请求 + DDoS 流量攻击实战防御:全链路 WAF 流量清洗部署完整流程
网络·爬虫·安全·小程序·ddos
论迹复利20 小时前
平台安全架构(PSA)概述——从方法论到工程实践
嵌入式硬件·安全·psa
汽车网络安全爱好者20 小时前
Public Key Infrastructure(二)— 深入理解 X.509 证书:从 RFC 5280 到 OpenSSL 实践
运维·服务器·算法·网络安全·汽车·密码学·可信计算技术