پورت های فعال درسیستم

شناسایی پورت های باز سایتها

موضوعی که تو اين درس می گم يکی از پايه های هک هست پس بيشتر دقت کنيد(در ضمن کتاب هک لرنینگ رو هم بخونید که خیلی بهتر و بیشتر مطالب دستتون بیاد) در واقع Ip برگرفته از  Internet Protocol که اینم به دو بخش TCP و UDP تقسیم میشه اول در مورد TCP توضیح میدم که مخففTransmission Control Protocolهست که برای ارتباط کامپيوتر به کامپيوتر استفاده می شه ! خوب حالا ما TCP/IP که يکی از معمول ترين پروتکل ها در جهان

است رو برای اينکه ببينيم چه جوری يه مهاجم ازش برای حمله استفاده می کنه تجزيه می کنيم !

پس قبل از اين کار بايد يکم بشتر در مورد OSI بدونيم !

OSI چيه ؟یک استاندارد برای طبقه بندی و لایه گذاری پروتکل میباشد که بر اساس لايه های پروتکل پايه گذاری شده است وچند لايه دارد:

۱- Physical

۲- Data link

۳- Network

۴-Transport

۵- Session

۶-Presentation

۷-Application

حالا يه توضيح کوتاه در باره هر کدوم از اين لايه ها :

۱- لايه اول : همون لايه فيزيکی هست که اطلاعات از فيبر نوری ومس و ارتباط راديويی و … انتقال داده ميشن ! در واقع يک واسطه فيريکی برای انتقال داده

ها هست مثل خطوط سيم مسی و … !

۲- لايه  دوم : وظيفه اين لايه حرکت داده ها در طول شبکه هست !

۳- لايه سوم : اين لايه همونطور که از اسمش پيداست لايه شبکه هستش و کارش انتقال داده ها از يک سيستم به هدف نهايی هست به IP وابست است.

۴- لايه چهارم :  لايه ای هست که به نظارت و برسی و بازسازی خطاها می پردازه ! … که شامل TCP و UDP برای حصول اطمينان از انتقال منظم اطلاعات می شه !

۵- لايه  پنجم : هماهنگی و مديريت وسايل ارتباطی رو بر عهده داره !

۶- لايه  ششم : نمايش فرمند بندی اعداد و …

۷- لايه  هفتم : اين لايه داده ها رو تبديل به اطلاعات مفهوم دار و قابل درک می کنه !

مثل FTp . Telnet يا Mailserver يا . . .

لايه های پروتکل در TCP/IP اين اجازرو ميده تا دو گروه از سیستمها در طول شبکه با هم ارتباط برقرار کنند !

حالا می رسيم به مفهوم TCP/IP :همونطور که تا الآن فهميديم TCP/IP از اجزايی مثل TCP و UDP و IP و ICMP ساخته شده !

 

TCP/IP در واقع هيچ قابليت حفاضتی ندارد و برای تحقيقات تهيه شده بود و می شه ازش سوء استفاده کرد ! يه مثال برای درک اين مطلب می گم : وقتی شما يه چيزی رو به اينترنت می فرستيد هرکسی اجازه ديدن و تغيير داده شما رو داره و يا اينکه من با استفاده از اين امکان داده هايی رو برا شما بفرستم که شما فکر کنيد از جای مطمئنی فرستاده شده ! بگذريم ! خوب همونطور که گفتم تمام و يا بيشتر برنامه ها که توسط TCP استفاده می شن از بين اونها FTP و TELNET و Email  ها و HTTP ها برای ما مهمترند ! يه توضيح کوتاه برای آدرس IP در اين درس ! عمده ترين لايه شبکه ای که برای تمام حرکتها در اينترنت مورد استفاده قرار می گيره و هر بار که به اينترنت متصل می شيم يه آی پی جديد به ما اختصاص داده می شه  آی پی به نرم افزار متعلق است نه سخت افزار !

اين آدرس ۳۲ بيتی هست اما بخاطر اينکه خوندن و به ياد سپردن اين عدد ۳۲ بيتی مشکل هست از سيستم دودويی استفاده می کنند که به چهار قسمت

که هر کدام از قسمت ها عددی است بين ۰ تا ۲۵۵ !

مثلا آدرس IP : ۱۰.۲۱.۴۱.۳ که ما می بينيم در حقيقت به صورت زير بوده :

