unhide 搜索隱藏進程和 TCP/UDP 端口——通過修改加載的so文件來實現隱藏,待研究實現思路


問題現象:服務器負載很高,top和ps 無法查看進程,有異常任務計划但是查不到進程排查困難

排查還在/etc/hosts發現增加了如下異常映射

猜測是,但是沒有進程最終核實到是/etc/ld.so.preload 設置了隱藏進程

嘗試直接刪除或編輯此文件無效, 最終嘗試echo “”>/etc/ld.so.preload 可以正常輸入

然后查看可以查看到具體進程了

OK! 能看到進程就方便排查了

此問題排查時主要卡在了隱藏進程無法進一步核實分析,只要處理了隱藏進程就好排查處理了

 

問題延伸: 可以安裝unhide查看隱藏進程

安裝:

Ubuntu 或者 Debian 發行版:sudo apt-get install unhide

CentOS/RHEL:yum install unhide

執行:unhide proc 查看隱藏進程

 

如何安裝 unhide 並搜索隱藏的進程和 TCP/UDP 端口

unhide是一個小巧的網絡取證工具能夠發現那些借助 rootkit、LKM 及其它技術隱藏的進程和 TCP/UDP 端口。這個工具在 Linux、UNIX 類、MS-Windows 等操作系統下都可以工作。根據其 man 頁面的說明:

Unhide 通過下述三項技術來發現隱藏的進程。

進程相關的技術,包括將/proc目錄與/bin/ps命令的輸出進行比較。

系統相關的技術,包括將/bin/ps命令的輸出結果同從系統調用方面得到的信息進行比較。

窮舉法相關的技術,包括對所有的進程 ID 進行暴力求解,該技術僅限於在基於 Linux2.6 內核的系統中使用。

絕大多數的 Rootkit 工具或者惡意軟件借助內核來實現進程隱藏,這些進程只在內核內部可見。你可以使用unhide或者諸如rkhunter 等工具,掃描 rootkit 程序 、后門程序以及一些可能存在的本地漏洞。

這篇文章描述了如何安裝 unhide 並搜索隱藏的進程和 TCP/UDP 端口。

 

如何安裝 unhide

首先建議你在只讀介質上運行這個工具。如果使用的是 Ubuntu 或者 Debian 發行版,輸入下述的apt-get/apt命令以安裝 Unhide:

$sudo apt-get install unhide

一切順利的話你的命令行會輸出以下內容:

[sudo]password forvivek:

Reading packagelists...Done

Building dependency tree

Reading state information...Done

Suggested packages:

rkhunter

The following NEWpackages will be installed:

unhide

0upgraded,1newly installed,0toremove and0notupgraded.

Need toget46.6kB of archives.

After thisoperation,136kB of additional disk space will be used.

Get:1http://in.archive.ubuntu.com/ubuntu artful/universe amd64 unhide amd64 20130526-1 [46.6 kB]

Fetched46.6kB in0s(49.0kB/s)

Selecting previously unselected packageunhide.

(Reading database...205367files anddirectories currently installed.)

Preparing tounpack.../unhide_20130526-1_amd64.deb...

Unpacking unhide(20130526-1)...

Setting up unhide(20130526-1)...

Processing triggers forman-db(2.7.6.1-2)...

如何在 RHEL/CentOS/Oracle/Scientific/Fedora 上安裝 unhide

輸入下列 yum Type the following yum command (first turn on EPLE repo on a CentOS/RHEL version 6.x or version 7.x):

輸入以下的 yum 命令(CentOS/RHEL 6.x 或 7.x 上首先打開 EPEL 倉庫):

$sudo yum install unhide

在 Fedora 上則使用以下 dnf 命令:

$sudo dnf install unhide

如何在 Arch 上安裝 unhide

鍵入以下 pacman 命令安裝:

$sudo pacman -Sunhide

如何在 FreeBSD 上安裝 unhide

可以通過以下的命令使用 port 來安裝 unhide:

# cd /usr/ports/security/unhide/

# make install clean

或者可以通過二進制文件安裝 hide,使用 pkg 命令安裝:

# pkg install unhide

如何使用 unhide 工具?

unhide 的語法是:

unhide[options]test_list

test_list參數可以是以下測試列表中的一個或者多個標准測試:

brute

proc

procall

procfs

quick

reverse

sys

或基本測試:

checkbrute

checkchdir

checkgetaffinity

checkgetparam

checkgetpgid

checkgetprio

checkRRgetinterval

checkgetsched

checkgetsid

checkkill

checknoprocps

checkopendir

checkproc

checkquick

checkreaddir

checkreverse

checksysinfo

checksysinfo2

checksysinfo3

你可以通過以下示例命令使用unhide:

# unhide proc

# unhide sys

# unhide quick

示例輸出:

Unhide20130526

Copyright©2013Yago Jesus & Patrick Gouin

License GPLv3+ : GNU GPL version3orlater

http://www.unhide-forensics.info

NOTE : Thisversion of unhide isforsystems using Linux >= 2.6

Used options:

[*]Searching forHidden processes throughcomparison of results of system calls,proc,dir andps

如何使用 unhide-tcp 工具辨明 TCP/UDP 端口的身份

以下是來自 man 頁面的介紹:

unhide-tcp取證工具通過對所有可用的 TCP/IP 端口進行暴力求解的方式,辨別所有正在監聽,卻沒有列入/bin/netstat或者/bin/ss命令輸出的 TCP/IP 端口身份。

注一:對於 FreeBSD、OpenBSD系統,一般使用 netstat 命令取代在這些操作系統上不存在的 iproute2,此外,sockstat 命令也用於替代 fuser。

注二:如果操作系統不支持 iproute2 命令,在使用unhide時需要在命令上加上-n或者-s選項。

# unhide-tcp

示例輸出:

Unhide20100201

http://www.security-projects.com/?Unhide

Starting TCP checking

Starting UDP checking

上述操作中,沒有發現隱藏的端口。

但在下述示例中,我展示了一些有趣的事。

# unhide-tcp

示例輸出:

Unhide20100201

http://www.security-projects.com/?Unhide

Starting TCP checking

Found Hidden port that notappears innetstat: 1048

Found Hidden port that notappears innetstat: 1049

Found Hidden port that notappears innetstat: 1050

Starting UDP checking

可以看到 netstat -tulpn 和 ss 命令確實沒有反映出這三個隱藏的端口:

# netstat -tulpn | grep 1048

# ss -lp

# ss -l | grep 1048

通過下述的 man 命令可以更多地了解 unhide:

$man unhide

$man unhide-tcp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM