نصب سریع و بهینه Kali Linux بر روی Windows

تاریخ انتشار : 2021/04/04 | نویسنده : _SHRoot_

نصب سریع و بهینه Kali Linux بر روی Windows

همان طور که می دانید، یکی از موارد مورد نیاز هر هکری برای اجرای انواع تست ها و حملات، سیستم عامل Kali Linux است؛ چرا که خیلی از ابزارهای مورد نیاز رو به صورت یکپارچه شامل می شود. اما در اکثر مواقع، هکرها با شرایطی مواجه هستند که سیستم عامل اصلی کامپیوتری که برای تست در اختیارشان قرار گرفته، Windows هست. در این مواقع دو راهکار عمدتاً توسط هکرها مورد استفاده قرار می گیرد. یا Kali Linux را به صورت Dual Boot بر روی سیستم نصب می کنند (یا به صورت Live از آن استفاده می کنند)، و یا این که Kali را به عنوان یک VM بر روی Windows نصب می کنند تا همزمان به دو سیستم عامل دسترسی داشته باشند و از مزایای هر کدام بهره مند بشوند.

اما معایب این دو روش چی هست؟

  • - اولین مسئله ای که وجود دارد، زمان بر بودن هر یک از حالات هست (البته به غیر از Live بالا آوردن Kali که این روش هم از نظر این که با خاموش شدن سیستم، اطلاعات از بین می رود خیلی کاربردی نیست)!
  • - مشکل دومی که وجود دارد، این هست که برای نصب یک نسخه VM از Kali، فضای زیادی نیاز داریم تا با پیشرفت پروژه هم، Kali از فضای کافی برخوردار باشد.
  • - اگر به غیر از Kali، چندین VM دیگر بر روی سیستم مورد نیاز باشد، ممکن هست که با اختلال عملکرد مواجه بشویم.
  • - معمولاً  boot شدن VM ها کمی زمان بر هست.
  • - برای انتقال VM به یک سیستم دیگر، زمان و فضای ذخیره سازی زیادی نیاز هست!
  • - ...

اما روشی که می تواند نیاز هکرها را برای دسترسی داشتن به ابزارهای مفید سیستم عامل Kali پاسخ بدهد و معایبی که در بالا به آنها اشاره شد را هم نداشته باشد، استفاده از مکانیزم Docker هست. اما قبل از این که توضیح بیشتری داده شود، مروری بر مفهوم Docker خواهیم داشت.

 

Docker چیست؟

به صورت کلی، Docker ابزاری است که برای اتوماتیک کردن فرآیند توسعه نرم افزارها در قالب سبک (lightweight) container مورد استفاده قرار می گیرد. بدین ترتیب می توان نرم افزارهای توسعه یافته را بدون مشکل بر روی انواع سیستم ها و محیط های مختلف اجرا نمود.

در این تعریف، مفهوم container عبارت است از بسته های نرم افزاری که در اصل، تمامی dependency های مورد نیاز برنامه ها را برای اجرا، شامل می شود. بنابراین هر برنامه برای اجرا شدن، container های مخصوص خودش را توسط Docker Engine می سازد و برنامه ها در یک محیط ایزوله ای اجرا می شوند.

Docker از ساختار client-server ای استفاده می کند که به کمک REST API با یکدیگر ارتباط برقرار می کنند. به بیان دقیق تر، در این ساختار، client سرویسی است که دستورات مورد نیاز را (از طریق خط فرمان سیستم) اجرا می کند و REST API، آن را برای Server ترجمه و ارسال می کند. در نهایت Server نیز با سیستم عامل به منظور ساخت و مدیریت container نرم افزارها ارتباط برقرار می کند.

برای ساخت container های مورد نیاز برنامه های گوناگون، از دستورالعمل های موجود در Docker Image ها استفاده می شود که توسط فایلی تحت عنوان Docker File ساخته می شوند. Docker Image های ساخته شده نیز در نهایت، بسته به این که می توانند توسط سایرین مورد استفاده قرار گیرند یا خیر، در repository های مرتبط (به صورت public یا private) ذخیره می شوند.

