在Linux中如何進(jìn)行權(quán)限維持痕跡隱藏
本文來自“白帽子社區(qū)知識(shí)星球”
作者:偉大寶寶
配置 tsh.h 中的 secret、SERVER_PORT、FAKE_PROC_NAME?
同時(shí)注釋掉:CONNECT_BACK_HOST、CONNECT_BACK_DELAY 兩行

運(yùn)行 make linux 生成后門服務(wù)端和客戶端。?
服務(wù)端用于在被控主機(jī)上運(yùn)行,客戶端在本地進(jìn)行連接

將會(huì)生成 tshd 與 tsh 兩個(gè)文件,tshd 為被控端運(yùn)行程序,tsh 為控制 端。?
生成后門后,將 tshd 修改為其他服務(wù)名,用于在查看端口運(yùn)行情況 時(shí),可以偽造 COMMAND,我這里修改為 mysqld。?
運(yùn)行后查看網(wǎng)絡(luò)連接,可見服務(wù)名已經(jīng)變成了我們設(shè)置好的名稱。

之后查看端口信息

通過查看進(jìn)程,后門的父進(jìn)程 id 為 1,對應(yīng)急人員的判斷造成極大干擾。

使用控制端連接被控端后便可以執(zhí)行命令。

同樣支持反向連接,只需取消注釋開頭的兩行代碼,被控端便可回連 控制端。

效果總結(jié):?
? ? ? ?通過偽裝后門服務(wù)名稱結(jié)合配置真實(shí)服務(wù)的端口,可以干擾應(yīng)急 過程中的分析。由于啟動(dòng)后的父進(jìn)程為 1,會(huì)使分析人員、運(yùn)維人員 誤認(rèn)為其為系統(tǒng)進(jìn)程從而忽略該進(jìn)程。
使用 libprocesshider 對指定進(jìn)程進(jìn)行隱藏。?
修改 libprocesshider.c,設(shè)置 process_to_filter 值為自己想要隱藏的進(jìn) 程名。?
這里隱藏的是 bash,即所有進(jìn)程名為 bash 的均不會(huì)顯

編譯后會(huì)生成 libprocesshider.so?
將 libprocesshider.so 移 動(dòng) 到 其 他 文 件 夾 下 , 我 這 里 是 放 到 了
/usr/local/lib/ 目 錄 下 , 之 后 將 libprocesshider.so 的 路 徑 寫 入
/etc/ld.so.preload 文件。

接下來使用 Bash 進(jìn)行反彈 shell 并查看端口連接情況,可見,該網(wǎng)絡(luò)
連接的進(jìn)程名與 id 已無法查看。

隱藏進(jìn)程后加大了發(fā)現(xiàn)異常進(jìn)程的難度,同時(shí)在應(yīng)急過程中也會(huì) 阻礙應(yīng)急工作的正常進(jìn)行
如果覺得本文不錯(cuò)的話,歡迎加入知識(shí)星球,星球內(nèi)部設(shè)立了多個(gè)技術(shù)版塊,目前涵蓋“WEB安全”、“內(nèi)網(wǎng)滲透”、“CTF技術(shù)區(qū)”、“漏洞分析”、“工具分享”五大類,還可以與嘉賓大佬們接觸,在線答疑、互相探討。
▼掃碼關(guān)注白帽子社區(qū)公眾號&加入知識(shí)星球▼
