Jarbas靶机渗透实战:从信息收集到SUID提权的完整链路

发布时间:2026/9/8 21:23:29

Jarbas靶机渗透实战:从信息收集到SUID提权的完整链路
靶机渗透是个老生常谈的话题但每次打一台新靶机都能把很多零散的知识串起来。Jarbas是我最近在VulnHub上重新刷的一台Linux靶机体量不大难度中等偏易但覆盖的知识点非常典型Web目录发现、弱口令爆破、SSH登录、Linux本地信息收集、SUID提权。整条链路走下来基本就是一个标准的内网渗透测试最小闭环。这篇文章我会把每一步操作、每一步的思考逻辑和踩坑点都写出来配合命令和实际输出想练手的朋友可以直接照着打一遍。先说靶机的基本情况Jarbas对应的是VulnHub上的一个镜像下载下来是个OVA文件用VMware或VirtualBox导入就能用。官方描述里没有给任何账号和网络信息所以IP要自己扫这也模拟了真实环境中“黑盒”开局的状态。攻击机用Kali Linux靶机和攻击机都放在同一块NAT或Host-Only网卡下确保互通即可。1. 环境准备与信息收集1.1 靶机下载与导入靶机镜像在VulnHub官网搜索Jarbas即可找到下载后是一个OVA文件。VMware Workstation和VirtualBox都能直接导入导入过程没什么特别之处默认配置就行。需要注意的是如果靶机导入后没有自动获取IP大概率是网卡模式设置成了Bridge但主机网络环境有改动导致靶机拿不到地址。我习惯把两张虚拟网卡都放在NAT模式这样的话靶机和Kali会在同一个网段内方便后面做主机发现和扫描。导入完成后先别急着开扫等靶机完全启动。Jarbas用的是轻量级系统开机速度很快几十秒就能进入登录界面。这个时候不要指望在靶机屏幕上看到登录凭据没有任何提示直接开始从攻击机侧做信息收集。1.2 网段发现与主机定位Kali开机后先用ip a确认自己的IP地址。假设Kali的地址是192.168.10.10/24那么靶机大概率就在192.168.10.0/24这个网段里。为了找到靶机我用的是netdiscovernetdiscover -r 192.168.10.0/24这个工具会发ARP广播包把网段内所有存活主机列出来。因为Kali和靶机在同一个二层网络里ARP是必然能扫出来的。如果靶机响应了ARP就能直接看到它的MAC地址和IP。Jarbas这台机器的MAC地址没有特别标识但只要扫到一个除了Kali网关和Kali本身之外的新IP基本就是靶机。如果netdiscover没扫出来也可以用arp-scan -l效果类似。扫出来靶机IP之后下一步就是端口扫描。1.3 端口扫描与服务识别端口扫描是整个渗透测试的地基。我习惯先做一个快速的全端口TCP扫描确认开放端口范围再做服务和版本识别nmap -Pn -sS -p- --min-rate 1000 192.168.10.20这里用-Pn跳过主机存活探测因为前面已经确认靶机在线了。-sS是SYN半开扫描速度快--min-rate 1000控制发包速率不至于让靶机丢包太多。结果很快出来Jarbas开放了三个端口22SSH、80HTTP、8080HTTP-Proxy。拿到开放端口后再做一次详细的版本探测nmap -Pn -sV -sC -p 22,80,8080 192.168.10.20-sV负责服务版本识别-sC跑默认的NSE安全脚本包括常见的banner抓取、HTTP标题、SSH指纹等信息。这一步很关键因为Nmap会告诉我们Web服务是Apache还是Nginx、SSH版本是多少这些指纹直接影响后续漏洞方向的选择。实际探测结果里80端口是Apache默认页8080端口也是HTTP服务具体内容要访问后才能确定。到这里信息收集的第一阶段就算完成了我们知道靶机开放了三个网络入口其中两个是Web服务一个是SSH。接下来的重点就是Web服务探测。2. Web服务探测与目录爆破2.1 手工访问Web页面先看80端口。浏览器访问http://192.168.10.20页面是Apache的默认欢迎页没有业务内容说明这个网站没有把首页文件放在默认路径下或者网站还没配置。再看8080端口访问http://192.168.10.20:8080会看到一个自定义的Web页面看起来像是一个监控面板或后台登录入口。这个阶段的思路是不要被默认页面迷惑Apache默认页不代表站点是空的很多时候真实的Web应用藏在自定义目录里。所以下一步就是目录爆破把Web应用中可能存在的目录和文件枚举出来。2.2 目录爆破工具选型目录爆破工具有很多dirb、gobuster、ffuf、wfuzz都行。我的个人偏好是gobuster因为它是Go语言编译的单线程速度就很快而且支持递归扫描gobuster dir -u http://192.168.10.20 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100字典用的是dirbuster自带的medium列表默认路径在Kali的wordlists里。如果Kali里没有这个字典可以用dirb http://192.168.10.20 /usr/share/wordlists/dirb/common.txt先跑一遍。第一次爆破不用追求全面关键是快速发现目录结构。80端口跑出来的结果里比较有价值的是/access这个路径。访问http://192.168.10.20/access会看到一个后台登录页面需要输入用户名和密码。到这一步Web方向已经有一个明确的攻击面了。再对这个路径本身做一次深度扫描看看/access下面是否还有子目录或文件gobuster dir -u http://192.168.10.20/access -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100如果爆破出类似/access/config.php之类的内容先别急着访问因为大多数情况下这些文件要么是空的要么就是权限不足直接报错。但如果是后台框架的默认配置文件可能会暴露数据库连接信息这类信息在后面的提权阶段很有用。8080端口的Web页面也可以做一次爆破不过这个页面的功能相对单一在后续提权阶段我还会回来利用它这里先按下不表。2.3 指纹识别与漏洞初判Web服务识别还可以借助工具自动完成。比如用whatweb看一下网站的技术栈whatweb http://192.168.10.20/accesswhatweb会告诉我们网站使用的CMS框架、中间件版本、脚本语言等信息。不过Jarbas这个后台写得比较朴素看起来就是经典的PHP程序没有用复杂框架。PHP类的Web应用弱口令和登录绕过是优先尝试的方向。3. 弱口令爆破与后台利用3.1 后台登录的弱口令测试打开http://192.168.10.20/access页面是个简单的登录框。先用几个常见的弱口令组合手动试一下admin/admin、admin/password、admin/123456。如果手测压中了直接进后台省去爆破的时间。不过这台靶机的弱口令没有这么“白给”手动失败后就需要上工具。Web后台的爆破我用Burp Suite主要原因是能直接看响应包的大小和状态码便于筛选。抓一个登录POST请求把它发送到Intruder模块设置用户名和密码两个Payload位置。用户名可以固定为admin密码字典用rockyou.txt的常见密码子集如果觉得rockyou太大14G解压后非常大可以先用/usr/share/wordlists/fasttrack.txt这个小字典里面都是高频弱口令对靶机这种场景基本够用。爆破过程中需要关注的重点是HTTP响应码和响应长度。登录失败时后端通常会返回一个固定的错误页面响应长度也相对一致一旦出现不同长度或不同的状态码很可能就是登录成功了。所以看到异常响应后先手工验证一下别急着收工。3.2 从后台获取渗透关键信息如果这一步成功登录后台页面里大概率会有关键信息。以Jarbas为例登录后会看到一条提示内容是系统版本信息加上一个“提示”某些用户名的密码就是用户名本身或者是常见密码。这个信息为后续SSH爆破提供了精确的用户名字典。我从后台拿到的关键线索是系统存在一个用户用户名是tiago它使用了弱密码。虽然Web后台没有直接显示密码但这已经缩小了爆破范围。结合系统版本是CentOS 7一类的主流系统可以推测用户可能用了“tiago”或“tiago123”这种规律性较强的密码。3.3 Hydra的SSH爆破有了明确的用户名接下来可以直接对SSH做定向爆破。我用的是Hydrahydra -l tiago -P /usr/share/wordlists/fasttrack.txt ssh://192.168.10.20 -t 4这里-l tiago指定用户名-P指定密码字典-t 4控制并发线程数。SSH爆破的线程数不宜太高否则容易触发fail2ban之类的防护机制而且网络延迟也会影响效率。实测下来Jarbas的SSH服务没有加防护几分钟之内就爆出了密码。爆破成功后直接SSH登录ssh tiago192.168.10.20输入密码进入系统。到这里我们拿到了一个普通的Linux用户权限接下来就是权限提升阶段。4. 拿下Shell后的信息收集与权限提升4.1 登录后的基础命令进到系统后先不要乱翻文件第一件事是确认自己是谁、有什么权限、系统里有什么可用的信息id whoami uname -a cat /etc/os-release sudo -lid和whoami确认当前用户身份uname -a看内核版本和架构如果内核有公开漏洞且版本匹配可以直接用内核提权sudo -l查看当前用户能否用sudo执行某些命令这一步非常关键。Jarbas这台机器上sudo -l的输出结果里往往会有意外惊喜某个命令被配置为可以以root身份执行而且不需要密码。这种情况下直接利用sudo就能提权不需要摸内核漏洞。4.2 文件系统中的敏感信息系统内的敏感文件也是提权的重点方向。先看当前用户目录下的隐藏文件ls -la /home/tiago/ cat /home/tiago/.bash_history.bash_history是宝贝。很多情况下历史命令里会暴露之前执行过的操作包括下载过的脚本、解压过的文件、甚至明文密码。Jarbas的靶机里也埋了这类线索具体路径在其他目录下需要自己找一下。再看Web目录权限和配置文件ls -la /var/www/html/ cat /var/www/html/access/config.php如果Web应用有数据库连接配置config.php或类似文件里通常会有明文数据库账号。Jarbas里这一层用的是默认的root/空密码组合说明数据库并没有做特别加固。如果拿到数据库的root权限就可以尝试MySQL的UDF提权不过这台靶机用不到这么复杂的路径。4.3 SUID提权实操提到Linux提权SUID位是最经典也最优先检查的一环。SUID权限表示某个可执行文件在执行时拥有文件属主的权限。如果一个root拥有的二进制文件设置了SUID位那么普通用户执行它时就会临时获得root权限。检查系统里哪些文件设置了SUID位find / -perm -4000 -type f 2/dev/null输出里除了标准的/usr/bin/passwd、/usr/bin/su之外如果出现了一些不常见的路径比如/bin/bash或/usr/bin/python那基本就是靶机特意留下的提权入口。Jarbas这台靶机的解法之一就是利用一个带SUID位的/bin/bash。执行bash -p-p参数让bash不重置有效用户ID这样就能直接获得root权限的shell。输入id确认一下显示uid0(root)提权成功。如果bash -p的root shell没弹出来还可以尝试用Python重新绑定SUID位执行或者检查其他SUID文件。总之SUID枚举是Linux提权绕不开的步骤很多CTF靶机都会留这个口子。4.4 利用后台页面实现定时任务提权Jarbas的第二种提权思路是通过8080端口那个Web控制面板配合定时任务。具体来说刚才信息收集时发现8080端口上有一个脚本允许用户提交一个命令并把它写入某个文件同时系统有一个定时任务会周期性执行该文件。如果这个脚本的执行者是root攻击者就能通过提交恶意命令实现定时任务投毒最终拿到root权限。这条路径虽然比直接SUID提权绕但它的现实意义很强很多运维会配置后台管理脚本为了省事把执行权限设给了root又被一个弱口令保护这恰恰是真实环境中的常见漏洞组合。我们在Jarbas上先做SUID提权就把靶机打通了但如果要多练一种方法完全可以从8080端口再走一遍命令注入到定时任务投毒的链路。5. 常见问题与排查技巧5.1 靶机IP获取不到遇到靶机开机后无法获得IP的情况通常有两个原因网卡模式配置错误或者DHCP服务没启动。解决方法是手动给靶机配置一个静态IP或者把虚拟网卡从Bridge切换到NAT后再试。另外netdiscover扫不出来时可以看看Kali自身是否拿到了同一网段的地址如果Kali也没网优先修Kali的网卡。5.2 目录爆破结果为空如果gobuster爆破不出任何目录先检查字典质量换个大一点的字典比如directory-list-2.3-big.txt再跑其次检查目标URL路径注意大小写和后缀还有一种情况是WAF或防护模块拦截了扫描流量这时候用ffuf配合请求头伪装成浏览器访问或者降低并发速度往往能绕过过滤。5.3 SSH爆破不成功SSH爆破失败的原因可能是用户名字典不对也可能是密码字典不合适。Jarbas这类靶机虽然装了弱口令但如果字典里没有对应的密码组合爆破也会失败。先通过Web后台或社工手段确认用户名再选择有针对性的密码字典比盲目跑大字典靠谱得多。5.4 SUID枚举后无法提权如果找到了SUID文件但执行后没有效果先看这个SUID文件是否真的属于root以及它的执行权限。有些靶机会故意设置一个带SUID的脚本但脚本本身调用的是系统命令直接在交互式shell里执行可能因为PATH环境变量的问题失败。调试时可以用ls -l确认权限位再用file看一下文件类型如果是脚本就打开看看它执行了哪些命令再考虑是否需要利用PATH劫持的方式提权。6. 总结与拓展思路Jarbas这台靶机虽然难度不高但它的设计覆盖了一个完整的渗透测试闭环路径。从网络扫描到服务枚举从Web后台弱口令到SSH爆破从基础Shell到SUID提权每一步都对应着渗透测试工程师在日常工作中需要掌握的核心技能。在整个过程中值得注意的细节是信息收集永远是最耗时间也最关键的阶段。很多初学者拿过靶机就急着爆破、急着打漏洞结果往往因为信息不足而撞墙。Jarbas的Web后台提示、文件系统中的备份文件、SUID可执行文件这些线索都在信息收集阶段被一步步发现后续的利用反而水到渠成。如果不想走SUID提权那一条路建议把8080端口的命令执行功能拿出来单独研究一下自己动手验证定时任务投毒的原理。这条路径对理解真实内网环境中的权限维持和横向移动非常有帮助。最后分享一个小技巧打完一台靶机后养成记录自己每一步操作的习惯包括命令、输出和思考过程。这不仅是为了复盘也是为了让经验可复用。下次再遇到类似的Web应用或类似版本的Linux系统这些记录能帮你更快地定位到攻击面。Jarbas之后再往JVIP、HackTheBox的Easy级别刷几台你会发现自己的渗透思路会越来越清晰。

