|
From Shabgard.ORG
Hacking
- معرفی nmap و NMapWin اگر بخواهيد مهمترين ابزاری را که يک هکر برای footprinting استفاده میکند بدانيد، آن نرمافزار nmap خواهد بود که برای سيستمهای لينوکس و يونيکس طراحی شده است. برای هکرهای تازهکار که سيستمعامل ويندوز را به کار میبرند، نسخه گرافيکی و تحت ويندوزی طراحی شده است که NMapWin نام دارد و همان امکانات را فراهم میآورد. بحث اين جلسه درباره اين نرمافزار است. برای داونلود اين نرمافزار اينجا را کليک کنيد! اندازه برنامه 6.18 مگابايت است و اگر اتصالتان dial-up است، کمی طول خواهد کشيد. ضمنا توجه کنيد که اين برنامه مخصوص ويندوز ۲۰۰۰ و xp است. اين نرمافزار مجموعه ابزارهای footprinting مثل پورت اسکن، آیپی اسکن، تشخيص سيستمعامل کامپيوتر مورد نظر (OS detection) و … را گرد هم آورده است. شکل ظاهری برنامه را در زير میبينيد:
- بررسی ظاهر برنامه شکل ظاهری برنامه چهار قسمت دارد: ۱- Network Section : بالاترين قسمت پنجره برنامه است که محلی برای ورود ip يا ip ها دارد به نام Host. بعد از وارد کردن ip و تنظيم کردن پارامترها، دکمه Scan را کليک میکنيم تا کار اسکن شروع شود. اگر قرار باشد بيش از يک ip وارد شود، اين کار را میتوان به صورتهای مختلف انجام داد. مثلا: *.*.192.130 يعنی تمام ip هايی که با 192.130 شروع میشوند ولی دو عدد بعدی هرچيزی میتواند باشد. و نوشتن به صورت 15-192.130.120.12 يعنی عدد آخری میتواند از ۱۲ تا ۱۵ باشد. ۲- Option Folder : اين قسمت در واقع محل تنظيمات است و به کمک آن مشخص میکنيم که از برنامه میخواهيم که چهکاری انجام دهد که مفصلا در موردش صحبت خواهم کرد. در اين قسمت، برگههايی با نامهای Option , Discover , Scan , ... وجود دارد. ۳- Log Output : محل ظاهر شدن نتايج است. در حالتی که اسکن شروع نشده باشد، خالی است. ۴- Status bar : پايينترين بخش پنجره برنامه است و دو بخش مهم دارد: قسمت سمت چپ نشان میدهد که اگر بخواهيم در nmap همين کار رو انجام بديم، چه سويچهايی را بايد بکار بريم ( دقت کنيد که nmap برخلاف NMapWin گرافيکی نيست ). هر تغييری که در قسمت Option Folder اعمال کنيم، در اين قسمت تغييری را مشاهده میکنيم و توصيه میکنم که حتما به اين قسمت توجه ويژهای داشته باشيد. اما در سمت راست آن، يک مربع کوچک مشاهده میشود که میتواند به رنگهای سبز يا قرمز باشد. سبز يعنی اينکه برنامه آماده برای اجرای دستورات شماست و قرمز يعنی در حال انجام دستورات وارد شده است و فعلا دستور جديد نمیپذيرد. - شروع کار با NMapWin فرض کنيد که میخواهم سايت far30.com رو میخواهم مورد بررسی قرار دهم. برای اينکار ابتدا ip رو بدست آورده (63.148.227.65) و در قسمت Host تايپ میکنيم. حالا فعلا بدون اعمال تغييری در قسمت Option Folder ، دکمه Scan رو کليک میکنيم. اسکن شروع میشود و بعد از چند دقيقه، نتايج زير در قسمت Log Output ظاهر میشود: در همينجا سه نوع اطلاعات قابل دسترسی است: ۱- ليست پورتهای باز روی کامپيوتر سرور و کاربرد آن پورتها ۲- تشخيص سيستم عامل که Windows 2000/XP/ME حدس زده شده است (سطر ماقبل آخر) ۳- و سطر آخر میگويد که اين ip روشن (up) است. - بررسی برگه Scan از قسمت Option Folder اين برگه خود ۲ بخش دارد: +> بخش Mode : در درسهای قبلی گفتم که اسکنينگ انواع مختلفی داره، و اينجا جايی است که نوع اسکنينگ رو مشخص میکنيم: - Connect : اسکن از نوع TCP connect scan است که قبلا در درس هفتم دربارهاش بحث کردهام. - SYN Stealth : در درس هفتم درباره اين هم گفتهام. - پيشفرض هم همين است - Null Scan , Xmas tree , FIN Stealth : برای سرورهای غير از ويندوز کار میکنند. - UDP Scan : برای اسکن کردن پورتهای udp است. - Ping Sweep : برای عمل ip scanning است که بدانيم که از بين يک سری ip کدامها فعال هستند. - List Scan : همان Ping Sweep است ولی به طوری که ip مان لو نرود. - ACK Scan : معمولا برای تشخيص فايروالها کاربرد دارد. - Window Scan : همان ACK Scan است ولی کاملتر - RCP Scan : جزو کاملترين حالتهای اسکنينگ است با اطلاعات فراوان. +> بخش Scan Options : اين قسمت شش گزينه دارد که فقط يکیشان به درد میخوره: - Port Range : مشخص میکند که چه پورتهايی بايد اسکن شود: اگر خالی بماند، يعنی همه پورتها ، اگر يک عدد نوشته شود يعنی فقط آن پورت و اگر بهصورت n-m نوشته شود (که n و m عدد هستند) يعنی از پورت n تا پورت m اسکن شود. - بررسی برگه Discover از قسمت Option Folder اين برگه دارای چهار گزينه است: - TCP Ping : برای بررسی فعال بودن کامپيوتر مورد نظر میتواند بهکار رود. - ICMP Ping : پينگ فقط از نوع ICMP باشد. - TCP+ICMP : برای بررسی فايروالها مناسب است (پيشفرض) - Don"t Ping : پينگ نکند. - بررسی برگه Options از قسمت Option Folder اين برگه خود ۲ بخش دارد: +> بخش Options : - Fragmentation : اگر بخواهيم در اسکنينگهايی از نوع Null, Xmas, FIN, SYN تا حدودی تغييرات اعمال کنيم تا حداقل خطر را برای ما داشته باشند، میتوان اين گزينه را انتخاب کرد. ولی بايد توجه داشت که گاهی با انتخاب اين گزينه اسکنينگ موفقيت آميز نخواهد بود. - Get Idented Info : اگر بخواهيم اسکنينگ از نوع connect صورت دهيم، با انتخاب اين گزينه گاه اطلاعات ذیقيمتی برای ما به ارمغان میآورد. - Resolve All : در حالت پيشفرض، اين نرمافزار روی ip هايی که up هستند، عمل Reverse Whois را انجام میدهد (يعنی از روی ip، به دنبال اسم DNS مربوطه میگردد). اگر Resolve All را انتخاب کرده باشيم، روی همه ip ها، چه up و چه down عمل Reverse Whois انجام خواهد شد. - Don"t Resolve : هرگز Reverse Whois نخواهد کرد. - OS Detection : از جمله مهمترين گزينههای اين نرمافزار است که اگر انتخابشده باشد، برنامه سعی میکند که سيستمعامل کامپيوتر مقابل را حدس بزند. - Random Host : به صورت تصادفی ip هايی را تست میکند، و هرگز هم به پايان نمیرسد. +> بخش Debug : - Debug : اگر مارک شده باشد، نتايج ديباگ مرحله به مرحله در خروجی نشان داده میشود. - Verbose : اگر انتخابشده باشد، پيشرفت کار را نشان میدهد. - Very Verbose : پيشرفت کار را با نهايت جزئيات نشان میدهد. - بررسی برگه Timing از قسمت Option Folder اين برگه خود ۲ بخش دارد: +> بخش Throttle : در اين بخش هرچه گزينههای بالاتر را انتخاب کنيد، کار کندتر و دقيقتر است و احتمال detection (لو رفتن) شما کمتر است و هرچه پايين تر برعکس. به نظر میرسد، Normal بهترين انتخاب باشد. +> بخش Timeouts : - Host Timeout : حداکثر زمانی را مشخص میکند که برای يک ip میتواند صرف شود. - Max RTT : حداکثر زمانی را مشخص میکند که برای يک probe میتواند صرف شود. پيشفرض، 9000 است (يعنی ۹ ثانيه) - Min RTT : برای هر probe حداقل به اين اندازه صبر میکند. - Initial RTT : اين گزينه خصوصا در ip هايی که فايروال دارند، مفيد است. - Parallelism : اگر در مورد acw_spscan دقت کرده باشيد، اين برنامه هر بار فقط يک پورت را پروب میکند و نه بيشتر ( به همين خاطر است که اول اسم آن simple دارد ). ولی محصولات واقعی بايد همزمان تعدادی پورت را تست کنند. در اين قسمت میتوان حداکثر تعداد پورتهايی که میتواند همزمان پروب شوند را مشخص میکنيم. - Scan Delay : بين هر اسکن، حداقل به اين ميزان صبر میکند. - بررسی برگه Files از قسمت Option Folder اين برگه خود ۲ بخش دارد: +> بخش Input : برای اينکه روند کارها را سريعتر کنيم، میتوان از اين بخش استفاده کرد. در اين حالت ورودی از يک فايل خوانده میشود. +> بخش Output : اين قسمت برای آن است که نتايج را در يک فايل ذخيره کنيم. اين فايل میتواند بهصورت Normal (متنی معمولی)، Grep (که الان ديگه بهکار نميره)، XML و يا All (هر سه مورد) باشد. - بررسی برگه Service از قسمت Option Folder فرض کنيد میخواهيد اول هر هفته فلان ip رو تست کنيد و کارهايی از ايندست... اين برگه برای همينجور کارهاست (ميشه گفت يک نوع اتوماسيون) - بررسی برگه Win32 از قسمت Option Folder اين برگه دو بخش دارد به نامهای Options , Commands که فقط Options رو بررسی میکنم: - No Pcap : وقتی که NMapWin را نصب میکنيم، Pcap هم نصب میشود ( که فقط روی سيستمهای ويندوز ۲۰۰۰ و xp میتواند نصب شود) و کارها را برعهده میگيرد. اگر بخواهيم که از آن استفاده نشود و بهجای آن از Raw Socket استفاده شود، اين گزينه را مارک میکنيم. - No IP HLP Api : مثل بالايی فقط اينکه بين ارسال هر پکت، ۱۵ ثانيه منتظر میماند. - No Raw Sockets : با انتخاب آن Raw Socket بهکار نمیرود. - Force Raw Socket : باعث میشود که فقط Raw Socket بهکار رود. - Win Trace : برای سيستمهای Win32 کمی اطلاعات بيشتری بهدست میدهد. - استفاده از NMapWin برای تعيين نوع سيستم عامل اگر مهمترين کاربردهای nmap را بخواهيم بدانيم، يکی port scanning و ديگری OS detection (تشخيص سيستمعامل مقابل) است که ويژگی دوم به قدری مهم است که گاه nmap را با همين ويژگی میشناسند. برای اينکه نوع سيستمعامل را تعيين کنيم، بايد در برگه Options از NMapWin، گزينه OS detection انتخاب شده باشد. حالا چند مثال را بررسی میکنيم (شما خودتان اين ip ها و ip های ديگر را تست و تمرين کنيد) : 194.225.184.15 Remote operating system guess: Windows 2000 server SP2 195.219.176.5 Remote operating system guess: Linux Kernel 2.4.0 - 2.5.20 206.104.238.208 Remote operating system guess: Linux 2.1.19 - 2.2.20 217.66.199.6 (Remote operating system guess: Cisco router running IOS 12.1.5-12.2(6a 63.148.227.65 Remote operating system guess: Windows 2000/XP/ME 194.225.184.2 No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi). در اين مورد میبينيد که nmap موفق به تعيين نوع سيستمعامل نشده است. ممکن است دليلش اين باشد که ip در آن لحظه up نبوده است. نکتهای که بايد در نظر داشت اين است که گاه بايد از يک سری اطلاعات فنی هم استفاده کرد تا به جواب قطعی رسيد : - مثلا ip ماقبل آخر که نتيجه آن به صورت Windows 2000/XP/ME ظاهر شده است، متعلق به sazin.com است که چون يک سايت است و بايد در يک سرور باشد و هيچ سروری نمیتواند ME يا XP باشد، پس سيستمعامل آن Win 2000 خواهد بود. - يا يک حالت ديگر موردی است که ببينيد صفحات يک وب سايت با asp يا asp.net درست شده است (مثلا اسم صفحه به صورت zzzzzz.asp يا zzzzzz.aspx باشد، که نمونه آن سايت far30.com است که اسم همين صفحه default.asp است). در اين حالت سرور آن حتما سروری از محصولات مايکروسافت است مثل Win NT و يا Win 2000 و نمیتواند Linux يا Unix يا Sun Solaris و... باشد. - چگونه از nmap استفاده کنيم؟ قبلا با نرمافزار NMapWin آشنا شديد که نسخه گرافيکی nmap برای ويندوز بود. nmap در واقع نرمافزار اصلی است که هم برای يونيکس (لينوکس) و هم برای ويندوز نسخههايی را دارد. nmap برخلاف NMapWin، حالت خط فرمانی (command prompt) دارد. در اين قسمت میخواهيم با nmap مخصوص ويندوز آشنا شويم. برای داونلود اين نرمافزار اينجا را کليک کنيد. (اگر قبلا NMapWin را نصب نکردهايد، بايد از يک نسخه ديگر از nmap که اصطلاحا nmap installer نام دارد، استفاده کنيد. اين نسخه nmap را میتوانيد از اينجا داونلود کنيد. ) همانطور که میدانيد، در نرمافزارهای خط فرمانی، بايد از پارامترها استفاده کنيم. با توجه به اينکه پارامترهای nmap بسيار زياد و يادگيری آنها مشکل است، ما برای پيدا کردن پارامترهای درست برای يک عمل خاص ( که معمولا ip scanning يا port scanning است) از NMapWin استفاده میکنيم. به اين ترتيب که در NMapWin تنظيمات را انجام میدهيم و بعد در پايين پنجره آن مشاهده میکنيد که در قسمت :CMD ليست پارامترها را به دست میآوريم. اين مراحل را با دو مثال شرح میدم: ۱- میخواهيم برای پورتهای ۱ تا ۲۰۰ در کامپيوتری که ip آن 63.148.227.65 است، يک پورت اسکننيگ انجام دهيم. برای اينکار در NMapWin، برگه Scan را درحالت SYN Stealth تنظيم میکنيم و Port Range را مینويسيم: 200-1 و بعد برگه Discover بايد در حالت TCP+ICMP باشد و اگر بخواهيم نوع سيستمعامل را هم مشخص کنيم، در برگه Options، گزينه OS detection را در حالت انتخاب شده قرار میدهيم. ip را هم در بالای پنجره، 63.148.227.65 مینويسيم. حالا آماده اسکن هستيم ولی ما میخواهيم اين کار را با nmap انجام دهيم، پس فقط بايد قسمت CMD را از پايين پنجره ببينيد، ملاحظه میکنيد که نوشته شده: با حذف کلمه :CMD به عبارت زير میرسيم: اينها پارامترهايی است که بايد در nmap استفاده کنيد. به اين صورت که مینويسيد: و بعد از اجرای دستور و صبر کردن برای چند دقيقه، نتايج را میبينيم. بعد از مدتی که با nmap کار کنيد، اين پارامترها را میآموزيد و ديگه نيازی به NMapWin نخواهيد داشت. مثلا همين O- يعنی OS detection، و 200-p 1 يعنی پورتهای ۱ تا ۲۰۰ میباشد. بعدها خودتان میبينيد که کار کردن با nmap بسيار دلچسبتر از NMapWin است. ۲- میخواهيم يک ip scanning انجام دهيم برای 195.219.176.0 تا 195.219.176.10 . برای اينکار در NMapWin، در برگه Mode، گزينه Ping Sweep را انتخاب میکنيم. در برگه Discovery، گزينه ICMP Ping را انتخاب کرده و در برگه Options، گزينه OS detection را در حالت انتخاب نشده قرار میدهيم. برای نوشتن ip ملاحظه میفرماييد که 195.219.176 در هر دو مشترک است، پس مینويسيم: 10-195.219.176.0 .حالا میبينيم که پارامترها به صورت زير است: پس ما مینويسيم:
Copyright by Shabgard.ORG |