Vulnhub实战靶场covfefe练习

一、环境搭建

1、到Vulnhub官网下载靶场环境,下载链接:https://www.vulnhub.com/entry/covfefe-1,199/

2、将下载的靶场导入到Oracle VM VirtualBox,启动

3、为了方便练习环境已经设置为桥接模式,桥接到上网的网卡上

 二、靶场攻略

1、使用工具netdiscover,探测靶机ip地址,输入命令:netdiscover -i eth0 -r 10.10.114.0/16,发现靶场ip地址为10.10.114.52

 2、使用nmap工具,探测靶场开启的服务,寻找突破点,输入命令:nmap -sS -Pn -A -p- -n 10.10.114.52

发现启动有22、80、31337端口

 访问10.10.10.114的80端口,只是一个nginx服务搭建好之后的默认主页,没任何页面提示

 

 

突破点应该是31337端口的http服务里,访问端口提示URL不对,没任何页面

 3、信息收集,使用玩靶场的常用套路,先试试是否有robots.txt文件,发现确实存在

 

4、一个个访问目录,访问到http://10.10.114.52:31337/taxes/,获得第一个flag

 5、访问其他两个目录,下载了两个文件

 

 6、查看下载的两个文件源码,发现可能是之后可以利用的shell文件

7、继续收集信息,使用dirb http://10.10.114.52:31337,获取目录,发现还有.ssh目录,访问看提示,应该是有ssh登录使用的密钥信息

 

 在URL后添加提示的文件名之后,确实直接下载了密钥文件信息

 

 8、查看公钥信息,知道登录名为simon

 9、要使用私钥文件,需要权限为700,所以先进行赋权,使用命令chmod 700 id_rsa,之后使用命令ssh -i id_rsa simon@10.10.114.52 进行连接,发现私钥有加密,无法直接连接

 

 10、对私钥文件进行破解,先使用ssh2john.py将私钥文件生成一个HASH文件

如果ssh2john无法直接使用,说明是没有添加进入环境变量里,找到ssh2john所在目录之后,使用ln -s命令添加一个软链接即可

 最后使用john工具来破解,输入命令john key,破解密码为starwars

 11、再次使用私钥文件,输入密码进行连接,ssh登录成功

 12、直接进入root目录下,得到flag文件,不过没有权限直接读取

 13、查看read_message.c文件,得到第二个flag

 14、看下边的代码,发现经典的溢出漏洞,但是没有权限进行编译执行

 15、寻找靶场里可以执行的二进制文件,输入命令find / -perm -4000 2> /dev/null,找到可执行的命令

16、该文件为编译好的文件,执行之后,发现提示信息,就是之前看到的源码

 

 17、代码原理是,当我们输入一个字符串时, 它将与Simon 一起检查字符串的前5字符。如果匹配, 它将运行一个程序/usr/local/bin/read_message。现在输入它被分配大小为20个字节。因此, 我们溢出堆栈进入超过20个字节的数据。我们使用前5个字符是 "Simon", 然后是 15 个任意字符, 然后是 "/bin/sh" 在第21字节,溢出提权。

运行read_message之后,输入SimonAAAAAAAAAAAAAAA/bin/sh,提权成功,获得flag3

并没有用到之前在网站上下载的2个文件,可能作者的思路不太一样:)

posted @ 2020-08-12 09:20  bonga  阅读(571)  评论(0编辑  收藏  举报