2025版最新Metasploit工具使用教程,零基础入门到精通,收藏这篇就够了

2025版最新Metasploit工具使用教程,零基础入门到精通,收藏这篇就够了

Metasploit

kali自带的攻击框架

图片

首次进入MSF框架,出现一个banner(横幅)动画,这个动画是随机的。

图片

show options查看选项命令

图片

MSF模块命令

sessions       #–h 查看帮助
sessions       #-i <ID值> 进入会话   
sessions       #-k  杀死会话
background     #将当前会话放置后台
run            #执行已有的模块,输入run后按两下tab,列出已有的脚本
info           #查看已有模块信息
getuid         #查看权限 
getpid         #获取当前进程的pid
sysinfo        #查看目标机系统信息
ps             #查看当前活跃进程    
kill           #<PID值> 杀死进程
idletime       #查看目标机闲置时间
reboot         #重启
shutdown       #关机
shell          #进入目标机CMD窗
show options   #显示需要设置的项
show target    #显示适用的系统版本
show payloads  #显示适用于当前模块的payloads
show advanced  #显示其他非必须项
show missing   #显示还未设置的必须参数
set RHOST IP   #设置目标IP
run/exploit    #运行模块(参数:-j表示后台执行)
back           #返回上一级
help           #调出所有帮助命令
show           #展示模块下相关需要设置的参数

常用专业名称

漏洞利用(exploit)

漏洞利用exploit,也就是我们常说的exp,它就是对漏洞进行攻击的代码。

先看看exploit漏洞利用模块路径(这里面有针对不同平台的exploit)

/usr/share/metasploit-framework/modules/exploits

进入Windows平台,在这里会列出针对Windows平台不同服务器的漏洞利用模块

图片

再进入smb服务,这是Windows中经常爆出漏洞的服务,我们要讲的永恒之蓝漏洞就在这里,漏洞利用代码通常是以rb结尾的文件(matasploit是Ruby编写的)。

攻击载荷

payload:payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,而Metasploit中的payload是一种特殊的模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了payload在目标中的行为。

shellcode:shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令之后,才会提供一个命令行shell。

  • payload模块路径

/usr/share/metasploit-framework

/modules/payloads

  • Metasploit中的payload模块主要类型

Single:是一种完全独立的payload,而且使用起来就像运行calc.exe一样简单,例如添加一个系统用户或删除一份文件。由于Single Payload是完全独立的,因此它们有可能会被类似netcat这样的非Metasploit处理工具所捕捉到。

Stager:这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。

Stage:是Stager Payload下的一种Payload组件,这种payload可以提供更加高级的功能,而且没有大小限制。

在Metasploit中,我们可以通过Payload的名称和使用格式来推断它的类型

# Single Payload的格式为:
<target>/ <single>如:
Windows/powershell_bind_tcp
# Stager/Stage Payload的格式为:
<target>/ <stage> / <stager>
如:Windows/meterpreter/reverse_tcp

当我们在Metasploit中执行 show payloads命令之后,它会给我们显示一个可使用的Payload列表

注意:

在这个列表中,像 windows/powershell_bind_tcp 就是一个Single Payload,它不包含Stage Payload。

而windows/meterpreter/reverse_tcp 则由一个Stage Payload(meterpreter)和 一个Stager Payload(reverse_tcp)组成。

Stager中几种常见的payload

图片

正向连接使用场景

我们的攻击机在内网环境,被攻击机是外网环境,由于被攻击无法主动连接到我们的主机,所以就必须我们主动连接被攻击机了。但是这里经常遇到的问题是,被攻击机上开了防火墙,只允许指定的端口,比如对外开放了80端口。那么,我们就只能设置正向连接80端口了,这里很有可能失败,因为80端口上的流量太多了。

反向连接使用场景

我们的主机和被攻击机都在外网或者都在内网,这样被攻击机就能主动连接到我们的主机了。如果是这种情况,建议使用反向连接,因为反向连接的话,即使被攻击机开了防火墙也没事,防火墙只是阻止进入被攻击机的流量,而不会阻止被攻击机主动向外连接的流量。

反向连接80和443端口使用场景

被攻击机能够主动连接到我们的主机,还有就是被攻击机的防火墙设置的特别严格,就连被攻击机访问外部网络的流量也进行了严格的限制,只允许被攻击机的80端口或443端口与外部通信。

特性/场景正向连接反向连接反向连接80/443
攻击者位置内网外网或内网外网或内网
目标系统位置外网外网或内网外网或内网
防火墙配置仅允许特定端口(如80)可能允许或不允许特定端口严格限制,只允许80或443
连接方式攻击者尝试连接到目标系统目标系统主动连接到攻击者目标系统通过80或443端口主动连接
流量方向进入目标系统从目标系统发出从目标系统发出,通过80或443端口
可能的难点高流量端口可能难以建立连接防火墙可能阻止攻击者的连接防火墙严格限制,需要利用常见端口
使用场景目标系统无法主动连接目标系统可以主动连接防火墙严格,仅允许特定端口通信
安全性考虑需要绕过防火墙规则利用目标系统的主动连接利用常见的Web端口进行隐蔽通信

图片

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值