生命在于学习——MSF初体验(一)

这篇具有很好参考价值的文章主要介绍了生命在于学习——MSF初体验(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

生命在于学习——MSF初体验(一)
注意:本篇文章仅用于学习笔记记录与交流,不得用于其他违规用途。

一、什么是MSF框架

Metasploit就是一个漏洞利用框架,全称是The Metasploit Framework,简称MSF(美少妇),使用ruby语言编写的,语法类似python。
Metasploit是一个免费的、可下载的框架,通过它可以很容易的获取、开发并对计算机软件漏洞实施攻击,它本身附带数百个已知软件漏洞的专业级漏洞利用工具。
当 H.D. Moore 在 2003 年发布 Metasploit 时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit 团队一直都在努力开发各种攻击工具,并将它们 贡献给所有 Metasploit 用户。
访问官网:https://www.metasploit.com/
生命在于学习——MSF初体验(一)
关于版本
社区版:
集成在 kali 系统中,目前基于社区力量维护。早期版本需要先启动数据库再启动 MSF,从msf5版本以
后已经集成到 msf 里面了,可以直接一键启动。现在已经是msf6了
Pro 版:企业版(收费,但可以试用)的几个优势
1、企业版出的检测报告非常强大,给客户汇报起来很方便。
2、AV 免杀,社区版的免杀大家都知道了,但是企业级的免杀他们说过可以达到百分之九十甚至百分之百。
3、IDS / IPS 绕过(入侵检测系统/入侵防御系统)
4、VPN Pivotin

二、为什么要有MSF

渗透测试者的困扰:在众多漏洞的工具中,不知道如何选择。认为需要掌握数百个工具软件,上千个命令参数,实在记不住。而且有的工具只能利用一些老的漏洞,对新出现的漏洞是没有用的,你很有可能要针对这个新的漏洞再学一款新的工具,这样就要花费很多时间去学习新工具的使用,及其浪费时间,而且新出现的漏洞POC/EXP 有不同的运行环境要求,准备工作繁琐。如果能统一就好了,于是 Metasploit 就产生了。

三、MSF如何使用

1、启动MSF

启动命令:

(root@kali)-[~]
└─# msfconsole

当加载完成后默认会出现以下画面,banner字符图是随机的,每次都不一样。
生命在于学习——MSF初体验(一)
命令补充:

# 查看msf版本信息
┌──(root@kali)-[~]
└─# msfconsole -v      
Framework Version: 6.0.22-dev

# -q是指quite , 静默输出 , 不会打印banner信息
┌──(root@kali)-[~]
└─# msfconsole

启动补充:

msf5版本以前启动 Metasploit 框架需要运行 Postgresql 数据库,msf5以后只要运行 Metasploit 时都会自动启

动 Postgresql 数据库。如果数据库没启动的话,可以手动开启,下面时管理数据库的一些命令。

 root@kali:~# netstat -pantu | grep 5432          查看数据库是否被启动                 

 root@kali:~# systemctl start postgresql              手动启动数据库                          
 root@kali:~# systemctl enable postgresql           设置成开机启动数据库 

 msfdb init                                                            #启动并初始化数据库
 msfdb reinit                                                         #删除并重新初始化数据库
 msfdb delete                                                       #删除数据库并停止使用它 
 msfdb start                                                          #启动数据库 
 msfdb stop                                                          #停止数据库 
 msfdb status                                                       #检查服务状态 
 msfdb run                                                           #启动数据库并运行msfconsole 
 
Msfconsole 接口启动命令:最流行的用户接口,几乎可以使用全部 MSF 功能,控制台命令支持 TAB 自动补全,支持外部命令的执行(系统命令等)

2、更新MSF

# 更换kali自带的源,改为国内的源,这样下载比较快

# 编辑源文件
vim  /etc/apt/sources.list

# 添加中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

生命在于学习——MSF初体验(一)

# 更新软件包
apt-get update         # 更新一下软件包的数据库,不进行软件的更新

# 更新msf框架
apt-get  install metasploit-framework

如果在更新后出现以下问题:

root@kali:~# msfconsole 

Could not find reline-0.1.5 in any of the sources

Run   bundle install  to install missing gems.

则使用以下方法解决:

root@kaliew:~# sudo gem install bundler

root@kaliew:~# bundle update celluloid

3、退出MSF

# 退出msf框架
msf6 > exit

四、MSF的目录结构

生命在于学习——MSF初体验(一)
MSF在kali上存放目录:/usr/share/metasploit-framework/
生命在于学习——MSF初体验(一)

1、Modules目录

这个目录下就是我们常用的技术功能模块:

┌──(root@kali)-[/usr/share/metasploit-framework]
└─# cd modules                         
                                                                                                                                                             
┌──(root@kali)-[/usr/share/metasploit-framework/modules]
└─# ls
auxiliary  encoders  evasion  exploits  nops  payloads  post

技术功能模块分类:

1、Auxiliary  负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和 Dos 攻击等功能的辅助模块

2、Exploits   主要包含了传说中的exp , 各种漏洞利用的脚本。主要的攻击代码全在这里

                   利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)