۰۰۰۰۱۰۱۰.۰۰۰۱۰۱۰۱.۰۰۱۰۱۰۰۱.۰۰۰۰۰۰۱۱

و سوال پرسیده میشد که چرا بعد از هر دفعه کانکت به شبکه ادرس ای-پی ما تغییر میکنه

من این رو با یک مثال برای شما توضیح میدم. شما فرض کنید ای- پی شما ۲۱۳.۱۲۹.۱۱.۱۰ این ای-پی نشان میدهد که شما نفر دهم روی این ای- پی هستید( روی عدد ۱۱ میتونه از ۰ تا ۲۵۵ تا ای-پی قرار داشته باشه ) و در شبکه به طور معمول جایگزینی انجام میشه البته تا وقتی به شبکه وصل هستید این جایگزینی رو احساس نمیکنید و بعد از اتصال مجدد هستش که متوجه این تغییر میشوید ای- پی شما ۲۱۳.۱۲۹.۱۱.۱۰ این بود و شما نفر دهم بودید حالا فرض میکنیم نفر هشتم با ای-پی ۲۱۳.۱۲۹.۱۱.۸ ار تباط خودشو با اینترنت قطع میکنه و یا دیس کانکت میشه در این حالت اگر شما از شبکه دیس کانکت بشید در اتصال مجدد ای -پی شما جایگزین ای -پی اون کامپیوتر یعنی ۲۱۳.۱۲۹.۱۱.۸ قرار میگیره و عکس این اتفاق هم می افته یعنی مثلا به علت زیاد بودن یوزرها ای-پی شما به ۲۱۳.۱۲۹.۱۱.۱۵ تغییر پیدا کنه! تا اونجایی که میشد من سعی کردم ساده توضیح بدم حالا باز اگر سوالی داشتید کامنت بذارید

.: پورت ها:.

در ساده ترين تعريف، محلی است که داده‌ها وارد با خارج می‌شوند. در مبحث هک معمولا با پورت‌های نرم‌افزاری سروکار داريم که به هر کدام عددی نسبت می‌دهيم. اين اعداد بين ۱ و ۶۵۵۳۵ هستند. معمولا به يک سری از پورت‌ها کار خاصی را نسبت می‌دهند و بقيه به‌صورت پيش‌فرض برای استفاده شما هستند. پورت‌های که فعال هستند، هرکدام توسط يک نرم‌افزار خاص مديريت می‌شوند. مثلا پورت ۲۵ برای ارسال Email است، بنابراين بايد توسط يک نرم‌افزار اين کار انجام شود و اين نرم‌افزار بر روی پورت ۲۵ منتظر (فال‌گوش) می‌ماند. اينجا ممکن است شخصی از فلان نرم‌افزار و ديگری از بهمان نرم‌افزار استفاده کند ولی به‌هر حال پورت ۲۵ هميشه برای ارسال Email است.روی هر آی پی میتونه يک یا چند پورت باز باشه (که البته همخ اونها به درد ما نمیخوره ) بعضی از این پورتها رزرو شده هستن مثل پورتهای صفر تا ۱۰۲۴ (برای مثال در کلانت هکینگ نباید از پورتهای بین ۰ تا ۱۰۲۴ استفاده کرد به همون دلیلی که گفتم اینه از قبل ارزرو شده هستن)

یک سری پورتهای اختصاصی دیگه هست مثله :

ادامه نوشته

دستور Ping
دستور Ping می تواند نقطه شروع مناسبی برای اشکال زدائی يک شبکه مبتنی بر TCP/IP باشد . از برنامه فوق برای تست وضعيت ارتباط بين دو سيستم موجود در شبکه استفاده می شود . اين برنامه از پروتکل ICMP (  اقتباس شده از Internet Control Message Protocol ) به منظور مبادله بسته های اطلاعاتی با سيستم راه دور استفاده می کند (ICMP از پروتکل UDP برای حمل داده استفاده می نمايد ) .
برنامه Ping در ابتدا توسط Mike Muuss و با عملکردی ساده ، پياده سازی گرديد. اين برنامه از پروتکل ICMP به منظور ارسال پيام های UDP به يک آدرس ( ECHO REQUEST ) استفاده می نمايد و پس از ارسال پيام ، در انتظار دريافت پاسخ ( ECHO REPLY ) می ماند . سيستم راه دور، يک بسته اطلاعاتی از نوع پاسخ ( REPLY ) را برای فرستنده پيام ارسال می نمايد و بر اساس آن Round-trip ( ارسال يک درخواست و دريافت پاسخ ) محاسبه می گردد .
ساختار بسته های اطلاعاتی ECHO REQUEST و ECHO REPLY در جدول زير نشان داده شده است . از فيلد اطلاعاتی "نوع پيام " به منظور مشخص نمودن نوع پيام ، استفاده می شود . در صورتی که مقدار اين فيلد هشت باشد ، بسته اطلاعاتی از نوع ECHO REQUEST  و در صورتی که مقدار اين فيلد صفر باشد ، بسته اطلاعاتی از نوع ECHO REPLY  خواهد بود .

