常见的Linux权限维持和隐藏方法

后门程序

攻击者通常会在受害系统中安装后门程序,以便在需要时重新获得访问权限。常见的后门程序包括:

  • SSH 后门:创建一个新的用户,配置 SSH 公钥认证,避免密码登录被检测到。
  • 反弹 Shell:通过反弹 Shell 连接到攻击者的机器,获取远程控制权限。
  • Web Shell:通过 Web Shell(如 PHP 代码嵌入)远程控制 Web 服务器。

Rookit

Rootkit 是一种能够隐藏自身及其他恶意程序的工具。安装 Rootkit 后,攻击者可以隐藏进程、文件和网络连接,防止被系统管理员发现。

  • 内核级 Rootkit:直接修改内核数据结构和函数,隐藏进程、文件和网络连接。
  • 用户级 Rootkit:通过劫持系统库函数(如 ld_preload),隐藏特定进程和文件。

持久化机制

攻击者会使用各种持久化机制,以确保即使系统重启后也能重新获得控制权限。

  • 修改启动脚本:在系统启动脚本中加入恶意代码,保证每次系统启动时都会执行。
  • crontab 定时任务:在 crontab 中添加恶意任务,定期执行恶意程序。

文件隐藏

攻击者会将恶意文件和工具隐藏在系统中,以防被发现。

  • 文件名伪装:将恶意文件命名为类似系统文件的名称,如 syslogdsshd 等。
  • 隐藏目录:使用隐藏目录(如 . 开头的目录),将恶意文件放置其中。

网络连接隐藏

攻击者可能会隐藏与其控制服务器的网络连接,以防被网络管理员发现。

  • 端口重定向:使用工具(如 iptables)重定向流量到特定端口,隐藏实际通信端口。
  • 加密通信:使用加密协议(如 SSH、SSL)进行通信,防止流量被检测和分析。

日志清除

攻击者会清除或篡改系统日志,以隐藏入侵痕迹。

  • 清除命令历史:删除或篡改 .bash_history 文件。
  • 修改系统日志:直接修改系统日志文件(如 /var/log 下的日志),删除入侵痕迹。

使用合法进程

攻击者会利用合法的系统进程进行恶意活动,以隐藏其行为。

  • 进程注入:将恶意代码注入到合法的系统进程中。
  • 利用系统工具:使用系统自带的工具(如 netcatcurl)进行恶意操作。

Rookit详细参考链接:

应急响应之Linux下进程隐藏 - FreeBuf网络安全行业门户