Metasploit模組開發 Ruby例項講解

2021-10-08 05:32:04 字數 2367 閱讀 8007

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...