چگونه ویروس را با اسکریپت ویژوال بیسیک اجرا کنیم

برای اجرای یک ویروس را در  Startup سیستم می توانید از تکه کدی که با ترکیب زبان اسکریپت ویژوال بیسیک و  Abdal Autoit ساخته است این عمل را انجام دهید ، شاید...

انتشار: , زمان مطالعه: 5 دقیقه
چگونه ویروس را با اسکریپت ویژوال بیسیک اجرا کنیم
دسته بندی: امنیت سایبری تعداد بازدید: 306

چگونه ویروس را با اسکریپت ویژوال بیسیک اجرا کنیم

برای اجرای یک ویروس را در  Startup سیستم می توانید از تکه کدی که با ترکیب زبان اسکریپت ویژوال بیسیک و  Abdal Autoit ساخته است این عمل را انجام دهید ، شاید سوال برای شما ایجاد شود که چرا این ترکیب را انجام داده ایم ، این موضوع بر می گردد به مسائل امنیتی سیستم عامل ویندوز . خیلی وقتها ویندوز در اجرای خودکار فایل های اجرایی که  گواهینامه امضای کد ندارد یا حداقل نا معتبر است ، محدودیت هایی قائل می شود ، با این ترفند شما می توانید فایل اجرایی خود را که گواهینامه امضای کد معتبری ندارد با اسکریپت ویژوال بیسیک اجرا کنید . اگر در مورد گواهینامه امضای کد اطلاعاتی ندارید اینجا کلیک کنید .

ابتدا با تکه کدی را که در دوره ویروس نویس با  Abdal Autoit ارائه شده آشنا شوید و سپس توضیح آن را شرح خواهیم داد

REM Programmer : Ebrahim Shafiei (EbraSha)

$vbFile = @StartupDir&"\virus.vbs"
$hVbFile= FileOpen($vbFile,1)
FileWrite($hVbFile,"Dim objShell"& @CRLF)
FileWrite($hVbFile,'Set objShell = WScript.CreateObject( "WScript.Shell" )'& @CRLF)
FileWrite($hVbFile,'objShell.Run("""'&@ScriptDir&"\file.exe"&'""")'& @CRLF)
FileWrite($hVbFile,"Set objShell = Nothing"& @CRLF)
FileClose($hVbFile)

البته، این تکه کد به زبان برنامه‌نویسی Abdal Autoit نوشته شده است تا با ایجاد یک فایل اسکریپت ویژوال بیسیک به اجرای خود در  Startup کمک کند . این اسکریپت یک اسکریپت ویژوال بیسیک (VBS) ایجاد می‌کند که یک فایل اجرایی را اجرا می‌کند. در اینجا توضیح داده شده است که هر خط از کد چه کاری انجام می‌دهد:

  1. $vbFile = @StartupDir&"\virus.vbs": این خط متغیر $vbFile را با مسیر فایل virus.vbs در دایرکتوری استارت‌آپ سیستم تعریف می‌کند. این به این معنی است که فایل virus.vbs در دایرکتوری که ویندوز در هنگام راه‌اندازی برنامه‌ها را اجرا می‌کند، قرار خواهد گرفت.

  2. $hVbFile= FileOpen($vbFile,1): این خط فایل مشخص شده در متغیر $vbFile را برای نوشتن باز می‌کند.

  3. FileWrite($hVbFile,"Dim objShell"& @CRLF): این دستور یک خط به فایل virus.vbs اضافه می‌کند که یک متغیر objShell تعریف می‌کند.

  4. FileWrite($hVbFile,'Set objShell = WScript.CreateObject( "WScript.Shell" )'& @CRLF): این خط objShell را به عنوان یک شیء از WScript.Shell مقداردهی می‌کند، که اجازه اجرای دستورات ویندوز را می‌دهد.

  5. FileWrite($hVbFile,'objShell.Run("""'&@ScriptDir&"\file.exe"&'""")'& @CRLF): این خط دستوری را به اسکریپت اضافه می‌کند که file.exe را از مسیر دایرکتوری اسکریپت اجرا می‌کند.

  6. FileWrite($hVbFile,"Set objShell = Nothing"& @CRLF): این خط متغیر objShell را خالی می‌کند.

  7. FileClose($hVbFile): این خط فایل را می‌بندد.

این کد برای ایجاد یک اسکریپت VBS است که یک فایل اجرایی را در Startup سیستم هدف اجرا می‌کند. استفاده از این نوع اسکریپت‌ها می‌تواند برای اهداف مخرب مانند ایجاد ویروس‌ها و بدافزار ها استفاده شود ، بنابراین باید با احتیاط و در چارچوب قوانین و مقررات اخلاقی استفاده شود.

Dim objShell چیست ؟

در زبان‌های برنامه‌نویسی مانند VBScript، عبارت Dim objShell برای تعریف یک متغیر به کار می‌رود. بیایید به تفصیل آن را بررسی کنیم:

  • Dim: این کلمه کوتاه‌شده‌ی Dimension است و در VBScript برای اعلام یک متغیر استفاده می‌شود. این دستور به برنامه می‌گوید که قصد دارید یک متغیر جدید تعریف کنید.

  • objShell: این نامی است که برای متغیر انتخاب شده است. این نام می‌تواند هر چیزی باشد، اما در این مورد، "objShell" به عنوان نام انتخاب شده است. این نام معمولاً برای نشان دادن اینکه متغیر مربوط به یک شیء شل (Shell Object) است، استفاده می‌شود.

در ادامه کد، objShell مقداردهی می‌شود تا یک نمونه (instance) از شیء WScript.Shell شود. این شیء برای اجرای دستورات و فرمان‌های سیستمی در محیط ویندوز استفاده می‌شود. به عنوان مثال، می‌توانید با استفاده از objShell برنامه‌ها را اجرا کنید، پنجره‌های دیالوگ ایجاد کنید، و دستورات دیگری که مربوط به سیستم عامل ویندوز هستند را اجرا کنید.

Set objShell چیست ؟

Set objShell در VBScript و سایر زبان‌های برنامه‌نویسی که از مدل شیء (Object Model) استفاده می‌کنند، برای ایجاد یک نمونه از یک شیء و مقداردهی به یک متغیر استفاده می‌شود. در این مورد خاص، Set objShell برای ایجاد یک نمونه از شیء WScript.Shell استفاده می‌شود. بیایید اجزای این دستور را تفکیک کنیم:

  • Set: این کلمه کلیدی در VBScript برای مقداردهی یک متغیر به یک شیء استفاده می‌شود. Set مشخص می‌کند که متغیر مورد نظر به یک شیء اشاره خواهد کرد، نه به یک داده‌ی ساده مانند یک عدد یا رشته.

  • objShell: این نام متغیری است که قبلاً با استفاده از Dim تعریف شده است. این متغیر برای نگهداری ارجاع به شیء WScript.Shell استفاده خواهد شد.

  • WScript.Shell: این یک کلاس در VBScript است که اجازه می‌دهد با محیط شل ویندوز تعامل داشته باشید. با استفاده از این شیء، می‌توانید برنامه‌های خارجی را اجرا کنید، به متغیرهای محیطی دسترسی داشته باشید، و دستورات سیستم عامل را اجرا کنید.

پس Set objShell = WScript.CreateObject("WScript.Shell") یک نمونه از شیء WScript.Shell ایجاد می‌کند و آن را در متغیر objShell ذخیره می‌کند. این امکان را فراهم می‌آورد تا از این شیء برای اجرای عملیات‌های مختلف مرتبط با سیستم عامل استفاده شود.

objShell.Run چیست ؟

objShell.Run یکی از متدهای موجود در شیء WScript.Shell در VBScript است که برای اجرای یک برنامه یا اسکریپت خارجی استفاده می‌شود. وقتی شما objShell.Run را فراخوانی می‌کنید، به طور اساسی به شیء WScript.Shell دستور می‌دهید که یک برنامه یا فرمان خاصی را اجرا کند. این متد برای اجرای برنامه‌هایی مانند فایل‌های اجرایی (.exe)، اسکریپت‌ها، و دستورات دیگری که از طریق خط فرمان ویندوز قابل اجرا هستند، مفید است.

در کد شما، خط زیر نشان داده شده است:

FileWrite($hVbFile,'objShell.Run("""'&@ScriptDir&"\file.exe"&'""")'& @CRLF)

 این خط به شیء objShell دستور می‌دهد که فایل اجرایی file.exe را که در همان دایرکتوری که اسکریپت شما در آن قرار دارد (@ScriptDir)، اجرا کند. علامت‌های نقل قول و ترکیب‌های رشته‌ای در این خط برای مشخص کردن مسیر دقیق فایلی که باید اجرا شود، استفاده می‌شوند.

استفاده از objShell.Run در اسکریپت‌های VBScript روشی رایج برای اجرای برنامه‌ها و اسکریپت‌های دیگر از طریق یک اسکریپت است. این توانایی می‌تواند بسیار قدرتمند باشد، اما همچنین می‌تواند برای اهداف مخرب مانند نرم‌افزارهای مخرب یا ویروس‌ها استفاده شود. بنابراین، همیشه باید هنگام کار با اسکریپت‌هایی که از این توانایی‌ها استفاده می‌کنند، احتیاط کنید.


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)