Class: Rex::Post::Meterpreter::Extensions::Stdapi::Mic::Mic
- Inherits:
-
Object
- Object
- Rex::Post::Meterpreter::Extensions::Stdapi::Mic::Mic
- Defined in:
- lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb
Overview
This meterpreter extension can list and capture from microphone
Instance Attribute Summary collapse
-
#client ⇒ Object
Returns the value of attribute client.
Instance Method Summary collapse
-
#initialize(client) ⇒ Mic
constructor
A new instance of Mic.
-
#mic_list ⇒ Object
List available microphones.
-
#mic_start(device_id) ⇒ Object
Starts recording audio from microphone.
-
#mic_stop ⇒ Object
Stop recording from microphone.
- #session ⇒ Object
Constructor Details
#initialize(client) ⇒ Mic
Returns a new instance of Mic.
19 20 21 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 19 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
55 56 57 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 55 def client @client end |
Instance Method Details
#mic_list ⇒ Object
List available microphones
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 28 def mic_list response = client.send_request(Packet.create_request(COMMAND_ID_STDAPI_AUDIO_MIC_LIST)) names = [] if response.result == 0 response.get_tlvs(TLV_TYPE_AUDIO_INTERFACE_NAME).each do |tlv| names << tlv.value end end names end |
#mic_start(device_id) ⇒ Object
Starts recording audio from microphone
40 41 42 43 44 45 46 47 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 40 def mic_start(device_id) request = Packet.create_request(COMMAND_ID_STDAPI_AUDIO_MIC_START) request.add_tlv(TLV_TYPE_AUDIO_INTERFACE_ID, device_id) response = client.send_request(request) return nil unless response.result == 0 Channel.create(client, 'audio_mic', Rex::Post::Meterpreter::Channels::Pools::StreamPool, CHANNEL_FLAG_SYNCHRONOUS, response) end |
#mic_stop ⇒ Object
Stop recording from microphone
50 51 52 53 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 50 def mic_stop client.send_request(Packet.create_request(COMMAND_ID_STDAPI_AUDIO_MIC_STOP)) true end |
#session ⇒ Object
23 24 25 |
# File 'lib/rex/post/meterpreter/extensions/stdapi/mic/mic.rb', line 23 def session @client end |