CTF夺旗-SSH密钥泄露

 准备的环境

centos靶机,kali攻击机

 首先根据提示 访问靶机:

 

 打开kali扫描靶机开放的端口以及服务:

 

 注意到开启了ssh服务;

下面扫描目录:

 

 

 

 发现文件.ssh、robots.txt ; (robots.txt是当客户端访问链接时 会先到网站的根目录下找robots这个文件 ,这个文件里面写了一些规则,不允许用户访问的文件,因此也就泄露的文件名);

 

访问robots.txt:

 

 

 发现可以文件taxes,访问它:

 

 

 干得漂亮,拿到flag1;

下面访问隐藏文件 .ssh :

 

 

 文件id_rsa 和 id_rsa.pub 是 客户端访问服务器的 密钥和公钥,前面是私钥,后面是公钥;分别点看看

 

 

 

 

 

 发现用户名jackbanbo

把id_rsa文件内容复制下来,到kali机下面新建 id_rsa文件,并把内容粘贴进去,主要是破解这个私钥的密码,从而连接上服务器;

 

 

 

 

 

 因为下面要使用工具 ssh2john 转换为可以识别的信息,这是个python文件, 先用locate看他的文件位置(这里我没有配置环境变量,所以需要使用绝对路径运行它)

 

 

 文件位置为: /usr/share/john/ssh2john.py

通过ssh2john把id_rsa转换输出到reacrack文件中:

 

 

 

 

 下面使用 john +文件名 获取到密码 auscoo:

 

 使用ssh远程登录靶机:

 

 可以看到输入正确密码后成功登录靶机;

使用ll查看当前目录的文件:

 

 发现俩个flag,flag3.txt是具有root权限才能看的;

 

 这里发现可疑文件,读取read_message.c

 

可以使用 gcc -o  a  read_message.c 把文件编译 输出到 a中;

因为可以从这里通过 gets输入超过20个字符,获取root权限,如我这里的 JackbanboAAAAAAAAAAAAAAA/bin/sh,环境没有搭建好就不做了。

下面说说,这个靶场的搭建环境吧;

1.1 首先 使用 ssh_keygen -t rsa 创建一个SSH密钥 ,它会在 当前用户的家目录下 自动创建 文件夹 .ssh ;文件夹下面有 id_rsa和id_rsa.pub

需要把文件夹 .ssh 复制一份到 /var/www/html/ 目录下即可 (网站根目录);

1.2 在网站根目录创建文件robots.txt 以及 文件 taxes

 

 在 文件 taxes 下写入flag1,robots.txt下写入如下三个文件:

 

 另外在jackbanbo家目录写入 flag2.txt 、flag3.txt 注意所属用户,另外写入文件 read_message.c

 

 

 

 1.3 下面详细的说说 创建密钥的过程;

  • 切换普通用户jackbanbo

 

 

  •  

     

最后有点可惜就就是没有把做最后的C文件提权复现出来,哪位大佬看到了,麻烦带带我。

 

posted @ 2020-08-13 11:03  友好邻居  阅读(561)  评论(0编辑  收藏  举报