30 lines
884 B
Ruby
30 lines
884 B
Ruby
# -*- coding: binary -*-
|
|
|
|
module Msf
|
|
module Java
|
|
module Jmx
|
|
# This module provides methods which help to handle JMX end points discovery
|
|
module Discovery
|
|
# Builds a Rex::Java::Serialization::Model::Stream to discover
|
|
# an JMX RMI endpoint
|
|
#
|
|
# @return [Rex::Java::Serialization::Model::Stream]
|
|
def discovery_stream
|
|
obj_id = "\x00" * 22 # Padding since there isn't an UnicastRef ObjId to use still
|
|
|
|
block_data = Rex::Java::Serialization::Model::BlockData.new(
|
|
nil,
|
|
"#{obj_id}\x00\x00\x00\x02\x44\x15\x4d\xc9\xd4\xe6\x3b\xdf"
|
|
)
|
|
|
|
stream = Rex::Java::Serialization::Model::Stream.new
|
|
stream.contents << block_data
|
|
stream.contents << Rex::Java::Serialization::Model::Utf.new(nil, 'jmxrmi')
|
|
|
|
stream
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|