Skip to content

Commit 6fb418d

Browse files
author
Brent Cook
committed
Land rapid7#7447, unify Android meterpreter method names, add missing stageless class
2 parents ebf5275 + c5faffd commit 6fb418d

File tree

4 files changed

+29
-29
lines changed

4 files changed

+29
-29
lines changed

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ PATH
1414
metasploit-concern
1515
metasploit-credential
1616
metasploit-model
17-
metasploit-payloads (= 1.1.23)
17+
metasploit-payloads (= 1.1.24)
1818
metasploit_data_models
1919
metasploit_payloads-mettle (= 0.0.8)
2020
msgpack
@@ -167,7 +167,7 @@ GEM
167167
activemodel (~> 4.2.6)
168168
activesupport (~> 4.2.6)
169169
railties (~> 4.2.6)
170-
metasploit-payloads (1.1.23)
170+
metasploit-payloads (1.1.24)
171171
metasploit_data_models (2.0.4)
172172
activerecord (~> 4.2.6)
173173
activesupport (~> 4.2.6)
@@ -185,7 +185,7 @@ GEM
185185
mime-types-data (3.2016.0521)
186186
mini_portile2 (2.1.0)
187187
minitest (5.9.1)
188-
msgpack (1.0.0)
188+
msgpack (1.0.1)
189189
multi_json (1.12.1)
190190
multi_test (0.1.2)
191191
multipart-post (2.0.0)

lib/rex/post/meterpreter/extensions/android/android.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,20 @@ def collect_types
6666
end
6767

6868
def device_shutdown(n)
69-
request = Packet.create_request('device_shutdown')
69+
request = Packet.create_request('android_device_shutdown')
7070
request.add_tlv(TLV_TYPE_SHUTDOWN_TIMER, n)
7171
response = client.send_request(request)
7272
response.get_tlv(TLV_TYPE_SHUTDOWN_OK).value
7373
end
7474

7575
def set_audio_mode(n)
76-
request = Packet.create_request('set_audio_mode')
76+
request = Packet.create_request('android_set_audio_mode')
7777
request.add_tlv(TLV_TYPE_AUDIO_MODE, n)
7878
response = client.send_request(request)
7979
end
8080

8181
def interval_collect(opts)
82-
request = Packet.create_request('interval_collect')
82+
request = Packet.create_request('android_interval_collect')
8383
request.add_tlv(TLV_TYPE_COLLECT_ACTION, COLLECT_ACTIONS[opts[:action]])
8484
request.add_tlv(TLV_TYPE_COLLECT_TYPE, COLLECT_TYPES[opts[:type]])
8585
request.add_tlv(TLV_TYPE_COLLECT_TIMEOUT, opts[:timeout])
@@ -182,7 +182,7 @@ def interval_collect(opts)
182182

183183
def dump_sms
184184
sms = []
185-
request = Packet.create_request('dump_sms')
185+
request = Packet.create_request('android_dump_sms')
186186
response = client.send_request(request)
187187

188188
response.each(TLV_TYPE_SMS_GROUP) do |p|
@@ -199,7 +199,7 @@ def dump_sms
199199

200200
def dump_contacts
201201
contacts = []
202-
request = Packet.create_request('dump_contacts')
202+
request = Packet.create_request('android_dump_contacts')
203203
response = client.send_request(request)
204204

205205
response.each(TLV_TYPE_CONTACT_GROUP) do |p|
@@ -214,7 +214,7 @@ def dump_contacts
214214

215215
def geolocate
216216
loc = []
217-
request = Packet.create_request('geolocate')
217+
request = Packet.create_request('android_geolocate')
218218
response = client.send_request(request)
219219

