靶场镜像

官网

信息收集

攻击机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的更多相关文章

  1. 【 D3.js 进阶系列 — 4.0 】 绘制箭头

    转自:http://www.ourd3js.com/wordpress/?p=660 [ D3.js 进阶系列 — 4.0 ] 绘制箭头 发表于2014/12/08 在 SVG 绘制区域中作图,在绘制 ...

  2. 实战:ADFS3.0单点登录系列-ADFS3.0安装配置

    本文为系列第三章,主要讲下ADFS3.0的安装和配置.本文和前面的文章是一个系列,因此有些地方是有前后关联,比如本文中使用的通配符证书就是第二篇讲解的,因此需要连贯的进行阅读. 全文目录如下: 实战: ...

  3. 【 D3.js 高级系列 — 4.0 】 矩阵树图

    矩阵树图(Treemap),也是层级布局的扩展,根据数据将区域划分为矩形的集合.矩形的大小和颜色,都是数据的反映.许多门户网站都能见到类似图1,将照片以不同大小的矩形排列的情形,这正是矩阵树图的应用. ...

  4. 【 D3.js 高级系列 — 1.0 】 文本的换行

    在 SVG 中添加文本是使用 text 元素.但是,这个元素不能够自动换行,超出的部分就显示不出来了,怎么办呢? 高级系列开篇前言 从今天开始写高级系列教程.还是那句话,由于本人实力有限,不一定保证入 ...

  5. Entity Framework技术系列之0:开篇

    小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/shareto ...

  6. asp.net core 2.0+sqlsugar搭建个人网站系列(0)

    一些废话 马上就要过年了,回顾这一年最大的收获就是技术有了很大的提升,其他的方面没有什么改变,现在还是单身小屌丝一枚. 这一年来学习的主要重点就是asp.net core,中间也使用 core+EF做 ...

  7. 【 D3.js 进阶系列 — 1.0 】 CSV 表格文件的读取

    在入门系列的教程中.我们经常使用 d3.json() 函数来读取 json 格式的文件.json 格式非常强大.但对于普通用户可能不太适合,普通用户更喜欢的是用 Microsoft Excel 或 O ...

  8. 【 D3.js 高级系列 — 2.0 】 机械图 + 人物关系图

    机械图(力路线图)结合老百姓的关系图中的生活,这是更有趣. 本文将以此为证据,所列的如何图插入外部的图像和文字的力学. 在[第 9.2 章]中制作了一个最简单的力学图.其后有非常多朋友有疑问,基本的问 ...

  9. vulnhub靶场之AI-WEB1.0渗透记录

    在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程 目录 一.确认靶机ip 二.端口&目录扫描 三.查看敏感目录 四.sql注入 五.get shell 六.系统提权 确认靶机ip ka ...

随机推荐

  1. asp.net mvc 接收jquery ajax发送的数组对象

    <script type="text/javascript"> $(function () { var obj = { name: "军需品", m ...

  2. centos7 安装php7遇到的问题

    环境中安装过php 5.4,觉得版本太低了,因此删除旧版本安装了新版本 1. 安装epel-release 通过命令: rpm -ivh http://dl.fedoraproject.org/pub ...

  3. iOS中点击事件失效的解决办法

    解决办法有 2种可供选择: 将目标​元素换成 <a> 或者 button 等可点击的​元素 ​给​目标元素加一条样式规则 cursor : pointer;

  4. PHP 构造方法 __construct()

    PHP 构造方法 __construct() PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法. 构造方法 构造方法是类中的一个特殊方法.当使用 new 操作符创建一 ...

  5. css3 文本控制自动换行

    text-overflow:ellipsis; white-space:nowrap; overflow:hidden;

  6. Samba远程Shell命令注入执行漏洞

    CVE:CVE-2007-2447 原理: Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh.如果在调用smb.conf中定义的外部脚本时,通过对/bin/s ...

  7. 实用的linux 命令(上)

    今天介绍几个我常用的Linux 命令,每个命令这里只介绍其常用参数. 对于每个Linux 命令都可以使用man + 命令名称,查看其完整使用方法. 0,man man 命令是一个非常有用的命令,当你不 ...

  8. 讲讲python中函数的参数

    python中函数的参数 形参:定义函数时代表函数的形式参数 实参:调用函数时传入的实际参数 列如: def f(x,y): # x,y形参 print(x, y) f(1, 2) # 1, 2 实参 ...

  9. opencv-6-图像绘制与opencv Line 函数剖析

    opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...

  10. java 8 stream reduce详解和误区

    目录 简介 reduce详解 总结 java 8 stream reduce详解和误区 简介 Stream API提供了一些预定义的reduce操作,比如count(), max(), min(), ...