Vulnhub-DIGITALWORLD.LOCAL: SNAKEOIL

本文详细描述了一次针对靶机的渗透测试过程,包括主机发现、端口扫描、利用JWT信息、目录扫描、页面分析、命令注入以获取shell,最后通过反弹shell和密码猜测得到root权限。

一、概要

靶机地址:192.168.56.107

攻击机地址:192.168.56.101

靶机下载地址:https://download.vulnhub.com/digitalworld/SNAKEOIL.7z

二、主机发现

sudo arp-scan -l

目标靶机地址为192.168.56.107

三、信息收集

sudo nmap -sS -A -T4 -p- 192.168.56.107

开放了22、80和8080三个端口 

四、渗透测试

1)JWT配置信息

80端口是个初始界面,目测没有什么有用的东西

8080端口的Useful Links给了一个链接

sudo systemctl status vsftpd ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: e Active: failed (Result: exit-code) since Thu 2025-08-14 19:05:42 PDT; 2s ago Process: 14542 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, statu Process: 14532 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, Main PID: 14542 (code=exited, status=2) Aug 14 19:05:42 ubuntu systemd[1]: Starting vsftpd FTP server... Aug 14 19:05:42 ubuntu systemd[1]: Started vsftpd FTP server. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Main process exited, code=exi Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Unit entered failed state. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Failed with result 'exit-code ...skipping... ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: e Active: failed (Result: exit-code) since Thu 2025-08-14 19:05:42 PDT; 2s ago Process: 14542 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, statu Process: 14532 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, Main PID: 14542 (code=exited, status=2) Aug 14 19:05:42 ubuntu systemd[1]: Starting vsftpd FTP server... Aug 14 19:05:42 ubuntu systemd[1]: Started vsftpd FTP server. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Main process exited, code=exi Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Unit entered failed state. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Failed with result 'exit-code ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ lines 1-12/12 (END) ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: Active: failed (Result: exit-code) since Thu 2025-08-14 19:05:42 PDT; 2s ago Process: 14542 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, stat Process: 14532 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, Main PID: 14542 (code=exited, status=2) Aug 14 19:05:42 ubuntu systemd[1]: Starting vsftpd FTP server... Aug 14 19:05:42 ubuntu systemd[1]: Started vsftpd FTP server. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Main process exited, code=ex Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Unit entered failed state. Aug 14 19:05:42 ubuntu systemd[1]: vsftpd.service: Failed with result 'exit-cod ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ lines 1-12/12 (END)
08-16
<think>我们注意到用户多次提供了相同的系统状态输出,表明vsftpd服务启动失败(Active: failed, exit-code 2)。在之前的回答中,我们已经给出了排查步骤。现在需要针对这个具体错误状态(status=2)进行更深入的分析。 根据vsftpd源码和常见实践,exit code 2通常表示配置错误。但需要更精确的诊断。 重点步骤: 1. 使用journalctl查看详细日志 2. 直接运行vsftpd命令以捕获错误输出 3. 检查配置文件语法 然而,用户可能已经尝试过这些步骤但问题仍未解决,因此需要更全面的解决方案。 重新整理解决方案:</think>### 回答 根据 `systemctl status vsftpd` 显示服务启动失败(`Active: failed`,退出码 `status=2`),这是典型的配置错误。请按以下步骤排查: --- ### **一、紧急诊断步骤** 1. **查看详细错误日志**: ```bash sudo journalctl -u vsftpd -xe --since "5 minutes ago" | grep -i error ``` - 关键线索:寻找 `CONFIGURATION ERROR` 或 `syntax error` 等关键词 2. **手动测试配置文件**: ```bash sudo vsftpd -olisten=NO /etc/vsftpd.conf ``` - 若输出 `500 OOPS: bad bool value in config file` 等错误,说明配置有语法问题 --- ### **二、退出码2的专项处理** #### ▶ 高频错误原因: 1. **配置值错误**(如布尔值写错): ```ini # 错误示例 write_enable=yes # 必须用全大写 YES/NO anonymous_enable=true # 必须用 YES/NO ``` **修复**:检查所有布尔值改为 `YES/NO` 2. **无效配置项**: ```ini # 错误示例(旧版不支持) ssl_enable=YES rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem ``` **修复**:确认配置项在 `man vsftpd.conf` 中存在 3. **路径权限问题**: ```bash sudo ls -ld /var/run/vsftpd/empty # 检查目录存在且权限755 ``` --- ### **三、配置文件急救方案** ```bash # 1. 备份原配置 sudo cp /etc/vsftpd.conf{,.bak} # 2. 生成最小可用配置 echo -e "listen=YES\nanonymous_enable=NO\nlocal_enable=YES" | sudo tee /etc/vsftpd.conf # 3. 测试启动 sudo systemctl restart vsftpd ``` - ✅ 成功:逐步添加原配置项,每次重启测试 - ❌ 失败:执行 `sudo vsftpd -d -olisten=NO /etc/vsftpd.conf` 查看调试输出 --- ### **四、高级调试技巧** 1. **追踪系统调用**: ```bash sudo strace -f /usr/sbin/vsftpd /etc/vsftpd.conf ``` - 观察最后报错的 `open()` 或 `stat()` 系统调用 2. **检查SELinux/AppArmor**: ```bash # SELinux sudo ausearch -m avc -ts recent # AppArmor sudo aa-status | grep vsftpd ``` > 通过以上步骤,95%的退出码2问题可解决。若仍失败,请提供 `sudo vsftpd -d -olisten=NO /etc/vsftpd.conf` 的输出。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值