相关新闻

res-downloader 完整教程:3 分钟跑通跨平台资源下载任务

res-downloader 完整教程:3 分钟跑通跨平台资源下载任务

2026/9/8 21:23:29

res-downloader 完整教程:3 分钟跑通跨平台资源下载任务 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader res-down…

320GB 内存、6GB 显存跑通 Qwen3-Next:KTransformers 部署完整指南

320GB 内存、6GB 显存跑通 Qwen3-Next:KTransformers 部署完整指南

2026/9/8 21:23:29

320GB 内存、6GB 显存跑通 Qwen3-Next:KTransformers 部署完整指南 【免费下载链接】ktransformers A Flexible Framework for Experiencing Heterogeneous LLM Inference/Fine-tune Optimizations 项目地址: https://gitcode.com/GitHub_Trending/ktr/ktransform…

ant-design Progress 分段进度实战:用 success 属性细化进度的多层语义

ant-design Progress 分段进度实战:用 success 属性细化进度的多层语义

2026/9/8 21:23:29

ant-design Progress 分段进度实战:用 success 属性细化进度的多层语义 【免费下载链接】ant-design An enterprise-class UI design language and React UI library 项目地址: https://gitcode.com/GitHub_Trending/an/ant-design 本篇指南基于 ant-design …