3、Payloads  这个单词翻译过来叫载荷:是攻击者发送给目标系统执行的指令(不包含exploits攻击阶段),

payloads主要是在目标主机执行的,而exploits是在本地机执行作用于目标机。

payload 分为 3 种类型 ,分别是 singles、stages 和 stagers。shellcode 是特殊的 payload,用于拿shell

●  singles:all-in-one。完整的 payload,这些 payload 都是一体化的,不需要依赖外部的库和包。 
●  stagers:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接 
●  stages:利用 stagers 建立的连接下载后续 payload 

4、Encoders  各种编码工具 , 对 payload 进行加密 , 用于躲过入侵检测和过滤系统

5、Nops    NOP (No Operation or Next Operation) sled,由于IDS/IPS会检查数据包中不规则的数据,所以在

某些场合下(比如针对溢出攻击),某些特殊的滑行字符串(NOPS x90x90...)则会因为被拦截而导致攻击失效,所以此

时需要修改exploit中的NOPs.nops文件夹下的东西会在payload生成时用到(后面会有介绍)。比如我们打开php的

NOPS生成脚本,就会发现它只是返回了指定长度的空格而已。(不理解没关系)

6、Post  这个目录里放着msf 的exploits执行成功后,向目标机发送的一些功能性指令比如:提权,获取hash等

7、Evasion msf中的混淆模块 , 更新了后  自带windows denfender的混淆 , 效果一般 早不免杀了 , 总比没有好  自己配合其他手段免杀

2、data目录

cd data
生命在于学习——MSF初体验(一)
存放 meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件

3、Plugins目录

生命在于学习——MSF初体验(一)
这个模块需要使用 load 加载,提供数据库连接插件,和各种要用到的插件。即插件目录

4、Scripts目录

生命在于学习——MSF初体验(一)
这个目录下的文件都是meterpreter利用的脚本

五、MSF基础命令

1、help

当你刚进入msf终端时,可以使用help查看msf的命令有哪些,以及解释。

msf6 > help
msf6 > ?

生命在于学习——MSF初体验(一)
显示某一命令的用法

msf6 > help banner
msf6 > ? banner       # ? 和命令中间是有空格的

生命在于学习——MSF初体验(一)

2、banner

查看当前msf的版本信息和模块数量
生命在于学习——MSF初体验(一)

3、search

搜索模块
生命在于学习——MSF初体验(一)

4、use

search找到模块后,用use使用模块
生命在于学习——MSF初体验(一)文章来源地址https://www.toymoban.com/news/detail-470689.html

5、其他常用命令

background                    # 会话放到后台
sessions                          #sessions –h 查看帮助
sessions -i <ID值>         #进入会话   -k  杀死会话
back                               #返回上一步
run/exploit                     #执行已有的模块,输入run后按两下tab,列出已有的脚本   -j , 后台运行
info                                 #查看已有模块信息
load                                #加载插件
jobs                                #显示和管理作业 
kill                                  # 杀死一个job  , kill 0
nmap                             # msf控制台内置的有nmap工具

