ITPub博客

首页 > > > 如何在 Linux/Unix/Windows 中发现隐藏的进程和端口?

如何在 Linux/Unix/Windows 中发现隐藏的进程和端口?

作者:u_453e1a12781dea 时间:2018-02-04 00:08:01 0 删除 编辑
点击蓝色字关注 "CU技术社区" 一起玩耍哦~

英文 | Vivek Gite,

翻译 | Linux中国/fan Li

原文 | http://t.cn/R8Hur8A


unhide 是一个小巧的网络取证工具,能够发现那些借助 rootkit、LKM 及其它技术隐藏的进程和 TCP/UDP 端口。这个工具在 Linux、UNIX 类、MS-Windows 等操作系统下都可以工作。根据其 man 页面的说明:


Unhide 通过下述三项技术来发现隐藏的进程。

1. 进程相关的技术,包括将 /proc 目录与 /bin/ps 命令的输出进行比较。

2. 系统相关的技术,包括将 /bin/ps 命令的输出结果同从系统调用方面得到的信息进行比较。

3. 穷举法相关的技术,包括对所有的进程 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... 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 仓库):


$ 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 参数可以是以下测试列表中的一个或者多个标准测试:


  1. brute

  2. proc

  3. procall

  4. procfs

  5. quick

  6. reverse

  7. sys


或基本测试:


  1. checkbrute

  2. checkchdir

  3. checkgetaffinity

  4. checkgetparam

  5. checkgetpgid

  6. checkgetprio

  7. checkRRgetinterval

  8. checkgetsched

  9. checkgetsid

  10. checkkill

  11. checknoprocps

  12. checkopendir

  13. checkproc

  14. checkquick

  15. checkreaddir

  16. checkreverse

  17. checksysinfo

  18. checksysinfo2

  19. 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 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:

http://www.unhide-forensics.info/?Windows:Download


 上周Daily 


◦噩耗传来,华为,挺住! | ITDaily


◦ 爱立信「裁了 1 万人」; A 站服务器或将被关闭:已拖欠 2 月工资 | ITDaily


◦ 今日头条诉百度索赔 500 万;比特币再度跌破 1 万美元 | ITDaily


◦ "百度外卖" 系统遭入侵,账户被篡改 4900 余万元;一加 “Badword” 过滤主要影响中国用户 | ITDaily


◦ 2018 中国最富 1000 人出炉;微软正开发全新操作系统 Polaris | ITDaliy


数领先机 智赢未来

DTCC2018

中国数据库技术大会(简称 DTCC)是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会,每年一届。自 2010 年以来,迄今已成功举办了八届,累计参与人次达到 20000+。DTCC 每年都将邀请百余位行业专家,就热点技术话题进行分享,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。


2018 年 5 月 10-12 日,第九届中国数据库技术大会(DTCC2018)将如约而至。本届大会以 “数领先机 • 智赢未来” 为主题,设定 2 大主会场及 20 个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨 Oracle、MySQL、NoSQL、大数据、机器学习、区块链、数据可视化等领域的前瞻性热点话题与技术。


点击左下阅读原文,立享购票6.8折优惠

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    1982
  • 访问量
    17912