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 ...
随机推荐
- asp.net mvc 接收jquery ajax发送的数组对象
<script type="text/javascript"> $(function () { var obj = { name: "军需品", m ...
- centos7 安装php7遇到的问题
环境中安装过php 5.4,觉得版本太低了,因此删除旧版本安装了新版本 1. 安装epel-release 通过命令: rpm -ivh http://dl.fedoraproject.org/pub ...
- iOS中点击事件失效的解决办法
解决办法有 2种可供选择: 将目标元素换成 <a> 或者 button 等可点击的元素 给目标元素加一条样式规则 cursor : pointer;
- PHP 构造方法 __construct()
PHP 构造方法 __construct() PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法. 构造方法 构造方法是类中的一个特殊方法.当使用 new 操作符创建一 ...
- css3 文本控制自动换行
text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
- Samba远程Shell命令注入执行漏洞
CVE:CVE-2007-2447 原理: Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh.如果在调用smb.conf中定义的外部脚本时,通过对/bin/s ...
- 实用的linux 命令(上)
今天介绍几个我常用的Linux 命令,每个命令这里只介绍其常用参数. 对于每个Linux 命令都可以使用man + 命令名称,查看其完整使用方法. 0,man man 命令是一个非常有用的命令,当你不 ...
- 讲讲python中函数的参数
python中函数的参数 形参:定义函数时代表函数的形式参数 实参:调用函数时传入的实际参数 列如: def f(x,y): # x,y形参 print(x, y) f(1, 2) # 1, 2 实参 ...
- opencv-6-图像绘制与opencv Line 函数剖析
opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...
- java 8 stream reduce详解和误区
目录 简介 reduce详解 总结 java 8 stream reduce详解和误区 简介 Stream API提供了一些预定义的reduce操作,比如count(), max(), min(), ...