درس شماره 6
- خلاصه درس: انواع Scanning را مشخص میکنيم. بحث Port Scanning را آغاز میکنيم و از نرمافزار ipEye برای Port Scanning استفاده میکنيم.
معمولترين Scanning ها کدامند؟
دو نوع معمول Scanning وجود دارد:
۱- IP Scanning :
فرض کنيد که شما يک سری IP مربوط به يک ISP خاص را داريد و میخواهيد بدانيد که در اين لحظه کدامها فعال (up) هستند تا فقط آنها را بررسی کنيد و نه همه را. اين موضوع را بعدا توضيح میدم ( اين کار معمولا موقعی پيش میآيد که قرار است کلاينت هک کنيد و مهم نيست چه کسی باشد )
۲- Port Scanning :
در اين حالت ما IP يا IPهای مورد نظر را انتخاب کردهايم و حالا میخواهيم بدانيم که کدام پورتها روی آن کامپيوترها باز است. اين کار به کمک نرمافزارهای خاصی انجام میشود که مبحث امروز ماست.
چگونه يک ارتباط TCP برقرار میشود که بگوييم فلان پورت باز است يا نه؟
برای اينکه تعيين کنيم که يک پورت روی يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCPs 3-way handshakeمیگويند:
۱- اول کامپيوتر ما به سمت سرور يک SYN packet میفرستد که به معنی درخواست اتصال است.
۲- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet میفرستد.
۳- در مرحله آخر کامپيوتر ما يک ACK packet به سمت سرور میفرستد.
نوع ديگری از پورت اسکن TCP SYN scan نام دارد. با توجه به اينکه معمولا اگر پورت اسکن به روش بالا (TCP connect scan) انجام دهيم، معمولا در سرور اين اتصال ذخيره خواهد شد و بعدا میتواند ما را رديابی کنند، به جای آن میتوان از TCP SYN scan استفاده کرد. در اين نوع اسکن، مراحل ۱ و ۲ از بالا انجام میشود ولی مرحله ۳ نه! اگر در مرحله ۲ به ما يک SYN/ACK برسد، آن پورت باز است و اگر يک RST/ACK برسد، يعنی بسته است.
انواع ديگری از پورت اسکنينگ هم وجود دارد مثل UDP scan, TCP Window scan, TCP ACK scan, TCP Null, TCP Xmas Tree, TCP FIN Scan
چگونه میتوان عمل Port scanning را انجام داد؟
در تمام مطالبی که تا اين مرحله گفتهام سعی کردهام که فقط از ابزارهای موجود در ويندوز استفاده کنم و هيچ ابزار ديگری بهکار نبرم، اما در مبحث پورت اسکنينگ چون هيچ ابزاری در ويندوز برای اين کار نيست، بهناچار بايد يک سری برنامه را از اينترنت داونلود کنيد. (توجه داشته باشيد که فعلا حرفی از لينوکس نزدهام و سعی میکنم فعلا هيچ بحثی را در مورد آن مطرح نکنم)
برای Port Scanning میتوان از ابزارهای مختلفی استفاده کرد که اکثرا برای لينوکس طراحی شدهاند، اما مهمترين پورت اسکنرها برای ويندوز عبارتند از:
۱- نرمافزار NMapWin v1.3.0 :
نسخه گرافيکی و مخصوص ويندوز برای nmap است (nmap در لينوکس استفاده میشود). nmap از کاملترين ابزارهايی است که هکرها استفاده میکنند که علاوه بر توانايی انواع پورت اسکنينگها، میتواند کارهای بسياری چون تشخيص سيستمعامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولی فعلا برای کار ما بيش از حد کامله ;-)
۲- NetScanTools Pro 2000 :
اين هم از بهترينهاست ولی چون پولی است به جای داونلود بايد در CD هايی که در بازار هست پيدايش کنيد.
۳- WinScan :
برای اسکن کردن TCP (ونه UDP) میتوانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.
۴- ipEye v1.2 :
من در این درس از اين نرمافزار استفاده خواهم کرد، برای داونلود آن میتوانيد به سايت http://www.ntsecurity.nu/ مراجعه کنيد يا مستقيما با کليک روی اين لينک آن را داونلود کنيد. لازم است بگويم که اين نرمافزار فقط در ويندوز ۲۰۰۰ و xp کار میکند و نيز در يک بار اجرا فقط يک ip را میتواند تست کند. ضمنا فقط TCP را تست میکند.
چگونه از ipEye برای پورت اسکنينگ استفاده کنيم؟
با تايپ ipEye در command prompt اين نتايج ظاهر میشود:
فرض کنيد که میخواهيم سايت سازين را از نظر پورتها از پورت ۱ تا ۲۰۰ تست کنيم. اول بايد ip آن را به دست بياوريم که میشود، 63.148.227.65 و حالا به کمک دستور زير آن را بررسی میکنيم:
در مورد سازين میبينيد که از بين پورتهای ۱ تا ۲۰۰ ، پورتهای ۲۱، ۲۵، ۵۳، ۸۰، ۱۱۰، ۱۴۳ باز است و میتوان به آنها telnet کرد. دقت کنيد که تا تمام پورتهايی که مشخص شده، تست نشده است، هيچ نتيجهای نشان داده نمیشود و يهکم صبر میخواد.
- خلاصه درس: انواع Scanning را مشخص میکنيم. بحث Port Scanning را آغاز میکنيم و از نرمافزار ipEye برای Port Scanning استفاده میکنيم.
معمولترين Scanning ها کدامند؟
دو نوع معمول Scanning وجود دارد:
۱- IP Scanning :
فرض کنيد که شما يک سری IP مربوط به يک ISP خاص را داريد و میخواهيد بدانيد که در اين لحظه کدامها فعال (up) هستند تا فقط آنها را بررسی کنيد و نه همه را. اين موضوع را بعدا توضيح میدم ( اين کار معمولا موقعی پيش میآيد که قرار است کلاينت هک کنيد و مهم نيست چه کسی باشد )
۲- Port Scanning :
در اين حالت ما IP يا IPهای مورد نظر را انتخاب کردهايم و حالا میخواهيم بدانيم که کدام پورتها روی آن کامپيوترها باز است. اين کار به کمک نرمافزارهای خاصی انجام میشود که مبحث امروز ماست.
چگونه يک ارتباط TCP برقرار میشود که بگوييم فلان پورت باز است يا نه؟
برای اينکه تعيين کنيم که يک پورت روی يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCPs 3-way handshakeمیگويند:
۱- اول کامپيوتر ما به سمت سرور يک SYN packet میفرستد که به معنی درخواست اتصال است.
۲- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet میفرستد.
۳- در مرحله آخر کامپيوتر ما يک ACK packet به سمت سرور میفرستد.
نوع ديگری از پورت اسکن TCP SYN scan نام دارد. با توجه به اينکه معمولا اگر پورت اسکن به روش بالا (TCP connect scan) انجام دهيم، معمولا در سرور اين اتصال ذخيره خواهد شد و بعدا میتواند ما را رديابی کنند، به جای آن میتوان از TCP SYN scan استفاده کرد. در اين نوع اسکن، مراحل ۱ و ۲ از بالا انجام میشود ولی مرحله ۳ نه! اگر در مرحله ۲ به ما يک SYN/ACK برسد، آن پورت باز است و اگر يک RST/ACK برسد، يعنی بسته است.
انواع ديگری از پورت اسکنينگ هم وجود دارد مثل UDP scan, TCP Window scan, TCP ACK scan, TCP Null, TCP Xmas Tree, TCP FIN Scan
چگونه میتوان عمل Port scanning را انجام داد؟
در تمام مطالبی که تا اين مرحله گفتهام سعی کردهام که فقط از ابزارهای موجود در ويندوز استفاده کنم و هيچ ابزار ديگری بهکار نبرم، اما در مبحث پورت اسکنينگ چون هيچ ابزاری در ويندوز برای اين کار نيست، بهناچار بايد يک سری برنامه را از اينترنت داونلود کنيد. (توجه داشته باشيد که فعلا حرفی از لينوکس نزدهام و سعی میکنم فعلا هيچ بحثی را در مورد آن مطرح نکنم)
برای Port Scanning میتوان از ابزارهای مختلفی استفاده کرد که اکثرا برای لينوکس طراحی شدهاند، اما مهمترين پورت اسکنرها برای ويندوز عبارتند از:
۱- نرمافزار NMapWin v1.3.0 :
نسخه گرافيکی و مخصوص ويندوز برای nmap است (nmap در لينوکس استفاده میشود). nmap از کاملترين ابزارهايی است که هکرها استفاده میکنند که علاوه بر توانايی انواع پورت اسکنينگها، میتواند کارهای بسياری چون تشخيص سيستمعامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولی فعلا برای کار ما بيش از حد کامله ;-)
۲- NetScanTools Pro 2000 :
اين هم از بهترينهاست ولی چون پولی است به جای داونلود بايد در CD هايی که در بازار هست پيدايش کنيد.
۳- WinScan :
برای اسکن کردن TCP (ونه UDP) میتوانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.
۴- ipEye v1.2 :
من در این درس از اين نرمافزار استفاده خواهم کرد، برای داونلود آن میتوانيد به سايت http://www.ntsecurity.nu/ مراجعه کنيد يا مستقيما با کليک روی اين لينک آن را داونلود کنيد. لازم است بگويم که اين نرمافزار فقط در ويندوز ۲۰۰۰ و xp کار میکند و نيز در يک بار اجرا فقط يک ip را میتواند تست کند. ضمنا فقط TCP را تست میکند.
چگونه از ipEye برای پورت اسکنينگ استفاده کنيم؟
با تايپ ipEye در command prompt اين نتايج ظاهر میشود:
ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/
Error: Too few parameters.
Usage:
ipEye -p [optional parameters]
ipEye -p
[optional parameters]
is one of the following:
-syn = SYN scan
-fin = FIN scan
-null = Null scan
-xmas = Xmas scan>br>
(note: FIN, Null and Xmas scans dont work against Windows systems.
[optional parameters] are selected from the following:
-sip = source IP for the scan
-sp = source port for the scan
-d = delay between scanned ports in milliseconds
(default set to 750 ms)
- http://ntsecurity.nu/toolbox/ipeye/
Error: Too few parameters.
Usage:
ipEye -p [optional parameters]
ipEye -p
[optional parameters]
is one of the following:
-syn = SYN scan
-fin = FIN scan
-null = Null scan
-xmas = Xmas scan>br>
(note: FIN, Null and Xmas scans dont work against Windows systems.
[optional parameters] are selected from the following:
-sip = source IP for the scan
-sp = source port for the scan
-d = delay between scanned ports in milliseconds
(default set to 750 ms)
فرض کنيد که میخواهيم سايت سازين را از نظر پورتها از پورت ۱ تا ۲۰۰ تست کنيم. اول بايد ip آن را به دست بياوريم که میشود، 63.148.227.65 و حالا به کمک دستور زير آن را بررسی میکنيم:
ipeye 63.148.227.65 -syn -p 1 200
دقت کنيد که 63.148.227.65 عدد ip سازين، syn- يعنی SYN SCAN و p 1 200- يعنی تست از پورت ۱ تا ۲۰۰ باشد. البته پارامترهای ديگری را هم میشود ست کرد که فعلا به درد ما نمیخورد. با اجرای اين دستور به نتايج زير میرسيم: ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/
1-20 [drop]
21 [open]
22 [closed or reject]
23-24 [drop]
25 [open]
26-52 [drop]
53 [open]
54-79 [drop]
80 [open]
81-109 [drop]
110 [open]
111-142 [drop]
143 [open]
144-200 [drop]
201-65535 [not scanned]
Closed يعنی کامپيوتر در آن طرف هست ولی به پورت گوش نمیدهد، Reject يعنی اينکه يک firewall هست که اجازه اتصال به آن پورت را نمیدهد، Drop يعنی اينکه يک firewall همهچيز را پس میزند و يا اصلا کامپيوتری اونور نيست، Open هم که يعنی باز.- http://ntsecurity.nu/toolbox/ipeye/
1-20 [drop]
21 [open]
22 [closed or reject]
23-24 [drop]
25 [open]
26-52 [drop]
53 [open]
54-79 [drop]
80 [open]
81-109 [drop]
110 [open]
111-142 [drop]
143 [open]
144-200 [drop]
201-65535 [not scanned]
در مورد سازين میبينيد که از بين پورتهای ۱ تا ۲۰۰ ، پورتهای ۲۱، ۲۵، ۵۳، ۸۰، ۱۱۰، ۱۴۳ باز است و میتوان به آنها telnet کرد. دقت کنيد که تا تمام پورتهايی که مشخص شده، تست نشده است، هيچ نتيجهای نشان داده نمیشود و يهکم صبر میخواد.