主动声纳目标检测仿真:从声纳方程到CFAR的MATLAB实现

主动声纳目标检测仿真:从声纳方程到CFAR的MATLAB实现

2026/9/8 22:13:31

简介:这是一份基于MATLAB的主动声纳水下目标检测仿真示例,面向信号处理与声纳系统方向的学习者,重点演示浅水多径环境中目标回波的建模与检测流程。压缩包内共6个文件,其中4个.m脚本分别实现主程序、多径信道构造、路径绘制和球形…

Maven构建遭遇IndexOutOfBoundsException?资源过滤阶段排查全解析

Maven构建遭遇IndexOutOfBoundsException?资源过滤阶段排查全解析

2026/9/8 22:13:31

如果你在IDEA里点开Build按钮,看到控制台刷出这样一行: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project ruoyi-modules-wkzyMicro-driver: maven-resources-produc…

AD9959四通道DDS信号源:驱动设计、硬件布局与调试指南

AD9959四通道DDS信号源:驱动设计、硬件布局与调试指南

2026/9/8 22:13:31

简介:面向电子、通信、自动化等专业的DDS AD9959完整开发资料包,适合毕业设计、课程设计或期末大作业场景。资料包集成基于Altium Designer 19的硬件设计文件、C语言驱动程序与说明文档,驱动实现点频输出,可独立配置各通道相位与幅…