220220
loc << {
@@ -227,7 +227,7 @@ def geolocate
227227

228228
def dump_calllog
229229
log = []
230-
request = Packet.create_request('dump_calllog')
230+
request = Packet.create_request('android_dump_calllog')
231231
response = client.send_request(request)
232232

233233
response.each(TLV_TYPE_CALLLOG_GROUP) do |p|
@@ -243,13 +243,13 @@ def dump_calllog
243243
end
244244

245245
def check_root
246-
request = Packet.create_request('check_root')
246+
request = Packet.create_request('android_check_root')
247247
response = client.send_request(request)
248248
response.get_tlv(TLV_TYPE_CHECK_ROOT_BOOL).value
249249
end
250250

251251
def activity_start(uri)
252-
request = Packet.create_request('activity_start')
252+
request = Packet.create_request('android_activity_start')
253253
request.add_tlv(TLV_TYPE_URI_STRING, uri)
254254
response = client.send_request(request)
255255
if response.get_tlv(TLV_TYPE_ACTIVITY_START_RESULT).value
@@ -260,13 +260,13 @@ def activity_start(uri)
260260
end
261261

262262
def set_wallpaper(data)
263-
request = Packet.create_request('set_wallpaper')
263+
request = Packet.create_request('android_set_wallpaper')
264264
request.add_tlv(TLV_TYPE_WALLPAPER_DATA, data)
265265
response = client.send_request(request)
266266
end
267267

268268
def send_sms(dest, body, dr)
269-
request = Packet.create_request('send_sms')
269+
request = Packet.create_request('android_android_send_sms')
270270
request.add_tlv(TLV_TYPE_SMS_ADDRESS, dest)
271271
request.add_tlv(TLV_TYPE_SMS_BODY, body)
272272
request.add_tlv(TLV_TYPE_SMS_DR, dr)
@@ -283,7 +283,7 @@ def send_sms(dest, body, dr)
283283
end
284284

285285
def wlan_geolocate
286-
request = Packet.create_request('wlan_geolocate')
286+
request = Packet.create_request('android_wlan_geolocate')
287287
response = client.send_request(request, 30)
288288
networks = []
289289
response.each(TLV_TYPE_WLAN_GROUP) do |p|
@@ -297,7 +297,7 @@ def wlan_geolocate
297297
end
298298

299299
def sqlite_query(dbname, query, writeable)
300-
request = Packet.create_request('sqlite_query')
300+
request = Packet.create_request('android_sqlite_query')
301301
request.add_tlv(TLV_TYPE_SQLITE_NAME, dbname)
302302
request.add_tlv(TLV_TYPE_SQLITE_QUERY, query)
303303
request.add_tlv(TLV_TYPE_SQLITE_WRITE, writeable)

lib/rex/post/meterpreter/ui/console/command_dispatcher/android.rb

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@ def commands
3636
}
3737

3838
reqs = {
39-
'dump_sms' => ['dump_sms'],
40-
'dump_contacts' => ['dump_contacts'],
41-
'geolocate' => ['geolocate'],
42-
'dump_calllog' => ['dump_calllog'],
43-
'check_root' => ['check_root'],
44-
'device_shutdown' => ['device_shutdown'],
45-
'send_sms' => ['send_sms'],
46-
'wlan_geolocate' => ['wlan_geolocate'],
47-
'interval_collect' => ['interval_collect'],
48-
'activity_start' => ['activity_start'],
49-
'sqlite_query' => ['sqlite_query'],
50-
'set_audio_mode' => ['set_audio_mode']
39+
'dump_sms' => ['android_dump_sms'],
40+
'dump_contacts' => ['android_dump_contacts'],
41+
'geolocate' => ['android_geolocate'],
42+
'dump_calllog' => ['android_dump_calllog'],
43+
'check_root' => ['android_check_root'],
44+
'device_shutdown' => ['android_device_shutdown'],
45+
'send_sms' => ['android_send_sms'],
46+
'wlan_geolocate' => ['android_wlan_geolocate'],
47+
'interval_collect' => ['android_interval_collect'],
48+
'activity_start' => ['android_activity_start'],
49+
'sqlite_query' => ['android_sqlite_query'],
50+
'set_audio_mode' => ['android_set_audio_mode']
5151
}
5252

5353
# Ensure any requirements of the command are met

metasploit-framework.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Gem::Specification.new do |spec|
6565
# are needed when there's no database
6666
spec.add_runtime_dependency 'metasploit-model'
6767
# Needed for Meterpreter
68-
spec.add_runtime_dependency 'metasploit-payloads', '1.1.23'
68+
spec.add_runtime_dependency 'metasploit-payloads', '1.1.24'
6969
# Needed for the next-generation POSIX Meterpreter
7070
spec.add_runtime_dependency 'metasploit_payloads-mettle', '0.0.8'
7171
# Needed by msfgui and other rpc components

0 commit comments

Comments
 (0)