硬件需求:
存儲:
10G存儲空間昂灵。建議30G存儲空間眨补。
內(nèi)存:
Linux“HOST”最小內(nèi)存要求
1GB系統(tǒng)內(nèi)存(RAM)
實際上2GB以上
Kali“GUEST”最小內(nèi)存要求
至少512兆字節(jié)(MB)的RAM(推薦1GB)//更多從不傷害撑螺!
實際上1GB或更多甘晤,具有相同價值的SWAP文件
Metasploitable“GUEST”最小內(nèi)存要求
至少256兆字節(jié)(MB)的RAM(建議512MB)//更沒有傷害饲做!
(可選)每個Windows“GUEST”最低內(nèi)存要求
至少256兆字節(jié)(MB)的RAM(推薦1GB)//更多從不傷害!
實際上1GB或更多塞弊,具有相同價值的SWAP文件
處理器處理速度推薦:500MHz
通暢的互聯(lián)網(wǎng)訪問:建議1M/S,以及無阻礙的訪問全球網(wǎng)絡(luò)居砖。
資源:
通過https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/驴娃,下載帶有漏洞的瀏覽器以及虛擬的環(huán)境唇敞。
虛擬機(jī):VMware疆柔,VirtualBox和KVM
推薦的發(fā)行版:Kali Linux
受害者環(huán)境:Metasploitable(默認(rèn)登錄名和密碼為msfadmin:msfadmin镶柱,部署參考:https://community.rapid7.com/docs/DOC-1875)
Metasploit文件系統(tǒng)():
data: Metasploit使用的可編輯文件
documentation: 提供框架的文檔
external: 源代碼和第三方庫
lib: 框架代碼庫的“meat”
modules: 實際的MSF模塊
plugins: 可以在運(yùn)行時加載的插件
scripts: Meterpreter和其他腳本
tools: 各種有用的命令行工具
Metasploit Libraries(這個庫幫助使用者,無需額外編寫基礎(chǔ)的代碼):
Rex:
大多數(shù)任務(wù)的基本庫
處理套接字鞋屈,協(xié)議,文本轉(zhuǎn)換等
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):
有效載荷由遠(yuǎn)程運(yùn)行的代碼組成
編碼器確保有效載荷使其到達(dá)目的地
Nop保持有效載荷大小一致
Primary Module Tree(主模塊樹):
位于/ usr / share / metasploit-framework / modules /
User-Specified Module Tree(用戶指定的模塊樹):
位于?/ .msf4 / modules /
這個位置是私人模組的理想選擇
Loading Additional Module Trees(加載其他模塊樹):
Metasploit對象模型:
在Metasploit框架中,所有模塊都是Ruby類:
模塊從類型特定的類繼承
類型特定的類繼承自Msf :: Module類
模塊之間有一個共享的公共API
有效載荷略有不同:
有效載荷是在運(yùn)行時從各種組件創(chuàng)建的
用不同的階段粘在一起
Metasploit Mixins和插件:
快速了解Ruby:
每個類只有一個父塘装。
一個類可能包含了很多模塊影所。
模塊可以添加新的方法。
模塊可以重載舊的方法阴幌。
Metasploit模塊繼承了Msf :: Module矛双,并包含了mixins來添加功能蟆豫。
Metasploit Mixins:
Mixins很簡單:
Mixins'包括'一個類別到另一個
這是不同的,類似于繼承
Mixins可以覆蓋類的方法
Mixins可以添加新功能栈幸,并允許模塊具有不同的“風(fēng)味”。
協(xié)議特定(即:HTTP灵疮,SMB)
行為特定(即:暴力)
connect()由TCP mixin實現(xiàn)
connect()然后被FTP壳繁,SMB等重載。
Mixins可以改變行為:
掃描器mixin超載run()
掃描儀更改run_host()和run_range()的run()
它根據(jù)THREADS設(shè)置并行調(diào)用它們
BruteForce mixin是類似的
Metasploit插件:
插件可以直接使用API??:
他們操縱整個框架
插件插入事件子系統(tǒng)
它們自動執(zhí)行手動執(zhí)行繁瑣操作的特定任務(wù)
插件只適用于msfconsole:
插件可以添加新的控制臺命令
它們擴(kuò)展了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