日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux etc 漏洞利用,漏洞利用 | 看我如何利用Kerberos EoP渗透你的Linux系统

發布時間:2025/4/5 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux etc 漏洞利用,漏洞利用 | 看我如何利用Kerberos EoP渗透你的Linux系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面的話

在一次紅隊分析中,我們成功以非特權用戶的身份在一個外圍網頁中實現了命令執行。本文將介紹并分析漏洞(CVE-2018-1685)以及該漏洞的利用方式,該漏洞允許攻擊者讀取目標主機中的任意文件,但目前還沒有針對該漏洞的公開細節。除此之外,我們還會介紹一種技術,在加入了活動目錄域的Linux設備(通過Kerberos)中將這種類型的漏洞(任意文件讀取)轉換為完整的系統滲透并實現任意命令執行。

權限提升

我們的測試設備是一臺近期剛剛更新的Red Hat服務器,因此我們無法利用內核漏洞來實現提權。經過一系列常規檢測之后,我們發現了一些帶有SUID的root級別可執行程序:/home/db2test/sqllib/adm:

total 5.3M

drwxr-sr-x. ?2 db2test db2test ?112 Oct ?8 10:29 .

drwxrwsr-t. 19 db2test db2test 4.0K Oct ?8 10:32 ..

-r-sr-xr-x. ?1 db2test db2test 152K Oct ?8 10:29 db2audit

-r-sr-xr-x. ?1 root ???db2test ?19K Oct ?8 10:29 db2cacpy

-r-xr-xr-x. ?1 db2test db2test 195K Oct ?8 10:29 db2cap

-r-sr-x---. ?1 root ???db2test ?32K Oct ?8 10:29 db2iclean

-r-sr-x---. ?1 root ???db2test ?87K Oct ?8 10:29 db2licm

-r-xr-xr-x. ?1 db2test db2test 120K Oct ?8 10:29 db2set

-r-sr-sr-x. ?1 db2test db2test 4.7M Oct ?8 10:29 db2trc

“db2test”用戶貌似跟一個DB2測試安裝油管,即一個IBM的數據庫管理系統。搜索引擎求助一番之后,我們發現了一個關于這些可執行程序(db2cacpy)的安全公告(由廠商發布)。

CVE-2018-1685漏洞描述:

解決方案和緩解策略:

雖然廠商并沒有披露關于該漏洞的任何技術細節,但我們可以找到兩個有意思的地方:該漏洞允許本地用戶讀取系統中的任意文件;

在解決方案中,廠商提到刪除這部分代碼將會導致添加數據庫時無法向/etc/services中添加端口;

了解到這些內容之后,我們就可以繼續下一步了。

CVE-2018-1685:漏洞捕捉

首先,為了分析漏洞,我們在本地下載了這些可執行程序。除此之外,我們還需要下載大約10個DB2代碼庫來讓工具正確運行。

經過初始的靜態分析之后,我們就可以拆分其各種行為了。代碼接收兩個命令行參數,并會在程序繼續執行之前對它們執行相應的檢測。

第一個檢測

第一個檢測是以某種混淆方式進行的,判斷第一個參數是否跟存儲在cleartext中的密鑰相匹配:

第二個檢測

在第二個檢測中,將會判斷第二個參數是否是以字符串“/tmp/services.”開頭的,這很可能是因為另外的DB2組件是以這種模式來生成文件的:

漏洞分析

如果這兩個檢測都通過了,工具將會把指定的文件拷貝到/etc/services,并重寫該文件。下面給出的是這個過程的簡化版偽代碼:func main(argc, argv[]) {

init_db2()

if (argc is 3)

{

if (argv[1] equals HARDCODED_KEY) {

if (argv[2] startsWith "/tmp/services.") {

copy_file(argv[2], "/etc/services")

}

}

}

}

那么,我們該如何利用這個讀取任意文件漏洞呢?沒錯,就是通過路徑遍歷!如果我們在/tmp中創建一個名為“services.”的目錄(或以這個字符串開頭的),我們就可以觸發/tmp/services./../../etc/shadow的拷貝行為,并通過第二個檢測。

我們可以點擊【這里】獲取到漏洞利用PoC代碼,它還會在漏洞利用完成之后恢復原來的/etc/services文件。需要注意的是,第一個檢測中的密鑰可能會根據DB2的版本或安裝配置的不同而有所變化。

從任意讀取到以root權限實現命令執行

由于我們的測試設備是一臺通過Kerberos加入活動目錄域的Linux服務器,因此我們首先要檢測/tmp中是否存在有效的TGT(ccache文件),以便實現數據復用。但是,這些數據都已經過期了。因此,我們需要尋找另一種不需要用戶交互的途徑,即keytab文件。

keytab文件中包含了計算機賬號的密鑰(Red Hat中默認為/etc/krb5.keytab),你可以使用這個密鑰來偽造TGS服務令牌。

為了從keytab中提取出密鑰,我們使用了我們的DB2漏洞利用代碼以及這個【腳本】:

接下來,使用impacket中的ticketer.py工具,我們可以創建一個針對服務器中SSH服務的TGS,并以域用戶命名,而這個域用戶擁有設備上的管理員權限:

最后,我們可以使用生成的令牌來通過SSH與設備進行連接,并使用Kerberos完成身份驗證。然后,以root權限執行任意命令:

總結

在這篇文章中,我們學習了如何去利用一個眾所周知但并未披露技術細節的安全漏洞,這也就是為什么我們一直在強調必須盡快為每一個應用程序安裝安全補丁的原因!

總結

以上是生活随笔為你收集整理的linux etc 漏洞利用,漏洞利用 | 看我如何利用Kerberos EoP渗透你的Linux系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。