linux进程隐藏端口,如何在 Linux/Unix/Windows 中发现隐藏的进程和端口 | Linux 中国...

原标题:如何在 Linux/Unix/Windows 中发现隐藏的进程和端口 | Linux 中国

6489b172bb1c9d8a0870995e437bacc8.png

绝大多数的 Rootkit 工具或者恶意软件借助内核来实现进程隐藏,这些进程只在内核内部可见。你可以使用 unhide 或者诸如 rkhunter 等工具,扫描 rootkit 程序 、后门程序以及一些可能存在的本地漏洞。

-- Vivek Gite

本文导航

◈ 如何安装 unhide 17%

◈ 如何在 RHEL/CentOS/Oracle/Scientific/Fedora 上安装 unhide 34%

◈ 如何在 Arch 上安装 unhide 43%

◈ 如何在 FreeBSD 上安装 unhide 45%

◈ 如何使用 unhide 工具? 50%

◈ 如何使用 unhide-tcp 工具辨明 TCP/UDP 端口的身份 66%

◈ Windows 用户如何安装使用 unhide 90%

编译自 | https://www.cyberciti.biz/tips/linux-unix-windows-find-hidden-processes-tcp-udp-ports.html

作者 | Vivek Gite

译者 | ljgibbslf

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

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

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

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

☉ 穷举法相关的技术,包括对所有的进程 ID 进行暴力求解,该技术仅限于在基于 Linux2.6 内核的系统中使用。

绝大多数的 Rootkit 工具或者恶意软件借助内核来实现进程隐藏,这些进程只在内核内部可见。你可以使用 unhide 或者诸如 rkhunter 等工具,扫描 rootkit 程序 、后门程序以及一些可能存在的本地漏洞[2]。

这篇文章描述了如何安装 unhide 并搜索隐藏的进程和 TCP/UDP 端口。

如何安装 unhide

首先建议你在只读介质上运行这个工具。如果使用的是 Ubuntu 或者 Debian 发行版,输入下述的 apt-get[3]/apt[4]命令以安装 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[5]命令(CentOS/RHEL 6.x[6]或 7.x[7]上首先打开 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[8]或者 /bin/ss[9]命令输出的 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

你可以通过这个页面[10]获取 Windows 版本的 unhide。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值