بنابر تمام توضیحات فوق، برای بهره مندی از سیستم عامل Kali بر روی کامپیوتری که سیستم عامل اصلی آن Windows است، بهتر است که از نسخه Docker Image سیستم عامل Kali استفاده کرد. چرا که بدین ترتیب، در چندین دقیقه سیستم عامل Kali با تمام قابلیت های مورد نیاز هکر در دسترس او است و دیگر نیازی به نصب زمان بر آن به صورت VM وجود ندارد.

 

مزایای استفاده از Docker در مقایسه با Virtual Machine ها

بنابر توضیحاتی که در خصوص مفهوم Docker ارائه شد، می توان نتیجه گرفت که:

  • - Docker به فضای کمتری برای اجرای نرم افزارها/سیستم عامل ها احتیاج دارد.
  • - زمان بالا آمدن سیستم عامل Kali در این حالت، نسبت به VM کمتر است.
  • -  نسبت به حالت VM که با تخصیص منابع سخت افزاری سیستم همراه است، Kali از عملکرد بهتری برخوردار است.
  • - به راحتی می توان Docker Image های مورد استفاده قرار گرفته (حتی شخصی سازی شده) را به سایر سیستم ها انتقال داد.
  • بنابراین می توان استفاده از Docker Image مربوط به سیستم عامل Kali را جایگزین روش نصب ماشین مجازی آن یا سایر روش ها نمود تا سریع تر و بهینه تر بتوان به نرم افزارها و ابزارهای موجود در آن دست یافت. در ادامه مراحل مورد نیاز برای نصب Kali Docker Image به همراه جزئیات آورده شده است.
  •  

 مراحل نصب Kali Docker Image بر روی Windows 

مرحله اول: ابتدا با وارد کردن عبارت “optionalfeatures” در پنجره Win+R، لیست feature های موجود بر روی سیستم را باز می کنیم و گزینه “Containers” را علامت می زنیم و آن را نصب می کنیم.

 

 

 پس از نصب باید سیستم را restart کنیم.

مرحله دوم: فایل Docker Desktop را برای Windows از لینک زیر دانلود و نصب می کنیم:

https://docs.docker.com/docker-for-windows/install/

توجه: برای این که بتوان از این روش استفاده کرد، باید Windows شما یکی از نسخه های 64 بیتی Windows 10 Enterprise، Windows 10 Pro و یا Windows Home with WLS 2 باشد.

توجه: ممکن است پس از نصب، با خطای به روزرسانی WSL2 (Windows Subsystem for Linux) مواجه شوید که برای رفع آن کافی است فایل زیر را دانلود و نصب کنید:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

اما در صورتی که از سیستم ARM64 استفاده می کنید، از لینک زیر استفاده نمایید:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi

 

مرحله سوم: از در حال اجرا بودن سرویس Docker بر روی سیستم خود اطمینان حاصل نمایید.

مرحله چهارم: powershell را با دسترسی Run-As-Administrator باز نمایید و دستور زیر را برای pull کردن  سیستم عامل Kali اجرا نمایید:

docker pull kalilinux/kali-rolling

 

مرحله پنجم: با استفاده از دستور زیر، یک خط فرمان تعاملی با kali نصب شده خواهیم داشت:

docker run -it kalilinux/kali-rolling /bin/bash

 

 

مرحله ششم: در این مرحله کافی است هر package که به آن نیاز داریم را نصب نماییم. به عنوان نمونه Metasploit:

 

 

مرحله هفتم: برای این که مطمئن شویم Kali نصب شده به درستی کار می کند، کافی است به عنوان نمونه، آسیب پذیری MS17_010 را توسط Metasploit بر روی سیستم قربانی بررسی نماییم:

 

 

همان طور که ملاحظه شد، به درستی scan انجام شده و سیستم قربانی، آسیب پذیر شناسایی شده است.