101 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 6 نتایج شمارهUse the \"--format=Snefru-128\" option to force loading these as that type insteadWarning: detected hash type \"LM\", but the string is also recognized as \"NT-old\"Use the \"--format=NT-old\" option to force loading these as that type insteadUsing default input encoding: UTF-8Using default target encoding: CP850Loaded 2 password hashes with no different salts (LM [DES 32/32])Warning: OpenMP is disabled; a non-OpenMP build may be fasterPress 'q' or Ctrl-C to abort, almost any other key for status روش دوم شناسایی نوع هش – منابع آنلاین2-2-4 از جمله.در این روش از وب گاه هایی که به صورت آنلاین نوع سیستم رمزنگاری بکار رفته را شناسایی می کنند استفاده می کنیم است که در شکلhttp://www.onlinehashcrack.com/hash-identification.php محبوب ترین این وب گاه ها صفحه مربوطه را مشاهده می کنید1 شماره7 شکل شماره گزارش شده اند2 نتایج برای هش های بالا در نتایج شماره 8 نتایج شماره نتایج هش شماره یک
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 102 نتایج شماره 8 نتایج هش شماره دو نتایج هش شماره سه حال با مقایسه نتایج هر دو نوع روش میتوان نتایج اصلی را در نتایج شماره 1گزارش داد نتایج شماره 9MySQL 4.1+ *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 هش شماره یک SHA1 2c12471b9239ff8697b41621cc0be83e4d55c0f8 هش شماره دو MD5 05fe635675068d79a041e02fe64617b6 هش شماره سه در ادامه مراحل درگیر در استراتژی اصلی حملات کرک پسورد را بیان خواهیم کرد 3-2-4مرحله یک – حمله brute forceبا استفاده از پسوردهایی با طول کوتاه در اولین مرحله ما بایستی از پسورد هایی که دارای طول کوتاه مثلا حداکثر 1کاراکتر هستند استفاده کنیم .بر خلاف حمله brute forceبروی پسوردهای بلند که روزها ،هفته ها و شاید سالها نیاز به زمان داشته باشند ،در این حالت در عرض چند دقیقه میتوان تمامی حالات
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 103 رابررسی کرد .برای این حمله از برنامه cain and abelدر حالتی که پسورد تنها متشکل از اعداد است و طول آن حداقل یک کاراکتر و حداکثر 1کاراکتر است .فرض کنید مقدار هش شماره سه که نوع آنرا در نتایج شماره 1مشخص کردیم را به جدول برنامه همانند شکل 12اضافه کرده ایم و مطابق با شکل 11نوع حمله را مشخص کرده ایم و در شکل شماره 12نوع و تعداد کاراکتر های حمله مشخص شده است. شکل شماره 11 شکل شماره 11 شکل شماره 12
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 104برای اضافه کردن هش به لیست در خانه های ستون MD5 Hashکافیست راست کلید کرده و مقدار هش بدست آورده شده راکپی کنیم .برای مشخص کردن نوع حمله نیز بروی هش راست کلیک کرده و نوع Brute Force Attackرا انتخاب می کنیم. 4-2-4مرحله دو – شناسایی سیاست پسورد گذاری سازمان(در صورت وجود)این مرحله را در صورتی انجام خواهیم داد که از سیاست سازمان در تعیین روش پسورد گذاری بروی سیستم ها مطلع باشیم .همانطور که در مرحله قبل دیدید ما تمامی حالات را برای پسورد هایی با طول کوتاه تست کردیم .ذکر این نکته بسیار مهم است که درصورت نفوذ به یک سیستم که ممکن است حق دسترسی آن در شبکه کم باشد ،با استفاده از تکنیک های افزایش سطح دسترسی می توانیم به بخش های مربوط به sysadminو یا rootبرسیم .بنابراین احتمال در اختیار گرفتن کل شبکه با تنها نفوذ به یک سیستم با پسورد گذاری ضعیف بسیار بالاست و این باتوانایی متخصص تست نفوذ ارتباط مستقیم داردفرض کنید با استفاده ازتکنیک های مهندسی اجتماعی و شناسایی متوجه شده ایم که سیاست پسورد گذاری سازمان عبارت است ازانتخاب پسورد هایی با طول حداقل 1کاراکتر و حداکثر 12کاراکتر پنج رقم اول پسورد شناسه کاربری افراد در سازمان باقی کاراکترها اختیاری طبیعتا با دانستن چنین اطلاعاتی ما در امر نفوذ با استفاده از تکنیک های کرک پسورد بسیار توانمند تر خواهیم بود.5-2-4مرحله سه – تست پسورد های رایجانسان ها اگر چه فکر می کنند منحصر به فرد هستند و اعمالی که انجام می دهند خاص است و متعلق به خود آنهاست اما در واقعیتمسئله این طور نیست و خیلی از رفتار های ما مشابه هم است و این امر در بحث پسورد گذاری نیز رایج است .تشریح علت اینمسئله خارج از حوصله نوشتار فوق است .کاربران یک سازمان و یا یک سایت معمولا تلاش می کنند حداقل سیاست های مربوطبه پسورد گذاری را رعایت کنند زیرا سیستم این طور می خواهد و طوری باشد که پسورد مربوطه از یاد آنها نرود .آنهامعمولا دو گونه رفتار می کنند .در نوع اول یک پسورد جدید و متناسب با سیاست های حداقلی سازمان را برای حساب کاربری خودشان انتخاب می کنند و یا از پسورد هایی که قبلا داشته اند استفاده می کنند .فرض کنید سیاست سازمان اینگونه باشد که طول پسورد حداقل هشت کاراکتر باشد پسورد از ترکیب حروف کوچک و بزرگ باشد اعداد در آن بکار رفته باشد از کاراکتر های خاص استفاده شده باشد
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 105 با چنین سیاستی بی شک یکی از گزینه های انتخابی توسط کاربران می تواند مقدار P@ssw0rDباشد که هم تمامی سیاست های پسورد گذاری سازمان در آن رعایت شده است و همچنین فراموش نشدنیست .متاسفانه چنین پسورد هایی بارها و بارها استفاده شده اند .ما در مرحله سوم بایستی چنین پسوردهایی را تست کنیم .سایت های زیادی وجود دارند که لیست رایجترین پسورد هایی که کاربران از آنها استفاده می کنند را به رایگان در اختیار ما قرار می دهد .یکی از بهترین منابع آنلاین در این زمینه در وب گاه gitبه آدرس زیر موجود است https://github.com/danielmiessler/SecLists/tree/master/Passwords در آدرس فوق لیستی از انواع رایجترین پسورد های استفاده شده را مشاهده خواهید کرد .یکی دیگر از منابع مفید در این زمینه وب گاه زیر است که اطلاعات مهمی را در اختیار ما قرار می دهد http://splashdata.com/ 6-2-4مرحله چهار – ترکیب کلمات با اعداد از آنجایی که در اکثر اوقات به علت اینکه پسورد کاربران منقضی می شود و آنها می بایست پسور جدیدی را انتخاب کنند ،آنها معمولا از اضافه کردن اعداد به ابتدا و یا انتهای پسورد قبلی پسورد جدیدی خواهند ساخت .بنابراین در این مرحله ما به بررسی این نوع پسورد ها خواهیم پرداخت .برنامه هایی چون Hashcatو johnبه متخصص اجازه ترکیب اعداد با کلمات و تغییر در کوچک و یابزرگی حروف و استفاده از قواعد خاص را می دهند .در بخش های بعد به صورت عملی این تست ها را انجام خواهیم داد. 7-2-4مرحله پنج – حمله Hybrid تا اینجا ما توانسته ایم بیش از 52درصد پسورد ها را مورد حمله قرار دهیم .اما برخی از پسورد ها نیاز به صرف زمان و منابع بیشتر دارند .همان طور که در قبل توضیح داده شد یکی از روش های حمله که ترکیب حروف با اعداد و کاراکتر های خاص است حمله Hybridاست در بخش آموزش ابزار ،مرتبط ترین ابزار ها با حمله Hybridکه HashCatاست توضیح داده خواهد شد. 8-2-4مرحله شش– حمله Brute-Force با فرض اینکه تمامی مراحل بالا با شکست مواجه شدند ،در مرحله آخر با بکارگیری منابع سخت افزاری مناسب که در بخش های قبل نمونه های آن توضیح داده شده اند می توان با احتمال موفقیت 11درصد از حمله Brute Forceاستفاده کرد .خود حمله Brute Forceرا میتوان به دو نوع تقسیم بندی کرد Black Test .و .Gray Testدر حالت اول هیچ گونه اطلاعاتی نسبت به سیاست پسورد گذاری سازمان در اختیار نیست و بایستی تمامی حالات موجود بررسی شوند .اما در نوع دوم اطلاعاتی نسبت به سیاست های پسورد گذاری موجود است که به لحاظ کاهش زمان کرک بسیار موثر هستند.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 106 3-4ایجاد پسورد لیست های کارااز آنجایی که در حملات تشریح شده داشتن پسورد لیست ها قدرتمند و مرتبط با تارگت نقش اساسی در کرک کردن پسورد دارد، در این بخش به بیان روش های جامع در ساخت پسورد لیست هایی که انواع مختلفی از مقادیر را در خود دارند خواهیم پرداخت. 1-3-4استفاده از برنامه crunchیکی از ابزار های مفید در سیستم عامل کالی لینوکس که ما را در تهیه انواع مختلفی از پسورد لیست های دلخواه که مورد استفادهبرنامه هایی چون Hashcatو Cain and abelاست یاری می رساند برنامه crunchاست .برای شروع ابتدا دستور شماره 13را ترمینال کالی لینوکس اجراء می کنیمroot@kali:~# crunch دستور شماره 13crunch version 3.6Crunch can create a wordlist based on criteria you specify. The output from crunch can be sent to the screen, file, or to anotherprogram.]Usage: crunch <min> <max> [optionswhere min and max are numbersPlease refer to the man page for instructions and examples on how to use crunch. در آموزش شماره 14روش کار با این ابزار مشخص شده است آموزش ابزار شماره 14>root@kali:~# crunch <min> max<max> <characterset> -t <pattern> -o <output filenamemin : مشخص کردن حداقل طول پسورد هاmax: مشخص کردن حداکثر طول پسورد هاcharacterset: مشخص کردن لیست کاراکترهایی که بایستی استفاده شوندpattern:مشخص کردن الگوی تولید پسورد ها .به عنوان مثال اگر بخواهیم آخر هر پسوردی که توسط برنامه تولید می شود مقدار 1390وجو داشته باشد،می توان در بخش الگو مقدار @@@@@@1390را بافرض اینکه برای هر دوی minو maxمقدار 10در نظر گرفته شده است را مشخص کرد.output filename: نام فایلی برای ذخیره نتایج crunch 5 10 123456789 –o NumPass.pasمثال یک crunch 10 10 –t @@@@@@1390 –o DatePass.pssمثال دوبرای مشاهده آموزش برنامه می توان از صفحه manبا وارد کردن دستور man crunchاستفاده کرد .یکی از سوئیچ هایمفید در برنامه فوق سوئیچ –fاست که اجازه می دهد نوع کاراکترایی که باید در تولید پسورد لیست مورد استفاده قرار گیرید بهصورتی که در دستور شماره 15مشخص شده است تعیین گردد .یکی از نکات مهم در ساخت دیکشنری توسط برنامه crunch قابلیت انتخاب یک مجموعه از کاراکتر ها از یک لیست با مشخص کردن نام آن مجموعه است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 107برای مشاهده فایل مربوط به لیست کاراکترهای پیش فرض به همراه نام آنها که توسط برنامه فوق ایجاد شده است می توان به مسیر usr/share/rainbowcrack/charset.txtمراجعه کرد .فرض کنید ما می خواهیم از مجموعه کاراکترهای زیر استفاده کنیمabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZدر فایل نام این مجموعه mixalphaاست .با استفاده از دستور شماره 1۶از لیست فوق برای تولید دیکشنری استفاده می کنیم دستور شماره 16>root@kali:~# crunch -f /path/to/charset.lst <charactersetnameroot@kali:~# crunch 8 8 -f /usr/share/rainbowcrack/charset.txt mixalpha -o /root/alphawordlist.lst 2-3-4استفاده از برنامه محبوب cewlبا استفاده از ابزار فوق می توانیم با توجه به اطلاعاتی که خود تارگت در اختیار ما قرار می دهد یک دیکشنری قدرتمند ایجاد کنیم.در ایجاد یک دیکشنری این مهم است که بدانیم افرادی که هدف ما هستند به چه موضوعاتی علاقه مند هستند .به عنوان مثال درسازمانی که مرتبط با مباحث ساختمان سازی است ،داشتن لیستی از لغات مرتبط با مضمون ساختمان سازی شانس ما را در کشفپسورد های کارکنان سازمان فوق افزایش می دهد .خیلی از مردم هنگام ساختن پسورد ،از اسامی مربوط به نام خودشان و یاهمسرشان و یا فرزندانشان ،اسم خیابان ها و یا گل ها و یا واژه هایی که در فرهنگ آن کشور دارای یک نوع احترام خاص هستنداستفاده می کنند .برنامه cewlبدین منظور ساخته شده است .بدین صورت که با مراجعه به وب سایت تارگت مورد نظر و جستجویصفحات تمامی لغات سایت که طبیعتا درون آنها واژه های بسیاری مرتبط به نوع فعالیت تارگت است را به عنوان خروجی به ما باز می گرداند .اجازه دهید به صورت مرحله وار نحوه استفاده از این ابزار را شرح دهیم. مرحله : 1دستور شماره 11را در ترمینال وارد می کنیم دستور شماره 17root@kali:~# cewl –help برخی از سوئیچ های مهم برنامه عبارت است ازroot@kali:~# cewl –helpبرmخ-ی:ازطوسولئیحچداقهالیکلمماهتمیبرکناهمبهرناعبماره بتهامسا مت ایز دهد را مشخص می کند و براساس تجربیات مقدار 7مقدار مناسبی می باشد: :-m-dعمطوقلاسحکدانق رلا کملمشاتخی کصهمبریناکمنهد.بهبرنمااممهیفودقهبادی راستمیشسخایصتمرای lکwنaدrو cبکراندساو مسقتداجرربیdاعتم مققایدارن 7کارم رقادانرشامنانسمبیی دمهیدباشد ::--wdعممشق اخسکص کنرردانم فشایخلصخرمویج کینبدر.نابرمنهامه فوق بایستی سایت را crawlکند و مقدار dعمق این کار را نشان می دد مرحله : 2ساخت یک پسورد لیست دلخواه با استفاده از cewlبا توجه به لیست تارگت هایمان ما از دستور شماره 12برای ایجاد یک پسورد لیست استفاده می کنیم
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 108 دستور شماره 18 آدرس تارگت root@kali:~# cewl -w customwordlist.txt -d 5 -m 7این دستور باعث خواهد شده تا برنامه تعدا 5صفحه از صفحات تارگت را با بررسی لغاتی با حداقل طول 7در نظر بگیرد و خروجی را در فایلی با نام customwordlist.txtذخیره کند 3-3-4استفاده از برنامه hashcatاین برنامه برای شکستن پسورد های هش شده کاربرد دارد و روش استفاده از آنرا را به صورت مرحله به مرحله توضیح خواهیم داد مرحله : 1ابتدا در محیط گرافیکی کالی لینوکس به مسیر زیر رفته و برنامه را اجراء می کنیم(همانند شکل )11 Aplications -> Kali Linux -> Password Attacks -> Offline Attacks -> hashcat شکل شماره 19 اگر از کالی لینوکس نسخه شماره دو استفاده می کنید بایستی از مسیر زیر برنامه را اجراء کنید Aplications -> -> Password Attacks-> hashcatدستور اصلی برای اجرای برنامه به صورت hashcat options hashfile mask|wordfiles|directoriesاست .در بخش optionمی توان انواع گزینه ها را مشاهد کرد .دو سوئیچ مهم در این برنامه که همواره استفاده می شوند سوئیچ های زیر هستند
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 109 : -mمشخص کردن نوع هش : -aمشخص کردن نوع حمله مرحله : 2امکانات برنامه بعد از اجرای برنامه در بخش پایین دستور العمل اصلی استفاده از برنامه می توان روشهای بکارگیری قابلیت های برنامه در بهبود و افزایش سرعت شکستن پسورد ها را مشاهده کرد .یکی از امکانات برنامه قابلیت استفاده از rulesها بروی فایل پسورد لیست است. (شکل شماره .)22با استفاده از rulesها می توان پسورد لیست ها را با هم ترکیب کرد و یا به ابتدا و انتهای آنها کاراکتر های خاصی را اضافه نمود. شکل شماره 21 در ادامه می توان از یک character setsبرای تولید پسورد لیست استفاده کرد .اگر ما از سیاست پسورد گذاری سازمان با خبر هستیم می توان از یک نوع character setsمرتبط به سیاست سازمان استفاده کرد .در ساده ترین حالت به عنوان مثال اگر کارکنان سازمان فقط حق استفاده از اعداد را در ساخت پسورد خود دارند می توان از نوع کاراکترهای عددی استفاده کرد( .شکل شماره .)21 شکل شماره 21 در ادامه برخی از قابلیت های برنامه مانند مشخص کردن نوع خروجی و دیباگ برنامه را می توان مشخص کرد (شکل .)22 در نهایت برنامه لیستی از انواع مختلف هش را به ما نشان می دهد .هر برنامه ای می تواند روش منحصر به فرد خود را در پسورد گذاری داشته باشد و بایستی هنگام استفاده از برنامه نوع هشی که به عنوان ورودی به برنامه داده می شود مشخص شود(شکل .)23
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 110 شکل شماره 22 شکل شماره 23 مرحله : 3فرض کنید قصد داریم تا از یک پسورد لیست موجود در سیستم عامل کالی لینوکس در جهت شکستن پسورد سیستم عامل لینوکس استفاده کنیم .ابتدا دستور شماره 24را اجراء می کنیم تا تمامی فایل هایی با اسم wordlistموجود در سیستم عامل را مشاهده کنیم
111 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 24 دستور شمارهroot@kali:~# locate wordlist t/usr/lib/python2.7/dist-packages/nltk/corpus/reader/wordlist.py/usr/lib/python2.7/dist-packages/nltk/corpus/reader/wordlist.pyc/usr/local/lib/python2.7/dist-packages/nltk/corpus/reader/wordlist.py/usr/local/lib/python2.7/dist-packages/nltk/corpus/reader/wordlist.pyc/usr/sbin/remove-default-wordlist/usr/sbin/select-default-wordlist/usr/sbin/update-default-wordlist/usr/share/wordlists/usr/share/applications/kali-wordlists.desktop/usr/share/dict/README.select-wordlist/usr/share/dirb/wordlists/usr/share/dirb/wordlists/big.txt/usr/share/dirb/wordlists/catala.txt/usr/share/dirb/wordlists/common.txt……… . استفاده کنیمsqlmap ما قصد داریم از پسورد لیست برنامه لینوکسlocal بیان شد بایستی مقادیر هش پسورد های سیستم عامل3 در این مرحله همانطور که در مرحله شماره: 4 مرحله را وارد می کنیم25 بدین منظور دستور شماره.را بدست بیاوریم 25 دستور شماره root@kali:~# tail /etc/shadow systemd-resolve:*:16719:0:99999:7::: systemd-bus-proxy:*:16719:0:99999:7::: geoclue:*:16719:0:99999:7::: redis:*:16719:0:99999:7::: rwhod:*:16719:0:99999:7::: dnsmasq:*:16719:0:99999:7::: ali:!:16881:0:99999:7::: admin:!:16881:0:99999:7::: cowrie:*:16919:0:99999:7::: keramat:$6$0.4gl8NC$DHc.40xk9BkLzavVaZPeic/PhOtQJvV0Gj5uL4fHuhtBt.sQ/pCCKFMKPWhVXdqaVc1JCq3Y4GW .a6FZGyxSB.:16934:0:99999:7::: این اطلاعات.در ادامه بایستی از روشی که سیستم عامل کالی لینوکس برای هش کردن پسورد ها استفاده می کند مطلع شویمjohn و یا استفاده از برنامهR&D روشهای مختلفی همانند. به منظور شکستن پسورد کاربرد داردhashcat زمان تقابل با برنامه است که مشخص می کند روش رمزنگاری استفاده ازetc/login.defs اما یک روش دیگر مشاهده محتویات فایل.وجود دارد . استSHA512 الگوریتم . محتویات فایل پسورد ها را درون یک فایل دیگر کپی می کنیم2۶ توسط دستور شماره: 5 مرحله 26 دستور شماره root@kali:~# cp /etc/shadow /roo/hashes.lst
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 112 برای کرک کردن فایل hashes.lstنیاز است تا اطلاعات اضافه ای که در آن وجود دارد را پاک کنیم .این اطلاعات شامل نام کاربری ،مقدار saltو همچنین اطلاعات مربوط به مجوز های کاربر مربوطه است .برای این کار فایل را باز کرده و مقادیر مربوطه را به صورت زیر حذف می کنیم تا تنها مقدار هش باقی بماند root:$6$PQBlg19C$Kwb5aFH.KZnix1hs4ZzovhlvvwxshGffpdGsNSj6K9Hal8cUzYqQodvhVUcM5H sivRvsD.ugmgKXjNsgIz7C5.:16721:0:99999:7::: تبدل می شود به : $6$PQBlg19C$Kwb5aFH.KZnix1hs4ZzovhlvvwxshGffpdGsNSj6K9Hal8cUzYqQodvhVUcM5HsivRv sD.ugmgKXjNsgIz7C5. حال از دستور شماره 21برای استفاده از hashcatاستفاده می کنیم دستور شماره 27 root@kali:~# hashcat -m 1800 -a 0 -o cracked.txt --remove hashes.lst /usr/share/sqlmap/txt/wordlist.txt : -m 1800مشخص کردن نوع هش که همان SHA512است : -a 0مشخص کردن نوع حمله که دیکشنری است : -o cracked.txtمشخص کردن خروجی برنامه : --removeدستور فایل حاوی هش بعد از کرک شدن آن : hashes.lstنام فایل ورودی برنامه : /usr/share/sqlmap/txt/wordlist.txtمیسر فایل دیکشنری به محض اینکه برنامه بتواند مقدار هش را کرک کند می توان فایل cracked.txtرا باز نمود و پسورد را بدست آوردHashcat . برای شکستن پسورد ها از CPUاستفاده می کند .برنامه oclhashcatنوع دیگری از برنامه فوق است که از GPUبرای شکستن پسورد ها استفاده می کند و همانطور که در قبل ذکر شد سرعت آن به مراتب از نوع hashcatبیشتر است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 113 فصل پنج حمله به سرورهای SSL/TLS در این فصل مباحثی بیان خواهند شده که مربوط آسیب پذیری های سرویس SSLاست .یک حمله عملی و خطرناک را نیز به سرور SSLانجام خواهیم داد
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 114 5حمله به سرورهای SSL/TLS 1-5آسیب پذیری های SSL در ده ماهی که از سال 2214میلادی گذشته است ،چندین آسیب پذیری مهم در پروتکل SSL/TLSبا حملات شناخته شده از جمله BEAST SSLشناسایی و معرفی شدهاند .پروتکلهای امنیتی لایه حمل و نقل از جمله SSLو TLSوظیفه دارند محرمانگی اطلاعاتی که منتقل میکنند را حفظ نمایند .پروتکل SSLتا حد زیادی قدیمی است و در سال جاری آسیب پذیریهای این پروتکل کشف و در حملات سایبری قدرتمندی مورد استفاده قرار گرفته است TLS .از نسخههای جانشین و مابعد SSLمیباشد و نسبت به SSLدارای مقاومت بیشتری است اما نسخه جدید TLSهنوز مانند نسخههای قدیمی SSLبه صورت گسترده پشتیبانی نمیشوند. یکی از مشکلاتی که در حملات SSL/TLSوجود دارد این است که قربانی معمول ًا از وجود این حملات آگاه نیست و با اتصال به وبگاههای بانک و خرید برخط ،اطلاعات محرمانه حساب کاربری خود را وارد میکند و مهاجم این اطلاعات را به صورت رمز نشده میخواند و میتواند به راحتی از آن ها سوء استفاده کند. طبق بررسی جدید شرکت Trustworthy Internet Movementدر طرح ، PulseSSLهفتاد و پنج درصد سایتها در مقابل حمله BEAST SSLآسیبپذیر هستند .این شرکت پیرو طرحی جدید با نام ، PulseSSLکیفیت و ایمنی سایتهای برتر در سراسر اینترنت را بررسی کرده که طی آن 15درصد این سایتها در مقابل حمله BEAST SSLآسیبپذیر شناخته شده و تنها 12درصد از سایتهای بررسی شده ،امن برآورد شدند .طرح ، PulseSSLمولفههای زیادی را در سایتهایی که در آنها SSLپیادهسازی شده، برای تعیین میزان امنیت آن سایت مورد بررسی قرار میدهد. این طرح بررسی میکند که هر سایت از کدام پروتکلهای TSLو SSLپشتیبانی میکند و آیا در مقابل حمله BEASTو دیگر حملات آسیبپذیر هست یا خیر .اطلاعاتی که به وسیله این طرح جمعآوری شد نشانگر این است که اکثریت قریب به اتفاق از نزدیک به 222هزار سایت بررسی شده در این طرح ،نیاز به کمک جدی برای رفع مشکلات مربوط به پیادهسازی SSLداشتند .آمار نگرانکننده دیگری که به وسیله این طرح جمعآوری شد ،نشاندهنده این است که تعداد 142هزار مورد از سایتهای بررسی شده
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 115 در مقابل حمله BEASTآسیبپذیر هستند .حمله مذکور توسط دو محقق به نامهای Juliano Rizzoو Thai Duongایجاد شده که سال پیش افشا شد .این حمله از chosen-plaintextاستفاده میکند که علیه پیادهسازی AESدر پروتکل TLS 1.0انجام میشود و برای حملهکننده امکان استفاده از ابزاری خاص برای سرقت و رمزگشایی کوکیهای HTTPSرا فراهم میکند .سپس حملهکننده میتواند درخواستهای SSLتوسط قربانی به سایتهای تجارت الکترونیکی و یا اینترنت بانک را برباید .حمله BEAST بسیار پیچیده است ،اما نگرانی جدی و واقعیت این است که سه چهارم از سایتهایی که در این طرح مورد بررسی قرار گرفتند ،هنوز هم در معرض انواع حملات دردسرساز هستند .این سایتها میتوانستند تنها با کاهش انتشار TSL 1.0میزان حملات را کاهش دهند و برای این کار لازم بود که تنظیمات سرورهایشان طوری باشد که در طی ارسال درخواستهای TSL 1.0و SSL 3.0تنها از حروف رمزی RC4استفاده کنند .نگرانی بزرگ دیگر درباره اطلاعات به دست آمده از گزارش SSL Pulseاین است که یک سوم از سایتهایی که از پروتکل SSL 2.0پشتیبانی میکنند ناامن تلقی میشوند .متخصصان توصیه میکنند که به دلیل ضعف موجود در SSL 2.0از این ورژن استفاده نشود. شرکت Trustworthy Internet Movementدر سال اخیر شکل گرفت که توسط Philippe Courtotمدیر عامل شرکت Qualysحمایت میشود و نیروهای متخصصی در زمینه SSLمانند Ivan RisticازMoxie Marlinspike ، Qualysاز Whisper Systemsو Twitterو Adam Langleyاز Googleعضو این مجموعه هستند . Risticدر یک پست از سایت این مجموعه میگوید دادههای جمعآوری شده توسط این تحقیق قطعی نیست و این نشانه خوبی است از آنچه در سایتهای امن SSL اتفاق میافتد .وی بیان میکند\" :نتایج آزمونهای انجام شده در زمینه SSLکه برای خلاصه کردن نتایج به دست آمده از کیفیت پیکربندی SSLانجام شده است ،نشانگر این است که نزدیک به 52درصد ( 11123سایت) رتبه Aدریافت کردهاند که نتیجه خوبی است .این در حالی است که گزارش قبلی حاکی از این بود که 33درصد از سایتها به خوبی پیکربندی شدهاند .این بدین معنی است که سایتهای محبوبتر امنتر شدهاند .متاسفانه ،بسیاری از سایتهایی که رتبه Aدریافت کردهاند هنوز از ارتباطات ناامن استفاده میکنند ( 2522سایت یا 2,5درصد از سایتهای با پیکربندی خوب) و یا تعداد 12351یا 12,4درصد از این سایتها در مقابل حمله BEASTآسیبپذیر هستند. این آمارنشان میدهد که تنها تعداد 11224سایت ( 1,51درصد از کل سایتها) در این سطح از تجزیه و تحلیل واقعا امن هستند\". آسیبپذیری دیگر POODLEاست که به تازگی منتشر شده و از یک ضعف در مبنای تئوری SSLv3استفاده میکند ،نه یک مشکل پیادهسازی .به همین دلیل تنها راه برطرف کردن آن غیرفعال کردن کامل این پروتکل میباشد .اصل مبنای تئوری این آسیبپذیری توسط Serge Vaudenayدر سال 2221مطرح شد ،اما او فکر میکرد که امکان استفاده عملی از این آسیبپذیری وجود ندارد .هم اکنون یک روند عملی برای استفاده از این آسیب پذیری مطرح شده است .این روند عملی ،اگر چه پیچیده ،ولی قطعی است (احتمالی نیست) و فراهم کردن همهی شرایط آن اگر چه نیاز به تلاش بسیاری دارد و نوشتن یک اسکریپت برای آن شاید سخت باشد ،ولی کاملا شدنی است. شرایط لازم برای تحقق آسیب پذیری: تنها شروط پایه برای استفاده از این آسیب پذیری ،این موارد است: حمله کننده در شبکه کاربر قرار گرفته باشد و بتواند درخواستها را مشاهده کند و تغییر دهد .مثلا کسی که به رایانه یا مودم ADSLکاربر دسترسی دارد ،یا دانشگاه یا ISPای که کاربر با آن به اینترنت متصل است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 116 مرورگر کاربر ) (clientاز SSLv3پشتیبانی کند که همهی مرورگرهای قدیمی و جدید پشتیبانی میکنند. سایت مقصد (سرور) از SSLv3پشتیبانی کند که تقریبا همهی سایتها پشتیبانی میکنند .نکته این جاست که مرورگر IE6تنها از SSLv3پشتیبانی میکند ،و اگر سایتی این ویژگی را غیر فعال کند ،مرورگرهای IE6دیگر امکان اتصال به آن را ندارند. از نظر تئوری ،این آسیب پذیری اجازه میدهد که حمله کننده قسمتی از درخواست را (با اینکه رمز شده است) بخواند و تشخیص دهد .این قسمت باید شرایط خاصی داشته باشد ولی برای مثال میتواند cookieکاربر باشد .شرایط ثانویه استفاده از این آسیب پذیری موارد زیر است .دقت نمایید که همهی این شرایط با فرض شماره 1قابل دستیابی هستند. حمله کننده میتواند هر کد > <scriptدلخواه را در سمت کاربر اجرا نماید .چون در شبکه قرار گرفته است ،و مثلا میتواند اسکریپت دلخواه را در پاسخ یک درخواست( httpکه رمز نگاری نشده است) تزریق کند. حمله کننده باید بتواند یک درخواست را بدون تغییر ،به دفعات زیاد در طرف کاربر اجرا کند .درخواستهای کاربر اصولا شامل url صفحه و headerهاست .هدرها هم اصولا ثابت هستند (مثلا Acceptو User-Agentو .)...هدر Cookieهم که حمله کننده میخواهد به محتوای آن دستیابی پیدا کند اصولا (حداقل چند دقیقه) ثابت است. حمله کننده دقیقا باید بداند که هدف (مثلا مقدار هدر ) Cookieچند کاراکتر است و در کجای درخواست قرار دارد (از کاراکتر چندم تا چندم) .حمله کننده با مشاهده درخواستهای رمز نگاری نشده و قبلی کاربر که httpهستند ،میتواند این اطلاعات را کسب کند. حمله کننده باید بتواند که با یکسان نگه داشتن طول درخواست ،مقدار دلخواه خود را جلو و عقب ببرد (شیفت کند) حمله کننده به راحتی با اضافه کردن یک کاراکتر به urlو تغییر bodyدرخواست ،میتواند این کار را انجام دهد .دقت کنید که لازم نیست حمله کننده پاسخی دریافت کند ،بنابراین CORSهم تأثیری ندارد. ریشه آسیب پذیری: بیشتر الگوریتمهای رمز نگاری مورد استفاده در SSLروی بلاکهای 2یا 1۶بایتی از داده کار میکنند .در اینجا برای راحتی فرض میکنیم که از یک الگوریتم 1۶بایتی استفاده میشود .بنابراین مثلا داده باید به تکههای 1۶بایتی تقسیم شود و عملیات رمز نگاری روی این بستههای 1۶بایتی انجام میشود .چون ممکن است طول داده مضربی از 1۶نباشد ،ابتدا باید با اضافه کردن چند کاراکتر اضافی به انتهای داده (که به آن paddingمیگویند) ،طول آن را به مضربی از 1۶تغییر داد .روش مورد استفاده در SSLv3این طور است که آخرین کاراکتر نشان میدهد که چند کاراکتر paddingوجود دارد ،برای مثال درخواست زیر را ملاحظه کنید( .در شکل شماره یک هر خط 1۶کاراکتر و بنابراین یک بلاک است) شکل شماره 1
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 117 که در مثال بالا کاراکترهای مشکلی ،خود درخواست) ، (plaintextو کاراکترهای سبز hash ،آن است (که برای ما مهم نیست) مقدار 123که با رنگ زرد مشخص شده ،مقداری است که حمله کننده آنرا نمیداند و میخواهد آن را بیابد .کاراکترهای قرمز paddingهستند و آخرین کاراکتر که 23است ،نشان میدهد که 3کاراکتر قبل آن نیز جزو paddingاست .در SSLv3مقدار 3کاراکتر قبلی اصلا مهم نیست (برای همین با XXنشان داده شده است) در صورتیکه در نسخههای بعد ،این کاراکترها باید مساوی با همان کاراکتر آخر باشند .همین تفاوت است که باعث آسیب پذیر شدن SSLv3شده است .دقت کنید که در SSLv3کاراکترهای paddingدر hashمحاسبه نمیشوند و این نکته هم یکی از مبانی این آسیب پذیری است. 1-1-5نحوه استفاده از آسیب پذیری ابتدا حمله کننده باید طول درخواست را به گونهای تغییر دهد که یک کاراکتر (مثلا آخرین کاراکتر کوکی) در آخر یک بلاک قرار بگیرد (طبق فرضها او طول و جای کوکی را میداند) .و ضمنا طول درخواست هم به گونهای باشد که یک بلاک کامل به padding اختصاص داده شود( .شکل شماره )2 شکل شماره 2 هر بلاک رمزنگاری نشده (یا )plaintextاز P1تا P5نام گذاری شده است .دقت کنید که حمله کننده با استفاده از جاواسکریپت میتواند urlو bodyدرخواست را تغییر دهد اما دسترسیای به محتوای cookieندارد .متن بالا برای برای ارسال به سرور در سمت کاربر (کلاینت) رمز میشود و محتوای رمز شده به سمت سرور ارسال میشود .حمله کننده در بین راه محتوای رمز شده را چیزی مانند شکل شماره 3 شکل شماره 3 هر بلاک رمزنگاری شده (یا )ciphertextاز C1تا C5نام گذاری شده است .البته او میداند که بلاک آخر متناظر paddingو بلاک C2هم متناظر با P2است .به صورت پیشفرض SSLاز روش CBCبرای chainکردنِ بلاکها استفاده میکند(.شکل شماره )4 شکل شماره 4
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 118 بنابراین حمله کننده میداند که این جملات صادق هستند: Encrypt(C1 ⊕ P2) = C2 Encrypt(C4 ⊕ P5) = C5 و میداند که P5[16] = 0x0Fاست ،چون paddingیک سطر کامل است .در این حال حمله کننده (که بین کلاینت و سرور حائل شده است) ،بلاک C5را (که متناظر با paddingاست) دستکاری میکند و آنرا مساوی C2قرار میدهد(شکل شماره )5 شکل شماره 5 در این صورت خواهیم داشت:⊕ C5 = C2 ⇒ Encrypt(C1 ⊕ P2) = Encrypt(C4 ⊕ P5) ⇒ C1 ⊕ P2 = C4 ⊕ P5 ⇒ P2 = C1 ⊕ C4P5سپس حمله کننده رشتهی جدید را به سرور ارسال میکند .حمله کننده مقدار C5را (که رمز شدهی paddingبوده) دستکاریکرده است و بنابراین مقدار paddingرا به رشته نامعلومی تغییر داده است .اما میداند که سمت سرور فقط آخرین کاراکترpaddingمهم است نه بقیه آن .در بیشتر موارد مقدار کاراکتر آخر مخالف x0F 2است و سرور تشخیص میدهد که پیام ارسالشده خراب شده است و ارتباط را قطع میکند .اما از هر 25۶مورد یک مورد امکان دارد که کاراکتر آخر دقیقا برابر x0F 2باشد .دراین صورت پیام ،صحیح تلقی شده و پاسخ به کلاینت برگردانده میشود .حمله کننده به راحتی (مثلا با بررسی اندازه پاسخ) میتواندتشخیص دهد که آیا این دستکاری ،پیام را خراب کرده است یا نه.اگر پیام خراب نشده باشد ،حمله کننده یک کاراکتر از کوکی را فهمیده است ،چون میداند که]P2[16] = C1[16] ⊕ C4[16] ⊕ P5[16مقدار P5[16] = 0x07است و مقدار C1و C4نیز جزو( ciphertextدرخواست رمز شده) است .به این ترتیب حمله کنندهحدودا با 25۶تلاش میتواند یک کاراکتر از کوکی کاربر را استخراج کند .حال کاربر با اضافه کردن یک کاراکتر به urlو حذف یک
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 119 کاراکتر از bodyمیتواند مقدار کوکی را یک کاراکتر به جلو شیفت کند و با تکرار روند بالا (حدودا 25۶درخواست) کاراکترهای کوکی را یک به یک استخراج نماید(شکل شماره )۶ شکل شماره 6بنابراین یک حمله کننده برای یافتن یک کوکی به طول 42کاراکتر ،حدودا باید 12،222درخواست از سمت کاربر ارسال کند .این تعداد بسیار کم است و با سرعت 22درخواست در ثانیه ،در کمتر از 12دقیقه قابل انجام میباشد. 2-5حمله Heartbleed Heartbleedیکی از آسیب پذیری های بسیار جدی و خطرناکی است که در برنامه های لایه کاربرد که از کتابخانه های سیستمرمزنگاری opensslاستفاده می کنند وجود دارد .این آسیب پذیری باعث خواهد شد تا مهاجم بتواند اطلاعاتی که محافظت شدهاند را به سرقت ببرد .این نوع حمله می تواند تحت شرایط عادی اتفاق بیافتد SSL/TLS .فراهم کننده امنیت ارتباطات درون اینترنتاست و توسط برنامه هایی چون IM ،mail ،webو یا VPNمی تواند مورد استفاده قرار گیرد Heartbleed .به یک مهاجم اجازهمی دهد تا بتواند اطلاعات حافظه یا memoryیک سرور آسیب پذیر را به صورت حمله از راه دور بخواند .این حمله می تواند باعثنشست اطلاعاتی همچون پسوردهای هش شده و یا متن ساده ،کلیه کلید های امنیتی ،نام های کاربری و هر نوع اطلاعات دیگری که در مموری وجود دارد و از نظر مهاجم با اهمیت است را به خطر بیاندازد.در محیط آزمایشگاه ما این حمله را انجام دادیم و بدون داشتن هیچ گونه مجوزی برای دسترسی به اطلاعات و یا طی کردن هر نوعپروسه احراز هویت توانستیم اطلاعات درون حافظه سرورمان که شامل نام های کاربری و پسوردها ،گواهینامه های ،X.509پیام هاو اطلاعات حساس مرتبط با مسائل تجاری در تخصص و کارمان را به سرقت ببریم .تا زمانی که از نسخه آسیب پذیرopen sslاستفاده می شود ،بروز این حمله شدنی است و هر زمان که از نسخه های پچ شده آن استفاده گردد می توان انتظار امنیت را داشت. CVE- 2014 – 0160مشخصه این باگ است CVE .که مخفف Common Vulnerabilitis and Exposuresاست یکاستاندارد برای نام گذاری آسیب پذیری هایی است که امنیت اطلاعات را به مخاطره می اندازند و توسط MITREاستفاده می شوند.این باگ ناشی از پیاده سازی یک توسعه از heartbeatدر openSSLاست .زمانی که باگ موجود اکسپلویت می شود باعث آنخواهد شد تا اطلاعات موجود در مموری سرور به سمت کلاینت ارسال شود .بنابراین وجود حمله Heartbleedناشی از ضعفطراحی در پروتکل SSL/TLSنیست بلکه ناشی از اشتباهات برنامه نویسی می باشد .در لیست شماره 1نسخه های آسیب پذیر open sslرا مشخص کرده ایم و در لیست شماره 2سیستم عامل هایی که نسبت این باگ آسیب پذیری دارند و در لیست 1 سیستم عامل هایی که باگ فوق را پچ کرده اند مشخص شده اند لیست شماره 7OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerableOpenSSL 1.0.1g is NOT vulnerableOpenSSL 1.0.0 branch is NOT vulnerableOpenSSL 0.9.8 branch is NOT vulnerable
120 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 8 لیست شماره 9 لیست شماره Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4 Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11 CentOS 6.5, OpenSSL 1.0.1e-15 Fedora 18, OpenSSL 1.0.1e-4 OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012) FreeBSD 10.0 - OpenSSL 1.0.1e 11 Feb 2013 NetBSD 5.0.2 (OpenSSL 1.0.1e) OpenSUSE 12.2 (OpenSSL 1.0.1c) Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14 SUSE Linux Enterprise Server FreeBSD 8.4 - OpenSSL 0.9.8y 5 Feb 2013 FreeBSD 9.2 - OpenSSL 0.9.8y 5 Feb 2013 FreeBSD 10.0p1 - OpenSSL 1.0.1g (At 8 Apr 18:27:46 2014 UTC) FreeBSD Ports - OpenSSL 1.0.1g (At 7 Apr 21:46:40 2014 UTC) . را توضیح خواهیم دادHeartbleed حال در ادامه روش عملی حمله Heartbleed کالی و1-2-5 می توان لیستی از سایت های آسیب پذیر نسبتhttps://zmap.io/heartbleed/vulnerable.html با مراجعه به سایت آسیب پذیر هستند یا نه میHeartbleed برای اطمینان از اینکه آیا سایت های فوق نسبت به حمله.به حمله فوق را بدست آورد ما یک تارگت. بررسی کردhttps://filippo.io/Heartbleed آنلاین مانندHeartbleed توان سایت را توسط یک جستجوگر )11 و12 (شکل های.را برای حمله انتخاب می کنیم11 شکل شماره
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 121شکل شماره 11ابزار های زیادی در محیط کالی وجودا داردند تا بتوان یک حمله موفق را به سرانجام رساند اما ما همانند دستورات شماره 12 عمل می کنیم دستورات شماره 12root@kali~# mkdir HeartbleedAttackroot@kali~# cd HeartbleedAttack/root@kali~#wget https://github.com/HackerFantastic/Public/blob/master/exploits/heartbleed.croot@kali~# gcc heartbleed.c -o heartbleed -Wl,-Bstatic -lssl -Wl,-Bdynamic -lssl3 -lcryptoroot@kali~# chmod +x heartbleedحال می توان توسط دستور شماره 13حمله را به تارگت مشخص شده انجام داد دستورات شماره 13]root@kali~# ./heartbleed -s [IP] -p [port] -f [output file] -v [verbose] -t [typeroot@kali~# ./heartbleed -s dedashka.org -p 636 -f output_ldap -v -t 1بر اساس نوع اطلاعاتی که در حافظه ذخیره شده است ما می توانیم نفوذ عمیق عمیق تری داشته باشیم .به عنوان مثال حاصلاجرای دستور بالا شکل شماره 14است که در آن می توان مقادیری که مربوط به هش است و احتمالا پسورد هش شده یکی از کاربران سایت است را مشاهده کرد .برای شکستن این هش می توان از تکنیک های فصل قبل استفاده کرد
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 122 شکل شماره 14
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 123 فصل پنج شرح فاز عملیاتی این پروژه – ساخت HWS در این فصل علت تولید محصول بومی ،HWSروش نصب و کارکرد این محصول بیان می شود.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 124 6شرح فاز عملیاتی این پروژه – ساخت HWSدر فصل چهار بیان شد که میزان موفقیت در کرک کردن یک صفحه لاگین و یا احراز هویت به یک نرم افزار همان قدری که بهقدرت سخت افزاری سیستم وابسته است به وجود یک دیکشنری خوب نیز مربتط است .چند در صد مردم از پسوردی که برای مودمخانگی خود برای دسترسی به شبکه wifiمی گذارند در مکان های دیگری مانند ایمیل ها و یا صفحات وب استفاده می کنند .بیشک با احتمال بالایی می توان گفت که داشتن یک دیکشنری از مقادیری چون SSIDهای واقعی افراد در سطح کشور و پسوردمرتبط با آن نقش موثری در بدست آوردن دسترسی های لازم دارندHWS .برنامه ای است که تمامی کد های آن توسط خودماننوشته شده است و به زبان پایتون است .این برنامه که دارای یک واسط گرافیکی مناسب است این امکان را به کابر می دهد تا باانتخاب یک رنج از آدرس های IPو مشخص کردن مقدار threadingبه تمامی روتر های ADSLبا انواع مختلف آن شامل TP- Linkو D-Linkنفوذ کرده و در صورت برآورده شدن حداقل شرایط اطالعات زیر را استخراج کند اطلاعات لاگین صفحه وب نام کاربری برای اتصال به ISP پسورد برای اتصال به ISP مقدار SSIDمودم کلید رمزنگاری مودم ترکیبی از مقادیر بالااین که چطور این محصول کار می کند در سورس کد های آن بصورت واضح مشخص است اما بایستی نحو نصب و عملکرد آن نشان داده شود. 1-6نصب HWSبرای نصب این برنامه بایستی شرایط زیر مهیا باشد وجود یک سیستم عامل لینوکس با هر نوع توزیع وجود کامپایلر پایتون نسخه 2,1 نصب برنامه pip
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 125 ارتباط با شبکه اینترنت ابتدا بایستی برنامه را در مسیر /rootکپی کنیم .سپس همانند شکل شماره 1به پوشه setupرفته و دستورات شماره دو را اجرا می کنیم شکل شماره 1 دستورات شماره 2root@kali~# chmod +x setup.shroot@kali~# ./setup.shبعد از اجرای دستور بالا برنامه شروع به نصب خواهد شد .حال در پوشه اصلی برناه چندی پوشه و فایل است که عبارت است از : Confiمربوط است به تنظیمات ذخیره سازی و فعال سازی برنامه : Fontsفونت های فارسی برای ایجاد یک اینترفیس بومی : Imgپوشه تصاویر داینامیکی برنامه : Modulesماژول های برنامه برای توسعه قابلیت های آن : Passwordsلیست پسورد های بدست آمده توسط برنامه : Setupپوشه حاوی فایل نصب برنامه : Password.txtفایل لازم برای کرک صفحات لاگین : Hwc.cسورس کد های برنامه با پایتون نوشته شده اند و برای افزایش سرعت به cتبدیل شده اند
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 126 بعد از نصب در پوشه اصی فایلی با نام hws1.0.1ایجاد می شود که یک برنامه اجرایی است .بعد از اجرای آن در شکل شماره 3 محیط برنامه را مشاهده می کنید شکل شماره 3 بعد از فعال سازی برنامه محیط hwsهمانند شکل شماره 4خواهد بود شکل شماره 4
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 127 حال میتوان یک رنج IPبه برنامه داد تا آنها را اسکن کند وتمامی اطلاعات لازم را بدست بیاورد .در شکل های 5تا روند اسکن و شناسایی و بدست آوردن اطلاعات توسط این برنامه نشان داده شده اند شکل شماره – 5مشخص کردن رنج IP شکل شماره – 6اجرای برنامه و اسکن آدرسها توسط برنامه
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 128 شکل شماره – 7بدست آوردن اطلاعات لاگین به ISPبرای آدرس 89.165.103.37 IP شکل شماره – 8بدست آوردن مقدار SSIDبه همراه پسورد wifi
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 129 شکل شماره – 9کارایی و سرعت برنامه در بدست آوردن اطلاعات شکل شماره – 11ذخیره سازی نتایج
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 130 7نتیجه گیری و پیشنهاد برای ادامه کار در این پروژه روشهای مختلفی را که در تست نفوذ پیشرفته بیان می شوند را مطرح کردیم .در هر فصل مسیر هایی که بایستی ادامه دار باشند را مشخص کردیم .به عنوان مثال در بخش شناسایی و معرفی ،Nmapدرک تمامی قابلیت های بی نظیر این برنامه متن باز ،توسعه آن و تا حتی بومی سازی آن می تواند خود یک پروژه مناسب باشد .هر کدام از سرفصل های این پروژه می توانند در حالت کلی موضوعات تحقیقاتی برای چندین پروژه باشند .به عنوان مثال در فصل دوم اطلاعات افراد را می توان در جهت به کارگیری روشهای مهندسی اجتماعی بکار برد و از لیست ایمیل ها جهت کرک کردن پسورد و از هاست ها به منظور اسکن آسیب پذیری بر اساس متد OWASPبرای شناسایی باگ ها و حفرهای امنیتی بهره مند شد .در فصل بهره برداری با یک نمونه از روشهای اکسپلویت آشنا شدیم .نمونه این حمله تعدادی از دامنه های بیان شده در فصل دوم را تهدید می کند که برای حفظ محرمانگی از بیان آنها خودداری می کنیم .در فصل چهار نیز با انواع مفاهیم و روشهای حمله به سیستم هایی که توسط متد های رمزنگاری و پسورد محافظت می شوند آشنا شدیم .با بهره مندی از مفاهیم این فصل و فراهم آوردن امکانات سخت افزاری می توان 12درصد از پسوردهای کاربران چه حقیقی و چه حقوقی را بدست آورد که نتیجه آن افزایش احتمال نفوذ به بستر شبکه های کابلی و بیسیم است .در فصل پنج حمله Heartbleed مطرح شد .این حمله حجم وسیعی از سرورهای داخلی که بروی آنها sslفعال است را تهدید می کند .نمونه های زیادی در درگا های وب اپراتورها و شرکت های فراهم کننده زیر ساخت وجود دارد که مشکل فوق را دارند .در فصل آخر نیز مطالب کلیدی مرتبط با فاز عملیاتی این پروژه بیان شد .محصول HWSمحصولیست که قابلیت توسعه دارد و در آن از تکنیک های هوش مصنوعی به منظور شناسایی دقیق تارگت و استخراج تمامی اطلاعات محرمانه استفاده شده است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 131 پیشنهادات ما برای ادامه این کار عبارت است از تست نفوذ تمامی درگاه های وب بدست آمده در فصل دوم بر اساس متد OWASPبه علت حجم بالای آسیب پذیری های موجود در این سایت ها بررسی تمامی زیر ساخت های شبکه های 3Gو 4Gکه از پروتکل TCP – IPاستفاده می کنند توسعه محصول HWSساخته شده در این پروژه که به صورت افزایش ماژولها است و باعث آن خواهد شده تا برنامه بتواند صفحات بیشتری را که روش لاگین کردن خود را دارند را بررسی کند و در صورت موفقیت در لاگین ایجاد کد های محاسباتی برای بدست اطلاعات محلی و غیر محلی ایجاد یک سیستم کرک پسورد قدرتمند ومرتبط با HWSبه منظور ارتباط HWSبا دیتابیس آن و سرعت در افزایش ساخت دیکشنری ساخت محصولاتی مشابه با برنامه ساخته شده HWSبا این هدف که بتوانند به صورت هوشمند از سایت ها و هر نوع منابعی که از لغات فینگلیش استفاده می کنند به منظور ساخت دیکشنری ها بهره برداری کند ساخت یک اسکنر بومی برای تحلیل امنیت SSLمطابق با آنچه در فصل پنج این پروژه بیان شد
132 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم منابع8[1] – The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws2nd Edition - by Dafydd Stuttard (Author), Marcus Pinto (Author)[2] – Rtfm: Red Team Field Manual Paperback – February 11, 2014 by Ben Clark[3] –The Browser Hacker's Handbook 1st Edition by Wade Alcorn[4] – Black Hat Python: Python Programming for Hackers and Pentesters 1st Editionby Justin Seitz[5] – The Hacker Playbook 2: Practical Guide To Penetration Testing Paperback – June20, 2015 by Peter Kim[6] – Mastering Kali Linux for Advanced Penetration Testing Paperback – June 24, 2014by Robert W. Beggs[7] – Penetration Testing: A Hands-On Introduction to Hacking 1st Edition by GeorgiaWeidman[8] –Metasploit: The Penetration Tester's Guide 1st Edition by David Kennedy[9] – Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testersand Security Engineers 1st Edition by TJ O'Connor سایت ها[1] – https://www.owasp.org/index.php/Main_Page[2] – http://null-byte.wonderhowto.com/[3] – https://www.offensive-security.com/[4] – https://www.exploit-db.com/[5] – https://github.com/
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 133 [6] – https://pentest-tools.com/home
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133