コンテンツにスキップ

Msf::Auxiliary::Report は Metasploit DB への保存 API を提供します。実装は lib/msf/core/auxiliary/report.rb です。HttpClient にも include されています。

メソッド用途
report_hosthost 登録
report_serviceservice 登録
report_note自由形式ノート
report_vuln脆弱性
report_lootloot メタデータ
store_lootファイル実体 + loot 索引
create_credential資格情報
create_credential_loginログイン成功記録
create_credential_and_login両方まとめて
invalidate_login失敗したログイン
myworkspace / myworkspace_id現在のワークスペース
report_service(
host: rhost,
port: rport,
proto: 'tcp',
name: 'http',
info: 'ExampleApp 1.2'
)
report_note(
host: rhost,
type: 'example.version',
data: { version: '1.2' },
update: :unique_data
)
report_vuln(
host: rhost,
port: rport,
name: 'Example RCE',
refs: references
)
path = store_loot(
'example.config', # ltype
'text/plain', # ctype
rhost, # host or session
res.body, # data
'config.php', # filename
'Application config' # info
)
print_good("Loot: #{path}")
create_credential_and_login(
address: rhost,
port: rport,
service_name: 'ssh',
protocol: 'tcp',
workspace_id: myworkspace_id,
origin_type: :service,
module_fullname: fullname,
username: user,
private_data: pass,
private_type: :password,
status: Metasploit::Model::Login::Status::SUCCESSFUL
)

DB が無い環境でもモジュールは動きますが、これらの呼び出しは実質 no-op や警告になります。検証環境では 基本操作と DB の msfdb を先に用意します。

ヘルパーの使用例は 結果保存ヘルパー にもあります。