如何在 Linux/Unix/Windows 中發現隱藏的進程和埠
這篇文章描述了如何安裝 unhide 並搜索隱藏的進程和 TCP/UDP 埠。
如何安裝 unhide
首先建議你在只讀介質上運行這個工具。如果使用的是 Ubuntu 或者 Debian 發行版,輸入下述的 [apt-get](https://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html "See Linux/Unix apt-get command examples for more info")/[apt](//www.cyberciti.biz/faq/ubuntu-lts-debian-linux-apt-command-examples/ "See Linux/Unix apt command examples for more info") 命令以安裝 Unhide:
$ sudo apt-get install unhide
一切順利的話你的命令行會輸出以下內容:
[sudo] password for vivek:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
rkhunter
The following NEW packages will be installed:
unhide
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 46.6 kB of archives.
After this operation, 136 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 unhide amd64 20130526-1 [46.6 kB]
Fetched 46.6 kB in 0s (49.0 kB/s)
Selecting previously unselected package unhide.
(Reading database ... 205367 files and directories currently installed.)
Preparing to unpack .../unhide_20130526-1_amd64.deb ...
Unpacking unhide (20130526-1) ...
Setting up unhide (20130526-1) ...
Processing triggers for man-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](https://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/ "See Linux/Unix yum command examples for more info") 命令(CentOS/RHEL 6.x 或 7.x 上首先打開 EPEL 倉庫):
$ sudo yum install unhide
在 Fedora 上則使用以下 dnf 命令:
$ sudo dnf install unhide
如何在 Arch 上安裝 unhide
鍵入以下 pacman 命令安裝:
$ sudo pacman -S unhide
如何在 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
示例輸出:
Unhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info
NOTE : This version of unhide is for systems using Linux >= 2.6
Used options:
[*]Searching for Hidden processes through comparison of results of system calls, proc, dir and ps
如何使用 unhide-tcp 工具辨明 TCP/UDP 埠的身份
以下是來自 man 頁面的介紹:
unhide-tcp
取證工具通過對所有可用的 TCP/IP 埠進行暴力求解的方式,辨別所有正在監聽,卻沒有列入 [/bin/netstat](https://www.cyberciti.biz/tips/linux-display-open-ports-owner.html "Linux netstat command") 或者 /bin/ss 命令輸出的 TCP/IP 埠身份。注一:對於 FreeBSD、OpenBSD系統,一般使用 netstat 命令取代在這些操作系統上不存在的 iproute2,此外,sockstat 命令也用於替代 fuser。
注二:如果操作系統不支持 iproute2 命令,在使用
unhide
時需要在命令上加上-n
或者-s
選項。
# unhide-tcp
示例輸出:
Unhide 20100201
http://www.security-projects.com/?Unhide
Starting TCP checking
Starting UDP checking
上述操作中,沒有發現隱藏的埠。
但在下述示例中,我展示了一些有趣的事。
# unhide-tcp
示例輸出:
Unhide 20100201
http://www.security-projects.com/?Unhide
Starting TCP checking
Found Hidden port that not appears in netstat: 1048
Found Hidden port that not appears in netstat: 1049
Found Hidden port that not appears in netstat: 1050
Starting UDP checking
可以看到 netstat -tulpn
和 ss
命令確實沒有反映出這三個隱藏的埠:
# netstat -tulpn | grep 1048
# ss -lp
# ss -l | grep 1048
通過下述的 man 命令可以更多地了解 unhide
:
$ man unhide
$ man unhide-tcp
Windows 用戶如何安裝使用 unhide
你可以通過這個頁面獲取 Windows 版本的 unhide。
via: https://www.cyberciti.biz/tips/linux-unix-windows-find-hidden-processes-tcp-udp-ports.html
作者:Vivek Gite 譯者:ljgibbslf 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive