File tree Expand file tree Collapse file tree 3 files changed +21
-5
lines changed Expand file tree Collapse file tree 3 files changed +21
-5
lines changed Original file line number Diff line number Diff line change @@ -634,7 +634,6 @@ def self.dump_sessions_verbose(framework, opts={})
634
634
sess_via = session . via_exploit . to_s
635
635
sess_type = session . type . to_s
636
636
sess_uuid = session . payload_uuid . to_s
637
- sess_puid = session . payload_uuid . respond_to? ( :puid_hex ) ? session . payload_uuid . puid_hex : nil
638
637
sess_luri = session . exploit_datastore [ 'LURI' ] || "" if session . exploit_datastore
639
638
sess_enc = false
640
639
if session . respond_to? ( :tlv_enc_key ) && session . tlv_enc_key && session . tlv_enc_key [ :key ]
@@ -652,10 +651,10 @@ def self.dump_sessions_verbose(framework, opts={})
652
651
sess_checkin = "#{ ( Time . now . to_i - session . last_checkin . to_i ) } s ago @ #{ session . last_checkin . to_s } "
653
652
end
654
653
655
- if session . payload_uuid . respond_to? ( :puid_hex ) && ( uuid_info = framework . uuid_db [ sess_puid ] )
654
+ if session . payload_uuid . registered
656
655
sess_registration = "Yes"
657
- if uuid_info [ ' name' ]
658
- sess_registration << " - Name=\" #{ uuid_info [ ' name' ] } \" "
656
+ if session . payload_uuid . name
657
+ sess_registration << " - Name=\" #{ session . payload_uuid . name } \" "
659
658
end
660
659
end
661
660
Original file line number Diff line number Diff line change @@ -222,7 +222,16 @@ def create_session(conn, opts={})
222
222
s . set_from_exploit ( assoc_exploit )
223
223
224
224
# Pass along any associated payload uuid if specified
225
- s . payload_uuid = opts [ :payload_uuid ] if opts [ :payload_uuid ]
225
+ if opts [ :payload_uuid ]
226
+ s . payload_uuid = opts [ :payload_uuid ]
227
+ if s . payload_uuid . respond_to? ( :puid_hex ) && ( uuid_info = framework . uuid_db [ s . payload_uuid . puid_hex ] )
228
+ s . payload_uuid . registered = true
229
+ s . payload_uuid . name = uuid_info [ 'name' ]
230
+ s . payload_uuid . timestamp = uuid_info [ 'timestamp' ]
231
+ else
232
+ s . payload_uuid . registered = false
233
+ end
234
+ end
226
235
227
236
# If the session is valid, register it with the framework and
228
237
# notify any waiters we may have.
Original file line number Diff line number Diff line change @@ -254,6 +254,10 @@ def initialize(opts=nil)
254
254
self . xor1 = opts [ :xor1 ]
255
255
self . xor2 = opts [ :xor2 ]
256
256
257
+ self . timestamp = nil
258
+ self . name = nil
259
+ self . registered = false
260
+
257
261
if opts [ :seed ]
258
262
self . puid = self . class . seed_to_puid ( opts [ :seed ] )
259
263
end
@@ -367,6 +371,10 @@ def xor_reset
367
371
self
368
372
end
369
373
374
+ attr_accessor :registered
375
+ attr_accessor :timestamp
376
+ attr_accessor :name
377
+
370
378
attr_reader :arch
371
379
attr_reader :platform
372
380
You can’t perform that action at this time.
0 commit comments