use typical command option and TLV scheme instead of dumb stuff for keyscan_start
parent
2617ae7609
commit
9eeb3dc143
|
@ -201,6 +201,7 @@ TLV_TYPE_DESKTOP_SCREENSHOT_PE32DLL_LENGTH = TLV_META_TYPE_UINT | 3009
|
|||
TLV_TYPE_DESKTOP_SCREENSHOT_PE32DLL_BUFFER = TLV_META_TYPE_STRING | 3010
|
||||
TLV_TYPE_DESKTOP_SCREENSHOT_PE64DLL_LENGTH = TLV_META_TYPE_UINT | 3011
|
||||
TLV_TYPE_DESKTOP_SCREENSHOT_PE64DLL_BUFFER = TLV_META_TYPE_STRING | 3012
|
||||
TLV_TYPE_KEYSCAN_TRACK_ACTIVE_WINDOW = TLV_META_TYPE_BOOL | 3013
|
||||
|
||||
##
|
||||
#
|
||||
|
|
|
@ -207,8 +207,9 @@ class UI < Rex::Post::UI
|
|||
#
|
||||
# Start the keyboard sniffer
|
||||
#
|
||||
def keyscan_start
|
||||
def keyscan_start(trackwindow=false)
|
||||
request = Packet.create_request('stdapi_ui_start_keyscan')
|
||||
request.add_tlv( TLV_TYPE_KEYSCAN_TRACK_ACTIVE_WINDOW, trackwindow )
|
||||
response = client.send_request(request)
|
||||
return true
|
||||
end
|
||||
|
|
|
@ -281,8 +281,22 @@ class Console::CommandDispatcher::Stdapi::Ui
|
|||
# Start the keyboard sniffer
|
||||
#
|
||||
def cmd_keyscan_start(*args)
|
||||
trackwin = false
|
||||
|
||||
keyscan_opts = Rex::Parser::Arguments.new(
|
||||
"-v" => [ false, "Verbose logging: tracks the current active window" ]
|
||||
)
|
||||
|
||||
keyscan_opts.parse( args ) { | opt |
|
||||
case opt
|
||||
when "-v"
|
||||
print_line("Verbose logging selected ...")
|
||||
trackwin = true
|
||||
end
|
||||
}
|
||||
|
||||
print_line("Starting the keystroke sniffer ...")
|
||||
client.ui.keyscan_start
|
||||
client.ui.keyscan_start(trackwin)
|
||||
return true
|
||||
end
|
||||
|
||||
|
@ -301,8 +315,9 @@ class Console::CommandDispatcher::Stdapi::Ui
|
|||
def cmd_keyscan_dump(*args)
|
||||
print_line("Dumping captured keystrokes...")
|
||||
data = client.ui.keyscan_dump
|
||||
print_line(data)
|
||||
|
||||
print_line(data + "\n") # the additional newline is to keep the resulting output
|
||||
# from crowding the Meterpreter command prompt, which
|
||||
# is visually frustrating without color
|
||||
return true
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue