进程隐藏工具蓝屏原因(真正的win10隐藏进程)
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 for vivek: reading package lists... donebuilding dependency tree reading state information... donesuggested packages: rkhunterthe 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 命令(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 或者 /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。
上一篇: 揭秘你没有用过的五个极好的微软Web服务
下一篇: 百度知道发帖技巧及留网址经验分享