vulnhub靶场,covfefe
环境准备
靶机下载地址:https://www.vulnhub.com/entry/covfefe-1,199/
攻击机:kali(192.168.109.128)
靶机:covfefe(192.168.109.161)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式
信息收集
使用arp-scan确定目标靶机
确定目标靶机IP为192.168.109.161
使用nmap扫描查看目标靶机端口开放情况
开放端口:22、80、31337
浏览器访问目标靶机80端口
一个简单的nginx网站,查看源代码也没有发现什么
使用dirb对网站进行目录结构扫描
啥都没有,看来这个靶机的关键不在这个页面,前面通过nmap扫描发现31337端口也为http服务,访问试试
说没有找到,使用dirb进行目录结构扫描
这几个文件好像在哪里见过,发现只要对linux系统稍微熟悉点的会发现这些文件都是家目录下才有的,并且有.ssh
页面,里面一般有公钥和私钥
渗透过程
浏览器访问.ssh
页面
这三个文件分别对应着公钥、已接受的认证公钥、公钥,将三个文件全部下载下来
在中文目录下可能会对后面的操作有影响,所以把这三个文件全部移到/tmp目录下
查看已接受的认证公钥(authorized_keys)和公钥(id_rsa.pub)内容
可以发现他们的内容都是一样的,并且都出现了simon用户,说明现在只需要知道私钥就可以达到不需要密码就可以使用ssh登入,查看私钥(id_rsa)内容
发现私钥被加密了,思路断了,但是发现把这个靶机导入到虚拟机的时候好像给了一些提示
这里提示需要使用爆破,那使用john进行爆破试试
但是john貌似只能破解hash,所以要先将这个密文转成hash
进入/usr/share/john,使用ssh2john.py将私钥进行转换
再次使用John进行破解
成功破解出私钥明文,使用ssh进行连接
这里发现报错了,是因为权限太高了,降低权限
再次使用ssh进行连接
连接成功
查找一下flag
可以看到在root用户目录下有flag,但是肯定是没有权限的
查看当前目录下的文件
发现http_server.py,查看内容,成功发现了第一个flag
权限提升
查看一下当前用户的sudo命令
没有sudo命令,查看一下suid命令
发现在/usr/local/bin路径下有一个可疑文件,进入这个目录看看
查看一下这个文件的类型和权限
可以看到这个文件好像进行了编译,并且所有用户对这个文件都具有执行的权限,运行一个这个文件试试
这里要输入名字,先随便输入一个名字试试
说你不是Simon,那再运行一次输入Simon试试
貌似是root用户给Simon的一封信,信的内容翻译过来的意思是在我的家目录里面备份了一份源码
那就进入root的家目录看看
可以看到read_message.c文件是所有用户都有读的权限的,查看一下源代码
里面放着flag2和c语言代码,进行审计看看
这里看到他只识别20个字符串长度,如果输入的字符串长度超过了20个会怎么呢
可以看到,超过20位的字符串会直接当作命令去执行,这里存在缓冲区溢出的漏洞,成功提权为root
切换至root目录,找到最后一个flag,靶机covfefe渗透结束