1
免责声明
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
2
内容速览
这是网络安全自修室每周带星球小伙伴一起实战的第14台靶机,欢迎有兴趣的小伙伴一起加入实操,毕竟实践出真知!
靶机可从Vulnhub平台 免费下载,并通过虚拟机在本地搭建,渗透实战是一个找寻靶机中的flag的过程,并以获得最终的flag为目标!
攻击机:Kali Linux
靶机环境:192.168.3.72
所用工具:nmap | Burpsuite
靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 目标:获取靶机root权限
和flag
nmap -Pn --min-rate 10000 -sT <目标IP> -p- -oA nmapscan/ports
nmap -O -sV -sC -sT -p <端口> <目标IP> -oA nmapscan/detail
80端口:打开网站,发现是一个登录界面,CMS为qdPM 9.1
。
image
综上信息搜集可以发现,目标服务器为Linux系统,开启了80、22端口,web的CMS为
qdPM 9.1
,`重点考虑从web页面找寻突破口
image
经查看,主要存在以下关键目录
将图片下载到本地
image
使用steghide工具先查看一下图片基本信息 kali默认没有安装,可能需要先安装一下
发现需要密码才能查看图片信息
image
使用stegseek工具对图片进行爆破 kali中没有自带stegseek工具,需要先安装 安装stegseek
解压kali字典,使用kali自带字典进行爆破
使用stegseek爆破图片隐藏信息
成功破解出图片中的信息,原来是一个邮箱和密码
image
使用从doubletrouble.jpg图片中破解出的邮箱和密码进行80端口的登陆,发现可以登陆成功
image
点击这里发现这里可以上传文件
上传木马 这里分享一个使用的反弹shell木马 点击查看shell.php木马
注意木马中这里需要修改为监听设备(kali)的IP和需要监听的端口
找到上传的木马路径
http://192.168.3.72/uploads/users/
在kali中启动nc监听,同时在浏览器中点击刚刚上传的木马
nc -lvnp 4455
image
成功反弹shell
image
使用python切换shell
python -c 'importpty;pty.spawn("/bin/bash")'
image
在信息收集中我们发现该网站是基于qdPM9.1框架进行搭建的 kali中自带有漏洞库,通过漏洞库的查找可以找到与qdPM9.1有关的漏洞进行POC测试
发现有很多符合的POC脚本可以利用
image
image
查看一下这些脚本时怎么利用的 发现47964.py这个POC是用Python2.7来写的,在执行的时候后面跟url、邮箱地址和密码,分别使用参数-url、-u、-p,邮箱地址和密码应该就是图片中破解出来的信息
image
发现50175.py是用python3写的,且这个脚本是基于47954.py编写的,命令执行格式应该跟47954.py差不多
image
既然这样我们直接使用50175.py来进行POC测试,不过在测试的时候发现总是报错,分析脚本后发现是脚本中很多地方格式不对,需要自己整理 比如说像这种错误,我们直接到第59行去修改
image
这里不应该分行
image
修改后应该是这样的
image
后面还有很多这样的小错误,也需要将这种在一句话还未结束的句子代码放在一行中
可以看到这里成功生成了一个后门
image
浏览器访问一下这个后门
image
点击生成的后面,这这个页面输入?cmd=,其中cmd后可以执行任意命令操作,如图所示
image
image
使用nc监听反弹shell
先在kali中启动nc监听
image
在浏览器中输入如下代码,其中192.168.3.76 1234为监听设备的IP和端口(kali)
回到shell,发现成功反弹shell,还是使用Python切换到bash这个shell中
image
发现awk可以进行无密码使用sudo操作
image
可以在该网站中查看sudo提权方式 https://gtfobins.github.io/
找到相关提权命令
其实可以稍微修改一下,使用bash这个shell要好操作一点
image
成功拿到管理员权限
image
进入root目录中,发现里面还存在一个靶机
image
我这里将该靶机复制到网站根目录的uploads目录中,然后下载到本地使用virtualbox进行搭建(还是使用桥接模式)
image
主机IP地址为192.168.3.77
image
还是只开放了两个端口80端口的http服务和22端口的ssh服务
image
80端口是一个登陆界面,简单尝试下弱口令和万能密码都无果
image
使用sqlmap进行扫描,发现存在时间盲注
image
当前数据库为doubletrouble
image
image
image
成功爆出用户名和密码
image
使用从数据库中获得的这两个用户名和密码进行80端口登陆和22端口ssh登陆尝试 80端口:两个用户都无法登陆 22端口:montreux用户不能进行ssh远程登录,但clapton用户可以 登陆clapton用户,成功获取到clapton用户的shell
image
发现该用户不具有sudo权限
image
发现系统的内核版本是linux3.2,该系统版本具有一个很明显的漏洞--脏牛漏洞
image
发现40616.c是有关脏牛漏洞的POC,将它下载下来
image
查看一下如何使用 先使用gcc连接,然后直接使用,后面不用跟其他命令
image
image
image
传输完成
image
image
感觉像被加密了,拿去解密一下,果然是这样
image
还是继续提权
发现40616.c还没有执行权限,先给它赋予执行权限,然后再使用gcc生成可执行程序
image
成功拿到管理员权限
image
最后在root目录中,拿到最后一个flag
image
其实,脏牛漏洞提权的POC还有很多,很多人会使用这个dirty.c来创建管理员账户进行管理员登录,从而获得管理员shell
点击查看dirty.c代码
在本地创建一个dirty.c文件,将代码复制进去
image
与第四步一样,使用nc传输,将dirty.c文件传到clapton用户中,同时赋予可执行权限
image
gcc连接,然后执行POC,需要注意的是,这里在执行POC后面可以接密码,即重新创建一个用户firefart,该用户具有管理员权限 此外,gcc连接需要使用如下命令
root为firefart用户密码
image
使用ssh登陆firefart用户,再次成功拿到管理员权限
image
获取到最终flag