Linux提權(quán)輔助工具大全
最近基于攻擊做防護(hù),通過檢測服務(wù)器的信息,嘗試以普通用戶進(jìn)行提權(quán),以防止0day打進(jìn)來后的提權(quán)。通過實(shí)際測試,一些高版本的內(nèi)核版本相對比較安全,直接提權(quán)的可能性較低,通過研究發(fā)現(xiàn),當(dāng)有普通用戶權(quán)限時(shí),可以借助配置、安裝的軟件來進(jìn)行提權(quán)相對容易。本文對目前廠家的Linux提權(quán)輔助工具進(jìn)行實(shí)際測試,可以借助這些工具進(jìn)行信息收集,快讀獲取exp。實(shí)際最好用的還是需要積累和沉淀,手動(dòng)編譯對應(yīng)操作系統(tǒng)和版本的exp。
1.1LinEnum
https://github.com/rebootuser/LinEnum
1.1.1簡介
inEnum(Linux Enumeration & Privilege Escalation Tool)是一個(gè)用于 Linux 系統(tǒng)的枚舉和權(quán)限提升工具,可以幫助安全研究人員和系統(tǒng)管理員收集關(guān)于目標(biāo)系統(tǒng)的詳細(xì)信息,以便評估安全風(fēng)險(xiǎn)和識別提升權(quán)限的機(jī)會。
1.主要功能和用途
(1)基本系統(tǒng)信息收集
當(dāng)前用戶和系統(tǒng)信息
運(yùn)行的進(jìn)程和服務(wù)
已安裝的軟件包列表
已安裝的內(nèi)核和相關(guān)信息
(2)文件系統(tǒng)信息
檢查可寫目錄和文件
查找隱藏文件和目錄
查找敏感文件(如密碼文件)
(3)網(wǎng)絡(luò)信息
網(wǎng)絡(luò)配置和連接信息
監(jiān)聽端口和相關(guān)進(jìn)程
(4)安全配置檢查
檢查用戶的權(quán)限和Sudo配置
檢查系統(tǒng)日志(syslog)設(shè)置
檢查防火墻設(shè)置和配置
(5)提權(quán)和漏洞檢測
檢查可用的提權(quán)路徑和可能的漏洞利用機(jī)會
檢查系統(tǒng)安全功能和設(shè)置
1.1.2下載和準(zhǔn)備
1.下載 LinEnum:
你可以通過 GitHub 上的 LinEnum 倉庫獲取最新版本的工具。
(1)使用 git clone 命令
git clone https://github.com/rebootuser/LinEnum.git
(2)檢查和設(shè)置權(quán)限
cd LinEnum
chmod +x LinEnum.sh
(3)執(zhí)行 LinEnum
./LinEnum.sh > output.txt
這將執(zhí)行腳本并將結(jié)果輸出到 output.txt 文件中。你也可以選擇不將輸出保存到文件,而是在終端直接查看輸出。
1.2 linux-exploit-suggester
1.2.1下載及執(zhí)行
1.直接下載為les.sh
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
chmod +x les.sh
./les.sh
1.2.2詳細(xì)用法
1.顯示可用漏洞信息
./linux-exploit-suggester.sh
針對每個(gè)漏洞,會計(jì)算其曝光風(fēng)險(xiǎn)。以下是可能的“曝光”狀態(tài):
- 高度可能 - 評估的內(nèi)核很可能受到影響,且 PoC 漏洞利用工具很可能可以直接使用,無需進(jìn)行主要修改。
- 可能 - 漏洞利用可能會生效,但可能需要對 PoC 工具進(jìn)行定制以適應(yīng)目標(biāo)系統(tǒng)。
- 較不可能 - 需要額外的手動(dòng)分析來驗(yàn)證內(nèi)核是否受影響。
- 不可能 - 內(nèi)核高度不太可能受到影響(工具的輸出中未顯示漏洞利用)
2.顯示 Linux 系統(tǒng)安全功能狀態(tài)
./linux-exploit-suggester.sh --checksec
LES 能夠檢查你的 Linux 內(nèi)核可用的大部分安全設(shè)置。它不僅驗(yàn)證了內(nèi)核編譯時(shí)的配置(CONFIGs),還驗(yàn)證了運(yùn)行時(shí)的設(shè)置(sysctl),從而為正在運(yùn)行的內(nèi)核提供更完整的安全狀態(tài)圖景。這一功能是 checksec.sh 工具中 --kernel 選項(xiàng)的現(xiàn)代延續(xù),由 Tobias Klein 開發(fā)。
1.3linux-exploit-suggester-2
https://github.com/jondonas/linux-exploit-suggester-2
Linux Exploit Suggester 2 是基于原始 Linux_Exploit_Suggester 腳本的增強(qiáng)版,旨在幫助發(fā)現(xiàn) Linux 系統(tǒng)的特權(quán)提升漏洞
1.3.1主要改進(jìn)
1.擴(kuò)展的漏洞數(shù)據(jù)庫
包含更多的漏洞利用,覆蓋了更廣泛的潛在漏洞。
2.直接下載漏洞代碼
提供 -d 標(biāo)志,可直接從 Exploit DB 下載漏洞代碼。用戶可以下載所有可用的漏洞利用或選擇特定的漏洞。
3.通配符匹配
支持對內(nèi)核和操作系統(tǒng)發(fā)布版本進(jìn)行準(zhǔn)確的通配符匹配,有助于更有效地識別適用的漏洞利用。
4.輸出著色
輸出結(jié)果使用著色,提高可讀性,更容易區(qū)分不同的信息部分。
1.3.2使用方法
1.獲取漏洞信息
在沒有任何參數(shù)的情況下運(yùn)行腳本,它將執(zhí)行 uname -r 命令以獲取 Linux 內(nèi)核版本,并搜索其數(shù)據(jù)庫以查找適用的漏洞利用。
chmod +x linux-exploit-suggester-2.pl
./linux-exploit-suggester-2.pl
2.手動(dòng)通配符匹配
可以使用 -k 標(biāo)志手動(dòng)指定內(nèi)核版本,后面跟上版本號或通配符。這在 uname -r 輸出不可用或不準(zhǔn)確的情況下非常有用。
./linux-exploit-suggester-2.pl -k 3
3.下載漏洞代碼
使用 -d 標(biāo)志啟動(dòng)下載菜單。該菜單允許下載所有可用的漏洞利用 (a) 或按其編號選擇特定漏洞利用。這個(gè)功能非常適合直接從 Exploit DB 獲取漏洞利用代碼的場景。
$ ./linux-exploit-suggester-2.pl -d
自動(dòng)顯示可用的exploit,輸入編號進(jìn)行下載,輸入a下載所有的exploit。
4.幫助菜單
要快速查看可用標(biāo)志及其用法,請使用 -h 標(biāo)志。
$ ./linux-exploit-suggester-2.pl -h
1.3.3編譯及執(zhí)行exp
1.exploit_exploit_x
chmod +x exploit_exploit_x
./exploit_exploit_x
2.cve_2016_0728
(1)編譯exp
mv exploit_pp_key cve_2016_0728.c
gcc cve_2016_0728.c -o cve_2016_0728 -lkeyutils -Wall
(2)執(zhí)行exp
chmod +x cve_2016_0728
./cve_2016_0728 PP_KEY
3.exploit_timeoutpwn
mv exploit_timeoutpwn timeoutpwn.c
gcc timeoutpwn.c -o pwn && ./pwn
1.4 linux-soft-exploit-suggester
https://github.com/belane/linux-soft-exploit-suggester
幫助安全研究人員和滲透測試者發(fā)現(xiàn)和利用 Linux 系統(tǒng)中軟件層面的漏洞。它可能包含了自動(dòng)化的腳本或工具,能夠分析目標(biāo)系統(tǒng)的軟件組件,并推薦已公開的漏洞利用代碼。
1.4.1主要特點(diǎn)
1.漏洞利用建議
能夠根據(jù)目標(biāo)系統(tǒng)的軟件版本,推薦已知的漏洞利用。
2.自動(dòng)化分析
通過掃描目標(biāo)系統(tǒng)的軟件組件和版本信息,自動(dòng)化地尋找適用的漏洞利用。
3.漏洞利用下載
可能支持直接從漏洞數(shù)據(jù)庫(如 Exploit DB)下載漏洞利用代碼
1.4.2使用方法
1.下載和安裝
git clone https://github.com/belane/linux-soft-exploit-suggester.git
cd linux-soft-exploit-suggester
2.運(yùn)行腳本
./linux-soft-exploit-suggester.py
3.詳細(xì)參數(shù)說明
-h, --help:顯示幫助消息,包含可用選項(xiàng)的摘要。
-f FILE, --file FILE:指定包含目標(biāo)系統(tǒng)上安裝的軟件包或軟件列表的文件。例如:
python linux-soft-exploit-suggester.py --file package_list
--clean:使用干凈的軟件包列表,通常使用 dpkg-query -W 生成。
--duplicates:在結(jié)果中顯示重復(fù)的漏洞。
--db DB:指定漏洞數(shù)據(jù)庫文件的路徑,格式為CSV。默認(rèn)為 files_exploits.csv。
-j, --juicy:搜索與運(yùn)行進(jìn)程、setuid二進(jìn)制文件和Linux能力相關(guān)的軟件包。
--update:下載最新版本的漏洞數(shù)據(jù)庫。
-d debian|redhat, --distro debian|redhat:指定Linux發(fā)行版類型 (debian 或 redhat)。默認(rèn)為 debian。
--dos:包括拒絕服務(wù)(DoS)漏洞在內(nèi)的搜索結(jié)果。
--intense:進(jìn)行強(qiáng)烈的軟件包名稱搜索,適用于軟件名稱與軟件包名稱不匹配的情況。
-l 1-5, --level 1-5:指定軟件版本搜索的變化級別。選項(xiàng)從 1(相同版本)到 5(所有版本)。
--type TYPE:按漏洞類型篩選,如 local(本地)、remote(遠(yuǎn)程)、webapps(Web應(yīng)用)、dos(拒絕服務(wù))等。
--filter FILTER:按漏洞標(biāo)題中的特定字符串進(jìn)行篩選。
4.用法示例
(1)更新漏洞數(shù)據(jù)庫
python linux-soft-exploit-suggester.py --update
(2)搜索關(guān)鍵二進(jìn)制文件
python linux-soft-exploit-suggester.py --juicy
(3)指定軟件包列表和漏洞數(shù)據(jù)庫
python linux-soft-exploit-suggester.py --file package_list --db files_exploits.csv
(4)使用Redhat/CentOS格式
python linux-soft-exploit-suggester.py --file package_list --distro redhat
(5)搜索主要版本漏洞
python linux-soft-exploit-suggester.py --file package_list --level 4
(6)按遠(yuǎn)程漏洞篩選
python linux-soft-exploit-suggester.py --file package_list --type remote
(7)按漏洞標(biāo)題中的特定詞進(jìn)行篩選
python linux-soft-exploit-suggester.py --file package_list --filter Overflow
1.5 linPEAS
1.5.1 linPEAS簡介
linPEAS 是一個(gè)用于 Linux 系統(tǒng)的特權(quán)提升腳本套件,旨在幫助進(jìn)行后滲透測試時(shí)進(jìn)行系統(tǒng)枚舉和發(fā)現(xiàn)特權(quán)提升路徑。
1.主要功能
系統(tǒng)枚舉:linPEAS 收集系統(tǒng)的廣泛信息,包括用戶、組、進(jìn)程、網(wǎng)絡(luò)配置、安裝的軟件等。
特權(quán)提升檢測:它檢查常見的配置錯(cuò)誤和漏洞,這些漏洞可能允許攻擊者在系統(tǒng)上提升其權(quán)限。
2.關(guān)鍵特點(diǎn)
腳本自動(dòng)化:linPEAS 自動(dòng)化了信息收集和檢查的過程,并提供詳細(xì)報(bào)告,列出潛在的漏洞和配置問題。
用戶友好的輸出:它將發(fā)現(xiàn)的信息整理成易于閱讀的格式,方便安全專家和滲透測試人員分析和處理結(jié)果。
可定制性:用戶可以通過各種選項(xiàng)和標(biāo)志調(diào)整腳本的行為,集中于特定類型的檢查或排除某些檢查。
1.5.2使用方法
1.下載對應(yīng)系統(tǒng)的版本
https://github.com/peass-ng/PEASS-ng/releases
wget https://raw.githubusercontent.com/peass-ng/PEASS-ng/master/linPEAS/linpeas.sh
2.詳細(xì)參數(shù)
此工具枚舉和搜索可能存在的配置錯(cuò)誤(已知漏洞、用戶、進(jìn)程和文件權(quán)限、特殊文件權(quán)限、可讀/可寫文件、暴力破解其他用戶(top1000密碼)、密碼等)在主機(jī)內(nèi),并用顏色突出顯示可能存在的配置錯(cuò)誤。
(1)檢查
-a 執(zhí)行所有檢查:1分鐘的進(jìn)程、su 暴力破解和額外檢查。
-o 僅執(zhí)行選定的檢查(system_information、container、cloud、procs_crons_timers_srvcs_sockets、network_information、users_information、software_information、interesting_perms_files、interesting_files、api_keys_regex)。選擇逗號分隔的列表。
-s 隱蔽和更快(不執(zhí)行一些耗時(shí)的檢查)
-e 執(zhí)行額外的枚舉
-t 自動(dòng)網(wǎng)絡(luò)掃描和互聯(lián)網(wǎng)連接檢查 - 此選項(xiàng)將寫入文件
-r 啟用正則表達(dá)式(可能需要幾分鐘到幾小時(shí))
-P 指定一個(gè)密碼,將用于運(yùn)行 'sudo -l' 和通過 'su' 暴力破解其他用戶賬戶
-D 調(diào)試模式
(2)網(wǎng)絡(luò)偵察
-t 自動(dòng)網(wǎng)絡(luò)掃描和互聯(lián)網(wǎng)連接檢查 - 此選項(xiàng)將寫入文件
-d <IP/子網(wǎng)掩碼> 使用 fping 或 ping 發(fā)現(xiàn)主機(jī)。例如:-d 192.168.0.1/24
-p <端口(s)> -d <IP/子網(wǎng)掩碼> 查找 TCP 開放端口的主機(jī)(通過 nc)。默認(rèn)情況下,將掃描端口 22、80、443、445、3389 和您指定的另一個(gè)端口(如果不添加更多,則選擇 22)。您還可以添加一個(gè)端口列表。例如:-d 192.168.0.1/24 -p 53,139
-i <IP> [-p <端口(s)>] 使用 nc 掃描一個(gè) IP。默認(rèn)情況下(無 -p),將掃描 nmap 的前1000個(gè)端口,但您可以選擇一個(gè)端口列表。例如:-i 127.0.0.1 -p 53,80,443,8000,8080
請注意,如果指定了某些網(wǎng)絡(luò)掃描(選項(xiàng) -d/-p/-i 但不包括 -t),將不會執(zhí)行特權(quán)提升檢查。
(3)端口轉(zhuǎn)發(fā)(反向連接)
-F 本地 IP:本地端口:遠(yuǎn)程 IP:遠(yuǎn)程端口 從您的主機(jī)(本地 IP:本地端口)執(zhí)行 linpeas 來將端口轉(zhuǎn)發(fā)到遠(yuǎn)程 IP(遠(yuǎn)程端口)。
(4)固件偵察
-f </文件夾/路徑> 執(zhí)行 linpeas 來搜索文件夾內(nèi)的密碼/文件權(quán)限配置錯(cuò)誤。
(5)雜項(xiàng)
-h 顯示幫助信息。
-w 在大塊檢查之間等待執(zhí)行
-L 強(qiáng)制執(zhí)行 linpeas
-M 強(qiáng)制執(zhí)行 macpeas
-q 不顯示橫幅
-N 不使用顏色
3.執(zhí)行l(wèi)inpeas
chmod +x linpeas.sh
./linpeas.sh
1.6linux-smart-enumeration
https://github.com/diego-treitos/linux-smart-enumeration
1.6.1Linux Smart Enumeration簡介
Linux Smart Enumeration (lse.sh) 是一種用于枚舉并提供系統(tǒng)詳細(xì)信息的腳本工具。它設(shè)計(jì)用于審計(jì)和調(diào)查Linux系統(tǒng),可以幫助發(fā)現(xiàn)潛在的安全風(fēng)險(xiǎn)和配置錯(cuò)誤。
1.主要功能
- 檢查系統(tǒng)基本信息,如發(fā)行版、內(nèi)核版本等。
- 列出當(dāng)前登錄的用戶和正在運(yùn)行的進(jìn)程。
- 顯示環(huán)境變量和用戶特權(quán)。
- 枚舉文件系統(tǒng)信息,包括掛載點(diǎn)和權(quán)限。
- 檢查網(wǎng)絡(luò)配置,列出監(jiān)聽端口和已建立的連接。
- 搜索敏感文件和潛在的安全配置錯(cuò)誤。
1.6.2詳細(xì)使用
1.下載
wget "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -O lse.sh;chmod 700 lse.sh
curl "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -Lo lse.sh;chmod 700 lse.sh
也可以使用
git clone https://github.com/diego-treitos/linux-smart-enumeration.git
./lse.sh
2.詳細(xì)參數(shù)
使用:./lse.sh [選項(xiàng)]
選項(xiàng):
-c 禁用顏色
-i 非交互模式
-h 幫助信息
-l LEVEL 輸出詳細(xì)級別
0: 顯示高度重要的結(jié)果(默認(rèn))
1: 顯示有趣的結(jié)果
2: 顯示所有收集到的信息
-s SELECTION 逗號分隔的要運(yùn)行的部分或測試列表??捎貌糠职ǎ?/span>
usr: 用戶相關(guān)測試
sud: Sudo 相關(guān)測試
fst: 文件系統(tǒng)相關(guān)測試
sys: 系統(tǒng)相關(guān)測試
sec: 安全措施相關(guān)測試
ret: 定期任務(wù)(cron、定時(shí)器)相關(guān)測試
net: 網(wǎng)絡(luò)相關(guān)測試
srv: 服務(wù)相關(guān)測試
pro: 進(jìn)程相關(guān)測試
sof: 軟件相關(guān)測試
ctn: 容器(docker、lxc)相關(guān)測試
cve: CVE 相關(guān)測試
可以使用特定的測試ID(例如:usr020,sud)
-e PATHS 要排除的路徑列表,逗號分隔。這允許您在完整性成本下進(jìn)行更快的掃描
-p SECONDS 進(jìn)程監(jiān)視器將觀察進(jìn)程的時(shí)間。值為0將禁用任何監(jiān)視(默認(rèn):60)
-S 在此主機(jī)上提供 lse.sh 腳本,以便可以從遠(yuǎn)程主機(jī)檢索