CTF渗透测试——ssh私钥泄露

1.探测ip地址
netdiscover    
netdiscover  -r ip/mask         //探测指定网段 如:netdiscover  -r  192.168.31.1/24

在这里插入图片描述


2.测试连通性
ping 172.19.27.167

在这里插入图片描述
能够ping通,接下来使用nmap扫描一下开放的端口


3. 使用nmap扫描主机开放端口,版本信息
nmap -sV 172.19.27.167               // nmap各参数详解:[这里](https://blog.csdn.net/qq_26090065/article/details/80285088)

端口信息如下
在这里插入图片描述


4.探查大端口信息

ip:port
使用浏览器访问,特别是大端口
在这里插入图片描述
在这里插入图片描述


5.探查隐藏页面

查看网页源码也未发现有用信息,这时需要使用工具来探查隐藏页面

dirb  http://172.19.27.167:31337           

在这里插入图片描述
发现了几个页面,可以访问看一下具体内容,其中在robots协议文件中发现一个特殊文件

172.19.27.167:31337/robots.txt

在这里插入图片描述
访问发现第一个flag

172.19.27.167:31337/taxes/

在这里插入图片描述
查看.ssh,

172.19.27.167:31337/.ssh

在这里插入图片描述
这可能是ssh密钥与公钥,于是尝试在地址后加上看能否发现相关文件

172.19.27.167:31337/.ssh/id_rsa
172.19.27.167:31337/.ssh/authorized_keys

在这里插入图片描述
果然,能够下载密钥文件,同样的方法,访问下载 (关键字)authorized_keys,至于公钥id_rsa.pub就不需要了
而接下来的文件中也没什么有用的信息了,进行下一步。


6.查看文件寻找用户信息

在关键字authorized_keys文件中发现了用户名,接下来就可以通过ssh使用用户名 simon 来远程登录在这里插入图片描述


7. 尝试使用私钥进行远程连接

先查看一下文件的权限
在这里插入图片描述
然后尝试使用密钥进行远程访问
在这里插入图片描述
提示 没有权限,给id_rsa授权

chmod  600 id_rsa    

授权后再次连接,提示要输入密码
在这里插入图片描述
走到这一步,就需要再找到密码才能进行远程登录了,接下来,可以尝试从ssh密钥中解密出密码来


8.解密ssh密钥

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

python /usr/share/john/ssh2john.py id_rsa  > john

在这里插入图片描述
然后使用字典解密john中的信息

zcat /usr/share/wordlists/rockyou.txt.gz  |  john --pipe --rules john   // --pipe管道前一个输出作为后一个的输入, --rules 使用john文件中的规则进行解密

解出密码为:starwars
在这里插入图片描述

9.再次尝试连接

成功登录到目标主机
在这里插入图片描述


10.寻找第二个flag

到root目录中,发现flag.txt 却由于没有root权限而无法打开,此时需要将用户权限提升到root权限
在这里插入图片描述
但是在read_message.c中发现了flag2
在这里插入图片描述

11.提权

查找具有root权限的文件

find / -perm -4000 2>/dev/null

在这里插入图片描述
发现有一个命令与root/目录下的read_message.c文件同名,很有可能有关系,接下来仔细看一下read_message.c的代码
在这里插入图片描述
可以发现,如果输入的字符串前5个字符与“Simon”一样,就会提示相关信息,并且调用执行程序函数execve来执行程序。用来存放输入字符的数组buf[20] 长度只有20,那么如果我们使数组溢出,是否会执行溢出后的命令呢?
在这里插入图片描述

果然,进入了root用户权限下,接下来可以获取flag3了
在这里插入图片描述
成功获取3个flag。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值