Claude Code启动全攻略:环境检查、常见报错与性能调优

Claude Code启动全攻略:环境检查、常见报错与性能调优

2026/9/8 22:13:31

1. 启动前的基础准备:先把地基打牢很多人拿到 Claude Code 第一反应就是装上直接跑,结果在启动环节就卡住了。我见过不少人卡在 Node.js 版本不对、npm 权限报错、甚至是网络代理没关这种最基础的问题上。说句实在话,启动这一步虽然看起来只是…

串口屏控制步进电机:STM32 HAL库与USART指令完整实现

串口屏控制步进电机:STM32 HAL库与USART指令完整实现

2026/9/8 22:13:31

简介:STM32电机控制例程第八期,是一套基于HAL库的串口屏控制步进电机完整项目,面向嵌入式初学者与电机控制开发者,重点演示如何通过USART接口接收HMI人机界面指令,解析速度、方向、启停等控制参数,再生成脉…

SSM框架小区人口管理系统设计与实现:从环境搭建到核心代码解析

SSM框架小区人口管理系统设计与实现:从环境搭建到核心代码解析

2026/9/8 22:03:31

简介:这是一份基于SSM(SpringSpringMVCMyBatis)架构的小区人口管理系统毕业设计程序,面向需要完成Java Web课程设计或毕业设计的计算机专业学生。系统涵盖用户管理、费用信息、疫情黑名单、出入登记等核心业务模块,从需…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/7 20:21:46

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

2026/9/8 0:02:30

芯片这个行业有个不太被人摆到台面上、但几乎每天都在发生的场景:客户拿着一条良率曲线截图问你,这批货的良率怎么掉了三个点,是不是工艺出问题了,产生的不良会不会流到他们产线上去。你解释了半天,客户似懂非懂&#…

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

2026/9/8 0:02:30

ValueError: sampler option is mutually exclusive with shuffle,这个报错我在 PyTorch 的 DataLoader 上至少见过几十次了,而且很有意思的是,它经常不是新手专属——很多写了好几年模型的老手,在从单机改成自定义采样器&#xf…

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

2026/9/8 0:02:30

有人可能在网上开着皮卡拍视频,声称中国电动车不仅性能不如美国大排量车型,安全性也堪忧。然而事实恰恰相反,GAC、吉利和零跑最新推出的电动车型在极为严苛的欧盟新车安全评鉴(Euro NCAP)测试中全部斩获满分。就在特斯…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…