diff --git a/lib/msf/core/exploit/gdb.rb b/lib/msf/core/exploit/gdb.rb index 5dc3fd9e5f..a229befeaf 100644 --- a/lib/msf/core/exploit/gdb.rb +++ b/lib/msf/core/exploit/gdb.rb @@ -158,6 +158,11 @@ module Exploit::Remote::Gdb read_response end + def enable_extended_mode + send_cmd("!") + read_response + end + # Performs a handshake packet exchange # @param features [String] the list of supported features to tell the remote # host that the client supports (defaults to +DEFAULT_GDB_FEATURES+) diff --git a/modules/exploits/multi/gdb/gdb_server_exec.rb b/modules/exploits/multi/gdb/gdb_server_exec.rb index ccb1daaa88..21083b6808 100644 --- a/modules/exploits/multi/gdb/gdb_server_exec.rb +++ b/modules/exploits/multi/gdb/gdb_server_exec.rb @@ -43,6 +43,8 @@ class Metasploit3 < Msf::Exploit::Remote print_status "Performing handshake with gdbserver..." handshake + enable_extended_mode + begin print_status "Stepping program to find PC..." gdb_data = process_info