امروزه، بسیاری از کاربران به سیستم عاملهای مبتنی بر لینوکس علاقهمند شدهاند و مشتاق یادگیری نحوه کار با آن هستند. یکی از توزیعهای محبوب این سیستم عامل، کالی لینوکس (Kali Linux) است که در زمینههای مختلف به ویژه تست نفوذ (Penetration Test) در امنیت شبکه به کار میرود. افراد میتوانند با کمک یک دوره کالی لینوکس جامع، مهارتهای خود را در این زمینه افزایش دهند. در این مقاله ابتدا دوره کالی لینوکس معرفی میشود و در بخشهای بعدی، برخی از ابزارهای کاربردی این سیستم عامل به طور جامع مورد بررسی قرار داده خواهند شد.
کالی لینوکس چیست؟
کالی لینوکس یک توزیع محبوب لینوکس در حوزه امنیت سایبری به حساب میآید که از سیستم عامل Debian مشتق شده است و به طور خاص، برای تست نفوذ پیشرفته و بازرسی امنیتی (Security Auditing) به کار میرود. کالی لینوکس از طریق بازنویسی سیستم عامل BackTrack توسط Mati Aharoni و Devon Kearns ساخته شده است. در کالی لینوکس چندین ابزار کاربردی ارائه میشوند که با کمک آنها، طراحی وظایف مختلف مربوط به امنیت اطلاعات، مانند تست نفوذ، بازرسی امنیتی، جرمیابی قانونی دیجیتال، مهندسی معکوس و سایر موارد به خوبی قابل پیادهسازی هستند.
اولین نسخه کالی در فروردین سال ۹۲ (مارس 2013 میلادی) معرفی شد. در حال حاضر، شرکت Offensive Security تامین مالی و پشتیبانی از لینوکس کالی را برعهده دارد. Kali Linux یک محصول متن باز به حساب میآید که امکان سفارشیسازی و قابلیتهای بسیاری را شامل میشود. این قابلیتهای ویژه در کالی لینوکس برای سازمانهای تجاری جهت کشف آسیبپذیریهای زیرساخت شبکه بسیار کاربردی هستند.
کاربرد کالی لینوکس چیست ؟
کالی لینوکس دارای بیش از ۶۰۰ اپلیکیشن از قبل نصب شده برای تست نفوذ است. هر برنامه با انعطافپذیری و کاربرد منحصر به فرد خود مورد استفاده قرار میگیرد. در واقع، توزیع کالی لینوکس به گونهای طراحی شده است که با استفاده از آن، بین ابزارهای مفید تمایز ایجاد میشود.
در ادامه به برخی از کاربردهای سیستم عامل کالی لینوکس اشاره میشود.
- جمعآوری اطلاعات (Information Gathering)
- تجزیه و تحلیل آسیبپذیری (Vulnerability Analysis)
- حملات بیسیم (Wireless Attacks)
- وب اپلیکیشنها (Web Applications)
- ابزارهای باج گیری (Exploitation Tools)
- تست استرس (Stress Testing)
- جرمیابی قانونی دیجیتال (Digital Forensics Tools)
- استراق سمع و جعل (Sniffing & Spoofing)
- حملات رمز عبور (Password Attacks)
- حفظ دسترسی (Maintaining Access)
- مهندسی معکوس (Reverse Engineering)
- ابزارهای گزارشدهی (Reporting Tools)
- هک سختافزار (Hardware Hacking)
در این بخش از مقاله به برخی از کاربردهای کالی لینوکس و آموزشهای مرتبط با آن اشاره شد. حال ممکن است این سوال پیش بیاید که چه کسانی از کالی لینوکس به صورت حرفهای استفاده میکنند. در بخش بعدی از مقاله «دوره کالی لینوکس» به این سوال پاسخ داده خواهد شد.
چرا و چه کسانی از کالی لینوکس استفاده میکنند؟
در این بخش مقدماتی از معرفی دوره کالی لینوکس ، علت استفاده از این سیستم عامل مورد بررسی قرار میگیرد. اساساً کالی لینوکس یک سیستم عامل منحصر به فرد به حساب میآید؛ چون کالی لینوکس یکی از معدود پلتفرمهایی است که هم افراد خوب و هم افراد بد، آشکارا از آن استفاده میکنند. این یعنی، مدیران امنیت (Security Administrators) و هکرها هر دو به طور گسترده سیستم عامل کالی لینوکس را به کار میبرند.
در واقع، کالی لینوکس برای مدیران امنیت به منظور شناسایی و جلوگیری از نقصهای امنیتی و برای هکرها جهت شناسایی و احتمالاً بهرهبرداری از رخنههای امنیتی کاربرد دارد. تعداد ابزارهای پیکربندی و از پیش نصب شده روی کالی لینوکس باعث میشوند که این سیستم عامل به یک ابزار مفید برای هر نوع کاربرد حرفهای امنیت شبکه تبدیل شود.
چه افرادی از کالی لینوکس استفاده میکنند؟
کالی لینوکس توسط بسیاری از افراد حرفهای مورد استفاده قرار میگیرد. در ادامه به برخی از آنها پرداخته شده است:
- مدیران امنیت (Security Administrators): مدیران امنیتی مسئول حفاظت از اطلاعات و دادههای شرکت خود هستند. آنها از کالی لینوکس برای بررسی محیطها (Environments) و اطمینان از عدم وجود آسیبپذیریهای قابل کشف استفاده میکنند.
- مدیران شبکه (Network Administrators): مدیران شبکه مسئول حفظ یک شبکه به صورت کارآمد و ایمن هستند. آنها از کالی لینوکس برای بازرسی شبکه خود استفاده میکنند. به عنوان مثال، کالی لینوکس توانایی شناسایی نقاط دسترسی سرکش (Rogue Access Points) را دارد.
- معماران شبکه (Network Architects): معماران شبکه، مسئول طراحی محیطهای شبکه ایمن هستند. آنها از کالی لینوکس برای بررسی طرحهای اولیه خود استفاده میکنند و بدین طریق، اطمینان حاصل میکنند که هیچ موردی نادیده گرفته نشده یا پیکربندی نادرستی وجود نداشته باشد.
- تست کنندگان نفوذ (Pen Testers): این افراد از کالی لینوکس برای بازرسی محیطها و انجام شناسایی در محیطهای شرکتی استفاده میکنند و جهت بررسی آسیبپذیری زیرساخت شبکه یک سازمان استخدام میشوند.
- افسران ارشد امنیت اطلاعات (CISO): یک افسر CISC یک مقام اجرایی ارشد است که مسئولیت توسعه و پیادهسازی یک برنامه امنیت اطلاعات را بر عهده دارد که شامل دستورالعملها و خط مشیهای طراحی شده برای حفاظت از ارتباطات سازمانی، سیستمها و داراییها در برابر تهدیدهای داخلی و خارجی میشود.
- مهندسان جرمیابی قانونی دیجیتال (Forensic Engineers): کالی لینوکس دارای یک «حالت جرمیابی قانونی دیجیتال» (Forensic Mode) است. Forensic Mode به مهندسان جرمیابی قانونی این امکان را میدهد که در برخی موارد، اطلاعات را کشف و بازیابی کنند.
- هکرهای کلاه سفید (White Hat Hackers): هکرهای کلاه سفید، مشابه تست کنندگان نفوذ از Kali Linux برای بررسی و کشف آسیبپذیریهایی استفاده میکنند که ممکن است در یک محیط وجود داشته باشند.
- هکرهای کلاه سیاه (Black Hat Hackers): هکرهای کلاه سیاه نیز از کالی لینوکس برای کشف و بهرهبرداری از آسیبپذیریها استفاده میکنند. همچنین، کالی لینوکس دارای برنامههای مهندسی اجتماعی متعددی است که امکان استفاده از آنها توسط یک هکر کلاه سیاه جهت به خطر انداختن یک سازمان یا فرد وجود دارد.
- هکرهای کلاه خاکستری (Grey Hat Hackers): هکرهای کلاه خاکستری بین هکرهای کلاه سفید و کلاه سیاه قرار دارند. آنها از کالی لینوکس با همان روشهای ذکر شده در بالا استفاده میکنند.
- علاقهمندان به رایانه (Computer Enthusiast): یک اصطلاح کاملاً عمومی است، اما هر کسی که علاقهمند به یادگیری بیشتر در مورد شبکه یا رایانه است، به طور کلی، میتواند از Kali Linux برای کسب اطلاعات بیشتر در مورد فناوری اطلاعات، شبکه و آسیب پذیریهای رایج استفاده کند.
اما چرا دوره کالی لینوکس مفید است؟ در بخش بعدی این مقاله به این سوال پاسخ داده خواهد شد.
چرا دوره کالی لینوکس مفید است؟
کالی لینوکس اصلیترین ابزار حرفهای برای تست نفوذ به شمار میرود و در آن صدها ماژول برای اسکن، بهرهبرداری، بارگذاری و بهرهبرداری مجدد وجود دارند. از این رو، افراد علاقهمند به حوزه امنیت شبکه، به ویژه تست نفوذ میتوانند با کمک دوره کالی لینوکس مهارت خود را در این حوزه افزایش دهند.
در ادامه این بخش از مقاله، به برخی از دلایل شاخص اهمیت دوره کالی لینوکس و یادگیری آن پرداخته شده است.
- کالی لینوکس بهترین پلتفرم مورد استفاده برای هک به حساب میآید؛ چرا که کالی لینوکس حاوی بیش از ۶۰۰ ابزار تست نفوذ است. لازم به ذکر است که هکرهای اخلاقی نیز استفاده از کالی لینوکس را ترجیح میدهند.
- دوره کالی لینوکس به عنوان یکی از آموزشهای کاربردی و مفید در یادگیری برنامه نویسی به حساب میآید. چون این سیستم عامل یکی از بهترین توزیعهای مبتنی بر لینوکس محسوب میشود.
- سیستم عامل کالی لینوکس بسیار سبک است و نیازی به سخت افزار رده بالا ندارد.
- امکان اجرای کالی لینوکس در Raspberry Pi به سادگی وجود دارد.
- کالی لینوکس به صورت کاملاً رایگان ارائه شده است.
- کالی لینوکس دارای ویژگیهای گیت (Git) به صورت متن باز است.
- در کالی لینوکس بستههای امضا شده GPG وجود دارند.
- قابلیت پشتیبانی از دستگاههای بیسیم در کالی لینوکس فراهم شده است.
- در کالی لینوکس، ARMEL و ARMHF پشتیبانی میشود.
با توجه به دلایل فوق، مشخص است که دوره کالی لینوکس و آموزشهای آن به عنوان یک مهارت کاربردی و آیندهدار برای افراد علاقهمند اهمیت دارد و مفید واقع خواهد شد. در ادامه مطلب «معرفی دوره کالی لینوکس» به رایجترین گواهینامه موجود برای این سیستم عامل پرداخته شده است.
گواهینامههای رایج دوره کالی لینوکس کدامند؟
با توجه به اینکه دوره کالی لینوکس محبوبیت خاصی در میان طرفداران این سیستم عامل دارد، ممکن است این سوال پیش بیاید که آیا گواهینامه معتبری برای دوره کالی لینوکس وجود دارد؟ به منظور پاسخ دادن به این سوال، این بخش از مقاله به معرفی گواهینامه حرفهای دوره کالی لینوکس اختصاص داده میشود.
گواهینامه حرفهای KLCP اولین و تنها برنامه رسمی صدور گواهینامه است که با استفاده از آن، مهارت فرد در زمینه کالی لینوکس تایید میشود. در صورتی که فرد در زمینه امنیت اطلاعات تازهکار است و در سطح مبتدی فعالیت میکند یا به دنبال برداشتن اولین گامهای خود به سمت یک حرفه جدید در این حوزه باشد، KLCP یک گواهینامه کلیدی و مفید برای این شخص به حساب میآید.
گواهینامه دوره کالی لینوکس یا همان KLCP بر اساس فلسفه «قبل از اینکه بتوانید بدوید، باید راه بروید» ساخته شده است. این یعنی با کسب این گواهی دوره کالی لینوکس ، تجربه مستقیمی از محیط کار فراهم میشود. به طوری که همزمان با انجام هر کار حرفهای در این حوزه، پایه محکمی به سوی آینده بنا نهاده خواهد شد. علاوه بر این، کسانی که با دوره کالی لینوکس آشنا هستند و تجربه کار در محیطهای مبتنی بر لینوکس را دارند با ورود به برنامه Offensive Security PWK در آزمون اصلی OSCP نیز عملکرد بهتری از خود به نمایش خواهند گذاشت.
KLCP برای افرادی که قبلاً در این زمینه تجربه دارند به عنوان یک دوره کالی لینوکس جامع در مورد این توزیع به حساب میآید. در این دوره کالی لینوکس مباحثی مانند نحوه ساخت بستههای سفارشی، مخازن میزبانی، مدیریت و هماهنگسازی چندین نمونه، ساخت ISOهای سفارشی و بسیاری از مباحث دیگر شرح داده میشوند. داشتن گواهینامه KLCP به این معنی است که بر توزیع تست نفوذ کالی لینوکس تسلط کافی وجود دارد و فرد آمادگی لازم برای ارتقا مهارتهای مربوط به امنیت اطلاعات به سطح بعدی را دارد. معمولاً آزمون KLCP از طریق مراکز آزمون Pearson VUE در سراسر جهان در دسترس است. به منظور آشنایی با سرفصلهای دوره کالی لینوکس در ادامه تعدادی از آنها معرفی شدهاند.
سرفصل های دوره کالی لینوکس
در صورتی که افراد به تست نفوذ و هک اخلاقی علاقه داشته باشند، دوره کالی لینوکس نقطه آغاز مناسبی برای شروع آموزش آنها به حساب میآید. به طور کلی، معمولاً مباحثی همچون اصطلاحات و اطلاعات پس زمینه مربوط به دوره کالی لینوکس ، ناوبری ترمینال، سیستم فایل و دستورات دانلود و نصب کالی لینوکس، مدیریت خدمات، تنظیمات شبکه، عیبیابی، مقدمهای بر منابع و ابزارهای تست امنیت، همگی در دوره کالی لینوکس بررسی میشوند.
دوره کالی لینوکس یک آموزش پایه است که برای ارائه اصول اولیه توزیع، نصب، عیبیابی و ناوبری کالی لینوکس ارائه میشود. سرفصلهای دوره کالی لینوکس میتوانند در دورههای آموزشی، موسسات و دانشگاههای گوناگون متفاوت باشند. با این وجود، برخی از این مباحث و سرفصلها در انواع دوره کالی لینوکس مشترک هستند.
در ادامه به برخی از عناوین و مباحثی اشاره میشود که در دوره کالی لینوکس مورد بررسی قرار میگیرند.
- ابزارهای دوره کالی لینوکس در حوزه Information Gathering
- Dnmap
- Demitry
- Whois
- Maltego
- Netdiscover
- Nmap
- P0f
- Recon-Ng
- ابزارهای دوره کالی لینوکس در حوزه Web Application Analysis
- Burpsuit
- Commix
- Httrack
- Paros
- Skilfish
- Sqlinjection
- Sqlmap
- Wpscan
- ابزارهای دوره کالی لینوکس در حوزه Database Assessment
- Hexorbase
- JSQL Injection
- Oscaner
- Sqlite
- Sqlsus
- Tnscmd10g
- ابزارهای دوره کالی لینوکس در حوزه Password Attack
- Cewl
- Crunch
- Hashcat
- John
- Johny
- Medusa
- Ncrack-Ng
- Ophcrack
- ابزارهای دوره کالی لینوکس در حوزه Wireless Hacking
- Aircrack-Ng
- Chirp
- Fern
- Cowpatty
- Ghost Phisher
- Kisment
- MDK3
- ابزارهای دوره کالی لینوکس در حوزه Reverse Engineering
- Apktool
- Clang
- Hex2Jar
- Edb
- Flasm
- Jad
- ابزارهای دوره کالی لینوکس در حوزه Exploitation
- Armitage
- Beef
- Metasploit
- Searchsploit
- Termineter
- Msfpayload
- ابزارهای دوره کالی لینوکس در حوزه Sniffing & Spoofing
- Wireshark
- Responder
- Netsniff
- MITM
- Machchanger
- Ethercap
- Drifnet
- ابزارهای دوره کالی لینوکس در حوزه Post Exploitaion
- Backdoor Factory
- Bdfproxy
- Exe2hex
- Mimikatz
- Nishang
- Powersploit
- Proxychain
- ابزارهای دوره کالی لینوکس در حوزه Forensic
- Autospy
- Binwalk
- Bulk-Extractor
- Chrootkit
- Galleta
- Volafox
- Hashdeep
- ابزارهای دوره کالی لینوکس در حوزه Reporting Tools
- Cutycapt
- Dradis
- Faraday IDE
- Maltego
- Pipal
- Recordmydesktop
- ابزارهای دوره کالی لینوکس در حوزه Social Engineering
- Backdoor
- Beef Xss
- Ghostphisher
- Social Engineering Toolkit
- U3-Pawn
- توضیحات مربوط به بخشهای System Services و Usual Applications
پیش نیازهای دوره کالی لینوکس چه هستند؟
برای شرکت در دوره کالی لینوکس نیاز به آموزشهای پیشین نیست. با این وجود، لازم است شخص شرکت کننده دانش اولیه و پایه در مورد سخت افزار، شبکه و اصطلاحات فنی را داشته باشد.
نیازمندیهای سیستمی برای دوره کالی لینوکس
توسعه دهندگان کالی لینوکس اطلاعات رسمی زیادی در مورد مشخصات سیستم توصیهشده ارائه نمیدهند. با استفاده از اطلاعات محدودی که موجود است، موارد زیر به عنوان نیازمندیهای لازم سیستم مورد نیاز برای اجرای کالی لینوکس فهرست شدهاند.
لازم به ذکر است که اجرای آن با محیط پیشفرض دسکتاپ Xfce و متاپکیج kali-linux-default مد نظر است، چون در آن اغلب ابزارهای کاربردی قرار دارند.
- 2 گیگابایت RAM
- 20 گیگابایت فضای دیسک
- پردازنده 32 یا 64 بیتی (تک هسته ای) با سرعت 2 گیگاهرتز یا بهتر
- اتصال به اینترنت پهن باند
در فهرست بالا دو مورد ابتدایی مواردی هستند که به طور خاص توسط شرکت کالی توصیه و بقیه مشخصات، از تجربه شخصی و بر اساس الزامات سایر توزیعهای لینوکس گردآوری شدهاند. داشتن این مشخصات تضمین میکند که میتوان از تمام ویژگیهای دوره کالی لینوکس و این سیستم عامل استفاده کرد.
علاوه بر این، امکان انجام چندین کار به صورت موازی نیز وجود دارد. شکستن رمز عبور و سایر کارهای هک اخلاقی به دلیل استفاده زیاد از قدرت CPU شناخته شده هستند، بنابراین هنگام استفاده از اجزای قدرتمندتر، طبیعتاً نتایج بهتری دریافت خواهد شد. در ادامه مقاله «معرفی دوره کالی لینوکس» نحوه نصب و راهاندازی کالی لینوکس به طور جامع و به همراه تصویر شرح داده میشود.
روشهای نصب کالی لینوکس
روشهای مختلفی برای نصب کالی لینوکس وجود دارند که در این بخش از مطلب «دوره کالی لینوکس» مورد بررسی قرار داده میشوند.
- نصب مستقیم روی رایانه شخصی و لپ تاپ: با استفاده از فایل ایزو (ISO Image) میتوان به طور مستقیم کالی لینوکس را روی رایانه شخصی یا لپتاپ نصب کرد. در صورت داشتن یک کامپیوتر اضافه و آشنایی با دوره کالی لینوکس، این روش بهترین رویکرد ممکن است. علاوه بر این، در صورت نیاز به انجام هر گونه تست نقطه دسترسی، نصب مستقیم کالی لینوکس روی لپتاپ دارای Wi-Fi فعال، پیشنهاد میشود.
- نصب به صورت مجازی شده: امکان استفاده از Oracle VirtualBox ،Hyper-V ،VMware و Citrix وجود دارد. اکثر هایپروایزرهای شناخته شده در کالی لینوکس پشتیبانی میشوند و به واسطه این ویژگی، میتوان آن را به راحتی در محبوبترین هایپروایزرها استفاده کرد. به منظور به کارگیری فایلهای ISO یا تصاویر از پیش پیکربندی شده، لازم است به سایت کالی رجوع شود. البته باید توجه کرد که ISO برای نصب سیستم عامل به صورت دستی در هایپروایزر مد نظر کاربرد دارد.
- فضای ابری (Cloud): هم Amazon AWS و هم Microsoft Azure در این زمینه مورد استفاده قرار میگیرند. با توجه به محبوبیت کالی لینوکس، در هر دوی AWS و Azure، یک image برای کالی لینوکس ارائه شده است.
- دیسک راهاندازی USB: با استفاده از ISO کالی لینوکس، میتوان یک دیسک بوت ایجاد کرد. در چنین شرایطی، امکان بهرهوری از آن بدون نصب واقعی این سیستم عامل وجود دارد.
- نصب روی Window 10 (اپلیکیشن): در حال حاضر، امکان اجرای کالی لینوکس به صورت بومی روی ویندوز 10 و از طریق خط فرمان وجود دارد. با توجه به اینکه این روش در نسخه Beta ارائه شده است، هنوز همه ویژگیها در آن قابل استفاده نیستند.
- نصب روی مک (دوگانه یا تک بوت): میتوان کالی لینوکس را به عنوان سیستم عامل ثانویه یا به عنوان سیستم عامل اصلی، روی سیستمهای مک نصب کرد. برای پیکربندی این تنظیمات در سیستمهای مک، امکان به کارگیری قابلیت Parallels یا بوت وجود دارد.
چگونه با استفاده از Virtual Box کالی لینوکس را نصب کنیم؟
در این بخش از مقاله «دوره کالی لینوکس»، نحوه استفاده و فرآیند نصب کالی لینوکس با استفاده از Virtual Box به صورت مرحله به مرحله و جامع شرح داده میشود. تقریباً سادهترین و رایجترین روش مورد استفاده برای نصب کالی لینوکس استفاده از VirtualBox اوراکل است. در ادامه به این روش پرداخته خواهد شد.
این روش به کاربر این امکان را میدهد که در حین کار با سیستم عامل قدرتمند کالی لینوکس در یک «محیط کاملاً ایزوله»، به استفاده از سختافزار موجود خود ادامه دهد. از همه مهمتر، امکان استفاده از کالی لینوکس و VirtualBox اوراکل به طور کاملاً رایگان وجود دارد. لازم به ذکر است که این دوره کالی لینوکس با این فرض نوشته میشود که قبلاً ماشین مجازی اوراکل روی سیستم مورد نظر نصب و مجازیسازی 64 بیتی از طریق Bios فعال شده است.
- مرحله اول: در وهله اول لازم است به سایت کالی لینوکس رجوع شود. در ادامه، باید ایمیج OVA را دانلود کرد. لازم به ذکر است که امکان وارد کردن (Import) ایمیج OVA در VirtualBox وجود دارد.
- مرحله دوم: حال پس از باز کردن اپلیکیشن VirtualBox اوراکل، باید از زبانه File، گزینه Import Appliance انتخاب شود. به منظور درک بهتر این مرحله به تصویر زیر توجه شود.
- مرحله سوم: در این مرحله یک صفحه تحت عنوان «Appliance to Import» نمایش داده میشود. به منظور باز کردن فایل OVA باید محل آن را وارد و سپس گزینه Open را انتخاب کرد. در ادامه، تصویر مربوط به این مرحله قابل مشاهده است.
- مرحله چهارم: پس از کلیک روی Open، دوباره صفحه مربوط به Appliance to Import باز میشود. اکنون لازم است روی دکمه Next کلیک شود. تصویر این گام از نصب و راهاندازی کالی لینوکس در ادامه قابل مشاهده است.
- مرحله پنجم: صفحه Appliance Settings که در ادامه قرار دارد، خلاصهای از تنظیمات سیستم را نشان میدهد. میتوان از تنظیمات پیشفرض استفاده کرد. همانطور که در تصویر زیر نشان داده شده است، لازم است محل قرارگیری VirtualBox را در نظر گرفته و سپس روی Import کلیک کرد.
- مرحله ششم: حال به واسطه استفاده از این ویرچوال باکس، OVA Appliance کالی لینوکس Import میشود. باید توجه داشت که ممکن است این فرآیند زمانی بین 5 تا 10 دقیقه طول بکشد. به منظور درک بهتر، میتوان به تصویر زیر توجه کرد.
- مرحله هفتم: اکنون که کالی لینوکس با موفقیت در VirtualBox نصب شده است، لازم است ماشین مجازی (VM) کالی لینوکس در کنسول VirtualBox مشاهده شود. در ادامه به کالی لینوکس و برخی از مراحل اولیه برای اجرا پرداخته میشود.
- مرحله هشتم: حال لازم است روی گزینه Kali Linux VM از بخش داشبورد VirtualBox و در ادامه، روی Start کلیک شود. با این کار سیستم عامل کالی لینوکس بوت میشود. به منظور آشنایی بیشتر با این مرحله از نصب و راهاندازی کالی لینوکس، میتوان از تصویر زیر به عنوان راهنما استفاده کرد.
- مرحله نهم: حال در صفحه مربوط به ورود، لازم است واژه «Root» به عنوان نام کاربری وارد و سپس، روی دکمه Next کلیک شود. در ادامه تصویر صفحه ورود قرار دارد.
- مرحله دهم: در این بخش باید از واژه «toor» به عنوان رمز عبور استفاده شود. پس از وارد کردن کلیدواژه عبور، با کلیک روی دکمه Sign In این راهاندازی تکمیل میشود. در نهایت مشابه تصویر زیر، دسکتاپ رابط کاربری گرافیکی مربوط به کالی لینوکس روی صفحه نمایش داده خواهد شد. به این ترتیب، در این بخش از مقاله «دوره کالی لینوکس» نحوه نصب این سیستم عامل با موفقیت و به طور مرحله و مرحله مورد بررسی قرار گرفت.
شروع کار با رابط کاربری گرافیکی کالی لینوکس
در این بخش از مقاله «دوره کالی لینوکس» برخی از سربرگهای مهمی اشاره میشود که آشنایی با آنها ضرورت دارد. سربرگهای Application ،Places و Kali Linux Dock بخشهای کاربردی این محیط به حساب میآیند.
به منظور درک بهتر کاربرد بخشهای مختلف رابط گرافیک کاربری این سیستم عامل، میتوان به تصویر زیر توجه کرد.
سربرگ Application
با استفاده از سربرگ Application، یک فهرست بازشو گرافیکی از همه برنامهها و ابزارهای از پیش نصب شده روی کالی لینوکس ارائه میشود. مرور و بررسی سربرگ Application یک راه عالی برای آشنایی با سیستم عامل غنی شده کالی لینوکس است. از جمله اپلیکیشنهایی که در این دوره کالی لینوکس مورد بحث قرار خواهند گرفت، Nmap و Metasploit هستند.
برنامههای کاربردی در دستههای مختلفی قرار میگیرند؛ با کمک این ویژگی، جستجوی یک برنامه بسیار آسانتر خواهد شد. در ادامه به بررسی چگونگی دسترسی به Application پرداخته میشود.
- کلیک روی سربرگ Application
- جستجو (Browse) در یک گروه مورد علاقه
- کلیک روی اپلیکیشن مد نظر
سربرگ Places
مشابه هر رابط گرافیکی کاربری موجود در هر سیستم عامل دیگری، از جمله ویندوز یا مک، دسترسی آسان به پوشهها، تصاویر و اسناد یک ضرورت است. این دسترسی آسان در کالی لینوکس توسط سربرگ Places ارائه میشود. لازم به ذکر است که این قابلیت برای هر سیستم عاملی حیاتی به حساب میآید و کاربردهای متعددی دارد.
به طور پیشفرض، منوی Places زیرمنوهای مختلفی همچون Computer ،Videos، Pictures ،Music ،Downloads ،Documents ،Desktop ،Home و Browse Network را دارد. در ادامه نحوه دسترسی به places شرح داده میشود.
- کلیک روی سربرگ Places
- انتخاب محلی که دسترسی به آن مورد نیاز است
بخش Kali Linux Dock
کارکرد بخش Kali Linux Dock مشابه داک در مک یا نوار وظیفه در مایکروسافت ویندوز است. با استفاده از داک کالی لینوکس امکان دسترسی سریع به موارد پرکاربرد فراهم میشود. در ادامه به نحوه حذف آیتم از داک کالی لینوکس در دو مرحله اشاره خواهد شد.
- راست کلیک روی آیتم مورد نظر برای حذف
- انتخاب گزینه Remove From Favorites
به منظور اضافه کردن یک آیتم به داک کالی لینوکس، مراحل زیر ضروری هستند. در حقیقت، افزودن یک آیتم به داک بسیار شبیه به حذف یک آیتم از آن است.
- مرحله 1) در وهله اول باید روی دکمه Show Applications در پایین Dock کلیک شود.
- مرحله 2) حال لازم است اپلیکیشن مورد نظر انتخاب شود.
- مرحله 3) اکنون با کلیک راست و انتخاب Add to Favorites، آیتم مورد نظر به داک اضافه خواهد شد.
زمانی که مراحل فوق طی شوند، صفحهای مشابه تصویر زیر نمایش داده خواهد شد.
با توجه به اینکه تست نفوذ به طور ویژه مورد توجه کاربران لینوکس قرار گرفته است، بخش بعدی از مقاله «دوره کالی لینوکس» به مفاهیم مرتبط با آن اختصاص داده میشود.
معرفی ابزارهای جمع آوری اطلاعات در دوره کالی لینوکس
در این بخش از مقاله «دوره کالی لینوکس» به برخی از ابزارهای جمعآوری اطلاعات موجود در این سیستم عامل پرداخته میشود.
ابزار NMAP و ZenMAP
دو ابزار مفید NMAP و ZenMAP برای مرحله اسکن هک اخلاقی در کالی لینوکس به کار میروند. به طور کلی، NMAP و ZenMAP یک ابزار به حساب میآیند، با این تفاوت که NMAP در خط فرمان مورد استفاده قرار میگیرد و ZenMAP دارای رابط کاربری گرافیکی (GUI) است. در واقع، NMAP یک ابزار کاربردی و رایگان برای کشف شبکه و ممیزی امنیتی (Security Auditing) محسوب میشود.
علاوه بر این، بسیاری از مدیران سیستمها و شبکه نیز آن را برای وظایفی مانند موجودی شبکه (Network Inventory)، مدیریت برنامههای ارتقای خدمات و نظارت بر زمان کارکرد میزبان (Host) یا سرویس مفید میدانند. NMAP از بستههای IP خام به همراه روشهای جدید استفاده میکند تا با کمک آن تعیین شود کدام میزبانها در شبکه در دسترس هستند، چه سرویسهایی (نام برنامه و نسخه) آن میزبانها را ارائه میدهند، کدام سیستمعامل و نسخههای آن در حال اجرا هستند، چه نوع فیلترها یا فایروالهای بسته به کار میروند. حال در ادامه نحوه استفاده از دو ابزار NMAP و ZenMAP به طور مرحله به مرحله و به زبان ساده شرح داده شده است.
- مرحله اول: به منظور باز کردن ابزار مورد نظر، لازم است به بخش Application رجوع کرد. پس از آن، با انتخاب گزینه Information Gathering، امکان باز کردن هر یک از دو ابزار NMAP و ZenMAP فراهم خواهد شد.
- مرحله دوم: مرحله بعدی تشخیص نوع و نسخه سیستم عامل میزبان هدف است. با کمک ماهیت کمکی ابزار NMAP، یک پارامتر مشخص، یعنی متغیر «O-» به منظور تشخیص نوع و نسخه سیستم عامل به کار میرود. برای اطلاع بیشتر از موارد مذکور، میتوان به وب سایت nmap مراجعه کرد. البته در ادامه مثالی ارائه شده است که با کمک آن عملکرد namp -O مشخص میشود.
nmap -O 192.168.1.101
به منظور درک بهتر دستور فوق و محل نوشتن آن، لازم است به تصویر زیر توجه شود:
- مرحله سوم: سپس در این مرحله لازم است پورتهای TCP و UDP باز شوند. به منظور اسکن تمام پورتهای TCP بر اساس NMAP، از دستور زیر استفاده میشود:
nmap -p 1-65535 -T4 192.168.1.101
در دستور فوق، با استفاده از پارامتر p– پورتهای TCP مختلفی نشان داده خواهند شد که باید اسکن شوند. در این مورد خاص، لازم است تمام پورتها اسکن شوند. پارامتر T4– سرعت اسکنی است که از طریق NMAP باید اجرا شود. در ادامه نتایج مربوطه نمایش داده شدهاند. باید توجه کرد که همه خطوط سبز رنگ مربوط به پورتهای باز TCP و خطوط قرمز رنگ مربوط به پورتهای بسته هستند. با توجه به اینکه فهرست بسیار طولانی است، NMAP نشان داده نمیشود.
روش اسکن مخفیانه
اسکن مخفیانه (Stealth Scan | SYN) یکی از روشهای اسکن در Nmap است که نفوذگر از آن برای دور زدن فایروال و مکانیسمهای احراز هویت استفاده میکند. علاوه بر این، با استفاده از این روش، نفوذگر عملیات اسکن را به عنوان یک عملیات ترافیک عادی شبکه انجام میدهد و بدین ترتیب، اسکن مخفی انجام خواهد شد.
روش Steallth Scan به اسکن نیمه باز (Half Open Scan) نیز معروف است. زیرا در این روش، دست دادن (Handshake) سه طرفه TCP کامل انجام نمیشود. در صورتی که هکر یک بسته SYN را به هدف ارسال کند و قاب SYN/ACK دریافت شود، فرض میشود هدف مورد نظر ارتباط را کامل میکند و پورت در حالت شنود (Listening) است. در شرایطی که RST از هدف مربوطه دریافت شود، فرض بر این خواهد بود که پورت فعال نیست یا بسته است. به منظور درک بهتر آنچه پیشتر در این بخش بیان شد، به تصاویر زیر توجه شود.
اکنون به منظور مشاهده کارکرد اسکن SYN به صورت عملی، باید از پارامتر sS– در NMAP استفاده شود. در ادامه دستور آن به طور کامل ارائه شده است:
nmap -sS -T4 192.168.1.101
ابزار Searchsploit
Searchsploit ابزاری است که کاربران کالی لینوکس با استفاده از آن امکان جستجو از آرشیو پایگاه داده Exploit به همراه خط فرمان را به طور مستقیم دارند. همانطور که در تصویر زیر نشان داده شده است، به منظور باز کردن Searchsploit، باید به Applications رجوع کرد. در ادامه، با انتخاب نام این ابزار از بخش Exploitation Tools، امکان دسترسی به آن فراهم خواهد شد.
پس از باز کردن ترمینال، لازم است «searchsploit exploit index name» نوشته شود. به منظور درک بهتر، در ادامه تصویر آن قابل مشاهده است.
ابزارهای DNS
در این بخش از معرفی دوره کالی لینوکس، نحوه استفاده از برخی از ابزارهای DNS در کالی لینوکس شرح داده میشود. با استفاده از این ابزارها اعمالی مانند «انتقال منطقه» (Zone Transfer) یا حل مشکلات مربوط به IP دامنه تسهیل مییابند.
ابزار dnsenum.pl
ابزار dnsenum.pl یک اسکریپت PERL است که در اتصال MX ،A و رکوردهای دیگر به یک دامنه کمک میکند. حال لازم است روی ترمینال در پانل سمت چپ کلیک شود.
همانطور که در تصویر زیر قابل مشاهده است، اکنون باید دستور با فرمت «نام دامنه dnsenum» نوشته شود تا بدین طریق، امکان نمایش تمام رکوردها به وجود آید. در این حالت رکوردهای A نشان داده میشوند.
ابزار DNSMAP
ابزار دوم DNSMAP است که در عمل یافتن شماره تلفن، مخاطبین و سایر زیر دامنههای متصل به دامنه مربوطه به کار میرود. در ادامه به بررسی مثال پرداخته میشود. مانند بخش بالایی، لازم است روی ترمینال کلیک و پس از آن، دستور با فرمت «نام دامنه dnsmap» نوشته شود.
ابزار Dnstracer
سومین ابزار کاربردی dnstracer است که با کمک آن، میتوان تعیین کرد یک DNS اطلاعات خود را از کجا برای یک نام میزبان خاص دریافت کند. مشابه بخشهای قبلی، باید روی ترمینال کلیک و از دستور با فرمت «نام دامنه dnstracer» استفاده شود. به منظور درک بهتر، به تصو.یر زیر توجه شود.
ابزارهای LBD
ابزارهای «تشخیصدهنده تعادل بار» (LBD | Load Balancing Detector) بسیار جالب طراحی شدهاند، زیرا با کمک آنها میتوان تشخیص داد که آیا یک دامنه معین از تعادل بار DNS یا HTTP استفاده میکند یا خیر. این موضوع بسیار مهم است. چرا که در صورت وجود دو سرور، ممکن است یکی از آنها به روز نشود و تلاش در جهت استفاده از آن ایجاد شود.
در ادامه مراحل به کارگیری آن شرح داده شدهاند.
- مرحله اول: ابتدا باید روی ترمینال در پنل سمت چپ کلیک کرد.
- مرحله دوم: اکنون، لازم است دستور با فرمت «نام دامنه lbd» نوشته شود. در صورتی که یک نتیجه به عنوان «FOUND» ایجاد شده باشد، به این معنی است که سرور تعادل بار دارد. همانطور که در تصویر زیر قابل مشاهده است، در این مورد نتیجه «NOT FOUND» نمایان میشود.
ابزار Hping3
ابزار Hping3 به طور گسترده توسط هکرهای اخلاقی استفاده میشود. در حقیقت ابزار Hping3 تقریباً شبیه ابزارهای Ping است، اما از آنها پیشرفتهتر به حساب میآید. چرا که با کمک Hping3 میتوان فیلتر فایروال را دور زد و از پروتکلهای TCP ،UDP ،ICMP و RAW-IP استفاده کرد. علاوه بر این، Hping3 دارای حالت traceroute و قابلیت ارسال فایل بین کانال تحت پوشش است. به منظور درک بهتر، لازم است از پانل سمت چپ، روی ترمینال کلیک شود.
با استفاده از دستور hping3 همراه با پارامتر h-، میتوان نحوه استفاده از این دستور را فرا گرفت. برای درک بهتر، به تصویر زیر توجه شود.
در این بخش از بررسی دوره کالی لینوکس، به ابزارهای جمعآوری اطلاعات این سیستم عامل پرداخته شد. اکنون در بخش بعدی این مطلب، نحوه استفاده از ابزارهایی شرح داده میشود که در بهرهبرداری از دستگاهها یا اپلیکیشنها و به دنبال آن، امکان دسترسی به آنها کاربرد دارند.
دوره کالی لینوکس : ابزارهای تجزیه و تحلیل آسیبپذیری
در این بخش از مقاله، به بررسی ابزارهای تجزیه و تحلیل آسیبپذیری پرداخته میشود.
ابزارهای Cisco
در کالی لینوکس ابزارهایی وجود دارد که میتوان از آنها برای بهرهبرداری (Exploit) از روتر سیسکو استفاده کرد. یکی از این ابزارها Cisco-torch است که برای اسکن انبوه، اثر انگشت و بهرهبرداری به کار میرود. اکنون به منظور آشنایی بیشتر، لازم است با کلیک کردن بر روی صفحه سمت چپ، کنسول ترمینال باز شود. پس از آن، دستور زیر ضروری است.
cisco-torch –parameter IP of host
همانطور که قابل تشخیص است، در دستور فوق پس از cisco-torch، باید پارامتر مورد نظر و IP میزبان به ترتیب قید شوند.
به منظور مشاهده پارامترهای قابل استفاده میتوان از خط دستور «cisco-torch ?» استفاده کرد. برای درک بهتر عملکرد این دستور، لازم است به تصویر زیر توجه شود.
ابزار ممیزی سیسکو
ابزار ممیزی (Auditing) سیسکو یک اسکریپت PERL است که با کمک آن امکان اسکن کردن روترهای سیسکو برای آسیبپذیریهای رایج فراهم میشود. به منظور استفاده از آن، همانطور که در بخش قبل نشان داده شده است، دوباره باید ترمینال از قسمت سمت چپ باز شود. اکنون در این مرحله لازم است واژه CAT همراه با پارامتر h- و به دنبال آن، نام میزبان یا IP نوشته شود.
مشابه تصویر زیر، امکان اضافه کردن پارامتر پورت با متغیر p- نیز وجود دارد. بدین منظور، در این مثال از 23 به عنوان پارامتر پورت استفاده شده است.
ابزار CGE
CGE یک ابزار تست امنیتی پیشرفته، ساده و سریع و برگرفته شده از عبارت «Cisco Global Exploiter» است. همانطور که در تصویر زیر نشان داده شده است، با استفاده از این ابزارها میتوان چندین نوع حمله مختلف را انجام داد. با این وجود، لازم است هنگام آزمایش در محیط بر خط (Live)، احتیاطهای لازم لحاظ شوند. چرا که برخی از این ابزارها امکان تخریب طراحی سیسکو را دارند. به عنوان مثال، در فهرست موجود در تصویر زیر، گزینه دوم میتواند خدمات را متوقف کند. برای استفاده از این ابزار، باید از دستور «تعداد آسیبها cge.pl IPaddress» با همین فرمت استفاده کرد.
تصویر زیر نتیجه تست انجام شده روی روتر سیسکو را برای آسیبپذیری شماره 3 از فهرست بالا نشان میدهد. با استناد به نتیجه قابل مشاهده، این آسیبپذیری با موفقیت مورد سو استفاده قرار گرفته است.
برنامه BED
BED به عنوان یک برنامه به حساب میآید که برای بررسی شبحها (Daemons) جهت سرریزهای احتمالی بافر، رشتههای قالببندی و سایر موارد طراحی شده است.
در این مثال، تست دستگاه با آیپی 192.168.1.102 و پروتکل HTTP انجام میشود. در واقع با استفاده از دستور زیر، تست ادامه خواهد داشت.
bed –s HTTP –t 192.168.1.102
اکنون در ادامه معرفی دوره کالی لینوکس ، به ابزارهایی از این سیستم عامل پرداخته خواهد شد که در حملات بیسیم مورد استفاده قرار میگیرند.
دوره کالی لینوکس : حملات بیسیم
در این بخش از مقاله، نحوه استفاده از ابزارهای کرک Wi-Fi شرح داده میشود. البته باید توجه کرد که لازم است کارت بیسیم مورد استفاده از حالت نظارت (Monitoring Mode) پشتیبانی کند.
کرک کننده وایفای فرن
Fern Wifi Cracker یکی از ابزارهایی است که در کالی لینوکس به منظور کرک وایرلس به کار میرود. قبل از باز کردن Fern، باید کارت وایرلس به حالت مانیتورینگ تبدیل شود. برای انجام این کار، لازم است دستور زیر در ترمینال نوشته شود.
airmon-ng start wlan-0
- مرحله اول: پس از این مرحله، به منظور باز کردن Fern Wifi Cracker، لازم است روی Applications کلیک شود و سپس با انتخاب گزینه Wireless Attacks، امکان باز کردن این ابزار از منو مربوطه به وجود میآید.
- مرحله دوم: همانطور که در تصویر زیر قابل مشاهده است، حال باید کارت وایرلس انتخاب شود.
- مرحله سوم: در این مرحله، باید روی گزینه Scan for Access Points کلیک شود.
- مرحله چهارم: پس از اینکه مرحله Scan به پایان رسید، اکنون شبکههای وایرلس موجود نمایش داده خواهند شد. در این مثال، شبکههای WPA به عنوان شبکه وایرلس پیدا شده است. به منظور درک بهتر، به تصویر زیر توجه شود.
- مرحله پنجم: مانند تصویر فوق، اکنون باید روی WPA کلیک شود. در این تصویر تمام شبکههای بیسیم یافت شده را میتوان مشاهده کرد. به طور کلی، در شبکههای WPA، حملات دیکشنری (Dictionary Attacks) به این صورت انجام میٰشوند.
- مرحله ششم: حال لازم است روی گزینه Browse کلیک و فهرست کلمات مورد استفاده برای حمله را پیدا کرد.
- مرحله هفتم: مانند تصویر زیر، اکنون در این مرحله باید روی Wi-Fi Attack کلیک شود.
- مرحله هشتم: در نهایت، پس از اتمام حمله دیکشنری، پیدا کردن رمز عبور ضروری است. به منظور درک بهتر، تصویر آن در ادامه قابل مشاهده است.
ابزار Kismet
Kismet یک ابزار تجزیه و تحلیل شبکه WIFI است. Kismet یک Sniffer، تشخیص دهنده شبکه بیسیم (۲ لایه 2 802.11) و سیستم تشخیص نفوذ است و در آن امکان کار کردن با هر کارت بیسیمی که از حالت نظارت خام (rfmon) پشتیبانی میشود وجود دارد.
لازم به ذکر است که ابزار Kismet قابلیت شنود ترافیک مربوط به پنج نوع فناوری وایفای ( 802.11a/b/g/n) را دارد. در این ابزار، شبکهها از طریق جمعآوری بستهها و همچنین شبکههای پنهان شناسایی میشوند. برای استفاده از Kismet، ابتدا باید کارت وایرلس به حالت مانیتورینگ تبدیل شود و به منظور انجام این کار، نوشتن دستور زیر در ترمینال نیاز است.
airmon-ng start wlan-0
حال در ادامه نحوه کار با این ابزار به طور جامع و به صورت مرحله به مرحله آموزش داده میشود.
- مرحله اول: به منظور اجرای Kismet، لازم است ترمینال باز شود و در آن واژه «kismet» نوشته شود.
- مرحله دوم: روی دکمه Ok کلیک شود.
- مرحله سوم: هنگامی که درخواست راهاندازی سرور Kismet نمایش داده میشود، باید روی دکمه Yes کلیک شود. در غیر این صورت، عملکرد آن متوقف خواهد شد.
- مرحله چهارم: در این بخش، گزینههای مربوط به Startup وجود دارند که لازم است همان انتخاب پیشفرض باقی بمانند.
- مرحله پنجم: اکنون جدولی نشان داده میشود که در آن درخواست تعریف کارت بیسیم بیان شده است. در این صورت، باید روی Yes کلیک شود.
- مرحله ششم: در این مثال، منبع بیسیم wlan0 است و باید در بخش Intf نوشته شود. بدین منظور، باید گزینه Add انتخاب بشود. به منظور درک بهتر، در ادامه تصویر آن قابل مشاهده است.
- مرحله هفتم: همانطور که در تصویر نمایش داده شده است، در این مرحله عمل شنود روی شبکههای وایفای آغاز میشود.
- مرحله هشتم: در صورتی که روی هر یک از شبکهها کلیک شود، مشابه تصویر، اطلاعات مربوط به آن وایرلس خاص نمایش داده خواهد شد.
اکنون در ادامه سایر ابزارهای حائز اهمیت کالی لینوکس در حوزههای مختلف شرح داده میشوند.
دوره کالی لینوکس : تست نفوذ وب سایت
در این بخش از معرفی دوره کالی لینوکس ، کاربرد این سیستم عامل در زمینه تست نفوذ وب سایت شرح داده میشود.
استفاده از پلتفرم Vega
Vega یک اسکنر و پلتفرم آزمایشی است که به صورت رایگان و متن باز جهت تست امنیت وب اپلیکیشنها به کار میرود. به واسطه استفاده از Vega، امکان یافتن و اعتبارسنجی تزریق SQL، تزریق اسکریپت از طریق وبگاه (Cross-Site Scripting | XSS)، اطلاعات حساس که سهواً افشا شده و سایر آسیبپذیریها فراهم میشود.
این پلتفرم به زبان برنامه نویسی جاوا نوشته شده و مبتنی بر رابط کاربری گرافیکی (GUI) است و میتوان آن را روی سیستم عاملهای مختلفی، از جمله لینوکس، OS X و ویندوز اجرا کرد. Vega دارای یک اسکنر خودکار برای آزمایشهای سریع و یک پروکسی رهگیری برای بازرسی تاکتیکی است. علاوه بر این، با استفاده از یک API قدرتمند در زبان وب، میتوان Vega را تعمیم داد. اکنون در ادامه مراحل لازم برای استفاده ار Vega به صورت مرحله به مرحله و به زبان ساده شرح داده حواهند شد.
- مرحله اول: به منظور باز کردن Vega، در وهله اول لازم است به بخش Application رجوع و پس از آن از بخش Web Application Analysis، گزینه Vega را انتخاب کرد.
- مرحله دوم: در صورتی ک اپلیکیشن در مسیر دیده نشود، باید دستور زیر را تایپ کرد:
- مرحله سوم: برای شروع اسکن، باید روی علامت + کلیک شود.
- مرحله چهارم: در این مرحله به منظور اسکن صفحه وب مورد نظر، لازم است URL آن وارد شود. در این مثال، آدرس metasploitable machine نوشته شده است. حال باید روی دکمه Next کلیک شود. به منظور درک بهتر این گام، میتوان به تصویر زیر توجه کرد.
- مرحله پنجم: همانطور که در تصویر زیر قابل مشاهده است، در این بخش میتوان تمام کادرهای مروبط به ماژولهایی را علامت زد که باید کنترل شوند. پس از انتخاب ماژولهای مورد نظر، روی دکمه Next کلیک شود.
- مرحله ششم: مشابه تصویر زیر، لازم است رو گزینه Next کلیک شود.
- مرحله هفتم: در این مرحله از کار با Vega، باید روی گزینه Finish کلیک شود.
- مرحله هشتم: در صورتی که یک پیام مشابه تصویر زیر نمایش داده شد، باید روی گزینه Yes کلیک شود.
اکنون، اسکن مانند تصویر زیر ادامه خواهد داشت.
- مرحله نهم: پس از اتمام اسکن، حال در پانل سمت چپ پایین امکان مشاهده تمام یافتهها وجود دارد. لازم به ذکر است که این یافتهها بر اساس «شدت» طبقهبندی شدهاند. در صورتی که روی آنها کلیک شود، در پنل سمت راست، تمام جزئیات مربوط به آسیبپذیریها، از جمله درخواست (Request)، بحث (Discuss)، تاثیر (Impact) و رفع (Remediation) قابل مشاهده خواهد بود.
ابزار ZapProxy
در این بخش از معرفی دوره کالی لینوکس و امکانات این سیستم عامل، به یک ابزار کاربردی به نام ZapProxy پرداخته میشود. ZAP-OWASP Zed Attack Proxy یک ابزار تست نفوذ یکپارچه است که یافتن آسیبپذیریها در برنامههای وب را تسهیل میدهد. علاوه بر این، ابزار ZAP یک رابط جاوا به حساب میآید. در ادامه مراحل استفاده از آن به صورت گام به گام و جامع شرح داده میشود.
- مرحله اول: برای باز کردن Zaproxy، لازم است به قسمت Applications رجوع و از بخش Web Application Analysis، گزینه owasp zap را انتخاب کرد.
- مرحله دوم: اکنون مانند تصویر زیر، روی گزینه Accept کلیک شود.
پس از کلیک روی گزینه Accept، بارگذاری ZAP آغاز میشود.
- مرحله سوم: همانطور که در تصویر زیر نشان داده شده است، باید یکی از گزینهها انتخاب و پس از آن، روی دکمه Start کلیک شود.
آنچه در تصویر زیر مشاهده میشود، وب سایت metasploitable است و آیپی 192.168.1.101 را دارد.
- مرحله چهارم: حال باید URL مربوط به وب آزمایشی در بخش URL to attack وارد و سپس روی Attack کلیک شود.
پس از اتمام اسکن، در پنل بالا سمت چپ، تمام سایتهای خزیده شده (Crawled) قابل مشاهده است. در پانل سمت چپ Alerts، تمام یافتهها به همراه توضیحات آن قرار دارند.
- مرحله پنجم: در صورتی که روی Spider کلیک شود، میتوان تمام پیوندهایی را مشاهده کرد که اسکن شدهاند.
اکنون در ادامه به بررسی کاربرد ابزارهای پایگاه داده در دوره کالی لینوکس و این سیستم عامل پرداخته میشود.
استفاده از ابزارهای پایگاه داده : sqlmap
در این بخش از مقاله آشنایی با دوره کالی لینوکس ، یکی از ابزارهای کاربردی برای کار با پایگاههای داده معرفی میشود. sqlmap یک ابزار تست نفوذ متن باز است که با کمک آن، فرآیند شناسایی و بهرهبرداری از عیوب تزریق SQL و کنترل سرورهای پایگاه داده خودکارسازی میشود.
این ابزار همراه با یک موتور تشخیص قدرتمند و بسیاری از ویژگیهای خاص برای آزمایش کننده نفوذ و طیف وسیعی از سوئیچها از انگشت نگاری پایگاه دادهها ارائه میشود. در واقع، با استخراج دادهها از پایگاه داده، دسترسی به سیستم فایل زیرین و اجرای دستورات روی سیستم عامل از طریق اتصالات خارج باند فراهم میشود.
ابزار اسکن سیستم مدیریت محتوا : WPScan
برای اسکن سیستم مدیریت محتوا (CMS) ابزارهای مختلفی به کار میرود. WPScan یک اسکنر آسیبپذیری وردپرس است که به صورت جعبه سیاه (Black Box) ارائه میشود و با استفاده از آن، امکان اسکن نصب از راه دور وردپرس برای یافتن مشکلات امنیتی به وجود میآید.
ابزارهای اسکن SSL
SSL Scan یک ابزار خط فرمان است که طیف گستردهای از آزمایشها را بر روی هدف مشخص شده انجام میدهد و لیست جامعی از پروتکلها و رمزهای پذیرفته شده توسط یک SSL را برمیگرداند. در این بخش از مقاله به برخی از ابزارهای کاربردی دوره کالی لینوکس برای اسکن SSL پرداخته خواهد شد.
استفاده از TLSSLed
TLSSLed یک اسکریپت پوسته لینوکس است که برای ارزیابی امنیت اجرای وب سرور SSL/TLS مورد استفاده قرار میگیرد. این ابزار بر اساس SSL Scan طراحی شده و بر روی ابزار خط فرمان openssl s_client است. آزمایشهای فعلی شامل بررسی موارد زیر هستند:
- آیا هدف از پروتکل SSLv2، رمز NULL، رمزهای ضعیف بر اساس طول کلید آنها (40 یا 56 بیت) پشتیبانی میکند؟
- آیا از در دسترس بودن رمزهای قوی (مانند AES) پشتیبانی میشود؟
- آیا بررسی اینکه گواهی دیجیتال دارای امضای MD5 است پشتیبانی میشود؟
- اینکه آیا هدف از قابلیتهای مذاکره مجدد SSL/TLS فعلی پشتیبانی میکند؟
استفاده از فریم ورک w3af
w3af یک چارچوب نرم افزاری ممیزی و وب اپلیکیشن حمله است که با هدف شناسایی و سو استفاده از تمام آسیبپذیریهای برنامههای وب به کار میرود. بسته (Package) مربوطه یک رابط کاربری گرافیکی (GUI) برای فریم ورک فراهم میکند. در صورتی که فقط یک برنامه خط فرمان مد نظر باشد، با نصب w3af-console این امکان وجود دارد.
با وجود اینکه این فریم ورک «متاسپلویت برای وب» نامیده میشود، اما در واقع بسیار بیشتر از این کاربرد دارد. چرا که با استفاده از تکنیکهای اسکن جعبه سیاه در آن، میتوان آسیبپذیریهای برنامه وب را نیز کشف کرد. هسته w3af و پلاگینهای آن به طور کامل با زبان برنامه نویسی پایتون نوشته شدهاند.
این پروژه دارای بیش از 130 پلاگین است که با کمک آنها تزریق SQL، اسکریپت بین سایتی (XSS)، گنجاندن فایل از راه دور و موارد دیگر شناسایی خواهند شد و امکان بهرهبرداری از این موارد به وجود میآید. در این بخش از مقاله معرفی دوره کالی لینوکس ، کاربردهای مختلفی از این سیستم عامل در حوزه تست نفوذ وب سایت بررسی شدند. اکنون در بخش بعدی از این مطلب، کاربرد دوره کال لینوکس و ابزارهای آن در زمینه بهرهوری (Exploit) بررسی خواهند شد.
دوره کالی لینوکس : ابزارهای بهرهوری
در این بخش از مطلب، برخی از ابزارهای بهرهوری مختلفی معرفی میشوند که در سیستم عامل کالی لینوکس کاربرد دارند.
- ابزار Metasploit: فریم ورک Metasploit یک ابزار بسیار قدرتمند است که مجرمان سایبری و همچنین هکرهای اخلاقی از آن برای بررسی آسیبپذیریهای سیستماتیک در شبکهها و سرورها استفاده میکنند. با توجه به اینکه Metasploit یک چارچوب نرم افزاری متن باز است، از این رو میتوان آن را به راحتی سفارشی و در اکثر سیستم عاملها استفاده کرد. Metasploit در دو نسخه تجاری و نسخه رایگان موجود است. البته تفاوت این دو نسخه زیاد نیست. در توزیع کالی لینوکس نسخه جامع Metasploit ارائه شده است که افراد به عنوان هکرهای اخلاقی امکان استفاده از آن را دارند. علاوه بر این، به واسطه نصب سریع و راحت آن، در زمان صرفهجویی میشود. لازم به ذکر است که در صورت لزوم، میتوان فریم ورک Metasploit را به عنوان یک ابزار جداگانه در سیستم عاملهای مختلفی مانند لینوکس، ویندوز و OS X نصب کرد.
- ابزار رابط کاربری گرافیکی Armitage: آرمیتاژ (Armitage) یک ابزار مشارکتی برای Metasploit است که در آن اهداف تصویرسازی، بهرهوریها توصیه میشوند و در نهایت، ویژگیهای پیشرفته مربوط به پس بهرهبرداری در چارچوب نمایش داده خواهند شد.
- فریم ورک BeEF: یک ابزار تست نفوذ کاربردی است که با هدف تمرکز روی مرورگر وب به کار میرود. واژه BeEF مخفف عبارت «Browser Exploitation Framework» است. BeEF به تست کننده نفوذ حرفهای این امکان را میدهد که با استفاده از بردارهای حمله سمت مشتری، وضعیت امنیتی واقعی یک محیط هدف را ارزیابی کند.
- پیشنهاد دهنده بهرهوری لینوکس: بسته «پیشنهاد دهنده بهرهوری لینوکس» (Linux Exploit Suggester) حاوی یک ابزار ممیزی افزایش امتیاز در لینوکس است که به منظور تسهیل شناسایی کمبودهای امنیتی مربوط به هسته لینوکس داده شده به کار میرود.
در این بخش از مطلب، برخی از ابزارهای مهم دوره کالی لینوکس در زمینه بهرهوری نام برده شدند. اکنون در بخش بعدی از معرفی دوره کالی لینوکس ، تعدای از ابزارهای مفید سیستم عامل کالی لینوکس در زمینه پزشک قانونی و کشف جرم مورد بحث قرار میگیرند.
دوره کالی لینوکس : ابزارهای جرمیابی قانونی
در ادامه برخی از ابزارهای علوم جنایی موجود در توزیع کالی لینوکس فهرست شدهاند:
- ابزار p0f: ابزاری است که در آن به سادگی قابلیت شناسایی سیستم عامل میزبان هدف با بررسی بستههای ضبط شده وجود دارد. این موضوع حتی زمانی که دستگاه مورد نظر در پشت بسته فایروال قرار گرفته نیز صدق میکند. P0f هیچ گونه ترافیک شبکه اضافهتری را، چه به صورت مستقیم و چه به صورت غیرمستقیم، ایجاد نمیکند. در صورت استفاده از آن توسط کاربران پیشرفته، P0f امکان تشخیص حضور فایروال، استفاده از NAT و وجود متعادل کننده های بار را دارد.
- ابزار pdf-parser: ابزاری است که با استفاده از آن امکان تجزیه یک سند PDF و شناسایی عناصر اساسی مورد استفاده در فایل pdf تجزیه و تحلیل شده وجود دارد. این ابزار سند PDF را ارائه نمیدهد و برای PDF parsers مربوط به کتابهای متنی توصیه نمیشود. اما با این وجود کارایی نسبتاً مناسبی دارد. به طور کلی، معمولاً این ابزار برای آن دسته از فایلهای pdf استفاده میشود که اسکریپتی در آنها تعبیه شده است.
- Dumpzilla: اپلیکیشن Dumpzilla با کمک نسخه پایتون ۳ توسعه داده شده است و هدف از طراحی آن، استخراج تمام اطلاعات جالب جرمیابی قانونی از مرورگرهای مختلفی مانند فایرفاکس، Iceweasel و Seamonkey به حساب میآید. پس از استخراج چنین اطلاعاتی از مرورگرها، لازم است به تجزیه و تحلیل آنها پرداخت.
- ابزار DFF: مشابه ابزارهایی قبلی، DFF نیز یک ابزار جرمیابی قانونی است و به منظور بازیابی فایلها به کار میرود. لازم به ذکر است که ابزار DFF رابط کاربری گرافیکی نیز دارد.
علاوه بر کاربردهایی که تا این بخش از مقاله به آنها پرداخته شد، دوره کالی لینوکس در زمینه مهندسی اجتماعی نیز کاربرد دارد. در بخش بعدی از این مطلب، ابزار مهندسی اجتماعی این سیستم عامل مورد بررسی قرار میگیرد.
دوره کالی لینوکس : مهندسی اجتماعی
در این بخش، استفاده از «ابزار مهندسی اجتماعی» (Social Engineering Toolkit | SET) بررسی میشود. ابزار SET یک چارچوب نرم افزاری تست نفوذ است که به صورت متن باز و به منظور مهندسی اجتماعی به کار میرود. در SET تعدادی بردار حمله سفارشی وجود دارد که با کمک آنها میتوان در کسری از زمان یک حمله باورپذیر انجام داد.
در این نوع ابزارها از رفتارهای انسان برای فریب دادن آنها استفاده میشوند.
دوره کالی لینوکس : ابزارهای Stressing
ابزارهای Stressing به منظور ایجاد حملات DoS یا ایجاد تست استرس برای برنامههای مختلف استفاده میشوند تا به کمک آنها امکان انجام اقدامات مناسب برای آینده فراهم شود.
در ادامه به برخی از ابزارهای کاربردی در این زمینه پرداخته میشود.
- Slowhttptest: یکی از ابزارهای حمله DoS است که در آن به طور ویژه از پروتکل HTTP، جهت اتصال به سرور و مشغول نگه داشتن منابعی مانند CPU و RAM استفاده میشود.
- Inviteflood: یک پیام SIP/SDP INVITE است و امکان اجرای آن روی انواع توزیعهای لینوکس وجود دارد. با ارسال چندین درخواست INVITE توسط Inviteflood، حملات DoS علیه دستگاههای SIP انجام میشوند.
- Iaxflood: مشابه موارد مذکور، Iaxflood یک ابزار DoS است. در حقیقت، Iaxflood به عنوان ابزار DoS ویپ (VoIP) به حساب میآید.
در بخش بعدی از این مطلب، ابزارهای شنود و جعل مورد استفاده در کالی لینوکس معرفی میشوند.
دوره کالی لینوکس : ابزارهای شنود و جعل
در ادامه این قسمت از معرفی دوره کالی لینوکس به برخی از ابزارهایی پرداخته میشود که در حوزه شنود (sniffing) و جعل کردن (Spoofing) کاربرد دارند.
- Burpsuite: میتوان از این ابزار به عنوان یک روش sniffing بین مرورگر خود و سرورهای وب استفاده کرد. در این صورت، ابزار Burpsuite برای یافتن پارامترهایی که به کار میرود که در برنامه وب استفاده میشوند.
- mitmproxy: یک پروکسی HTTP واسط (man-in-the-middle) است که در آن قابلیت SSL وجود دارد. با کمک این پروکسی یک رابط کنسول فراهم میشود که امکان بررسی و ویرایش جریانهای ترافیکی را دارد.
- Wireshark: این ابزار یکی از بهترین تحلیلگرهای بسته داده به حساب میآید و با استفاده از آن، بستهها عمیقاً در سطح فریم تجزیه و تحلیل میشوند. به منظور آشنایی بیشتر با Wireshark، میتوان به صفحه وب رسمی آن مراجعه کرد.
- sslstrip: یک حمله MITM است که مرورگر قربانی را مجبور میکند به صورت متن ساده از طریق HTTP ارتباط برقرار کند. باید توجه کرد که پروکسیها محتوای یک سرور HTTPS را تغییر میدهند.
حال در بخش بعدی از معرفی دوره کالی لینوکس ، به بررسی ابزارهای کرک کردن رمز عبور پرداخته میشود.
دوره کالی لینوکس : ابزارهای کرک کردن رمز عبور
در این بخش از مطلب، برخی از ابزارهای پراهمیت کرک رمز عبور فهرست شدهاند:
- Hydra: هایدرا یک کرکر ورود به سیستم موازی است که از پروتکلهای متعددی برای حمله پشتیبانی میکند. این کرکر بسیار سریع و انعطافپذیر است و در آن، اضافه کردن ماژولهای جدید به راحتی انجام میشود. هایدرا این امکان را برای محققان و مشاوران امنیتی فراهم میکند تا نشان دهند دسترسی غیرمجاز به یک سیستم از راه دور چقدر آسان است.
- John the Ripper: این ابزار به منظور تسهیل کار مدیران سیستم طراحی شده است. ادمین سیستم با کمک آن میتواند رمزهای عبور ضعیف را پیدا کند. علاوه بر این، در صورت تمایل، امکان ارسال خودکار ایمیل در این باره و هشدار دادن به کاربران وجود دارد.
- Rainbowcrack: با استفاده از نرم افزار RainbowCrack امکان کرک کردن هشها از طریق جستجوی جدول Rainbow فراهم میشود. جدولهای Rainbow فایلهای معمولی مختلفی هستند که روی هارد دیسک ذخیره میشوند. به طور کلی، جدولهای Rainbow به صورت آنلاین خریداری میشوند یا میتوان آنها را با ابزارهای مختلف جمعآوری کرد.
- SQLdict: یک ابزار حمله دیکشنری به حساب میآید که برای سرور SQL به کار میرود و استفاده از آن بسیار آسان و راحت است.
- hash-identifier: ابزاری کاربردی برای شناسایی انواع هشها و استفاده از آنها محسوب میشود. به عنوان مثال، اگر یک هش وجود داشته باشد، ابزار hash-identifier قابلیت تشخیص اینکه هش لینوکس است یا ویندوز را دارد.
در بخش بعدی، به معرفی ابزارهای نگهداری و حفط دسترسی در کالی لینوکس پرداخته میشود.
دوره کالی لینوکس : نگهداری دسترسی
در این بخش از معرفی دوره کالی لینوکس ، ابزارهایی مورد بررسی قرار میگیرند که در سیستم عامل کالی لینوکس برای حفظ اتصال و دسترسی به یک ماشین هک شده به کار میروند.
لازم به ذکر است که این ابزارها حتی زمانی که ماشین مربوطه دوباره وصل و قطع میشود نیز کاربرد دارند.
- Powersploit: ابزاری است که برای دستگاههای ویندوزی به کار میرود و در دستگاه قربانیان، PowerShell نصب شده دارد. ابزار Powersploit به هکر این امکان را میدهد که از طریق PowerShell با دستگاه قربانی ارتباط برقرار کند.
- Webshells: میتوان Webshellها را برای حفظ دسترسی یا هک یک وب سایت استفاده کرد. اما اغلب آنها توسط آنتی ویروسها قابل شناسایی هستند. در بین آنتی ویروسها، پوسته پیاچپی C99 بسیار شناخته شده و هر آنتی ویروس معمولی به راحتی قادر به شناسایی آن به عنوان یک بدافزار است.
- Weevely: یک پوسته وب PHP است که با کمک آن اتصال شبه راه دور شبیهسازی میشود. این ابزار برای «پس بهرهبرداری» (Post Exploitation) وب اپلیکیشن کاربرد دارد و میتواند به عنوان یک در پشتی مخفیانه یا به عنوان یک پوسته وب برای مدیریت حسابهای وب قانونی، حتی آنهایی که به صورت رایگان میزبان هستند، استفاده شود.
- Http-tunnel: با استفاده از http-tunnel، یک جریان داده مجازی دو طرفه (Bidirectional) درخواستهای HTTP تونل شده ایجاد میشود. در صورت تمایل، میتوان درخواستها را از طریق یک پروکسی HTTP ارسال کرد. این ویژگی برای کاربرانی مفید است که با فایروالهای محدودکننده مواجه شدهاند. در صورتی که دسترسی به WWW از طریق یک پروکسی HTTP مجاز باشد، امکان استفاده از http-tunnel و telnet یا PPP جهت اتصال به رایانه خارج از فایروال وجود دارد.
- Dns2tcp: یک ابزار کاربردی شبکه است که برای انتقال اتصالات TCP از طریق ترافیک DNS به کار میرود.
- Cryptcat: به واسطه استفاده از این ابزار، امکان برقراری ارتباط TCP و UDP با ماشین قربانی به صورت رمزگذاری شده فراهم میشود.
تا این بخش از معرفی دوره کالی لینوکس بسیاری از ابزارهای کاربردی کالی لینوکس در زمینههای مختلف معرفی شدهاند. با توجه به اهمیت و کارایی این سیستم عامل مبتنی بر لینوکس، لازم است سایر ابزارهای آن نیز به طور واضح بررسی شوند. بنابراین، در بخش بعدی از این مطلب، ابزارهایی مورد توجه قرار داده میشوند که در حوزه مهندسی معکوس کاربرد دارند.
دوره کالی لینوکس : مهندسی معکوس
در این بخش، ابزارهای مهندسی معکوس (Reverese Engineering) پراهمیت در کالی لینوکس فهرست شدهاند:
- OllyDbg: یک اسمبلر 32 بیتی است که با کمک آن دیباگر برای برنامههای مایکروسافت ویندوز تجزیه و تحلیل میشوند. به دلیل تاکید روی تجزیه و تحلیل کد باینری در OllyDbg، در مواردی که منبع در دسترس نیست، این ابزار مفید واقع خواهد شد. معمولاً OllyDbg برای کرک کردن نرم افزارهای تجاری کاربرد دارد.
- Dex2jar: این اپلیکیشن تبدیل فایل اندرویدی (APK) به فایل JAR را تسهیل میبخشد و بدین طریق، امکان مشاهده کد منبع فراهم خواهد شد.
- JD-GUI: یک ابزار گرافیکی مستقل است که با استفاده از آن، نمایش کدهای منبع جاوا فایلهای «class.» امکانپذیر میشود. لازم به ذکر است که میتوان کد منبع بازسازی شده را مشاهده کرد.
- Apktool: ابزار Apktool یکی از بهترین ابزارهای مهندسی معکوس در تمام اپلیکیشنهای اندروید به حساب میآید. Apktool میتواند منابع را تقریباً نزدیک به شکل اصلی آنها رمزگشایی و پس از ایجاد تغییرات، آنها را بازسازی کند.
در نهایت، در بخش بعدی ابزارهای گزارشدهی موجود در کالی لینوکس معرفی خواهند شد.
دوره کالی لینوکس : ابزارهای گزارش دهی
در این بخش نهایی از معرفی دوره کالی لینوکس ، دو مورد از مهمترین ابزارهای گزارشدهی (Reporting) این سیستم عامل فهرست شدهاند:
- Dradis: یک وب اپلیکیشن مستقل است و به واسطه آن، یک مخزن متمرکز (Centralized Repository) از اطلاعاتی فراهم میشود که تا آن لحظه انجام شدهاند. با استفاده از این ابزار کالی لینوکس امکان پیگیری کارها به وجود میآید.
- Metagoofil: با به کارگیری Metagoofil، یک جستجو در گوگل برای شناسایی و دانلود اسناد در دیسک محلی انجام میشود و پس از آن، ابر دادههایی (Meta Data) استخراج میشوند که شامل اسناد عمومی متعلق به یک شرکت خاص، فرد، شی و سایر موارد هستند.
جمعبندی
کالی لینوکس یکی از توزیعهای محبوب سیستم عامل لینوکس به حساب میآید که کاربرد اصلی آن تست نفوذ در امنیت شبکه است. دوره کالی لینوکس برای افرادی مناسب است که قصد فعالیت در حوزه امنیت شبکه را دارند. در این مقاله توزیع کالی لینوکس و ابزارهای مفید آن بررسی شدند.
با توجه به اهمیت و کاربرد این سیستم عامل در حوزههای مختلف علوم کامپیوتر، به ویژه تست نفوذ، دوره کالی لینوکس و آموزشهای مرتبط با آن به عنوان یک ضرورت برای علاقهمندان پیشنهاد میشود.