Class: Rex::Post::Meterpreter::Ui::Console::CommandDispatcher::Extapi::Wmi
- Inherits:
-
Object
- Object
- Rex::Post::Meterpreter::Ui::Console::CommandDispatcher::Extapi::Wmi
- Defined in:
- lib/rex/post/meterpreter/ui/console/command_dispatcher/extapi/wmi.rb
Overview
Extended API WMI Querying interface.
Constant Summary collapse
- Klass =
Console::CommandDispatcher::Extapi::Wmi
- DEFAULT_MAX_RESULTS =
Zero indicates “no limit”
0
- DEFAULT_PAGE_SIZE =
0
- @@wmi_query_opts =
Options for the wmi_query command.
Rex::Parser::Arguments.new( "-h" => [ false, "Help banner" ], "-r" => [ true, "Specify a different root object (defaults to 'root\\CIMV2')" ] )
Instance Attribute Summary
Attributes included from Ui::Text::DispatcherShell::CommandDispatcher
Instance Method Summary collapse
-
#cmd_wmi_query(*args) ⇒ Object
Enumerate WMI objects.
-
#commands ⇒ Object
List of supported commands.
-
#name ⇒ Object
Name for this dispatcher.
- #wmi_query_usage ⇒ Object
Methods included from Rex::Post::Meterpreter::Ui::Console::CommandDispatcher
check_hash, #client, #initialize, #log_error, #msf_loaded?, set_hash
Methods included from Ui::Text::DispatcherShell::CommandDispatcher
#cmd_help, #cmd_help_help, #cmd_help_tabs, #deprecated_cmd, #deprecated_commands, #deprecated_help, #help_to_s, #initialize, #print, #print_error, #print_good, #print_line, #print_status, #print_warning, #tab_complete_filenames, #update_prompt
Instance Method Details
#cmd_wmi_query(*args) ⇒ Object
Enumerate WMI objects.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/rex/post/meterpreter/ui/console/command_dispatcher/extapi/wmi.rb', line 58 def cmd_wmi_query(*args) args.unshift("-h") if args.length < 1 root = nil @@wmi_query_opts.parse(args) { |opt, idx, val| case opt when "-r" root = val when "-h" wmi_query_usage return true end } query = args.shift objects = client.extapi.wmi.query(query, root) if objects table = Rex::Ui::Text::Table.new( 'Header' => query, 'Indent' => 0, 'SortIndex' => 0, 'Columns' => objects[:fields] ) objects[:values].each do |c| table << c end print_line print_line(table.to_s) print_line("Total objects: #{objects[:values].length}") else print_status("The WMI query yielded no results.") end print_line return true end |
#commands ⇒ Object
List of supported commands.
27 28 29 30 31 |
# File 'lib/rex/post/meterpreter/ui/console/command_dispatcher/extapi/wmi.rb', line 27 def commands { "wmi_query" => "Perform a generic WMI query and return the results" } end |
#name ⇒ Object
Name for this dispatcher
36 37 38 |
# File 'lib/rex/post/meterpreter/ui/console/command_dispatcher/extapi/wmi.rb', line 36 def name "Extapi: WMI Querying" end |
#wmi_query_usage ⇒ Object
48 49 50 51 52 53 |
# File 'lib/rex/post/meterpreter/ui/console/command_dispatcher/extapi/wmi.rb', line 48 def wmi_query_usage print( "\nUsage: wmi_query <query string> [-r root]\n\n" + "Query the target and display the results.\n\n" + @@wmi_query_opts.usage) end |