一、提權
想了解原理首先要明白什么叫提權,為什么要提權,通常獲取到Shell之后,假如我們拿到的是普通權限比如mysql、tomcat等普通應用權限,那我們如果想在內網暢通無阻,那肯定第一步需要獲取到管理員最起碼要是administrator甚至是system。
這種獲取最高權限的方式就叫提權。
二、提權方式
1、系統本地漏洞提權
2、數據庫提權
3、第三方軟件提權
4、獲取高權限用戶比如msf的getsystem提權等
三、分類
Windows提權
Windows提權一般為系統漏洞提權,
wmic qfe get Caption,Description,HotFixID,InstalledOn使用這條命令。根據這條命令得到補丁情況,按照補丁情況進行判斷需要使用哪種提權方式比如
KiTrap0D (KB979682),
MS11-011 (KB2393802),
MS10-059 (KB982799),
MS10-021 (KB979683),
MS11-080 (KB2592799) 包括但不限於這些
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB.." /C:"KB.."使用這條命令可以進行補丁的篩選。
Linux提權
Linux提權一般為內核漏洞提權,我們能說出來的經常說的就是臟牛了
臟牛漏洞是利用條件競爭,修改root賬戶信息,強制覆蓋/etc/passwd文件第一行,其本質是利用線程並發引發的線程安全問題。
使用uname -a查看內核信息,根據信息使用相應的提權方式。
mysql提權
MySQL提權基本有兩種,一種是UDF提權、另一種是MOF提權
MySQL的UDF提權,UDF是MySQL的一個接口,用來創建自定義函數(包括系統命令),但需要dll(程序擴展文件)作為UDF的執行庫。
使用UDF提權有兩個前提
1、MySQL以管理員啟動
2、MySQL開啟遠程鏈接和文件讀取功能,並且成功登錄MySQL。
滿足前提的情況下,登錄MySQL將准備好的dll文件上傳到MySQL的plugin目錄下,然后利用dll文件創建執行系統命令的函數,就能執行系統任意命令了。
MySQL的MOF提權,MOF其實是Windows的系統文件,用來監控進程創建與結束,每隔5秒會啟動一次,並且以System全新運行,攻擊者將構造好的mof文件放到mof目錄下,就能執行任意命令。
使用MOF提權的前提
1、需要Windows2008以下的版本
2、運行MySQL是system權限
3、MySQL開啟遠程連接與讀寫功能
4、登錄MySQL
使用非常有限
第三方軟件提權
之前遇到過一個nmap提權,nmap版本超級老,至今--interactive就可以搞定
還有的就是FileZilla軟件,這個軟件分為客戶端與服務端,客戶端使用21端口,服務端使用14147端口,並且只允許本地鏈接。
攻擊者將端口轉發出去,然后利用客戶端鏈接就可以實現將惡意腳本傳到受害機,比如寫一些計划任務,開機啟動項,實現提權
