如何在 Linux/Unix/Windows 中发现隐藏的进程和端口
unhide 是一个小巧的网络取证工具,能够发现那些借助 rootkit、LKM 及其它技术隐藏的进程和 TCP/UDP 端口。这个工具在 Linux、UNIX 类、MS-Windows 等操作系统下都可以工作。根据其 man 页面的说明:
Unhide 通过下述三项技术来发现隐藏的进程。
绝大多数的 Rootkit 工具或者恶意软件借助内核来实现进程隐藏,这些进程只在内核内部可见。你可以使用 unhide 或者诸如 rkhunter 等工具,扫描 rootkit 程序 、后门程序以及一些可能存在的本地漏洞。
这篇文章描述了如何安装 unhide 并搜索隐藏的进程和 TCP/UDP 端口。
如何安装 unhide
首先建议你在只读介质上运行这个工具。如果使用的是 Ubuntu 或者 Debian 发行版,输入下述的 apt-get/apt 命令以安装 Unhide:
|
1
2
|
$ sudo apt-get install unhide
|
一切顺利的话你的命令行会输出以下内容:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[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 命令(CentOS/RHEL 6.x 或 7.x 上首先打开 EPEL 仓库):
|
1
2
|
$ sudo yum install unhide
|
在 Fedora 上则使用以下 dnf 命令:
|
1
2
|
$ sudo dnf install unhide
|
如何在 Arch 上安装 unhide
键入以下 pacman 命令安装:
|
1
2
|
$ sudo pacman -S unhide
|
如何在 FreeBSD 上安装 unhide
可以通过以下的命令使用 port 来安装 unhide:
|
1
2
3
|
# cd /usr/ports/security/unhide/
# make install clean
|
或者可以通过二进制文件安装 hide,使用 pkg 命令安装:
|
1
2
|
# pkg install unhide
|
如何使用 unhide 工具?
unhide 的语法是:
|
1
2
|
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:
|
1
2
3
4
|
# unhide proc
# unhide sys
# unhide quick
|
示例输出:
|
1
2
3
4
5
6
7
8
9
10
|
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选项。
|
1
2
|
# unhide-tcp
|
示例输出:
|
1
2
3
4
5
6
7
|
Unhide 20100201
http://www.security-projects.com/?Unhide
Starting TCP checking
Starting UDP checking
|
上述操作中,没有发现隐藏的端口。
但在下述示例中,我展示了一些有趣的事。
|
1
2
|
# unhide-tcp
|
示例输出:
|
1
2
3
4
5
6
7
8
9
10
11
|
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 命令确实没有反映出这三个隐藏的端口:
|
1
2
3
4
|
# netstat -tulpn | grep 1048
# ss -lp
# ss -l | grep 1048
|
通过下述的 man 命令可以更多地了解 unhide:
|
1
2
3
|
$ man unhide
$ man unhide-tcp
|
Windows 用户如何安装使用 unhide
你可以通过这个页面获取 Windows 版本的 unhide。
如何在 Linux/Unix/Windows 中发现隐藏的进程和端口的更多相关文章
- Linux与Windows中的UTC时间
Linux与Windows中的UTC时间 先介绍几个术语 UTC 协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“Temp ...
- 在linux和windows中使用selenium
在linux和windows中使用selenium 一. selenium(浏览的人你们多大呀?是AI?) selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法 ...
- Linux与Windows中动态链接库的分析与对比
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系 ...
- Linux启动kettle及linux和windows中kettle往hdfs中写数据(3)
在xmanager中的xshell运行进入图形化界面 sh spoon.sh 新建一个job
- linux使用windows中编辑的文件,格式问题
参考:https://blog.csdn.net/yongan1006/article/details/8142527 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是 ...
- linux和windows中设置环境变量经常使用命令
Linux和Windows下查看环境变量方法 一.查看全部环境变量的名称和值: Linux下:export Windows下:set 二.依据名称查该环境变量的值: Linux下:echo $环境变量 ...
- Linux和Windows中查看端口占用情况
一.命令 netstat -lnt 或 netstat -tnlp 如: 二.较全 netstat -antulp 三.简单 ss -tanl 或 ss -tanlp 三.补充 Windows中使 ...
- Linux、Windows中的相对路径和绝对路径
获取系统的分隔符的方式:System.getProperty("file.separator") Windows为 \ Linux为/ Windows绝对路径: 以盘符开始 ...
- Linux修改windows中文本文件出现的^M
换行符的Linux与windows文本文件是不一致的,需要通过 :%s/^M$//g 其中^M的输入使用ctrl+v+m 可以删除^M
随机推荐
- MyEclipse10 复制之前的项目部署到tomcat时项目名称对不上,还是复制前的项目名称,哪里修改设置
工程 -- 右键属性 -- Myeclispse -- web修改一下发布名字就可以了.
- K3BOM跳层
A自制件,B自制件,C外购件 ,结构为A-B-C 如果需要跳层,则设置A-B跳层,B-C跳层,则生成A计划订单,C计划订单, 假设单独A-B跳层,则MRP运算出的结果也是A计划订单,B计划订单,C计划 ...
- Vue 刷新当前页面,并重新加载页面数据
业务场景:在管理后台,在执行完,增,删,改,操作的时候.我们需要刷新一下页面,重载数据.在JQ中我们会用到location.reload()方法,刷新页面:在vue中,这里需要用到一个 provide ...
- select、poll、epoll之间的区别(搜狗面试)
(1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对 ...
- Python模拟wc命令(软件测试第二次作业)
Python实现字符,单词,行,代码行,空行及可视化 Gitee项目地址:https://gitee.com/biubiubiuLYQ/word_and_character_statistics 一. ...
- php配置-解决大数据超多字段的POST方式提交无法完全接受的问题
例如:在盘点表的数据提交中出现了POST大量数据超多字段的将近2000个字段,部分字段没有接受:修改方法为修改php.ini 将max_input_var调大,该值默认为1000 max_input_ ...
- QTP 自动货测试桌面程序-笔记-运行结果中添加截图
3种方法: 方法1:使用设置:SnapshotReportMode oldMode = Setting("SnapshotReportMode") Setting("Sn ...
- 【RNN】资源汇总
wesome Recurrent Neural Networks A curated list of resources dedicated to recurrent neural networks ...
- 【建模应用】PCA主成分分析原理详解
原文载于此:http://blog.csdn.net/zhongkelee/article/details/44064401 一.PCA简介 1. 相关背景 上完陈恩红老师的<机器学习与知识发现 ...
- 安装使用nginx
nginx的优势 是c语言开发的一个web框架 官方声称支持10W+的并发 天下武功 唯快不破 tengine+ uwsgi(多进程) + django 你公司的技术栈是什么样? centos7 + ...