metasploit是風靡全球深受各個滲透測試工程師喜愛的一款工具,稱它是滲透測試必備工具絲毫不為過,保姆式的滲透過程——掃瞄模組、漏洞利用模組、後滲透模組為廣大從業者提供了優秀的工具。
然而,有些情況下需要我們自行開發一些模組進行使用。其中後滲透模組、滲透模組和輔助模組都可以自行開發(post模組暫時略過)
先了解ruby的基本語句
'定義變數' a=
123 a=
"hello"
"字串拼接" a=
"123"
a <
<
"555"
"這時a變成123555"
字串擷取
a=
"12345678"a[0
,2]=
12
split函式
a=
"123,456,789"
a.split(,
)a[1]
=123a[2
]=456a[3]
=789
"即以括號內的內容為分隔符,將字串分割為字元陣列"
變數型別轉換
字串轉整數(int整型)
a.to_i "a由string轉為int"
整數轉字串
a.to_s "a由int轉為string"
數制轉換
轉16進製制
a.hex
範圍在ruby中,在metasploit模組開發中,是乙個重要的存在,定義範圍的語法如下
a=
0..9
"這時,其各個極值如下"
a.mix=
0 a.max=9a.
include(3
)?=true
以上是對ruby的基礎語法進行講解,下面來認識metasploit的庫檔案
rex :核心功能
msf核心庫:提供基本介面
msf base:友好的介面
下面是這三個庫的位置rex庫位於/lib下,其餘兩個庫位於/core和/base下
下面來看乙個自己編寫的ftp模組
class
metasploitmodule
<
msf:
:auxiliary
#msf模組類
#include語句
include msf::
auxiliary::
scanner
#include
include msf::
auxiliary::
report
#include
def initalize #定義方法
super
('name'
=>
'ftp version scanner'
'description'
=>
%q'author'
=>
'starlake wusheng'
#作者'license'
=>
msf_license
#msf許可
)register_options
(#設定目標埠
[ opt:
:rport(21
)#ftp標準埠21])
enddef
run_host
(target_host)
#定義方法,在所有目標主機上都執行指令碼
connect
(true
,false
)#連線目標
if(banner)
print_status("#
is running"
)#輸出狀態
print_good
("results: #")
#輸出結果
report_servise
(:host
=>host,
:port
=>rport,
:name
=>
"ftp"
, info=
> banner)
#儲存服務
end disconnect #斷開連線
endend
以上是作者編寫的ftp 版本掃瞄器(star lake是作者創立的網路安全團隊,無笙是作者寫這個模組時候的id) Metasploit模組簡介
該模組不會直接在測試者和目標主機之間建立訪問,它們只負責執行掃瞄 嗅探 指紋識別等相關功能以輔助滲透測試。漏洞利用是指由滲透測試者利用乙個系統 應用或者服務中的安全漏洞進行的攻擊行為。流行的滲透攻擊技術包括緩衝區溢位 web應用程式攻擊,以及利用配置錯誤等,其中包含攻擊者或測試人員針對系統中的漏洞而...
metasploit 模組和位置
metasploit framework由許多的模組組成的。metasploit為您提供了在執行時或msfconsole已啟動後自由載入模組的功能。執行msfconsole以在執行時載入時傳遞 m選項 注意 如果你需要執行後載入額外的模組,使用metasploit工具 loadpath 命令 用法 ...
Metasploit滲透測試模組(一)
1 metasploit模組載入 msfconsole q metsaploit 下面使用的命命令 顯示所有 exploit show exploit 檢視 show 命令的幫助 命令 show h search 查詢,查詢名字是mysql 攻擊模組是 exploit search name mys...