简单的Linux查找后门思路和shell脚本分享

Serafina ·
更新时间:2024-11-15
· 954 次阅读

每个进程都会有一个PID,而每一个PID都会在/proc目录下有一个相应的目录,这是linux(当前内核2.6)系统的实现。
一般后门程序,在ps等进程查看工具里找不到,因为这些常用工具甚至系统库在系统被入侵之后基本上已经被动过手脚(网上流传着大量的rootkit。假如是内核级的木马,那么该方法就无效了)。
因为修改系统内核相对复杂(假如内核被修改过,或者是内核级的木马,就更难发现了),所以在/proc下,基本上还都可以找到木马的痕迹。
思路:

在/proc中存在的进程ID,在 ps 中查看不到(被隐藏),必有问题。
代码如下:#!/bin/bash

str_pids="`ps -A | awk '{print $1}'`";
for i in /proc/[[:digit:]]*;
do
 if echo "$str_pids" | grep -qs `basename "$i"`;
 then
  :
 else
  echo "Rootkit's PID: $(basename "$i")";
 fi
done

讨论:

检查系统(Linux)是不是被黑,其复杂程度主要取决于入侵者“扫尾工作”是否做得充足。对于一次做足功课的入侵来说,要想剔除干净,将是一件分精密、痛苦的事情,通常这种情况,需要用专业的第三方的工具(有开源的,比如tripwire,比如aide)来做这件事情。
而专业的工具,部署、使用相对比较麻烦,也并非所有的管理员都能熟练使用。

实际上Linux系统本身已经提供了一套“校验”机制,在检查系统上的程序没有被修改。比如rpm包管理系统提供的 -V 功能:
代码如下:rpm -Va
即可校验系统上所有的包,输出与安装时被修改过的文件及相关信息。但是rpm系统也可能被破坏了,比如被修改过。

您可能感兴趣的文章:linux find下如何统计一个目录下的文件个数以及代码总行数的命令linux的一个find命令配合rm删除某天前的文件方法linux使用find和crontab命令定期清理过期文件浅谈Linux下通过find命令进行rm文件删除的小技巧Linux中文件查找方法大全linux c 查找使用库的cflags与libs的方法详解Linux查找包含指定文字的文件(linux查找指定文件)Linux下如何使用grep命令查找带有tab(退格)的字符Linux中文件查找技术大全Linux中find命令的用法入门



Linux shell脚本 shell

需要 登录 后方可回复, 如果你还没有账号请 注册新账号