下载地址:covfefe
靶机难度:中级(CTF)
靶机描述:Covfefe 是我基于 Debian 9 的 B2R VM,最初是作为 SecTalks_BNE 的 CTF 创建的。它有三个标志。
它适用于初学者,需要枚举然后[剧透]!
靶机wp作者:Jack渡鸦
第一步扫出目标靶机的IP
命令:arp-scan -l
使用nmap对目标靶机端口进行探测,发现开启了22,80,31337端口
命令:nmap -sS -sV -T5 -A -p 192.168.0.148
访问80端口发现是一个简单的nginx网站,查看源代码也没有发现什么
接着使用dirb对31337端口的目录进行爆破
这里发现了几个主要目录robots.txt和.ssh,我们先访问robots.txt,发现有三个目录,依次访问,在第三个目录中找到flag1
然后我们去访问.ssh目录,发现了三个文件,这三个文件分别对应着公钥、已接受的认证公钥、公钥,我们用kali自带的游览器将三个文件全部下载下来查看
查看已接受的认证公钥(authorized_keys)和公钥(id_rsa.pub)内容,发现都出现了simon这个用户,说明用户名是simon,接下来就需要用开膛手john爆破这个密码了
但是首先我们需要将这段密文转换为john可以识别的,比如说hash
命令:ssh2john /root/下载/id_rsa > /root/下载/id_rsa.hash
然后就爆破出来了私钥明文密码
尝试登录,发现没法登录,显示id_rsa权限太高
我们使用命令:chmod 666 id_rsa 降低这个文件的权限再次登录即可
提权
命令:find / -perm -u=s -type f 2>/dev/null
-perm的意思是匹配权限,其他函数的意思大家可以复制这段话到百度上自己研究一下,我可不是偷懒昂,我这是在培养大家的动手能力
找到了usr目录里可读可写可执行的文件read.message,然后./运行它,发现需要我们输入正确的用户名,我们输入Simon后出现一封信
我们cat查看这个文件,发现了flag2,然后查看代码,发现可以利用缓冲区溢出漏洞,因为代码里面规定了输入的用户名只能有20个字符就会溢出,并且它会检测前五个字符(Simon)是否正确
char buf[20]
char authorized[] = "Simon"
所以我们输入Simonaaaaaaaaaaaaaaa/bin/sh
这样最后20个字符之后的/bin/sh就会溢出,使我们成功提权
今天是非常简单的一个靶机,主要涉及了一下非常基础的缓冲区溢出漏洞的知识,这个也是我比较薄弱的地方,明天会更新一台很不错的靶机,其中也涉及了缓冲区溢出漏洞。今天的这台靶机结束,希望你们能从中学到东西,如果觉得还不错可以点个赞让我知道。我是渡鸦,每天更新一台vulnhub靶机,关注我带你打完百台靶机项目实战,欢迎老爷们关注我一起提升技术,留言进入vulnhub渗透测试交流群一起进步。