برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
تعیین محدوده شبکه
اکنون که آماده شدهاید آزمایش مربوط به پیدا کردن نام مکانها، شماره تلفنها، آدرسها، برخی از سرورهای نام و آدرسهای آیپی را پیدا کنید، مهم است که آدرسهای آیپی را برای پویش و سرشماری پیدا کنید. اگر آدرس آیپی وبسرور وب را کشف کردهاید و آدرس شناسایی شده را درون ابزار Whois از https://www.arin.net وارد کردید، در این مرحله میتوانید دامنه شبکه را تعیین کنید. به عنوان مثال، اگر آدرس 192.17.170.17 وارد ARIN Whois وارد کنیم اطلاعات زیر را دریافت میکنیم:
OrgName: target network
OrgID: Target-2
Address: 1313 Mockingbird Road
City: Anytown
StateProv: Tx
PostalCode: 72341
Country: US
ReferralServer: rwhois://rwhois.exodus.net:4321/
NetRange: 192.17.12.0 - 192.17.12.255
CIDR: 192.17.0.0/24
NetName: SAVVIS
NetHandle: NET-192-17-12-0-1
Parent: NET-192-0-0-0-0
اطلاعات یاد شده نشان میدهد که شبکه هدف در مجموع 254 آدرس دارد. مهاجم هم اکنون میتواند تلاشهای خود را در محدوده آدرسهای 192.17.12.1 تا 192.17.12.254/24 معطوف کند. اگر تلاشها موفقیتآمیز نبودند، مهاجم میتواند از traceroute برای ترسیمات اضافیتر استفاده کند.
زیرشبکهها در Mapping Networks
در زمان انجام آزمونهای هک ممکن است به موارد و نکاتی برخورد کنید که در هیچ دوره آموزشی مرتبط با مباحث امنیت به آنها اشاره نشده است. یکی از این موارد زیرشبکهها و همچنین زیرشبکهسازی (subnetting) است. زیرشبکهسازی به ما این امکان را میدهد تا شبکههای منطقی را درون یک شبکه موجود در کلاسهای A ، B یا C به وجود آوریم. زیرشبکهسازی از این جهت بسیار مهم است که به نفوذگران کمک میکند تا مشخص کنند چه سیستمهایی بخشی از یک شبکه خاص هستند. برای زیر شبکه کردن یک شبکه واحد، شما باید ماسک طبیعی را با برخی از بیتهای موجود در شناسه میزبان یک آدرس گسترش دهید. به عنوان نمونه، اگر شما یک شبکه کلاس C از آدرس 192.168.5.0 دارید که دارای یک ماسک طبیعی 255.255.255.0 است، میتوانید به شکل دستی زیرشبکههایی در محدوده زیر را به وجود آورید.
192.168.5.0 - 11001100.10101000.00000101.00000000
255.255.255.224 - 11111111.11111111.11111111.11100000
------------------------------------------------|subnet|----
با زمانی که ماسک شبکه را از 255.255.255.0 به 255.255.255.224 گسترش دهیم، 3 بیت از قسمت اصلی میزبان آدرس گرفته شده و از آنها برای ساخت زیر شبکه استفاده میشود. با قرض گرفتن 3 بیت، میتوان هشت زیر شبکه ایجاد کرد. 5 بیت باقیمانده میتواند حداکثر 32 آدرس میزبان را فراهم کند. در ادامه با زیردامنهها محدوده آدرسهای مربوط به زیر دامنهها آشنا میشوید.
Subnet Host Range
192.168.5.0 255.255.255.224 host address range 1 to 30
192.168.5.32 255.255.255.224 host address range 33 to 62
192.168.5.64 255.255.255.224 host address range 65 to 94
192.168.5.96 255.255.255.224 host address range 97 to 126
192.168.5.128 255.255.255.224 host address range 129 to 158
192.168.5.160 255.255.255.224 host address range 161 to 190
192.168.5.192 255.255.255.224 host address range 193 to 222
192.168.5.224 255.255.255.224 host address range 225 to 254
هرچه تعداد بیتهای میزبان بیشتری برای ماسک زیر شبکه استفاده کنید، زیر شبکههای بیشتری در دسترس خواهید داشت. با این حال، دقت کنید هرچه زیر شبکههای بیشتری در دسترس باشد، تعداد آدرسهای میزبان کمتری در دسترس خواهند بود.
Traceroute
اگر آزمونهای مربوطه را انجام دادید، اما نتیجه مربوطه را کسب نکردید، توصیه میشود بیش از یک نسخه از traceroute را بررسی کنید. برخی از تکنیکهای به کار گرفته شده توسط یک دیوارآتش یا یک دستگاه فیلترکننده ممکن است باعث شوند تا فعالیت ابزار traceroute به شکل درستی انجام نشود. هنگامی که UDP و ICMP در گیتویهای راه دور مسدود شدهاند، شما میتوانید از ابزار TCPTraceroute استفاده کنید. برای آنکه ابزار فوق عملکرد دقیقی پیدا کند، یک تکنیک منحصر به فرد توسط مایکل شیفمن ساخته شده که وصله traceroute.diff نام دارد. وصله فوق امکان میدهد تا ابزار traceroute را به شکل پیکربندی کنید تا بهطور مستقیم از پورت UDP 53 استفاده کند. با توجه به اینکه پورت فوق توسط محاورههای مرتبط با DNS استفاده میشود این شانس وجود داد تا برای عبور از دیوارآتش از راهکار فوق استفاده کرد. اگر به دنبال یک برنامه مبتنی بر رابط کاربری گرافیکی برای اجرای ردیابیها هستید، چند گزینه خوب وجود دارند که توضیح آنها به شرح زیر است:
■ LoriotPro: ابزار LoriotPro یک برنامه حرفهای و گسترشپذیر مبتنی بر SNMP است که برای نظارت منبسط بر شبکهها استفاده میشود و اجازه میدهد مدیران شبکه بر فعالیتهای شبکه و فرآیندهایی همچون دسترسی و کنترل عملکرد شبکهها، سیستمها و زیرساختهای هوشمند نظارت کنند. رابط گرافیکی این برنامه به شما مسیری که میان شما و یک سایت راه دور وجود دارد را نشان میدهد که این مسیر شامل تمامی گرههای میانی و اطلاعات ثبت شده مرتبط با گرهها است.
■ Trout: ابزار Trout یکی دیگر از برنامههای بصری است که ترکیبی از قابلیتهای Whois و traceroute را ارائه میکند. خوشبختانه این برنمه سرعت زیادی دارد. بر خلاف برنامههای سنتی ردیابی، Trout پینگهای موازی انجام میدهد. با ارسال بستههایی با بیش از یک TTL بهطور همزمان، میتواند به سرعت مسیر یک دستگاه هدف را تعیین کند.
■ VisualRout: ابزار VisualRoute یکی دیگر از ردیابهای گرافیکی مبتنی بر ویندوز است. VisualRoute نه تنها یک نقشه جهانی گرافیکی را نشان میدهد که مسیر بستهها را به خوبی نشان میدهد، بلکه اطلاعات مربوط به هر هاپ از جمله آدرس آیپی، نام گره و موقعیت جغرافیایی را نیز نشان میدهد.
نکته: Traceroute و ping ابزارهای مفیدی برای شناسایی سیستمهای فعال، نقشهبرداری از مکان دستگاهها و کسب اطلاعات بیشتر در مورد مکان دستگاهها است.
شناسایی ماشینهای فعال
مهاجمان همواره به دنبال این پاسخ هستند كه آیا ماشینها قبل از آنکه حمله خود را پیادهسازی کنند فعال هستند یا خیر. یکی از اساسیترین روشهای شناسایی ماشینهای فعال انجام ping sweep است. اگرچه پینگ تقریباً در مورد هر سیستم TCP / IP قابل اجرا است، اما توسط بسیاری از سازمانها محدود شده است. پینگ از ICMP استفاده میکند و با ارسال یک درخواست اکو به یک سیستم صبر میکند تا پاسخ اکو را دریافت کند. اگر دستگاه هدف غیرقابل دستیابی باشد عبارت request timeout بازگردانده میشود. پینگ یک ابزار مفید برای شناسایی ماشینهای فعال و اندازهگیری سرعت انتقال بستهها از یک میزبان به میزبان دیگر یا به دست آوردن جزئیاتی همچون TTL است. شکل زیر پینگ دریافت شده از یک کامپیوتر ویندوزی را نشان میدهد.
اگر چند لحظهای از وضعیت خود را صرف رمزگشایی کدهای اسکی کندی که در پایین سمت چپ نشا داده شده، متوجه خواهید شد که دادههای موجود در بسته ping از حروف الفبا تشکیل شدهاند که بر خلاف پینگ لینوکس است که حاوی مقادیر عددی است. این بدان دلیل است که RFC که حاوی پینگ است ، مشخص نمی کند چه باردادهایی باید در بستهها تحویل داده شود. به همین دلیل ارائه اطلاعات به نوع نگرش تولیدکنندگان بستگی دارد. متأسفانه، رویکرد فوق میتواند به عنوان کانال مخفی در اختیار هکرها قرار گیرد. هکرها میتوانند از برنامههای متنوعی استفاده کنند تا اطلاعات موجود در بستههای رایج را تغییر دهند. ابزارهایی مانند Loki و icmpsend فقط برای این منظور طراحی شدهاند تا نشان دهند همه چیز در قالب یک پینگ عادی انجام شده و در واقع یک سری پیام به شبکه وارد شده یا از آن خارج شده است.
پینگ دو مشکل دارد، اول آنکه تنها به یک سیستم در یک زمان پینگ میکند و دوم اینکه، همه شبکهها اجازه پینگ نمیدهند. برای پینگ به تعداد زیادی از میزبانها معمولا باید از تکنیک ping sweep استفاده کرد. برنامههایی که از تکنیک ping sweep استفاده میکنند، معمولا به طیف وسیعی از دستگاهها پینگ انجام میدهند تا هر کدام که فعال هستند را پیدا کنند. از مهمترین برنامههایی که از فرآیند فوق استفاده میکنند به موارد زیر میتوان اشاره کرد:
■ Angry IP Scanner: http://angryip.org/
■ Hping: http://www.hping.org/
■ WS_Ping ProPack: https://ws-ping-propack.en.softonic.com/
■ SuperScan: http://www.mcafee.com/us/downloads/free-tools/superscan.aspx
■ Nmap: https://nmap.org/
یافتن پورتهای باز و اکسسپوینتها
اسکن پورت فرآیند اتصال به پورتهای TCP و UDP به منظور پیدا کردن سرویسها و برنامههای کاربردی در دستگاه هدف است. پس از کشف برنامههای در حال اجرا، پورتهای باز و سرویسها به هکرها اجازه میدهند بهترین راه حمله به سامانهها را مشخص کنند. همانگونه که پیشتر اشاره کردیم، در مجموع 65535 پورت TCP و UDP وجود دارد. این شماره پورتها برای شناسایی یک فرآیند خاص که یک پیام از آن وارد میشود یا به آن وارد میشوند استفاده میشود. از مهمترین پورتهای رایج به موارد زیر میتوان اشاره کرد:
نکته: آزمون CEH ممکن است در مورد پورتهای رایج یا نه چندان رایج مانند 514 در ارتباط با(syslog) ، پورت 2381 در ارتباط با (Compaq Insight Manager) یا حتا 179 (پروتکل چاپ اینترنتی) سؤال کند. به همین دلیل بهتر است اطلاعات خوبی در ارتباط با این پورتها داشته باشید.
همانگونه که متوجه شدهاید، برخی از این برنامهها با TCP و برخی دیگر از UDP استفاده میکنند. اگرچه مطمئناً اسکن کردن تمامی 65 هزار درگاه در ارتباط با پروتکلهای TCP و UDP امکانپذیر است، اما بسیاری از هکرها این کار را نمیکنند. آنها عمدتا روی 1024 درگاه اول روی سامانهها متمرکز میشوند، زیرا پورتهای معروفی هستند که بیشتر برنامههای رایج از آنها استفاده میکنند. برای کسب اطلاعات بیشتر در خصوص این پورتها پیشنهاد میکنم به آدرس portnumbers بروید.
دقت کنید که ما نمیگوییم از پورتهای بالاتر صرفنظر کنید، زیرا این احتمال وجود دارد که هکرها برای ورود به یک سامانه از پورت شماره بالا شبیه به 31337 استفاده کرده و آن پورت را به عنوان درب پشتی در نظر بگیرند. پرسش مهم دیگری که برخی کاربران مطرح میکنند این است که آیا اسکن یک پروتکل نسبت به دیگری آسانتر است؟ پاسخ مثبت است. TCP به نسبت UDP فرصتهای بیشتری برای دستکاری در اختیار هکرها قرار میدهد. چرا این گونه است؟ TCP ارتباطات پایداری ارائه میکند و به عنوان یک پروتکل اتصالگرا شناخته میشود. TCP با انتشار یک ارتباط از یک رویکرد دستدهی سه مرحلهای استفاده میکند. این سه مرحله به شرح زیر است:
1. کلاینت یک بسته TCP را با مجموعهای از شمارههای ترتیب اولیه (ISN) و تعدادی پرچم دنبالهدار (SYN flag) برای سرور ارسال میکند.
2. سرور با ارسال یک بسته با پرچم SYN / ACK به کلاینت پاسخ میدهد که بیانگر تمایل به برقراری ارتباط است. در این حالت پرچم تصدیق در سمت کلاینت که فلگ act نام دارد مقداردهی اولیه میشود. شماره تأیید یک رقم بالاتر از فلگ ISN کلاینت خواهد بود. سرور همچنین ISN را برای پیگیری هر بایت ارسالی به کلاینت ایجاد میکند.
3. هنگامی که کلاینت بسته سرور را دریافت میکند یک بسته ACK ایجاد میکند تا تأیید کند که دادهها از سرور دریافت شده است. در این مرحله ارتباطات آغاز میشود.
سرآیند TCP شامل یک فیلد 1 بایتی برای فلگها است. از مهمترین و پر کاربردترین فلگها به موارد زیر میتوان اشاره کرد:
SYN: شماره ترتیبی را مقداردهی و همگامسازی میکند.
ACK: بیانگر تایید بستههای دریافتی است.
FIN: این فلگ نشان دهنده یک فرآیند چهار مرحلهای پایان یک نشست است.
RST: بیتی که برای خاتمه دادن به یک ارتباط غیرمعمول استفاده شده را ریست میکند.
PSH: اگر به 1 باشد، دادهها باید بدون بافر شدن برای یک برنامه ارسال شوند.
URG: اگر 1 باشد، اعلام میدارد که فیلد اشارهگر Urgent درون سگمنت اطلاعاتی قرار داده که گیرنده باید آنرا پردازش کند. اگر 0 باشد، گیرنده از فیلد اشارهگر Urgent صرفنظر خواهد کرد.
در پایان ارتباط، TCP نشست را در یک فرآیند چهار مرحلهای پایان میدهد.
1. کلاینت یک بسته با مجموعهای از فلگهای FIN / ACK به سرور ارسال میکند.
2. سرور یک بسته که شامل مجموعهای از فلگهای ACK است را برای تأیید به سمت کلاینت ارسال میکند.
3. سرور در ادامه بسته دیگری با مجموعه فلگهای FIN/ACK را تنظیم میکند تا به کلاینت اطلاع دهد آماده خاتمه دادن به نشست است.
4- کلاینت به سمت سرور بستهای که حاوی فلگ ACK است را ارسال میکند که بیانگر پایان نشست است.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