ساختار بسته های اطلاعاتی  ECHO REQUEST و ECHO REPLY

نوع پيام ICMP
( صفر و يا هشت )

کد صفر

CheckSum

Identifier

Sequence number

Optional data

استفاده از Ping
Ping دارای عملکردی بسيار ساده است . در ابتدا فيلد Sequence number مقدار صفر را خواهد گرفت و به ازای ارسال هر بسته اطلاعاتی، يک واحد به آن اضافه می شود . مقدار فيلد Identifier ، منحصر بفرد بوده  تا امکان تشخيص بسته های اطلاعاتی برگردانده شده وجود داشته باشد ( در مواردی که بيش از يک کاربر بطور همزمان از دستور Ping بر روی يک ماشين استفاده می نمايند) . در اکثر نسخه های يونيکس و لينوکس ، مقدار فيلد Identifier معادل Process ID  پردازه ای در نظر گرفته می شود که پيام ECHO REQUEST را ارسال نموده است .
پس از دريافت پيام ECHO REQUEST توسط کامپيوتر دريافت کننده ، وی يک پاسخ ( REPLY ) را برای فرستنده ارسال می نمايد که شامل  Identifier و Sequence number مشابه بسته اطلاعاتی ارسالی است .
با توجه به پاسخ ارائه شده توسط دريافت کننده بسته های اطلاعاتی می توان به نتايج متفاوتی دست يافت :

  •  تمامی بسته های اطلاعاتی ارسالی ، مجددا" برگردانده می شوند . ( بين سيستم ارسال کننده و دريافت کننده مشکل ارتباطی وجود ندارد ) .
  • برخی از بسته های اطلاعاتی ارسالی، توسط دريافت کننده برگردانده نمی شوند ( کاهش بسته های اطلاعاتی ارسالی ) و يا با اولويتی که ارسال می گردند با همان اولويت دريافت نمی شوند . اين مسئله می تواند نشاندهنده وجود اشکال در يک شبکه باشد . در اين رابطه احتمال ديگری نيز وجود دارد : سيستم از راه دور ( سيستمی که می بايست به پيام های ارسالی پاسخ دهد ) درگير پردازش های متعددی است و قادر به پاسخگوئی پيام های ECHO REQUEST  در مدت زمان مشخص شده  نمی باشد .

دستور Ping ، مدت زمان Round-trip بر حسب ميلی ثانيه را محاسبه و نمايش می دهد . برای محاسبه مدت زمان Round-trip ، برنامه ping زمان ارسال بسته اطلاعاتی را در فيلد Optional data قرار داده و پس از برگشت بسته اطلاعاتی، زمان ذخيره شده را با زمان جاری سيستم مقايسه نموده تا در نهايت مدت زمان رفت و برگشت يک بسته اطلاعاتی مشخص گردد . دستور Ping همچنين مقدار TTL ( اقتباس شده از Time To Live ) را در خروجی نمايش خواهد داد .TTL مدت زمان اعتبار يک بسته اطلاعاتی را مشخص نموده و  هر host و يا روتر موجود در مسير بسته اطلاعاتی معمولا"  به ميزان يک ثانيه آن را کاهش می دهد .
در برخی موارد ممکن است در زمان ارسال درخواست های متوالی ping ، مدت زمان Round-trip کاهش پيدا نمايد . اين موضوع می تواند دلايل متعددی داشته باشد :

  • ماشين مقصد ( و يا روتر gateway ) در آن مقطع زمانی در جدول محلی ARP نمی باشد و مدت زمانی طول خواهد کشيد ( ميلی ثاينه ) تا arp آدرس سخت افزاری اولين بسته اطللاعاتی را  بدست آورد  .
  • در صورتی که به همراه دستور ping در مقابل استفاده از آدرس IP از نام host استفاده شود ، ممکن است يافتن سرويس دهنده DNS که برنامه ping می بايست با آن ارتباط برقرار نمايد( ترجمه نام host به آدرس IP ) ،  زمان خاص خود را داشته باشد .

