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(加載其他模塊樹):
外部加載
內部加載(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
示例代碼
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容