到了这里,关于生命在于学习——MSF初体验(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 生命在于折腾——Android Studio网络设置(MAC)

    在macos上面,能使用的android模拟器是真不如windows多,各个厂家似乎抛弃了macos的安卓模拟器,当然,我使用的mac是2019款16寸的inter芯片,之前使用arm架构M2芯片的时候,更是可怕,不过quem可以很好的支持安卓,反正现在我是一直用着Android Studio。 客户要对一个app进行渗透测试

    2024年01月19日
    浏览(55)
  • 生命在于折腾——MacOS(Inter)渗透测试环境搭建

    之前使用的是2022款M2芯片的MacBook Air 13寸,不得不说,是真的续航好,轻薄,刚开始我了解到M芯片的底层是ARM架构,我觉得可以接受,虚拟机用的不多,但在后续的使用过程中,发现卡脖子就是卡脖子,随后换了联想R9000K,背着上了一天班,发现太重了,于是又换了Xiaomi Bo

    2024年02月16日
    浏览(51)
  • 生命在于折腾——WeChat机器人的研究和探索

    2022年,我玩过原神,当时看到了云崽的QQ机器人,很是感兴趣,支持各种插件,查询游戏内角色相关信息,当时我也自己写了几个插件,也看到很多大佬编写的好玩的插件,后来因为QQ不咋用了,就废弃掉了。 开源项目地址:https://github.com/Le-niao/Yunzai-Bot 作者:乐鸟君 https:

    2024年02月20日
    浏览(52)
  • 生命在于答疑——git推送本地到库鉴权失败

    在学习git的时候,从本地仓库推送到远程的时候,出现了上图提示,刚开始没细看,以为是账号密码错误,输了好多次还是这样,我才定睛一看,原来是在2021年8月13日移除了密码认证,请登录该网址查看详细内容。 在网上找了找,大概就是需要加一个个人的token,而且设置期

    2024年02月10日
    浏览(42)
  • “!!!保姆级教程·Python·从0开始到精通基础!!!“ “一篇文章全部学完!“ 详细过程 各种注意批注 为您的python基础学习保驾护航!

    目录  常量和表达式 变量和类型  变量是什么 变量的语法 定义变量 变量命名的规则 使用变量   变量的类型 整数  浮点数 字符串 布尔类型 其它 为什么要有这些类型? 动态类型特征 两面性 注释 注释是什么     作用          注释的语法 注释的规范 输入输出   和用户

    2024年02月21日
    浏览(41)
  • 成长在于积累——https 认证失败的学习与思考

            本周二长城项目在收尾过程中,出现了一个车端无法进行注册的问题:curl提示证书认证失败(其实已经能确认问题方向了,运维人员去确认证书问题即可)。虽然最终的原因是由于长城运维人员导致的。但是这个过程让我颇受“感动“。 问题出现的当天,运维人

    2024年02月05日
    浏览(37)
  • 【ALM工具软件】上海道宁与Perforce为您带来用于整个生命周期的应用程序生命周期管理软件

    Helix ALM是 用于整个生命周期的 应用程序生命周期管理的ALM软件 具有专用于 需求管理(Helix RM)、测试用例管理(Helix TCM) 问题管理(Helix IM)的功能模块 Helix ALM提供了 无与伦比的可追溯性 您将知道是否已测试并满足要求 测试运行是否已通过(或失败) 以及问题是否已解

    2024年02月09日
    浏览(50)
  • React18原理: 生命周期中特别注意事项

    概述 生命周期就是一个组件从诞生到销毁的全过程(包含错误捕获,这里暂且不聊这个) react 在组件的生命周期中注册了一系列的钩子函数 支持开发者在其中嵌入代码,并在适当的时机运行 生命周期本质上就是组件中的钩子函数,主要有三个主要的钩子 挂载 更新 卸载 首次挂

    2024年02月20日
    浏览(32)
  • msf学习笔记

    渗透工具使用指南 ·  序言 ·  ·  信息收集工具 ·  ·  漏洞扫描(分析) ·  抓包改包 ·  Burpsuite ·  ·  Fiddler ·  ·  Wireshark ·  漏洞利用 ·  Hydra ·  ·  Metasploit ·  ·  SQLmap ·  ·  Beef ·  ·  antSword ·  xss在线工具 本文档使用 看云 构建 Metasploit 基础库文件(Libraris):提供

    2024年02月21日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包