در زمان استفاده از دستور Ping بهتر است که در ابتدا عمليات ping را در ارتباط با اينترفيس محلی و يا آدرس  ( Loopback ( IP: 127.0.0.1 شروع نمود . آدرس loopback در پشته TCP/IP استفاده شده و می توان از آن به منظور حصول اطمينان از صحت کارکرد پشته محلی ، استفاده نمود . آدرس فوق ، يک آدرس IP رزو شده است که امکان استفاده از آن در اينترنت وجود ندارد . در صورتی که نمی توان آدرس IP سستم محلی را ping نمود ، ممکن است پيکربندی سيستم  دارای مشکل باشد .  در صورتی که نمی توان آدرس Loopback را ping نمود ، ممکن است پشته TCP/IP  و يا آداپتور شبکه مشکل داشته باشند .

استفاده از Ping در  ويندوز
جدول زير  گرامر دستور Ping به همراه عملکرد برخی از  سوئيچ های متداول  آن را نشان می دهد :

گرامر دستور Ping در ويندوز

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]  
[-w timeout] destination-list

عملکرد

سوئيچ

به صورت پيوسته عمليات Ping را انجام می دهد. برای توقف برنامه ping می توان از کليدهای CTRL+C استفاده نمود .

-t

 ترجمه آدرس به نام را انجام می دهد

-a

تعداد بسته های اطلاعاتی ICMP ECHO REQUEST ارسالی را مشخص می نمايد .

-n count

اندازه بافر را ارسال می نمايد.

-1 size

 مقدار TTL را مشخص می نمايد .

-i TTL

مدت زمان انتظار پاسخ برحسب ميلی ثانيه

-w timeout

نحوه استفاده از دستور Ping :

تايپ دستور

خروجی

C:\>ping www.google.com  

 Pinging www.google.akadns.net [64.233.187.99] with 32 bytes of data:

Reply from 64.233.187.99: bytes=32 time=421ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238
Reply from 64.233.187.99: bytes=32 time=431ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238

Ping statistics for 64.233.187.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 421ms, Maximum = 431ms, Average = 428ms

توضيحات :

  • چهار بسته اطلاعاتی ارسال شده است که همان چهار بسته نيز دريافت شده اند ( در زمان انتقال، هيچيک از بسته های اطلاعاتی گم نشده اند )
  • زمان پاسخ حدودا"  430 ميلی ثانيه بوده است
  • اندازه بسته های اطلاعاتی ارسالی ، سی و دو بايت است .

اشکال زدائی ارتباط بين گره های يک شبکه با استفاده از دستور Ping 
برای اشکال زدائی ارتباط بين گره های يک شبکه ، می توان مراحل زير را دنبال نمود :

  • آيا پيکربندی TCP/IP بر روی سيسم محلی ( ارسال کننده ) درست است ؟ برای پاسخ به سوال فوق می توان آدرس IP سيستم محلی را Ping و نتايج را مشاهده نمود . در صورت عدم ارائه پاسخ مناسب ،می تواند مشکل  مربوط به پيکربندی تنظيمات TCP/IP بر روی سيستم محلی باشد .
  • آيا امکان ping نمودن نام host وجود دارد ؟ برای پاسخ به سوال فوق به  همراه دستور ping از نام host استفاده نمائيد . ping ، قبل از ارسال بسته اطلاعاتی برای host مورد نظر ، نام آن را به يک آدرس IP ترجمه می نمايد . اگر آدرسی که Ping ترجمه می نمايد ، آدرسی نيست که تصور آن را داريد ، می بايست پيکربندی سيستم خود را بررسی نمائيد . در چنين مواردی ممکن است شما کامپيوتر خود را بگونه ای پيکربندی نموده ايد که از يک آدرس IP خاص استفاده نمايد ولی در سرويس دهنده DNS ، به کامپيوتر شما يک آدرس IP ديگر مرتبط شده است . در اين رابطه می توان از دستور nslookup به منظور اشکال زدائی ترجمه استفاده نمود .
  • آيا امکان ارتباط با سيستمی ديگر در شبکه وجود دارد ؟ برای پاسخگوئی به سوال فوق می بايست يک سيستم ديگر را که مطمئن هستيد در Subnet شما وجود دارد ، ping نمائيد . در صورتی که نتايج موفقيت آميز باشد ، شما می توانيد با اعضاء broadcast Domain ارتباط برقرار نمائيد .
  • آيا امکان ارتباط با Default Gateway وجود دارد ؟ Default Gateway ، روتر و يا دستگاهی ديگر است که  Subnet شما را به ساير شبکه ها متصل می نمايد. در صورت عدم امکان ping نمودن Default Gateway ، دو احتمال می تواند وجود داشته باشد : احتمال اول : ممکن است آدرس Subnet شما اشتباه باشد . در چنين مواردی می بايست پيکربندی سيستم بررسی گردد  تا اين اطمينان حاصل شود که شما از يک آدرس درست برای روتر و يا host ديگر که مسئول فورواردينگ بسته های اطلاعاتی در Local Subnet است ، استفاده می نمائيد . احتمال دوم : ممکن است خود Default gateway دارای مشکل باشد . برای اطمينان از اين موضوع ، می توان از طريق يک سيستم ديگر موجود در شبکه ، Default Gateway را ping نمود . در صورتی که مشکل همچنان باقی است ، می بايست برای حل مشکل بر روی Default Gateway متمرکز گرديد .
  • آيا امکان ارتباط با ساير سيستم های موجود در خارج از شبکه محلی وجود دارد ؟ برای پاسخ به سوال فوق ، می توان يک سيستم راه دور را ping نمود . در صورتی که عمليات توام با موفقيت باشد ، ارتباط شما از طريق Default gateway به درستی  برقرار شده است و در صورت عدم موفقيت ، دلايل متعددی می تواند وجود داشته باشد : بروز اشکال در سيستم مقصد ، بروز اشکال در روتينگ به سيستم مقصد و يا تجهيزات موجود در خارج از شبکه محلی

و اما دو نکته که بد نيست به آنان نيز اشاره ای داشته باشيم  :

  • نکته اول : همانگونه که ملاحظه گرديد ، دستور ping دارای امکاناتی مفيد و قدرتمند به منظور اشکال زدائی ارتباط بين گره ها در شبکه های مبتنی بر TCP/IP است، ولی Ping of Death که احتمالا" نام آن را تاکنون شنيده ايد دارای وضعيتی اينچنين نمی باشد . Ping of Death يک نوع تهاجم در شبکه های کامپيوتری است که در آن يک مهاجم با استفاده از برنامه هائی خاص ، بسته های اطلاعاتی ICMP را توليد می نمايد که دارای اندازه ای بيش از حد مجاز می باشند . در صورتی که نرم افزار موجود بر روی سيستم مقصد به درستی Patch نشده باشد ، بسته های اطلاعاتی ارسالی توسط مهاجمان دريافت و بخش عمده ای از حافظه را اشغال نموده و می تواند سرريز حافظه را بدنبال داشته باشد . مديران شبکه می بايست يک محيط ايمن به منظور استفاده از ping را در شبکه فراهم نموده تا امکان تحقق چنين حملاتی در شبکه وجود نداشته باشد .
  • نکته دوم : در صورتی که نتوان يک کامپيوتر راه دور را ping نمود ، نمی توان با قاطعيت اعلام نمود که سيستم مقصد به شبکه متصل نمی باشد و  يا  مشکل مربوط به کابل کشی شبکه است . در اين رابطه دلايل متعددی می تواند وجود داشته باشد : بروز اشکال در هر يک از دستگاه های موجود در مسير ارتباطی نظير  هاب ، سوئيچ ، روتر و يا Default Gateway . به همين دليل ، می بايست همواره يک طرح کامل از شبکه به همراه جزئيات مربوطه وجود داشته باشد تا در صورت بروز مشکلاتی اينچنين به سرعت بتوان مسير مربوطه را برای اشکال زدائی بررسی نمود . در چنين مواردی ، می بايست هر دستگاه موجود در مسير ارتباطی بررسی گردد .

      منع :  www.srco.ir