Skip to content

Commit f80978d

Browse files
committed
Calculate interface and method hashes dinamically
1 parent 0540e25 commit f80978d

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/msf/java/rmi/client/jmx/connection/builder.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ def build_jmx_get_object_instance(opts = {})
2424

2525
arguments = build_jmx_get_object_instance_args(name)
2626

27+
method_hash = calculate_method_hash('getObjectInstance(Ljavax/management/ObjectName;Ljavax/security/auth/Subject;)Ljavax/management/ObjectInstance;')
28+
2729
call = build_call(
2830
object_number: object_number,
2931
uid_number: uid_number,
3032
uid_time: uid_time,
3133
uid_count: uid_count,
3234
operation: -1,
33-
hash: 6950095694996159938, # RMIConnectionImpl_Stub.getObjectInstance()
35+
hash: method_hash,
3436
arguments: arguments
3537
)
3638

@@ -76,6 +78,8 @@ def build_jmx_create_mbean(opts = {})
7678
uid_time = opts[:uid_time] || 0
7779
uid_count = opts[:uid_count] || 0
7880

81+
method_hash = calculate_method_hash('createMBean(Ljava/lang/String;Ljavax/management/ObjectName;Ljavax/security/auth/Subject;)Ljavax/management/ObjectInstance;')
82+
7983
arguments = build_jmx_create_mbean_args(name)
8084

8185
call = build_call(
@@ -84,7 +88,7 @@ def build_jmx_create_mbean(opts = {})
8488
uid_time: uid_time,
8589
uid_count: uid_count,
8690
operation: -1,
87-
hash: 2510753813974665446,
91+
hash: method_hash,
8892
arguments: arguments
8993
)
9094

@@ -123,6 +127,8 @@ def build_jmx_invoke(opts = {})
123127
uid_time = opts[:uid_time] || 0
124128
uid_count = opts[:uid_count] || 0
125129

130+
method_hash = calculate_method_hash('invoke(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/rmi/MarshalledObject;[Ljava/lang/String;Ljavax/security/auth/Subject;)Ljava/lang/Object;')
131+
126132
arguments = build_jmx_invoke_args(opts)
127133

128134
call = build_call(
@@ -131,7 +137,7 @@ def build_jmx_invoke(opts = {})
131137
uid_time: uid_time,
132138
uid_count: uid_count,
133139
operation: -1,
134-
hash: 1434350937885235744,
140+
hash: method_hash,
135141
arguments: arguments
136142
)
137143

0 commit comments

Comments
 (0)