Files
beefproject-beef/modules/browser/detect_media_devices/module.rb
T
sethumadh 0f7b843cda Add detect_media_devices browser module
Implements navigator.mediaDevices.enumerateDevices() detection.
Groups results by kind (audioinput, audiooutput, videoinput) and
returns counts unconditionally + labels when permissions allow.
Handles the no-API case explicitly via beef.status.error().

Closes #3542
2026-05-14 15:28:14 +10:00

19 lines
1.0 KiB
Ruby

#
# Copyright (c) 2006-2026 Wade Alcorn - wade@bindshell.net
# Browser Exploitation Framework (BeEF) - https://beefproject.com
# See the file 'doc/COPYING' for copying permission
#
class Detect_media_devices < BeEF::Core::Command
def post_execute
content = {}
content['audioinput_count'] = @datastore['audioinput_count'] unless @datastore['audioinput_count'].nil?
content['audioinput_labels'] = @datastore['audioinput_labels'] unless @datastore['audioinput_labels'].nil?
content['audiooutput_count'] = @datastore['audiooutput_count'] unless @datastore['audiooutput_count'].nil?
content['audiooutput_labels'] = @datastore['audiooutput_labels'] unless @datastore['audiooutput_labels'].nil?
content['videoinput_count'] = @datastore['videoinput_count'] unless @datastore['videoinput_count'].nil?
content['videoinput_labels'] = @datastore['videoinput_labels'] unless @datastore['videoinput_labels'].nil?
content['error'] = @datastore['error'] unless @datastore['error'].nil?
save content
end
end