Pro Module API

pro.module_search

The pro.module_search method scans the module database and returns any entries matching the specified search query.

Request Example

shell
1
[ "pro.module_search", "<token>", "dcom" ]

Response Example

json
1
{ "matches"=>
2
{"exploit/windows/dcerpc/ms03_026_dcom"=>
3
{"type" => "exploit",
4
"name" => "Microsoft RPC DCOM Interface Overflow",
5
"rank" => 500,
6
"description" => "Long description…",
7
"license" => "Metasploit Framework License (BSD)",
8
"filepath" => "[..]/windows/dcerpc/ms03_026_dcom.rb",
9
"version" => "11545",
10
"arch" => [],
11
"platform" => [],
12
"references" =>
13
[["CVE", "2003-0352"],
14
["OSVDB", "2100"],
15
["MSB", "MS03-026"],
16
["BID", "8205"]],
17
"authors" =>
18
["hdm <hdm[at]metasploit.com>",
19
"spoonm <spoonm@no$email.com>",
20
"cazz <bmc[at]shmoo.com>"],
21
"privileged" => true,
22
"disclosure_date" => 1058313600,
23
"targets" => {0=>"Windows NT SP3-6a/2000/XP/2003 Universal"},
24
"default_target" =>"0",
25
"stance" => "aggressive"},
26
}
27
}
28
}

pro.module_validate

The pro.module_validate method is used to determine whether a set of options satisfies the requirements of a given module.

Request Example

shell
1
[ "pro.module_validate", "<token>",
2
"exploit/windows/smb/psexec", {
3
"RHOST" => "1.2.3.4"
4
}
5
]

Response Example

json
1
{ "result" => "success" }

Invalid options would result in the following:

Response Example

json
1
{
2
"result" => "failure",
3
"error" => "The following options failed to validate: RHOST."
4
}

pro.modules

The pro.modules method returns the full set of modules for a given type

Request Example

shell
1
[ "pro.modules", "<token>", "post" ]

Response Example

json
1
{"modules" =>
2
{ "post/linux/gather/checkvm" =>
3
{"type" => "post",
4
"name" => "Linux Gather Virtual Environment Detection",
5
"rank" => 300,
6
"description" => "Long description…",
7
"license" => "Metasploit Framework License (BSD)",
8
"filepath" => "[…]post/linux/gather/checkvm.rb",
9
"version" => "13173",
10
"arch" => [],
11
"platform" => ["Msf::Module::Platform::Linux"],
12
"references" => [],
13
"authors" => ["Carlos Perez <carlos_perez[at]darkoperator.com>"],
14
"privileged" => false},
15
}
16
}
17
}