linux显示系统进程详细信息(如何在LinuxUnix)
linux显示系统进程详细信息(如何在LinuxUnix)procallproc穷举法相关的技术,包括对所有的进程 ID 进行暴力求解,该技术仅限于在基于 Linux2.6 内核的系统中使用。绝大多数的 Rootkit 工具或者恶意软件借助内核来实现进程隐藏,这些进程只在内核内部可见。你可以使用 unhide 或者诸如 rkhunter 等工具,扫描 rootkit 程序 、后门程序以及一些可能存在的本地漏洞。brute
unhide是一个小巧的网络取证工具,能够发现那些借助 rootkit、LKM 及其它技术隐藏的进程和 TCP/UDP 端口。这个工具在 Linux、Unix 类、MS-Windows 等操作系统下都可以工作。根据其 man 页面的说明:
Unhide 通过下述三项技术来发现隐藏的进程。
-
进程相关的技术,包括将
/proc
目录与 /bin/ps 命令的输出进行比较。 -
系统相关的技术,包括将 /bin/ps 命令的输出结果同从系统调用方面得到的信息进行比较。
-
穷举法相关的技术,包括对所有的进程 ID 进行暴力求解,该技术仅限于在基于 Linux2.6 内核的系统中使用。
绝大多数的 Rootkit 工具或者恶意软件借助内核来实现进程隐藏,这些进程只在内核内部可见。你可以使用 unhide
或者诸如 rkhunter 等工具,扫描 rootkit 程序 、后门程序以及一些可能存在的本地漏洞。
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 或者 /bin/ss 命令输出的 TCP/IP 端口身份。
注一:对于 FreeBSD、OpenBSD系统,一般使用 netstat 命令取代在这些操作系统上不存在的 iproute2,此外,sockstat 命令也用于替代 fuser。
注二:如果操作系统不支持 iproute2 命令,在使用 unhide
时需要在命令上加上 -n
或者 -s
选项。
# unhide-tcp
示例输出:
Unhide 20100201http://www.security-projects.com/?UnhideStarting TCP checkingStarting UDP checking
上述操作中,没有发现隐藏的端口。
但在下述示例中,我展示了一些有趣的事。
# unhide-tcp
示例输出:
Unhide 20100201http://www.security-projects.com/?UnhideStarting TCP checkingFound Hidden port that not appears in netstat: 1048Found Hidden port that not appears in netstat: 1049Found Hidden port that not appears in netstat: 1050Starting 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。