1
免责声明
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
2
内容速览
Metasploit框架(简称MSF)是一个 开源工具
,旨在方便渗透测试
,它是由Ruby程序语言编写
的模板化框架,具有很好的扩展性,便于渗透测试人员开发,使用定制的工具模板。
MSF可向后端模块提供多种用来控制测试的接口
,如控制台、web、GUI、CLI等,通过这些接口访问和使用MSF中的所有插件工具,同时MSF控制台还有第三方程序的接口
,例如nmap、sqlmap等。
MSF可以运行在linux和windows环境下,我们一般通常都在kali linux操作系统
上使用。因此MSF的更新使用kali上的更新命令和更新源即可。
MSF推荐通过控制台接口使用,打开Kali终端,输入msfconsole就能够进入到控制台操作界面
msfconsole
msfconsole
作用:打开msf PS:当前版本的msf不需要再msfconsole之前再输入service postgresql start,以前的版本可能需要msfdb init
作用:初始化msfdbmsfdb start
作用:开启msfdbmsfdb stop
作用:暂停msfdb 疑难解决:如果出现如下所示问题,初始化数据库即可
- 高级、动态、可扩展的Payload
- 基于meterpreter上下文利用更多漏洞发起攻击
- 后渗透测试阶段一 站式操作界面
- 完全基于内存的DLL注入式payload (不写硬盘)
- 注入合法系统进程并建立stager
- 基于Stager.上传和预加载DLL .进行扩展模块的注入(客户 端API)
- 基于stager建立的socket连接建立加密的TL S/1.0通信隧道
- 利用TLS隧道进步加载后续扩 展模块(避免网络取证)
- 服务端使用C语言编写
- 客户端提供基于ruby的全特性API (支持任何语言)
kali终端中进入/usr/share/metasploit-framework目录
然后输入 ls 查看
要记住的一些模块
modules:目录里面存放渗透使用的 辅助模块 编码模块 利用模块 攻击载荷 后渗透模块
plugins:这个模块需要用load加载,主要提供数据库连接插件 和 各种要用到的插件。
tools:包含一些有用的脚本和零散的工具。
scripts:目录里面存放都是meterpreter利用的脚本。
db:数据放在这个目录里
data:存放使用到的文件,比如密码字典、meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件
lib:库文件都保存在这个目录里
msf的模块都放在
/usr/share/metasploit-framework/modules/这个目录下
1 auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
2 exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。
3 payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码
4 post:后渗透阶段模块,漏洞利用成功获得meterpreter之后, 向目标发送的一些功能性指令,如:提权等
5 encoders: 编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统
6 evasion:躲避模块,用来生成免杀payload
7 nops:这里主要放着调整shellcode 前置nop指令长度的工具(不理解没关系)
Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成后门木马
msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码。
msfencode是MSF编码器。
在kali的/usr/share/metasploit-framework目录下有如图所示内容
这里我们主要了解modules
modules有如下图所示模块
(1)auxiliary:执行信息搜集、枚举、指纹探测、扫描等功能的辅助模块
(2)encoders:对payload进行加密,躲避AV检查的模块
(3)evasion:逃避检查
(3)exploits:/usr/share/metasploit-framework/modules/exploits目录下全是攻击时的利用代码
(4)nops:提高payload稳定性及维持大小
(5)paylodas:三种payload
singles:all-in-one,各种功能都有的payload,占用空间比较大
stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接
stages:利用stager建议的连接,下载后续payload
(6)post:后渗透模块