一、PowerSploit簡介
PowerSploit是GitHub上面的一個安全項目,上面有很多powershell攻擊腳本,它們主要被用來滲透中的信息偵察、權限提升、權限維持。
Powershell的優點:
1.代碼運行在內存中可以不去接觸磁盤
2.從另一個系統中下載代碼並執行
3.很多安全產品並不能監測到powershell的活動
4.cmd.exe通常被阻止運行,但是powershell不會
二、實驗環境
Win7 搭建powersploit站點 ip:10.10.10.187
Win 2008(靶機) 遠程加載位於win7的powersploit上的腳本 ip:10.10.10.183
Kali powersploit部分腳本可能需要kali msf的配合 ip:10.10.10.128
三、搭建站點
1.首先在win7搭建簡易可下載powersploit腳本的服務器,本例用python的web功能搭建一個站點,也可以用IIS以及apache等來搭建。
Python -m http.server 80 #注意是python3.7的命令,不同版本可能開啟web服務的命令可能不同。
2.在靶機(win 2008)上測試
四、powershell腳本分類以及功能
一、AntivirusBypass(繞過殺毒)
Find-AVSignature 發現殺軟的簽名
二、CodeExecution(代碼執行)
1. Invoke-DllInjection.ps1 DLL注入腳本 注意dll架構要與目標進程相符,同時要具備相應的權限
2. Invoke-ReflectivePEInjection.ps1 反射型注入 將Windows PE文件(DLL / EXE)反射加載到powershell進程中,或反射地將DLL注入遠程進程
3. Invoke-Shellcode.ps1 將shellcode插入您選擇的進程ID或本地PowerShell中
4. Invoke-WmiCommand.ps1 在目標主機使用wmi執行命令
三、Exfiltration(信息收集) #這個文件夾主要是收集目標主機上的信息
1. Out-Minidump.ps1 生成一個進程的全內存小數據庫
2. Get-VaultCredential.ps1 顯示Windows徽標憑據對象,包括明文Web憑據
3. Get-Keystrokes.ps1 記錄按鍵,時間和活動窗口
4. Get-GPPPassword.ps1 檢索通過組策略首選項推送的帳戶的明文密碼和其他信息
5. Get-GPPAutologon.ps1 如果通過組策略首選項推送,則從registry.xml檢索自動登錄用戶名和密碼
6. Get-TimedScreenshot.ps1 這是一個以定期間隔拍攝屏幕並將其保存到文件夾的功能
7. Invoke-Mimikatz.ps1 查看主機密碼
8. Invoke-NinjaCopy.ps1 通過讀取原始卷並解析NTFS結構,從NTFS分區卷復制文件
9. Invoke-CredentialInjection.ps1 使用明文憑據創建登錄,而不會觸發可疑事件ID 4648(顯式憑證登錄)
10. Invoke-TokenManipulation.ps1 列出可用的登錄令牌。與其他用戶創建進程登錄令牌,並模仿當前線程中的登錄令牌
11. Get-MicrophoneAudio.ps1 通過麥克風記錄聲音
12. VolumeShadowCopyTools.ps1
四、Recon(信息偵察) #這個文件夾主要是以目標主機為跳板進行內網主機偵察
1. Invoke-Portscan.ps1 端口掃描
2. Get-HttpStatus.ps1 返回指定路徑的HTTP狀態代碼和完整URL,並附帶字典文件
3. Invoke-ReverseDnsLookup.ps1 掃描DNS PTR記錄的IP地址范圍
4. PowerView.ps1 PowerView是一系列執行網絡和Windows域枚舉和利用的功能
5.Get-ComputerDetails 獲得登錄信息
五、ScriptModification(腳本修改)
1. Out-EncodedCommand.ps1 將腳本或代碼塊編碼,並為PowerShell有效載荷腳本生成命令行輸出
2. Out-EncryptedScript.ps1 加密文本文件/腳本
3. Out-CompressedDll.ps1 壓縮,Base-64編碼,並輸出生成的代碼,以將受管理的DLL加載到內存中
4. Remove-Comments.ps1 從腳本中刪除注釋和多余的空白
六、Persistence(權限維持)
1. New-UserPersistenceOption 為添加持久性函數配置用戶級持久性選項。
2. New-ElevatedPersistenceOption 為添加持久性函數配置提升的持久性選項。
3. Add-Persistence 向腳本添加持久性功能
4. Install-SSP 安裝安全支持提供程序(ssp)dll
5. Get-SecurityPackages
七、Privesc(提權)
PowerUP: 共同特權升級檢查的信息交換所,以及一些武器化載體
Get-System
八、Mayhem
Set-MasterBootRecord 選擇的消息覆寫主引導記錄
Set-CriticalProcess 退出powershell時使系統藍屏