CtfStudying之SSH私钥泄露

8/23/19 SSH私钥泄露

对于只是给定一个对应ip地址的靶场机器,咱们须要对其进行扫描,探测其开放服务。我原来理解的渗透就是找到目标的漏洞,而后利用这些(这种)漏洞,最后拿到机器的最高权限;其实个人理解的有偏差:渗透实际上是针对服务的漏洞探测,而后进行对应的数据包发送,经过构造畸形数据包得到异常回应,根据这些异常回应从而拿到机器的最高权限。服务器

1.探测靶场ip:netdiscover -r ip/netmask  ,而后测试连通性ssh

 

探测到靶场,且可ping通工具

2.扫描已开启的服务:namp -sV ip测试

 

分析结果:每个服务对应一个端口,端口用来通讯,若是看到特殊端口(3306),对其进行深刻探测。好比那种大端口(http服务端口),就可采用某些手段进行访问。搜索引擎

3.发现开启http服务大端口,采用形式访问:http://ip:port/spa

 

查看一下大端口号313373d

返回的对应界面没有flag值。先看看页面源代码吧。发现源代码里面也没有flag值:blog

4.探测是否有隐藏页面:dirb http://ip:port/索引

 

看到了比较敏感的.ssh和robots.txt文件ip

Robots.txt:存放搜索引擎容许或者不被容许的的文件

 

打开每个文件试试,找到第一个flag:

 

5.Robots.txt目前没有价值了,继续挖掘ssh信息,不断访问获取更多泄露的ssh密钥信息。

ssh 的验证:客户端公钥与服务器私钥进行对比,对比成功则验证经过,可远程登陆

 

打开ssh文件发现里面有三个内容,因此咱们应该思考这三个内容里面了是否包含了更多的内容,继续加“/”,试一试能否下载

而后发现,个人天,竟然所有都有内容且可下载:

公钥能够不下载,毕竟是任何人均可以访问的。

6.如今已经有了公钥和私钥,那么尝试登录一下远程服务器

首先切换到存放这些文件的位置:

 

查看权限:ls -alh

查询结果:可读可写

 

而后开始尝试远程登陆:ssh -i (私钥) 用户名@ip

结果发现,,没有用户名,而后咱们就在咱们下载好的认证文件里面找到了用户名

 

那么就是:ssh -I id_rsa simon@192.168.43.42

 

观察这三个点:告诉咱们不能创建远程链接,只能识别,yes;644告诉咱们权限不够;再一次告诉咱们没有创建链接,权限拒绝。

7.能够识别可是链接没法创建,尝试提高权限:chmod 600 id_rsa

从新赋予读写权限,接下来从新登陆:

 

可是这一次,又出现了新的关卡:须要输入链接密码,只有三次机会;可是咱们不知道密码,只有一个私钥以及认证文件。咱们能够经过这两个文件,看看是否有其余信息。进一步探取私钥信息

 =======================================

在这里插播一个电脑小问题,我仍是单独开一篇文章记录我这些充满神奇力量、能给我带来毁灭性惊喜的设备们吧。耳机OK,笔记本外放OK,可是两者相结合就是噩梦开始了:

笔记本声卡OK,耳机OK,可是耳机插进笔记本就是无声:

解决方案:控制面板—》这啥管理器—》设置—》选择单独(反正能让他重启就好了)

 

最后,见证奇迹的时刻,插头已塞入插孔!因此,每个提醒,都应该关注一下下面的详情。。以防将来的惊喜我都找不到来源。。

 

8.进一步探取私钥信息

解密ssh密钥信息

使用ssh2John 将id_rsa密钥信息转换为可识别的信息

 ssh2john id_rsa > isacrack #使用John这个工具,将id_rsa 这个文件转化为isacrack这个文件,位置和前者相同;

 

解密该文件,利用字典解密isacrack信息,使用zcat这个工具:

zcat/usr/share/wordlists/rockyou.txt.gz |john –pipe –rules isacrack /#使用zcat来取得usr/share/wordlists/这个路径下,/rockyou.txt.gz的文件密码,管道标志符,使用John这个工具使用isacrack这个字典的规则

 

这个文件貌似只能开一次,而后密码就在starwars里面,接下来继续尝试登录

9.使用starwars密码登录

Ssh -i (私钥) name@ip

 

登录成功,还看到了robots.txt文件

可是咱们仍是没有得到想要的flag文件,务必记住root这个文件夹很重要

切到root目录下,发现有咱们想要的flag文件,可是咱们没有权限阅读:

这个时候的查看权限ls -alh,还有提权chmod命令就无论用了。。。由于这些命令只限于本机,或者说拿到靶机的很高的权限。

 

10.提高权限,Simon只是为普通用户,咱们要获得root权限,因此咱们要查看哪些文件具备root权限:

find /-perm -4000 2>/dev/null #从根目录开始,查找具备执行权限的文件(-perm 4000),避免错误输出(2>/dev/null)

 

注意啊,输入错误可能就是错误!

咱们选择我的以为有意义的文件进行查阅,从而进一步得出:

第二个flag出现:

 

这里有一段C语言代码,也有flag2,读出来了说不定就是flag值。理解代码的意思之后,运行代码

 

11.进一步提权,咱们经过溢出(我本身想的??),让程序执行很是规操做:

20字符/bin/sh #首先这个文件拥有root权限,其次咱们将其切换到bin/sh这个远程文件夹里面,可创建远程链接(???)

第三个flag出现

 

相关文章
相关标签/搜索