前言
靶机的网盘下载地址
链接:https://pan.baidu.com/s/1NXO_oDqHxd0WaIG5Tqf8gw?pwd=w5qd 提取码: w5qd 复制这段内容后打开百度网盘手机App,操作更方便哦
KALI地址:192.168.10.60
靶机地址:192.168.10.56
一.信息收集
1.主机发现
使用命令,如下来进行主机发现。
netdiscover -r 192.168.10.60
我们发现了靶机地址。
2.主机扫描
这里使用nmap工具来进行主机扫描,命令如下。
nmap -A -T4 -O -p 0-65535 192.168.10.56
如下图扫描,结果,发现开放了80
,22
,31337
端口,并且发现31337
端口也是http服务
3.目录扫描
既然开放了web服务端口,那我们肯定要进行web目录扫描,命令如下,由于开放了两个web服务,就可以进行两次web服务扫描。
dirb http://192.168.10.56
如下图,是80端口的目录扫描,发现什么都没有
我们可以进行对31337
端口进行扫描,命令和上面差不多,后面加一个端口就可以了,扫描结果如下,发现有东西,一个是.ssh
文件看名字值得注意还有一个是robots
文件
3.网页信息收集
既然开放了web服务,我们肯定要进行查看,因为有很多信息都是从网页目录收集。
如下图,是访问的80端口,发现是nginx默认页面,经过收集没有什么可以发现的。
如下图是访问的31337端口,发现啥也没有。
二.漏洞利用
1.私钥泄露
1.1.发现第一个flag
经过上面信息收集,我们发现了robots文件,和.ssh文件,我们先查看robots文件,如下图,发现有几个文件,看这个样子,我第一反应是去看taxes
这个目录,因为,这个文件不常见。
如下图,查看taxes
,发现了第一个flag。
然后其他两个文件也查看了,没有什么发现。
1.2.发现私钥泄露文件
我们在去查看,上面我们信息收集收集到的.ssh
目录,如下图,看这个名字就知道了,怀疑的是,.ssh目录下面有这三个文件,我们挨个访问看看。
经过测试,发现是可以进行下载的,并且是ssh密钥文件,然后复制到了kali。
但是打开id_rsa
的时候发现需要密码。
然后,我们打开其他文件,发现了用户名泄露,如下图,用户名是simon
。
然后上面id_rsa
文件,需要进行破解。
1.3.破解id_rsa文件
这里使用ssh2john
工具进行破解,但是新版kali没有,其实是有的文件在/usr/share/john/ssh2john.py
,我们直接使用python运行即可,如下命令,把破解之后的东西放在了rsacrack里面
python /usr/share/john/ssh2john.py id_rsa > rsacrack
如下图是文件内容,还需要在破解一次。
这里使用john
工具来进行破解,命令如下。
john rsacrack
如下图,发现破解出来一个密码,我破解的时候没有解图,我就直接查看了,密码是starwars
破解出来了我以为是打开输入密码,其实不是,其实是咋子连接的时候的密码,说一个踩的坑,不能给id_rsa
这个文件赋777权限,不然会报错,就是说777权限太开放了,然后我就重新赋了一个600权限,就可以了。
然后我们就可以尝试连接,用户名是simon,然后私钥密码,是starwars
,命令如下,前提是先要赋权限600命令是chmod 600 id_rsa
ssh -i id_rsa simon@192.168.10.56
如下图,连接成功。
三.提权
我们进入系统之后,首先查看的是/etc/passwd
和home
目录下面的文件,但是都没有发现可以利用的点,但是我们可以进入root目录,里面有一个flag,我们打不开,如下图。
1.发现第二个flag
但是里面有一个其他文件read_message.c
意思就是读取信息嘛,那我们cat一下看看,就发现了第二个flag如下图。
我们仔细阅读源代码,就是问我们是不是Simon,但是里面有一个char buf[20]
,这个可以栈溢出,只需要大于20个字符就可以提权了。
所以我们直接运行这个C文件,然后大于20个字符即可,如下图,我们就提权成功了,就可以查看最后一个flag。
2.发现第三个flag
如下图,最后一个flag。
四.总结
需要多注意隐藏目录,和不放过任何一个隐藏目录,看见密钥需要会连接,也需要学会使用john工具。