中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用LES對Linux進行滲透測試

發布時間:2021-11-03 10:15:38 來源:億速云 閱讀:150 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關怎么用LES對Linux進行滲透測試的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

工具介紹

為了完成滲透測試任務并兼容不同Linux發行版系統,LES使用了大量的啟發式方法來實現其主要功能,同時為給定的Linux設備生成候選漏洞列表,以最大程度地降低假陽性以及誤報率。此外,出于工具實用性以及維護便利性開率,該工具還實現了以下特性:

1、子系統標記,針對目前大部分流行的Linux發行版,其中包括Debian、Ubuntu、RHEL/CentOS。

2、用戶空間分析子系統,完全支持基于deb和rpm的發行版系統,部分支持其他發行版。

在LES的早期版本中,LES只會處理內核版本,這種方式完全跳過了發行版版本的問題,大部分主要處理功能都通過Linux_Exploit_Suggester腳本來實現。但是這種方式并不是非常有效,因為容易出現誤報的問題,從而產生大量需要手動分析的漏洞。

隨著時間的推移,LES也得到了改進,并通過生成候選漏洞列表的方式來解決之前的問題:

1、 基于內核版本生成初始漏洞列表;

2、 檢查每個漏洞的“標簽”命中率;

3、 基于“附加檢查”舍棄不適用的漏洞利用;

4、 計算每個候選漏洞的內部度量(“等級”),并根據計算對列表排序。

接下來,我們將一一進行討論。

基于內核版本生成初始漏洞列表

這是減少給定設備候選漏洞攻擊數量的第一步。LES會解析uname命令的輸出結果,并獲取準確的內核版本信息,然后再跟漏洞利用代碼中定義的版本信息進行對比。例如:Reqs: pkg=linux-kernel,ver>=4.4,ver<=4.13,...

檢測標簽匹配

為了降低假陽性,并進一步減少候選漏洞數量,提升目標系統的適用性,LES還引入了“標簽”的概念。標簽是描述內核版本的簡單語句,并標明給定的漏洞可以適用于這些系統版本,語句主要由正則表達式組成。例如:Tags: RHEL=6,RHEL=7{kernel:3.10.0-514.21.2|3.10.0-514.26.1}。“標簽”并不會舍棄候選漏洞列表中的實體數量,而是將更加適用的對象“往前放”。

舍棄不適用的漏洞

為了進一步優化候選漏洞列表,LES還引入了額外的參數要求(Reqs域)。在向LES中添加漏洞利用實體時,我們可以定義下列條件:

Reqs:pkg=linux-kernel,ver>=3.2,ver<=4.10.6,CONFIG_USER_NS=y, \sysctl:kernel.unprivileged_userns_clone==1

上述條件表明內核版本必須>3.2并且<=4.10.6,而且內核的用戶命名空間功能還必須以CONFIG_USER_NS=y進行編譯,并啟動該功能(sysctl:kernel.unprivileged_userns_clone==1)。

對于不常用的檢測情況,LES還提供了運行任意BASH命令的功能,以便研究人員查看漏洞是否適用于給定系統。例如:

Reqs:pkg=linux-kernel,ver>=4.4.0,ver<=4.4.0,cmd:grep -qi ip_tables/proc/modules

在上述場景中,命令“grep -qi ip_tables /proc/modules”主要用來判斷ip_tables模塊是否已加載,并根據命令返回值(TRUE或FALSE)來判斷漏洞是否適用于該系統。

基于排名動態生成的漏洞排序列表

最后,LES會根據動態計算的等級(Rank)結果對列表中的現有漏洞及西寧排序,等級越高則在列表中的位置越靠前,也就是漏洞適用于給定系統的概率會越高。

Rank計算基于下列規則:

1、 針對普通漏洞的初始rank為1。

2、 針對優秀漏洞的初始rank為5,例如dirtycow和eBPF_verifier等等。

3、 針對較差漏洞的初始rank為0,例如不穩定的或不適用的漏洞。

4、 如果待測Linux發行版系統版本匹配其中一個標簽,則Rank加2。

5、 如果待測Linux發行版系統版本正則表達式匹配其中一個標簽,則Rank加5。

例如,LES針對dirtycow漏洞利用的Rank計算方式如下,運行版本為Ubuntu 16.04,內核版本為4.4.0-21-generic:

Inital rank: 5Distribution version match: +2 to rankkernel version regex match: +5 to rankfinal rank: 12

功能介紹

接下來,我們一起看看如何使用LES吧!

基本使用場景下,所有的步驟都會按順序執行來生成候選漏洞列表:

$./les.sh

--cvelist-file選項可以用來設置完整的CVE列表,如果目標系統受其中漏洞影響的話,LES將會用其進行測試,列表可以通過https://api-ksplice.oracle.com/api/1/update-list/生成:

$./les.sh --cvelist-file <cve-listing-file>

在紅隊研究的過程中,我們還可以“間接”運行LES來對目標(例如HIDS)執行更加嚴格的監控:

victim-host$dpkg -l > pkgsListing.txtpentester-host$./les.sh --uname "<uname-a-from-victim>" --pkglist-filepkgsListing.txt

在對目標設備進行漏洞利用測試之前,我們通常還需要檢查目標內核是否使用了其他加固措施:

$./les.sh --checksec

工具快速下載

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh-O les.sh

感謝各位的閱讀!關于“怎么用LES對Linux進行滲透測試”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮安市| 新巴尔虎左旗| 平原县| 柯坪县| 红桥区| 大埔县| 益阳市| 海城市| 阿巴嘎旗| 泸州市| 红桥区| 武穴市| 吴堡县| 鲁山县| 大英县| 康马县| 张北县| 青浦区| 万安县| 微博| 宁武县| 文成县| 仁寿县| 特克斯县| 商丘市| 泗水县| 龙口市| 池州市| 喀什市| 仙居县| 沁水县| 三台县| 丹阳市| 和田市| 万年县| 张家港市| 镇雄县| 阳高县| 龙州县| 尉犁县| 阜南县|