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,這一工具負責實時更新模塊,下載文件、加密文件等操作。
工具地址:
https://github.com/jaredhaight/PSAttack/releases
本文翻譯自:PSAttack: A Offensive PowerShell Console! - PenTestIT,如若轉載,請註明來源於嘶吼: PSattack:一個滲透測試中使用的萬能框架 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※滲透測試軍火庫——python篇
※簡單的搭建本地測試環境
※滲透某BC下線站
※心中糾結,不知道到底該如何,我該怎麼辦?
※安全應急響應中心如何從零建設?