PSattack:一個滲透測試中使用的萬能框架

導語:這段時間以來,以powershell為載體,大牛們開發出了很多有趣的東西。比如Invoke-Phant0m日誌清除器就在其中。這篇文章就是用來講述一個將這些滲透測試腳本集合起來的框架:PSattack。

什麼是PSattack?

PSattack是一個開源的,將滲透測試實踐過程中所有的腳本結合起來形成的框架。更有趣的是使用攻擊類型的PowerShell腳本並不會調用powershell.exe,而是通過.NET框架直接調用的PowerShell。另外,所有的模塊都是加密處理的,並且不會寫入到硬碟當中,所以在一定程度上可以做到免殺。

PSattack中包括超過100個命令,通過以下工具中的模塊進行提權,掃描,以及數據過濾:

PowerSploitNishangPowercatInveighInvoke-TheHashPowershellMafia

psattack提供的功能

以下是psattack中包含的模塊

代碼執行

1. Invoke-Shellcode.ps1:將shellcode注入到對應你選的pid進程當中,或者在正在運行的powershell進程中。2. Invoke-WMICommand.ps1:在目標計算機上使用WMI作為C2通道執行powershell腳本3. Invoke-WMIExec.ps1:使用NTLMv2繞過hash認證並且在目標機器上執行WMI命令。4. Invoke-SMBExec.ps1:使用NTLMv2繞過hash認證並且使用SMBExec方式執行命令。其中Invoke-SMBExec支持SMB1,SMB2,以及未簽名的SMB。

數據方面

1. Invoke-NinjaCopy.ps1:此腳本可以通過打開一個讀方法,然後進入磁碟比如C盤,然後將文件從NTFS中拷貝出來。不過這一腳本需要用戶具有管理員許可權。2. PowerView.ps1:這一腳本可以數據導出為.csv格式3. Do-Exfiltration.ps1:使用此腳本從目標站點獲取數據4. Powercat.ps1:netcat的powershell版本5. KeePassConfig.ps1:將KeePass觸發器在KeePass.config.xml或者Find-KeepPassConifg中添加或刪除。6. Invoke-SMBClient.ps1:此腳本通過繞過hash值驗證執行基本的文件共享任務。這一模塊只支持未進行簽名的SMB2.1版本。注意,這一腳本與windows客戶端中執行,相對較慢。

文件方面

1. VolumeShadowCopyTools.ps1:列出本地所有的盤符,以及其路徑。還可以創建,掛載一個新卷,或者將將其刪除。2. PowerView.ps1:除了上述的這一腳本的描述,還包含s Set-MacAttribute, Copy-ClonedFile, Get-PathAcl, Find-InterestingFile, Get-NetFileServer, Get-DFSshare, Invoke-FileFinder這些命

提權,留後門方面

1. powerview.ps1:枚舉當前用戶所使用的代理伺服器,以及WPAD中的內容。以便獲取代理伺服器。2. Gupt-Backdoor.ps1:Gupt是nishang中的後門,可以通過特定的網卡名稱執行命令以及腳本程序。3. PowerUp.ps1:支持Get-ServiceFilePermission, Write-HijackDll, Get-RegAlwaysInstallElevated, Get-UnattendedInstallFile, Get-Webconfig 以上命令。

獲取密碼方面:

1. Invoke-Mimikatz.ps1:這一腳本利用MImikatz2.0以及Invoke-ReflectivePEInjection腳本將mimikatz注入內存當中。這就可以讓你直接從內存中獲取數據,不需要在磁碟中寫入任何文件。這一腳本有一個ComputerName參數,可以同時對多個計算機執行命令。2. Get-GPPPassword.ps1:可以檢測到通過組策略首選項推送的明文密碼或者其他信息。3. PowerUp.ps1:這一腳本可以從系統上的applicationHost.config對加密應用進行解密以及找到虛擬目錄的密碼。4. Get-WLAN-Keys.ps1:nishang中用於將本地wifi密碼導出的腳本5. Inveigh.ps1:此腳本可以通過欺騙LLMNR/NBNS對發送到SMB的HTTP(s)或者SMB數據包進行捕獲。包括的命令為:Invoke-Inveigh, Get-Inveigh, Get-InveghLog, Get-InveighNTLM, Get-InveighNTLMv1, Get-InveighNTLMv2, Get-InveighStats, Stop-Inveigh, Watch-Inveigh.6. Invoke-mimikittenz.ps1:使用windows函數ReadProcessMemory()從內存中挖掘更多信息。7. KeePassConfig.ps1:支持Find-KeePassConfig, Get-KeePassConfigTrigger, Add-KeePassConfigTrigger, Remove-KeePassConfigTrigger這些命令。8. Invoke-Kerberoast.ps1:此腳本將對本機請求可管理的服務票據,並且返回它提取的hash值。

所以你以後在滲透測試過程中只需要這一個工具就可以了。不過惟一的一個問題是如果在我的電腦下載PSattack,殺毒軟體就會對它進行查殺。但是如果把PSattack框架單獨放到白名單中,他所攜帶的惡意腳本就不會被查殺。這一框架還包括一個PSattack build tool,這一工具負責實時更新模塊,下載文件、加密文件等操作。

工具地址:

github.com/jaredhaight/

本文翻譯自:PSAttack: A Offensive PowerShell Console! - PenTestIT,如若轉載,請註明來源於嘶吼: PSattack:一個滲透測試中使用的萬能框架 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

滲透測試軍火庫——python篇
簡單的搭建本地測試環境
滲透某BC下線站
心中糾結,不知道到底該如何,我該怎麼辦?
安全應急響應中心如何從零建設?

TAG:信息安全 | 渗透测试 |