Vulnhb 靶场系列:Jarbas1.0
靶场镜像
信息收集
攻击机kali IP地址

通过nmap 进行主机发现,发现目标机IP地址
nmap -sP 192.168.227.1/24

参数说明:
-sP (Ping扫描)
该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。 这比列表扫描更积极,常常用于 和列表扫描相同的目的。它可以得到些许目标网络的信息而不被特别注意到。 对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名往往更有价值。
确定下来目标机的主机信息后,通过nmap 探测目标机的服务信息及开放的端口信息
nmap -A 192.168.227.139

可以看到开放了web 服务80端口和8080端口,首先访问一下80端口

没有发现什么有用信息,进一步探测一下web 目录,这里使用kali 下的dirb,指定类型为html文件
dirb http://192.168.227.139/ -X .html

发现两个文件,访问http://192.168.227.139/access.html

发现三组MD5加密的账号密码,解密之

尝试用这三组账号密码登录ssh和mysql,发现并不能登录

访问8080端口

尝试登录,发现第三组账号密码成功登录

漏洞挖掘
我们发现8080端口开放的服务,存在漏洞利用

参考文档:
https://www.rapid7.com/db/modules/exploit/multi/http/jenkins_script_console
打开msfconsole,并使用漏洞exp

设置参数

输入exploit,获取到一个meterpreter

输入shell,获取到一个shell 会话

也可以通过python 建立会话
python -c 'import pty;pty.spawn("/bin/bash")';

尝试通过find 发现flag 文件,发现权限太低,几乎都没法访问

最后我们发现一个很有意思的脚本


这个脚本每隔5分钟会清理一次http的访问日志,更重要的是这个脚本的权限是777

提权
我们先在本地新建一个CleaningScript.sh ,用于给find 设置suid权限,可以像root用户那样启动
chmod u+s /usr/bin/find

参考链接:
https://blog.csdn.net/wangjia55/article/details/80858415
通过meterpreter 上传脚本到目标机

等待5分钟进入shell

发现find 具有了suid权限

这时我们就可以利用find 命令的exec 功能以root 权限执行其他命令了

参考链接:
https://blog.csdn.net/hongrisl/article/details/83018536
最后我们就可以查找root 下是否有flag 文件了

并成功读取flag文件


另一种提权方法
同样先获取到meterpreter 权限,本地新建脚本CleaningScript.sh ,用于给cp 设置suid 的权限
chmod u+s /usr/bin/cp

通过meterpreter上传,然后在目标机通过cat 查看/etc/passwd

把文件内容复制下来,在本地新建passwd 粘贴内容,并创建一个具有root 权限的新用户

用户密码可以通过openssl 生成

通过meterpreter 上传到目标机/tmp 目录下

通过咱们设置好的cp 命令覆盖原先的/etc/passwd

su 切换到咱们创建的用户,成功获取到root 权限

另另一种提权方法
首先在本地通过msfvenom 生成一个反弹shell

在本地写入CleaningScript.sh

通过meterpreter 上传到目标机

在kali 开启监听

等待5分钟后,获取到一个root权限反弹shell


