当前位置: 首页 > 科技观察

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

时间:2023-03-17 21:34:40 科技观察

unhide是一款小型网络取证工具,可以发现被rootkit、LKM等技术隐藏的进程和TCP/UDP端口。该工具可在Linux、类UNIX、MS-Windows等操作系统下运行。根据它的手册页描述:Unhide通过以下三种技术发现隐藏的进程。与进程相关的技术,包括将/proc目录与/bin/ps命令的输出进行比较。与系统相关的技术,包括将/bin/ps命令的输出与系统调用的信息进行比较。暴力破解相关技术,包括对所有进程ID的暴力破解,仅限于基于Linux2.6内核的系统。绝大多数Rootkit或恶意软件都依赖内核来隐藏仅在内核内部可见的进程。您可以使用unhide或rkhunter等工具来扫描Rootkit、后门和可能的本地漏洞。本文介绍如何安装取消隐藏和搜索隐藏进程和TCP/UDP端口。如何安装取消隐藏首先建议您在只读媒体上运行该工具。如果使用Ubuntu或Debian发行版,请输入以下apt-get/apt命令来安装取消隐藏:$sudoapt-getinstallunhide如果一切顺利,您的命令行将输出以下内容:[sudo]passwordforvivek:Readingpackage列表...DoneBuildingdependencytreeReadingstateinformation...DoneSuggestedpackages:rkhunterThefollowingNEWpackageswillbeinstalled:unhide0updated,1newlyinstalled,0toremoveand0notupgraded.Needtoget46.6kBofarchives.Afthisoperation,将使用136kB的额外磁盘空间。获取:1http://in.archive.ubuntu.com/ubuntuartful/universeamd64unhideamd6420130526-1[46.6kB]在0s(49.0kB/s)中获取46.6kB..当前安装了205367个文件和目录。)准备解压.../unhide_20130526-1_amd64.deb...解压取消隐藏(20130526-1)...设置取消隐藏(20130526-1)...处理man触发器-db(2.7.6.1-2)...HowtoinstallunhideonRHEL/CentOS/Oracle/Scientific/Fedora输入以下yum键入以下内容使用yum命令(首先在CentOS/RHEL6.x或7.x版本上打开EPLE仓库):输入以下yum命令(首先在CentOS/RHEL6.x或7.x上打开EPLE仓库):$sudoyuminstallunhide在Fedora上,使用以下dnf命令:$sudodnfinstallunhide如何在Arch上安装unhide键入以下pacman命令进行安装:$sudopacman-Sunhide如何在FreeBSD上安装unhide您可以使用端口来通过以下命令unhide安装:#cd/usr/ports/security/unhide/#makeinstallclean也可以通过二进制文件安装hide,使用pkg命令安装:#pkginstallunhide如何使用unhide工具?unhide的语法是:unhide[options]test_listtest_list参数可以是以下测试列表中的一个或多个标准测试:bruteprocprocallprocfsquickreversesys或基本测试:checkbrutecheckchdircheckgetaffinitycheckgetparamcheckgetpgidcheckgetpriocheckRRgetintervalcheckgetschedcheckqucheckircheckprocdcpcheckopencheckkillcheckreaddircheckreversechecksysinfochecksysinfo2checksysinfo3您可以通过以下示例命令使用取消隐藏:#unhideproc#unhidesys#unhidequick示例输出:Unhide20130526版权所有?2013YagoJesus&PatrickGouinLicenseGPLv3+:GNUGPL版本3或更高版本http://www.unhide-forensics.info注意:此版本的取消隐藏适用于使用Linux>=2.6的系统使用的选项:[*]搜索Hiddenrough进程比较系统调用、proc、dir和ps的结果如何使用unhide-tcp工具来识别TCP/UDP端口的身份以下是manpage的介绍:unhide-tcp取证工具使用暴力破解allavailableTCP/IPports标识所有正在侦听但未包含在/bin/netstat或/bin/ss命令输出中的TCP/IP端口标识的方法注1:对于FreeBSD和OpenBSD系统,通常使用netstat命令代替了iproute2,另外,还使用了sockstat命令代替了fuser。注2:如果操作系统不支持iproute2命令,使用unhide时需要在命令中加上-n或-s选项。#unhide-tcp示例输出:Unhide20100201http://www.security-projects.com/?UnhideStartingTCPcheckingStartingUDPchecking在以上操作中,没有发现隐藏端口。但在下面的例子中,我展示了一些有趣的东西。#unhide-tcp示例输出:Unhide20100201http://www.security-projects.com/?UnhideStartingTCPcheckingFound未出现在netstat中的隐藏端口:1048Found未出现在netstat中的隐藏端口:1049Found未出现在netstat中的隐藏端口:1050开始UDP检查,可以看到netstat-tulpn和ss命令没有体现这三个隐藏端口:#netstat-tulpn|grep1048#ss-lp#ss-l|grep1048可以通过以下man命令获取更多信息了解有关unhide的更多信息:$manunhide$manunhide-tcpWindows用户如何安装和使用unhide您可以从此页面获取Windows版本的unhide。