برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
همانگونه که اشاره شد روشهای مختلفی برای پیادهسازی اثر انگشت فعال در اختیار کارشناسان قرار دارد که برخی از آنها به شرح زیر هستند:
The FIN probe: یک بسته FIN به یک درگاه باز ارسال میشود و پاسخ ضبط میشود. بسیاری از سیستمعاملها مانند ویندوز با RST به این درخواست پاسخ میدهند.
Bogus flag probe: اگر به یاد داشته باشید به شما گفتیم که فیلد پرچم فقط 1 بایت در سرآیند TCP دارد. یک مجموعه از فلگهای کاوشگر جعلی ارسال میشوند که یکی از پرچمها همراه با پرچم SYN در یک بسته اولیه قرار میگیرد. لینوکس با تنظیم همان پرچم در بسته بعدی پاسخ میدهد.
Initial sequence number-ISN: این تکنیک اثر انگشت با جستجوی الگوهای موجود در ISN کار میکند. اگرچه برخی سیستمها از اعداد واقعاً تصادفی استفاده میکنند، اما برخی دیگر مانند ویندوز تعداد را با یک مقدار ثابت کوچک افزایش میدهند.
IPID sampling: بسیاری از سیستمها برای هر بستهای که میفرستند مقدار IPID در سطح سیستم را افزایش میدهند. برخی دیگر، مانند نسخههای قدیمی ویندوز، IPID را به ترتیب بایت شبکه قرار نمیدهند ، بنابراین به ازای هر بسته تعداد IPIDها را به مقدار 256 افزایش میدهند.
TCP initial window: این تکنیک اثر انگشت بر پایه ردیابی اندازه فیلد window در بستههای برگشتی از دستگاه مورد نظر کار میکند. بسیاری از سیستمعاملها از اندازههای دقیقی استفاده میکنند که هکرها میتوانند با استناد به یک بانک اطلاعاتی بهطور مشخص نوع سیستمعامل را مشخص کنند.
ACK value Again: باز هم، فروشندگان با روش خاص خود پشته TCP / IP را پیادهسازی میکنند. در نتیجه پیادهسازیها متفاوت است. برخی از سیستمعاملها مقدار قبلی را به صورت +1 میفرستند، در حالی که برخی دیگر مقادیر تصادفی بیشتری را برمیگردانند.
Type of service: این نوع اثر انگشت پیامهای غیر قابل دستیابی درگاه ICMP را ترسیم و ارزش پیامها را در فلید TOS بررسی میکند. در حالی که برخی از 0 استفاده میکنند، در مقابل برخی دیگر مقادیر مختلف را برمیگردانند.
TCP options: در این زمینه نیز فروشندگان مختلف گزینههای TCP را به روشهای مختلف پشتیبانی میکنند. با ارسال بستههایی با مجموعه گزینههای مختلف تنظیم شده، پاسخهای برگشتی اطلاعاتی در ارتباط با سرور فاش میکنند.
Fragmentation handling: این روش اثر انگشت از سعی میکند از مزیت فروشندگان مختلف سیستمعاملها بهره برده و وضعیت بستهها تکهتکه شده (بستههایی که برای ارسال در شبکه طولانی هستند و به بخشهای کوچکتر تقسیم میشوند) را بررسی کند. RFC 1191 اعلام میدارد که حداکثر واحد انتقال (MTU) باید در محدوده 68 تا 65535 بایت تنظیم شود. این تکنیک در ابتدا توسط توماس پتاکک و تیم نیوشام کشف شد.
ابزارهای قابل استفاده در تکنیک اثر انگشت فعال
یكی از اولین ابزارهایی كه اواخر دهه 90 میلادی در ارتباط با اثر انگشت فعال به شکل گسترده استفاده شد، ابزار Queso بود. درست است که ابزار فوق مدت زمان نسبتا طولانی است که بهروزرسانی نشده، اما باعث شکلگیری ابزارهای قدرتمندی شد. Nmap ابزاری است که در ارتباط با اثر انگشت فعال به کار گرفته میشود و یکی از پرمصرفترین ابزارهای رایگان در این زمینه است. پایگاه داده Nmap اثر انگشت صدها سیستمعامل مختلف را در اختیار دارد. برای آغاز به کار دریافت اثر انگشت با استفاده از Nmap لازم است از سوییچ -O استفاده کنید. زمانی که از سوییچ فوق استفاده کنید، Nmap پورت 80 و سپس درگاههای 20 تا 23 را پویش میکند. Nmap برای تعیین دقیق نوع سیستمعامل خاص در حال اجرا به یک پورت باز و یک بسته بسته نیاز دارد. به عنوان مثال:
C:\ nmap-6.25>nmap -O 192.168.123.108
Starting nmap 6.25 (https://nmap.org/ ) at 2005-10-07 15:47 Central
Daylight Time
Interesting ports on 192.168.1.108:
(The 1653 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
80/tcp open http
139/tcp open netbios-ssn
515/tcp open printer
548/tcp open afpovertcp
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux Kernel 2.4.0 - 2.5.20
Uptime 0.282 days (since Fri Oct 07 09:01:33 2012)
Nmap run completed -- 1 IP address (1 host up) scanned in 4.927
seconds
برخی از کارشناسان Nmap را با سوئیچ -v یا -vv آزمایش میکنند. دستگاههایی مانند F5 Load Balancer وجود دارد که مانع از آن میشوند تا سوییچ عادی -o باعث فاش شدن اطلاعاتی در مورد آنها شود، اما شناسه خود را با سوئیچ -vv نشان میدهند. فقط به یاد داشته باشید که با Nmap یا هر ابزار فعال دیگر اثر انگشت، بستههایی را به شبکه تزریق میکنید. این نوع فعالیت فعالیتها توسط سامانههای تشخیص نفوذ (IDS) قابل ردیابی و کنترل است. با فعال کردن پشته سیستمعامل میتوان با ابزارهای پویش فعال اثر انگشت مانند Nmap مقابله کرد. هر عاملی که روند دریافت این اطلاعات را مختل کند در پیشبینی نسخه سیستمعامل هدف تأثیرگذار خواهد بود. پیشرفتهای انجام شده در حوزه نرمافزارهای دفاعی باعث شده تا رویکرد شناسایی اثر انگشت فعال Nmap توسط برخی از این ابزارها با چالش جدی روبرو شود. با این حال هنوز هم ابزارهای قدرتمندی در این زمینه وجود دارند که یکی از آنها Xprobe2 است. یک ابزار اثرانگشت فعال لینوکسمحور که رویکرد متفاوتی در ارتباط با شناسایی اثر انگشت سیستمعاملها دارد. Xprobe منحصر به فرد است و ترکیبی ازTCP ، UDP و ICMP را استفاده میکند تا دیوارهای آتش سنتی را فریب داده و از سد سامانههای IDS جلوگیری کند. Xprobe2 به تطبیق امضای فازی متکی است. به عبارت دیگر، آزمایشات متنوعی را روی اهداف پیادهسازی میکند. در ادامه نتایج جمعآوری شده و به آنها نمرهای تخصیص داده شده و به کاربر اعلام میدارند که احتمال دارد سیستمعامل دستگاه هدفمند بهطور مثال، 75٪ ویندوز 7 یا 25٪ ویندوز XP باشد. از آنجایی که برخی از کاربران ترجیح میدهند از ابزارهای GUI استفاده کنند، ابزار پیادهسازی حمله اثر انگشت گرافیکی در این زمینه Winfingerprint است. این ابزار مبتنی بر ویندوز طیف بسیار گستردهای از اطلاعات را در ارتباط با سرورهای ویندوزی جمعآوری کند. ابزار فوق اجازه میدهد روی یک هاست واحد یا کل شبکه پویش را انجام دهید. همچنین میتوانید فهرستی از آدرسهای آیپی را وارد کنید یا دامنه آیپی سفارشی را برای اسکن مشخص کنید. پس از یافتن هدف، Winfingerprint میتواند اطلاعاتی در ارتباط با دیسک، سرویسها، کاربران، گروهها، نوع سرویسهای رایج و حتا عیبیابی ارائه کند.
سرویسهای اثرانگشت
اگر تردیدی در مورد سیستم در حال اجرا وجود دارد (سیستم هدف)، باید به سراغ مرحله بعدی جمعآوری اطلاعات بروید تا هرگونه تهدید احتمالی را برطرف کنید. اطلاع از این موضوع که چه سرویسهایی در پورتها خاص در حال اجرا هستند به هکر امکان میدهد حملات اختصاصی و هدفمندی را ترتیب دهد. اطلاع در مورد پورتها و سرویسهای پیشفرض رایج در حال اجرا در یک سیستم شبیه به Telnet و Netcat و بهرهبرداری از آنها ضریب موفقیت یک حمله را افزایش میدهد.
سرویسها و پورتهای پیشفرض
این امکان وجود دارد تا بخش مشخصی از اطلاعات و الگوهای پیشفرض هر سامانهای را پاک کرد. به عنوان مثال، اگر یک هکر ویندوز سرور 2016 را شناسایی کرده که درگاه 80 روی آن باز است، در ادامه میتواند فرض را بر این موضوع بگذارد که IIS 8.0 روی سرور در حال اجرا است. به همین شکل روی یک سیستم لینوکسی با پورت باز 25 این احتمال وجود دارد که Sendmail اجرا شده باشد. اگرچه ممکن است دستگاه ویندوز 2016 نسخه دیگری از وبسرور را اجرا کند، اما احتمال چنین حالتی زیاد نیست. به خاطر داشته باشید در این مرحله، مهاجم یکسری فرضیات را برای خود متصور میشود. فقط به دلیل فعال بودن یک پورت خاص یا وجود یک بنر فعال، نمیتوانید مطمئن شوید که اطلاعات دریافتی صحیح هستند. پورتها و بنرها قابل تغییر هستند و فرضیات شخصی به خودی خود میتوانند خطرناک باشند. برای تأیید این موضوع که سرویسها واقعاً توسط پورتهای باز در حال استفاده هستند به انجام کارهای اضافی نیاز دارید.
پیدا کردن سرویسهای باز
اسکنی که چند شماره قبل انجام دادیم، ممکن است پورتهای باز دیگری را نمایان کند. بیشتر برنامههای اسکن مانند Nmap و SuperScan به خوبی اعلام میکنند که چه سرویسهای مشترکی با پورتهای باز مرتبط است. روش فوق سادهترین راهکار برای تعیین این موضوع است که چه سرویسهایی با پورتها بازی که توسط بنرها به کار گرفته شدهاند در ارتباط هستند. دریافت بنر چیزی فراتر از سرویسگیرنده Telnet و FTP نیست که در سیستمعاملهای ویندوز و لینوکس نصب شده است. دریافت بنر اطلاعات مهمی در مورد نوع و نسخه نرمافزار در حال اجرا ارائه میدهد. اگر وبسرور به درستی وصله نشده باشد، هکرها با چند کار ساده قادر به سوء استفاده از سرورها هستند. تلنت روشی آسان برای انجام اینکار در ارتباط با پروتکلهای FTP ، SMTP ، HTTP و نمونههای مشابه است. دستور مورد استفاده برای جمعآوری بنر با تلنت شامل ترکب نحوی telnet IP_Address port است. نمونهای از انجام اینکار در زیر نشان داده شده است. در مثال زیر هدف بنر قرار گرفته در وبسرور است.
C:\ >telnet 192.168.1.102 80
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/6.0
Date: Fri, 07 Oct 2012 22:22:04 GMT
Content-Type: text/html
Content-Length: 87
<html><head><title>Error</title></head><body>The parameter is
incorrect. </body>
</html>
Connection to host lost.
پس از وارد کردن فرمان فوق که عبارت است از telnet 192.168.1.102 80، کلیدواژه Return مدت زمانی را صرف میکند تا پاسخ را آماده کند. همانگونه که در پاسخ تلنت اشاره شده، این بنر نشان میدهد که وبسرور IIS 6.0 در حال اجرا است. تلنت تنها گزینه شما برای اطلاع از این موضوع نیست. HTTPrint گزینه دیگری است که برای هر دو پلتفرم ویندوز و لینوکس ارائه شده است. HTTPrint یک ابزار ساده برای جمعآوری اطلاعات نیست، به این دلیل که میتواند سرویسها را برای تعیین نسخه سرویسهای در حال اجرا بررسی کند. ابزار فوق به شکل جالبی درباره انواع مختلفی از پروبها اطلاعات کاملی در اختیار هکرها قرار میدهد. در ادامه مثالی در این زمینه ارائه شده است:
./httprint -h 192.168.1.175 -s signatures.txt
httprint - web server fingerprinting tool
Finger Printing on http://192.168.1.175:80/
Finger Printing Completed on http://192.168.1.175:80/
--------------------------------------------------
Host: 192.168.1.175
Derived Signature:
Apache/2.2.0 (Fedora RedHat)
9E431BC86ED3C295811C9DC5811C9DC5050C5D32505FCFE84276E4BB811C9DC5
0D7645B5811C9DC5811C9DC5CD37187C11DDC7D7811C9DC5811C9DC58A91CF57FCCC5
35B6ED3C295FCCC535B811C9DC5E2CE6927050C5D336ED3C2959E431BC86ED3C295
E2CE69262A200B4C6ED3C2956ED3C2956ED3C2956ED3C295E2CE6923E2CE69236ED
3C295811C9DC5E2CE6927E2CE6923
Banner Reported: Apache/2.2.0 (Fedora RedHat)
Banner Deduced: Apache/2.0.x
Score: 140
Confidence: 84.31------------------------
Netcat نیز میتواند برای دریافت اطلاعات این چنینی استفاده شود. Netcat از جمله ابزارهایی است که در دنیای هک کاربردهای مختلفی دارد. Netcat به دلیل کاربردهای فراوان شبیه به چاقوی سوئیسی برای هکرها است. برای بنر گرفتن با Netcat از فرمان زیر استفاده میشود. برای این منظور در خط فرمان، دستور زیر را وارد کنید.
nc -v -n IP_Address Port
این دستور بنر پورتی را که میخواهید بررسی کنید در اختیارتان قرار میدهد. Netcat برای ویندوز و لینوکس در دسترس است. اگر Netcat را دانلود نکردهاید، بهتر است در اولین فرصت به فکر انجام اینکار باشید. FTP گزینه دیگری برای گرفتن بنر است. کافی است FTP را روی سرور هدف تنظیم کنید و بنر بازگشتی را مرور کنید. بیشتر اسکنرهای پورت از جمله مواردی که تاکنون به آنها اشاره شد قادر به دریافت بنر هستند. با این وجود، ابزارهای امنیتی زیادی وجود دارند که میتوانند برای تحلیل پورتها و بنرهای باز استفاده شوند. برای آشنایی با برخی از این ابزارهای مهم به آدرسهای زیر مراجعه کنید.
■ ID Serve: https://www.grc.com/id/idserve.htm
■ NetworkMiner: http://www.netresec.com/?page=NetworkMiner
■ Satori: http://chatteronthewire.org/
■ Netcraft: http://toolbar.netcraft.com/site_report
اگرچه تغییر اطلاعات بنر به خودی خود یک دفاع مناسب نیست، اما ممکن است به کند شدن فعالیت هکرها کمک کند. در محیط لینوکس، میتوانید خط ServerSignature را در فایل httpd.conf به ServerSignature off تغییر وضعیت دهید. در محیط ویندوز نیز میتوانید ابزار امنیتی UrlScan را نصب کنید. UrlScan حاوی ویژگی removeServer-Header است که در پاسخ به درخواست کلاینت، هویت سرور را از سرآیند پاسخگویی Server حذف کرده یا تغییر میدهد.
ترسیم سطح حمله به شبکه
هکر اکنون اطلاعات کافی برای نقشهبرداری از شبکه به دست آورده است. نقشهبرداری از شبکه به هکر اجازه میدهد نمای کلی یک سازمان را در اختیار داشته باشد. روشهای دستی و خودکاری نیز برای گردآوری این اطلاعات وجود دارد.
نقشهبرداری دستی
اگر یافتههای خود را مستندسازی کردهاید، ماتریسی که آماده کردهاید باید مملو از اطلاعات مهم باشد. این ماتریس اکنون باید حاوی اطلاعات نام دامنه، آدرسهای آیپی، سرورهای DNS، اطلاعات مربوط به کارمندان، محل شرکت، شماره تلفن، درآمد سالانه، شرکای سازمانی، آدرسهای ایمیل، دامنه آدرس آیپی در دسترس عموم، پورتهای باز، نقاط دسترسی بیسیم ، خطوط مودم و جزئیات بنر باشد.
نقشهبرداری خودکار
اگر روشی خودکارتر نقشهبرداری از شبکه را ترجیح میدهید، ابزارهای متنوعی وجود دارند. برنامههای ردیاب شبیه به SolarWinds’s Network Topology Mapper به نشانی (http://www.solarwinds.com/network-topology-mapper) میتواند به شما در اجرای این فرآیند در ارتباط با سرورها کمک کند. شما حتا میتوانید از اسکریپتهای Nmap برای ردیابی یک مسیر استفاده کنید و نقشه مکان جغرافیایی یک هدف را مشخص کنید. بهطور مثال، فرمان زیر طول مسیر و موقعیت جغرافیایی دادهها برای هر هاپ را نشان میدهد.
nmap --traceroute --script traceroute-geolocation.nse -p 80 example.com
نقشهبرداری خودکار میتواند سریعتر باشد، اما ممکن است باعث ایجاد خطا شده یا نتایج نادرستی را ارائه کند. شکل زیر مراحل اولیه هک را نشان میدهد.
NLog گزینه دیگری است که برای کمک به پیگیری اطلاعات مربوط به اسکن و نقشهبرداری در اختیارتان قرار دارد. NLog اجازه میدهد تا نتایج اسکنهای Nmap را خودکارسازی کرده و ردیابی کنید. همچنین، این امکان را به شما میدهد تا تمام گزارشهای مربوط به اسکن Nmap را در یک پایگاه داده نگه دارید و به راحتی برای ورودیهای خاص جستوجو کنید. ابزار فوق مرورگرمحور است، بنابراین میتوانید گزارشهای مربوط به اسکن را به راحتی با یک قالب سفارشی تنظیم کرده و مشاهده کنید. شما میتوانید اسکریپتهای خاص خود را برای سرویسهای مختلف اضافه کنید تا تمامی میزبانهایی که سرویس خاصی را اجرا میکنند، پیوندی به اسکریپت برقرار کنند. NLog در http://nlog-project.org/ در دسترس است.
CartoReso یکی دیگر از گزینههای نقشهبرداری شبکه است. اگر از طریق اینترنت اجرا شود، این ابزار محدود به دستگاههایی خواهد بود که میتواند با آنها ارتباط برقرار کند. دستگاههایی که به احتمال زیاد دستگاههای درون منطقه (DMZ) هستند. اگر به شکل داخلی اجرا شود، بخش بزرگی از شبکه را ترسیم میکند. در دست یک هکر، ابزار فوق کاملا قدرتمند است، زیرا از روالهایی استفاده میکند که ابزارهای مختلفی را به خدمت میگیرند تا درگاههای سیستمعامل را برای شناسایی سرویسها پویش کرده و نقشهبرداری جالبی از شبکه ارائه کنند. شما میتوانید ابزار فوق را از نشانی https://sourceforge.net/projects/cartoreso/ دانلود کنید.
نکته: سیستمعامل کالی لینوکس شامل ابزارهای مختلفی است که برای آزمایش نفوذ به کار گرفته میشود.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