Vulnhb 靶场系列:Jarbas1.0的更多相关文章
- 【 D3.js 进阶系列 — 4.0 】 绘制箭头
转自:http://www.ourd3js.com/wordpress/?p=660 [ D3.js 进阶系列 — 4.0 ] 绘制箭头 发表于2014/12/08 在 SVG 绘制区域中作图,在绘制 ...
- 实战:ADFS3.0单点登录系列-ADFS3.0安装配置
本文为系列第三章,主要讲下ADFS3.0的安装和配置.本文和前面的文章是一个系列,因此有些地方是有前后关联,比如本文中使用的通配符证书就是第二篇讲解的,因此需要连贯的进行阅读. 全文目录如下: 实战: ...
- 【 D3.js 高级系列 — 4.0 】 矩阵树图
矩阵树图(Treemap),也是层级布局的扩展,根据数据将区域划分为矩形的集合.矩形的大小和颜色,都是数据的反映.许多门户网站都能见到类似图1,将照片以不同大小的矩形排列的情形,这正是矩阵树图的应用. ...
- 【 D3.js 高级系列 — 1.0 】 文本的换行
在 SVG 中添加文本是使用 text 元素.但是,这个元素不能够自动换行,超出的部分就显示不出来了,怎么办呢? 高级系列开篇前言 从今天开始写高级系列教程.还是那句话,由于本人实力有限,不一定保证入 ...
- Entity Framework技术系列之0:开篇
小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/shareto ...
- asp.net core 2.0+sqlsugar搭建个人网站系列(0)
一些废话 马上就要过年了,回顾这一年最大的收获就是技术有了很大的提升,其他的方面没有什么改变,现在还是单身小屌丝一枚. 这一年来学习的主要重点就是asp.net core,中间也使用 core+EF做 ...
- 【 D3.js 进阶系列 — 1.0 】 CSV 表格文件的读取
在入门系列的教程中.我们经常使用 d3.json() 函数来读取 json 格式的文件.json 格式非常强大.但对于普通用户可能不太适合,普通用户更喜欢的是用 Microsoft Excel 或 O ...
- 【 D3.js 高级系列 — 2.0 】 机械图 + 人物关系图
机械图(力路线图)结合老百姓的关系图中的生活,这是更有趣. 本文将以此为证据,所列的如何图插入外部的图像和文字的力学. 在[第 9.2 章]中制作了一个最简单的力学图.其后有非常多朋友有疑问,基本的问 ...
- vulnhub靶场之AI-WEB1.0渗透记录
在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程 目录 一.确认靶机ip 二.端口&目录扫描 三.查看敏感目录 四.sql注入 五.get shell 六.系统提权 确认靶机ip ka ...
随机推荐
- Mac os Pycharm 中使用Stanza进行实体识别(自然语言处理nlp)
stanza 是斯坦福开源Python版nlp库,对自然语言处理有好大的提升,具体好在哪里,官网里面都有介绍,这里就不翻译了.下面放上对应的官网和仓库地址. stanza 官网地址:点击我进入 sta ...
- Gatling脚本编写技巧篇(一)
一.公共类抽取 熟悉Gatling的同学都知道Gatling脚本的同学都知道,Gatling的脚本包含三大部分: http head配置 Scenario 执行细节 setUp 组装 那么针对三部分我 ...
- 面试官:兄弟,说说Java到底是值传递还是引用传递
二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经 ...
- 14.移动端图片浏览组件 react-wx-images-viewer
安装 npm install --save react-wx-images-viewer 使用 import WxImageViewer from 'react-wx-images-viewer'; ...
- Yii2.0 rules常用验证规则
设置一个修改方法,但是save(),没有成功,数据修改失败,查了好久,一般情况就是不符合rules规则,而我没有设置rules规则,重新设置了一个不能为空,然后就修改成功,rules里面什么也不写,也 ...
- anaconda 使用conda命令创建虚拟环境
1.首先在所在系统中安装Anaconda.可以打开命令行输入conda -V检验是否安装以及当前conda的版本. 2.conda常用的命令. 1)conda list 查看安装了哪些包. 2)con ...
- JDBC 进阶:使用封装通用DML DQL 和结构分层以及at com.mysql.jdbc.PreparedStatement.setTimestamp空指针异常解决
准备: 数据表 CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(10) DEFAULT ...
- Ubuntu初次使用的问题
问题:正在等待packagekitd退出 解决办法:systemctl stop packagekit 或者 systemctl disable packagekit 问题:普通用户切换root权 ...
- 头文件<cmath>中常用函数
<cmath>里面有很多数学函数,下面说一下常用的一些函数吧:直接把函数原型给了出来,用的时候注意参数 先说一下,c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写 ...
- 在java中构建高效的结果缓存
文章目录 使用HashMap 使用ConcurrentHashMap FutureTask 在java中构建高效的结果缓存 缓存是现代应用服务器中非常常用的组件.除了第三方缓存以外,我们通常也需要在j ...