下载地址:
https://www.vulnhub.com/entry/covfefe-1,199/https://www.vulnhub.com/entry/covfefe-1,199/https://www.vulnhub.com/entry/covfefe-1,199/本题重点在于ssh免密登录与堆栈溢出提权 本题共3个flag
虚拟机环境处在同一网段:
Kali攻击机(nat)
covfefe靶机(nat)
1.1主机发现
得知192.168.8.163是我们的目标
综合扫描
网站信息搜集
80和31337端口无可用信息
后台扫描
在80端口无收获,31337端口发现敏感信息
一个个访问页面
前面三个是文件,根据robots.txt找到flag1
把.ssh页面的三个文件下载下来
分别查看
得知用户名simon,但是第二个文件被加密无法读取内容
1.2漏洞利用
使用Johnjohn爆破加密私钥
对私钥文件进行破解,先使用ssh2john.py将私钥文件生成一个HASH文件
ssh2john.py的位置
使用ssh2john.py将加密文件装换成jonh可破解的hash格式
破解加密文件
ssh免密登录
执行失败了
查看并给予执行权限
成功以低权限连接
信息查找
进入家目录,发现flag,但无权限。查看read_message.c 发现flag2
分析上述源码。当我们输入一个字符串时, 它将与Simon 一起检查字符串的前5字符。如果匹配, 它将运行一个程序/usr/local/bin/read_message。现在输入它被分配大小为20个字节。因此, 我们溢出堆栈进入超过20个字节的数据。我们使用前5个字符是 "Simon", 然后是 15 个任意字符, 然后是 "/bin/sh" 在第21字节,溢出提权。
1.3提权-堆栈溢出
查找有root权限的文件
发现/usr/local/bin/read_message有root权限
运行read_message在输入用户名后随意加15字节(5+15=20)的内容,再加/bin/sh调用sh命 令解释器 ,获取root权限。
直接查看flag,通关!