核模塊解析:如何抹除 ext4 sysfs 檢測(cè)痕跡)
Mountify nuke LKM 內(nèi)核模塊解析如何抹除 ext4 sysfs 檢測(cè)痕跡【免費(fèi)下載鏈接】mountifyGlobally mounted modules via OverlayFS.項(xiàng)目地址: https://gitcode.com/gh_mirrors/mo/mountifyMountify nuke LKM 內(nèi)核模塊解析如何抹除 ext4 sysfs 檢測(cè)痕跡在 Android 模塊掛載與反檢測(cè)領(lǐng)域Mountify項(xiàng)目中的nuke LKM 內(nèi)核模塊堪稱一把精準(zhǔn)手術(shù)刀它專門用于抹除 ext4 sysfs 檢測(cè)痕跡讓基于 OverlayFS 的全局模塊掛載更加隱蔽。本文面向新手和普通用戶用通俗易懂的方式拆解它的工作原理、加載方式與使用場(chǎng)景不需要你精通內(nèi)核編程也能看懂。為什么要抹除 ext4 sysfs 檢測(cè)痕跡首先要理解痕跡從哪來。Mountify 有兩種掛載模式tmpfs 模式和 ext4 sparse 模式。后者會(huì)把模塊內(nèi)容寫入一個(gè) ext4 稀疏鏡像再掛載好處是能兼容 GPU 驅(qū)動(dòng)這類特殊模塊。但代價(jià)也隨之而來掛載 ext4 鏡像時(shí)內(nèi)核會(huì)在/proc/fs/ext4/下創(chuàng)建對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)sysfs 節(jié)點(diǎn)這些殘留節(jié)點(diǎn)就像指紋一樣很容易被檢測(cè)工具發(fā)現(xiàn)系統(tǒng)里多了不該有的 ext4 卷。nuke LKM 的任務(wù)就是在掛載任務(wù)完成后把這個(gè)節(jié)點(diǎn)注銷掉讓/proc/fs上不留任何痕跡。nuke LKM 的核心原理四個(gè)步驟整個(gè)模塊的源碼非常精簡(jiǎn)只有 nuke.c 一個(gè)文件核心流程可以概括為四步定位目標(biāo)通過kern_path找到掛載點(diǎn)路徑拿到對(duì)應(yīng)的super_block超級(jí)塊并確認(rèn)文件系統(tǒng)確實(shí)是 ext4校驗(yàn)符號(hào)用sprint_symbol校驗(yàn)傳入的內(nèi)核符號(hào)地址防止錯(cuò)誤調(diào)用注銷節(jié)點(diǎn)調(diào)用ext4_unregister_sysfs函數(shù)注銷該卷對(duì)應(yīng)的 sysfs 節(jié)點(diǎn)復(fù)核結(jié)果再次檢查/proc/fs/ext4/卷名是否還存在確認(rèn)節(jié)點(diǎn)已被成功抹除。加載參數(shù)symaddr 和 mount_pointnuke LKM 啟動(dòng)時(shí)需要兩個(gè)關(guān)鍵參數(shù)mount_point需要處理的掛載點(diǎn)路徑默認(rèn)是/data/adb/modulessymaddrext4_unregister_sysfs符號(hào)在內(nèi)核中的地址。其中符號(hào)地址的獲取方式很巧妙臨時(shí)把kptr_restrict設(shè)為 1再?gòu)?proc/kallsyms中抓取ext4_unregister_sysfs的地址。這套流程在 README.md 中有完整說明兼容 Linux 4.4 內(nèi)核前提是內(nèi)核開啟了CONFIG_KALLSYMSy。現(xiàn)成的預(yù)編譯內(nèi)核模塊不用自己編譯項(xiàng)目已經(jīng)按 Android 版本和內(nèi)核版本準(zhǔn)備好了預(yù)編譯的.ko文件全部位于module/lkm/目錄Android 12 / 135.10 內(nèi)核Android 13 / 145.15 / 6.1 內(nèi)核Android 156.6 內(nèi)核Android 166.12 內(nèi)核老設(shè)備4.14 內(nèi)核完整的校驗(yàn)清單SHA-256在 list.txt 中安裝前可以核對(duì)文件完整性。一鍵啟用配置方法對(duì)普通用戶來說最簡(jiǎn)單的方式是在 Mountify 的配置文件 config.sh 中開啟實(shí)驗(yàn)性開關(guān)# 開啟 nuke LKM 支持 enable_lkm_nuke1 lkm_filenamenuke.ko加載邏輯位于 post-fs-data.sh 中系統(tǒng)啟動(dòng)階段會(huì)先確認(rèn)當(dāng)前不是 tmpfs 模式、spoof_sparse未開啟且ksud沒有內(nèi)置同樣的能力然后才執(zhí)行insmod加載。如果使用 KernelSU 22105 版本ksud 已內(nèi)置nuke-ext4-sysfs功能會(huì)自動(dòng)接管無(wú)需再加載 LKM。安全機(jī)制與注意事項(xiàng)nuke LKM 雖然強(qiáng)大但屬于實(shí)驗(yàn)性功能作者也不保證 100% 成功率使用時(shí)請(qǐng)注意加載前會(huì)用sprint_symbol校驗(yàn)符號(hào)地址防止調(diào)用到錯(cuò)誤函數(shù)導(dǎo)致內(nèi)核崩潰只有確認(rèn)文件系統(tǒng)是 ext4 才會(huì)執(zhí)行注銷非 ext4 卷會(huì)直接跳過模塊以 GPLv2 協(xié)議開源源碼在nuke_ext4_lkm/目錄如果開啟了spoof_sparse把稀疏鏡像偽裝成 APEX 掛載nuke 會(huì)被自動(dòng)禁用因?yàn)閮煞N方案互斥。如果你需要獲取源碼自行編譯或研究可以通過git clone https://gitcode.com/gh_mirrors/mo/mountify拉取完整倉(cāng)庫(kù)。小結(jié)nuke LKM 是 Mountify 在掛載痕跡反檢測(cè)上的一次精巧嘗試用最小的內(nèi)核模塊抹除 ext4 sysfs 檢測(cè)痕跡彌補(bǔ) ext4 sparse 模式留下的指紋。對(duì)于追求極致隱蔽性的 Root 用戶來說它是值得一試的補(bǔ)充手段——但請(qǐng)記住它只是創(chuàng)可貼式的緩解方案并非萬(wàn)無(wú)一失使用時(shí)務(wù)必做好數(shù)據(jù)備份。【免費(fèi)下載鏈接】mountifyGlobally mounted modules via OverlayFS.項(xiàng)目地址: https://gitcode.com/gh_mirrors/mo/mountify創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考