Metasploit-page1

硬件需求:

存储:
    10G存储空间。建议30G存储空间。
内存:
    Linux“HOST”最小内存要求
        1GB系统内存(RAM)
        实际上2GB以上
    Kali“GUEST”最小内存要求
        至少512兆字节(MB)的RAM(推荐1GB)//更多从不伤害!
        实际上1GB或更多,具有相同价值的SWAP文件
    
    Metasploitable“GUEST”最小内存要求
        至少256兆字节(MB)的RAM(建议512MB)//更没有伤害!
      
    (可选)每个Windows“GUEST”最低内存要求  
        至少256兆字节(MB)的RAM(推荐1GB)//更多从不伤害!
        实际上1GB或更多,具有相同价值的SWAP文件
    
处理器处理速度推荐:500MHz
通畅的互联网访问:建议1M/S,以及无阻碍的访问全球网络。

资源:
通过https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/,下载带有漏洞的浏览器以及虚拟的环境。
虚拟机:VMware,VirtualBox和KVM
推荐的发行版:Kali Linux
受害者环境:Metasploitable(默认登录名和密码为msfadmin:msfadmin,部署参考:https://community.rapid7.com/docs/DOC-1875)

Metasploit文件系统():

data: Metasploit使用的可编辑文件
documentation: 提供框架的文档
external: 源代码和第三方库
lib: 框架代码库的“meat”
modules: 实际的MSF模块
plugins: 可以在运行时加载的插件
scripts: Meterpreter和其他脚本
tools: 各种有用的命令行工具

Metasploit Libraries(这个库帮助使用者,无需额外编写基础的代码):

Rex:
    大多数任务的基本库
    处理套接字,协议,文本转换等
    SSL,SMB,HTTP,XOR,Base64,Unicode
    
Msf::Core:
    提供“基本”API
    定义Metasploit框架(https://www.offensive-security.com/metasploit-unleashed/introduction/)

Msf :: Base:
    提供“友好”API
    提供用于框架的简化API

Metasploit框架由模块组成:

Exploits(漏洞):
    定义为使用有效载荷的模块
    没有有效载荷的漏洞是辅助模块
Payloads, Encoders, Nops(有效载荷,编码器,Nop):
    有效载荷由远程运行的代码组成
    编码器确保有效载荷使其到达目的地
    Nop保持有效载荷大小一致
Primary Module Tree(主模块树):
    位于/ usr / share / metasploit-framework / modules /
User-Specified Module Tree(用户指定的模块树):
    位于〜/ .msf4 / modules /
    这个位置是私人模组的理想选择
Loading Additional Module Trees(加载其他模块树):
Metasploit-page1_第1张图片
外部加载
Metasploit-page1_第2张图片
内部加载(msfconsole命令内部):

Metasploit对象模型:

在Metasploit框架中,所有模块都是Ruby类:
    模块从类型特定的类继承
    类型特定的类继承自Msf :: Module类
    模块之间有一个共享的公共API
有效载荷略有不同:
    有效载荷是在运行时从各种组件创建的
    用不同的阶段粘在一起

Metasploit Mixins和插件:

快速了解Ruby:
    每个类只有一个父。
    一个类可能包含了很多模块。
    模块可以添加新的方法。
    模块可以重载旧的方法。
    Metasploit模块继承了Msf :: Module,并包含了mixins来添加功能。
    
Metasploit Mixins:

    Mixins很简单:
        Mixins'包括'一个类别到另一个
        这是不同的,类似于继承
        Mixins可以覆盖类的方法
    Mixins可以添加新功能,并允许模块具有不同的“风味”。
        协议特定(即:HTTP,SMB)
        行为特定(即:暴力)
        connect()由TCP mixin实现
        connect()然后被FTP,SMB等重载。
    Mixins可以改变行为:
        扫描器mixin超载run()
        扫描仪更改run_host()和run_range()的run()
        它根据THREADS设置并行调用它们
        BruteForce mixin是类似的

Metasploit插件:
    插件可以直接使用API​​:
        他们操纵整个框架
        插件插入事件子系统
        它们自动执行手动执行繁琐操作的特定任务
    插件只适用于msfconsole:
        插件可以添加新的控制台命令
        它们扩展了Framework的总体功能

示例代码:

            class MyParent
                 def woof
                      puts “woof!”
                 end
            end
            
            class MyClass > MyParent
            end
            
            object = MyClass.new
            object.woof() => “woof!”
            
            ================================================================
            
            module MyMixin
                 def woof
                      puts “hijacked the woof method!”
                 end
            end
            
            class MyBetterClass > MyClass
                 include MyMixin
            end
Metasploit-page1_第3张图片
示例代码

你可能感兴趣的:(Metasploit-page1)