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


     

    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:

    一切顺利的话你的命令行会输出以下内容:

    如何在 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 仓库):

    在 Fedora 上则使用以下 dnf 命令:

    如何在 Arch 上安装 unhide

    键入以下 pacman 命令安装:

    如何在 FreeBSD 上安装 unhide

    可以通过以下的命令使用 port 来安装 unhide:

    或者可以通过二进制文件安装 hide,使用 pkg 命令安装:

    如何使用 unhide 工具?

    unhide 的语法是:

    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-tcp 工具辨明 TCP/UDP 端口的身份

    以下是来自 man 页面的介绍:

    unhide-tcp 取证工具通过对所有可用的 TCP/IP 端口进行暴力求解的方式,辨别所有正在监听,却没有列入 /bin/netstat 或者 /bin/ss 命令输出的 TCP/IP 端口身份。

    注一:对于 FreeBSD、OpenBSD系统,一般使用 netstat 命令取代在这些操作系统上不存在的 iproute2,此外,sockstat 命令也用于替代 fuser。

    注二:如果操作系统不支持 iproute2 命令,在使用 unhide 时需要在命令上加上 -n或者 -s 选项。

    示例输出:

    上述操作中,没有发现隐藏的端口。

    但在下述示例中,我展示了一些有趣的事。

    示例输出:

    可以看到 netstat -tulpn 和 ss 命令确实没有反映出这三个隐藏的端口:

    通过下述的 man 命令可以更多地了解 unhide

    Windows 用户如何安装使用 unhide

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

  • 相关阅读:
    程序设计思维与实践 Week5 作业 (3/4/数据班)
    程序设计思维与实践 Week6 作业 (3/4/数据班)
    Effective C++笔记(更新中...)
    二叉树的序列化与反序列化
    矩阵乘法的顺序安排问题 Python简单实现
    Python 读写Excel文件 总结
    2019美赛D题 人员疏散模型Python编程
    函数绘图语言 西电编译原理大作业
    洛谷试炼场 动态规划专练
    2019 IEEEXtreme 13.0 Impact Factor 影响因子
  • 原文地址:https://www.cnblogs.com/bigben0123/p/8436158.html
Copyright © 2020-2023  润新知