آموزش هک از ابتدا تا آخر


IP


P Address چیست؟نشانی پروتکل اینترنت (Internet Protocol Address) یا به اختصار نشانی آی*پی (IP Address) شماره ایست که به هر کامپیوتر متصل به اینترنت اختصاص داده میشود تا بتوان به کمک آن شماره به کامپیوتر مربوطه دسترسی داشته و تبادل اطلاعات نمود. این عدد برای کامپیوترهایی که حالت سرور دارند و نیز کامپیوترهای کلاینتی که معمولا به روشی غیر از شماره گیری (Dial Up) به اینترنت وصل هستند، عددی ثابت و برای دیگران عددی متغیر است.و در هر بار وصل شدن به اینترنت این شماره عوض میشود یعنی هر بار که شما با ISP سرویس دهنده خود به اینترنت وصل میشوید، عددی جدید به شما نسبت داده میشود. 

آدرس IP نسخهٔ ۴
آدرس IP نسخه 4.0 یک عدد ۳۲ بیتی است که برای سادگی آن را به شکل چهار بخش عددی در مبنای 10 می*نویسند.
به شکل: xxx.xxx.xxx.xxx 
منظور از xxx عددی بین ۰ تا ۲۵۵ است (البته بعضی شماره ها قابل استفاده نیست ). مثلا ممکن است IP شما به صورت 195.219.176.69 باشد. 
در IP معمولا xxx اول معنای خاصی دارد، که بعدا توضیح داده می شود. فقط این را متذکر شویم که اگر به روش Dial Up به اینترنت وصل شوید، معمولا عددی که به عنوان xxx اول میگیرید، مابین 192 تا 223 خواهد بود.این توضیح برای تشخیص کامپیوترهای Client از Server (حداقل در ایران) بسیار میتواند مفید باشد.

» اصولاً هر نشانی آی*پی ۳۲ بیتی به دو بخش تقسیم می*شود: یک پیشوند و یک پسوند.
این دو سطح به منظور ایجاد یک روش مسیریابی کارآمد طراحی شده است. پیشوند آدرس، شبکه*ای را که رایانه به آن متصل است مشخص می*کند (Network) در حالیکه پسوند یک رایانهٔ یکتا را روی شبکه مشخص می*کند (Host). یعنی به هر شبکه در اینترنت یک مقدار یگانه که تحت عنوان شمارهٔ شبکه شناخته شده است، اختصاص دارد. شمارهٔ شبکه به عنوان یک پیشوند در نشانی هر رایانه*ای که به شبکه وصل است ظاهر می*شود. بعلاوه به هر رایانهٔ روی یک شبکه، یک پسوند نشانی یکتا تخصیص یافته است.
هر نشانی کامل، شامل یک پیشوند و یک پسوند است و طوری تخصیص داده می*شوند که یکتا باشند، بنابراین ویژگی اول تضمین می*گردد. اگر دو رایانه به دو شبکهٔ مختلف وصل شده باشند، نشانی*هایشان پیشوندهای متفاوت خواهند داشت. اما اگر دو رایانه به یک شبکه وصل باشند، نشانی*هایشان دارای پسوندهای متفاوت خواهد بود.
برای به دست آوردن آدرس IP رایانه خود، از دستور ipconfig در Command Prompt استفاده کنید. (برای ویندوز XP و 2000)
همچنین برای مشاهده آدرس IP سیستم خود در ویندوز ۹۵ و ۹۸ و ME از برنامه winipcfg.exe و در لینوکس و یونیکس (یا سیستم*های مبتنی بر آنها) از دستور ifconfig می توان استفاده کرد. 




کلاس*های مختلف IP نسخه 4.0
سه کلاس پایه ای مختلف آدرس دهی IP، برای شبکه* های بزرگ، متوسط و کوچک وجود دارد. کلاس A برای شبکه*های بزرگ، کلاس B برای شبکه*های متوسط و کلاس C برای شبکه*های کوچک می باشد. علاوه بر این سه کلاس، کلاس D برای پخش چندگانه ارسال اطلاعات به گروهی از رایانه*ها، و کلاس E برای کارهای جستجو وجود دارند. برای شرکت در پخش چندگانهٔ IP، مجموعه*ای از رایانه*های میزبان باید بر سر استفاده از آدرس پخش چندگانه، به طور مشترک توافق داشته باشند. پس از تشکیل گروه پخش چندگانه، یک کپی از هر بستهٔ اطلاعاتی فرستاده شده به نشانی پخش چندگانه، هر رایانهٔ میزبان در مجموعه تحویل می*گیرد. بنابراین نخستین 4 بیت (از سمت چپ) آدرس IP کلاس آن را مشخص می*کند. همچنین اگر نمایش نقطه*دار را در نظر بگیریم از روی مقدار دهدهی بایت اول، کلاس آن تشخیص داده می*شود کلاس طول (bit) شروع پایان CIDR subnet mask
Class A 0 0.0.0.0 127.255.255.255 /8 255.0.0.0
Class B 10 128.0.0.0 191.255.255.255 /16 255.255.0.0
Class C 110 192.0.0.0 223.255.255.255 /24 255.255.255.0
Class D (multicast) 1110 224.0.0.0 239.255.255.255 /4 Not Defined
Class E (reserved) 1111 240.0.0.0 255.255.255.255 /4 Not Defined

اصولاً در سامانهٔ آی*پی *دهی به مشترکان، آی*پی*ها به صورت تعدادی که توانی از عدد ۲ باشد (۲، ۴، ۸، ۱۶، ۳۲، ۶۴ و ۱۲۸) دسته*بندی می*شوند. لازم به ذکر است که در هر دستهٔ آی*پی اختصاص داده شده به مشترک، آی*پی*های اول و آخر بر اساس استاندارد معمولاً غیر قابل استفاده است و از باقیماندهٔ آی*پی*ها می*توان در شبکهٔ تعریف شده استفاده کرد.
» به عنوان مثال در یک کلاس هشت*تایی، حداکثر شش نشانی IP قابل استفاده است.

IP خصوصی
برای جلوگیری از هدردهی IP در هر کلاس، یک محدودهٔ IP برای شبکه*های خصوصی (مانند شبکهٔ داخلی ادارات و شرکت*ها) در نظر گرفته شده*است که عبارت است از: IP محدوده تعداد آدرس*ها کلاس CIDR block
24 - 10.0.0.0 – 10.255.255.255 16,777,216 Single Class A 10.0.0.0/8
20 - 172.16.0. – 172.31.255.255 1,048,576 16 contiguous Class Bs 172.16.0.0/12
16 - 169.254.0.0 – 169.254.255.255 65,536 Single Class B 169.254.0.0/16
16 - 192.168.0.0 – 192.168.255.255 65,536 Single Class B 192.168.0.0/16

برای اتصال یک شبکهٔ خصوصی به اینترنت از پروتکل NAT استفاده می*شود به این ترتیب که نشانی خصوصی به یک یا چند نشانی منحصربه*فرد عمومی ترجمه می*شود. 

IP ایستا (Static) و پویا (Dynamic)
IP پویا (Dynamic) با هر بار وصل*شدن به شبکهٔ داخلی و یا اینترنت تغییر می*کند. اما IP ایستا (Static) اینطور نیست. IP پویا (Dynamic) در هر شبکه توسط کارساز پروتکل پیکربندی پویای میزبان (DHCP Server) به رایانه*ها در شبکه اختصاص داده می*شود. یعنی وقتی شما به اینترنت و یا شبکهٔ داخلی وصل می*شوید، کارساز پروتکل پیکربندی پویای میزبان به شما یک نشانی آی*پی اختصاص می*دهد. DHCP Server می*تواند یک سرویس در سیستم*عامل*های سرور باشد یا یک قطعهٔ سخت*افزاری مانند مسیریاب (Router) و یا نقطهٔ دسترسی (Access Point) در شبکه باشد

IP نسخه 6.0
گسترش روز افزون اینترنت و نیاز به آدرس های بسیار بیشتر تیم IETF (Internet Engineering Task Force) را برآن داشت تا به فکر تکنولوژی های جدیدی باشند تا امکان تعریف آدرس های آی پی بیشتری فرآهم گردد. بهترین راه ساخت مجدد نشانی پروتکل اینترنت بود. در سال 1995 میلادی نسخه جدید نشانی پروتکل اینترنت با نام IP Ver. 6.0 معرفی گردید . اندازه آدرس از 32 بیت به ۱۲۸ بیت افزایش یافت و امکان آدرس دهی تا 2128 آدرس افزایش یافت. این کار تنها تعداد آدرس های اینترنتی را گسترش نداد، بلکه باعث خواهد شد جدول مسیریاب های اینترنتی (روترها) کوچکتر شود. کلیه سیستم*عامل*های جدید سرور و خانگی از جمله ویندوز ویستا به طور کامل پشیبانی می*شود ولی متاسفانه هنوز توسط بسیاری از مسیریاب های شبکه های خانگی و تجهیزات شبکه عادی پشتیبانی نشده است. 

Dns چیست؟


سامانهٔ نام دامنه (Domain Name System) که به اختصار DNS خوانده می*شود روشی سلسله مراتبی است که بانک اطلاعاتی مربوط به نام های نمادین و معادل IP آنها را روی کل شبکه اینترنت توزیع کرده است. این سیستم در سال 1984 ایجاد و طی سال های بعد توسعه یافت.
وقتی میخواهید وارد سایتی شوید، می بایست آدرس وب سرور آنرا بدانید.آدرس وب سرور با آدرس IP مشخص میشود، اما به خاطر سپردن آدرس IP دشوار است، لذا می توان به جای IP از Domin Name ها (که در ابتدای این مقاله با عبارت نام نمادین از آن یاد کردیم ) استفاده کرد. برای هر IP یک Domin Name در نظر گرفته شده است. مثلا IP آدرس گوگل 66.249.91.103 است.

در DNS ، کل آدرس های اینترنت درون بانک های اطلاعاتی توزیع شده ای هستند که هیچ تمرکزی روی نقطه ای خاص از شبکه ندارند . روش ترجمه نام بدین ترتیب است که وقتی یک برنامه کاربردی مجبور است برای برقراری یک ارتباط ، معادل آدرس IP از یک ماشین با نامی مثل CS.ucsb.edu را بدست بیاورد ، قبل از هر کاری یک تابع کتابخانه ای (Library Function) را صدا می زند ، به این تابع کتابخانه ای «تابع تحلیلگر نام » (Name Resolver) گفته می شود .تابع تحلیلگر نام ، یک آدرس نمادین را که بایستی ترجمه شود ، بعنوان پارامتر ورودی پذیرفته و سپس یک بسته ی درخواست (Query Packet) به روش UDP تولید کرده و به آدرس یک سرویس دهنده ی DNS (که به صورت پیش فرض مشخص می باشد) ارسال می کند . همه ی ماشین های میزبان ، حداقل باید آدرس IP از یک سرویس دهنده ی DNS را در اختیار داشته باشند . این «سرویس دهنده ی محلی» پس از جستجو ، آدرس IP معادل با یک نام نمادین را بر می گرداند . (تابع تحلیلگر نام) نیز آن آدرس IP را به برنامه ی کاربردی تحویل می دهد با پیدا شدن آدرس IP ، برنامه ی کاربردی می تواند عملیات مورد نظرش را ادامه بدهد . روش های جستجو در سیستم DNS برای تحلیل یک نام حوزه ، سطوح از سمت راست به چپ تفکیک می شوند و در یک روند سلسله مراتبی ، سرویس دهنده ی متناظر با آن سطح پیدا می شود . نام های حوزه به هفت منطقه ی عمومی و حدود صد و اندی منطقه ی کشوری تقسیم بندی شده است .حوزه بدین معناست که شما با یک نگاه ساده به انتهای آدرس نمادین ، می توانید ماهیت آن نام و سرویس دهنده ی متناظر با آن را حدس بزنید . یعنی اگر انتهای نام های حوزه متفاوت باشد منطقه ی جستجو برای یافتن آدرس IP معادل نیز متفاوت خواهد بود.

7 حوزه عمومی که همه آنها سه حرفی هستند عبارتند از: 
‫1.‬ com. : صاحب این نام جزو موسسات اقتصادی و تجاری به شمار می آید.
2.‬edu. : صاحب این نام جزو موسسات علمی یا دانشگاهی به شمار می آید.
‫3.‬ gov. : این نام برای آژانس های دولتی آمریکا اختصاص داده شده است. 
4.‬ int. : صاحب این نام یکی از سازمان های بین المللی (مثل یونسکو ، فائو ،...) محسوب می شود.
‫5.‬ mil. : این نام ویژه مراکز نظامی آمریکا می باشد.
‫6.‬ net. : صاحب این نام از ارائه دهندگان خدمات شبکه به شمار می رود. 
‫7.‬ org. : صاحب این نام از سازمان های عام المنفعه و غیر انتفاعی محسوب می شوند.

هر حوزه می تواند به زیر حوزه های کوچکتری تقسیم شود که به آن دامنه سطح دوم نیز گفته می شود. 
به عنوان مثال نام* های مربوط به حوزه ایران که با ir. مشخص می شود به ۷ زیرحوزه به شرح زیر تقسیم می *شود: 
‫1.‬.ac.ir : فقط برای دانشگاه*ها یا موسسه های آموزشی
‫2.‬.co.ir : فقط برای شرکت *های سهامی خاص، سهامی عام، مسوولیت محدود و تضامنی
‫3.‬.gov.ir : فقط برای موسسه ها یا سازمان *های دولتی
‫4.‬.id.ir : فقط برای افراد دارای ملیت ایرانی
‫5.‬.net.ir : فقط برای سرویس *دهندگان رسمی اینترنت
‫6.‬.org.ir : فقط برای موسسه ها و سازمان* های خصوصی
‫7.‬.sch.ir : فقط برای مدارس

روشهای جستجو در سرویس دهنده های نام
همانگونه که اشاره شد اسامی نمادین در شبکه اینترنت که خود در قالب حوزه ها و زیر حوزه ها سازماندهی شده اند در یک فایل متمرکز ذخیره نمی شوند بلکه روی کل شبکه اینترنت توزیع شده اند ، به همین دلیل برای ترجمه یک نام به آدرس IP ممکن است چندین مرحله "پرس و جو" صورت بگیرد تا یک آدرس پیدا شود. طبیعی است که یک پرس و جو برای تبدیل یک نام حوزه همیشه موفقیت آمیز نباشد و ممکن است به پرس و جوهای بیشتری نیاز شود یا حتی ممکن است یک آدرس نمادین اشتباه باشد و هیچ معادل IP نداشته باشد.

3 روش برای پرس و جوی نام در سرویس دهنده های نام وجود دارد :
‫1.‬پرس و جوی تکراری (Iterative Query)
‫2.‬ پرس و جوی بازگشتی (Recursive Query)
‫3.‬ پرس و جوی معکوس (Reverse Query)
» حال به بررسی این سه روش می پردازیم :
1) پرس و جوی تکراری: در پرس و جوی تکراری قسمت اعظم تلاش برای تبدیل یک نام بر عهده سرویس دهنده محلی است؛ این DNS حداقل به آدرس ماشین Root ، به عنوان نقطه شروع نیاز دارد . وقتی یک تقاضای ترجمه آدرس به سرویس دهنده محلی ارسال می شود در صورتی که قادر به ترجمه نام به معادل IP آن باشد ، معادل آدرس IP نام مورد نظر را به تقاضا کننده برمی گرداند. (این حالت وقتی است که سرویس دهنده محلی قبلاً آن نام را ترجمه و در یک فایل ذخیره کرده باشد.) در غیر این صورت سرویس دهنده محلی خودش یک تقاضا برای DNS سطح بالا ارسال می کند. این سرویس دهنده ، آدرس ماشینی را که می تواند برای ترجمه نام مورد نظر مفید باشد ، به سرویس دهنده محلی معرفی می کند؛ سرویس دهنده محلی مجدداً یک تقاضا به ماشین معرفی شده در مرحله قبل ارسال می کند. در این حالت هم سرویس دهنده نام می تواند در صورت یافتن آدرس IP با آن نام حوزه ، آنرا ترجمه کند و یا آنکه آدرس سرویس دهنده سطح پایینتری را به او برگرداند .این روند ادامه می یابد تا DNS نهایی نام مورد نظر را به آدرس IP ترجمه نماید. برای درک بهتر از روند کار به شکل زیر دقت کنید.

مراحلی که انجام می شود به شرح زیر است: 

1.‬ در مرحله اول برنامه کاربردی با فراخوانی "تابع تحلیل نام" ، تقاضای ترجمه آدرسرا برای سرویس دهنده محلی ارسال کرده و منتظر می ماند.
‫2.‬ در مرحله دوم ، سرویس دهنده محلی از سرویس دهنده Root (که حوزه های متفاوت را تفکیک می کند) آدرس ماشین یک DNS که متولی حوزه .com است را سؤال می کند.
‫3.‬ در مرحله سوم ، آدرس سرویس دهنده مربوط به حوزه .com بر می گردد.
‫4.‬ در مرحله چهارم ، سرویس دهنده محلی ، از ماشین معرفی شده در مرحله قبلی ، آدرس سرویس دهنده مربوط به حوزه Microsoft.com را سؤال می نماید.
‫5.‬ در مرحله پنجم فهرستی از سرویس دهنده های DNS مربوط به Microsoft.com بر می گردد.
6.‬ در مرحله ششم، سرویس دهنده محلی تقاضای ترجمه آدرس نمادینرا از DNS متعلق به حوزه Microsoft.com می کند. 
7.‬ در مرحله هفتم ، معادل آدرس IP نامبرمی گردد.
8.‬ در مرحله هشتم ، آدرس IP خواسته شده در اختیار برنامه کاربردی قرار می گیرد.
2) پرس و جوی بازگشتی: در این روش هر گاه برنامه ای بخواهد آدرس IP معادل یک نام مثل cs.yale.edu را بدست آورد بگونه ای که قبلاً اشاره شد ، "تابع سیستمی تحلیل نام" را فراخوانی می کند. این تابع یک ماشین را بعنوان سرویس دهنده محلی از قبل می شناسد و بنابراین تقاضای تبدیل نام را به روش UDP برای آن ارسال کرده و منتظر جواب می ماند 
(پاسخ نهایی DNS طبیعتاً باید یک آدرس 32 بیتی معادل آدرس IP یک ماشین باشد)
دو حالت ممکن است اتفاق بیفتد:
ممکن است در بانک اطلاعاتی مربوط به سرویس دهنده محلی ، آدرس IP معادل با آن نام از قبل وجود داشته و بالطبع به سرعت مقدار معادل IP آن بر می گردد.
ممکن است در بانک اطلاعاتی سرویس دهنده محلی ، معادل IP آن نام وجود نداشته باشد.مثلاً سرویس دهنده محلی در بانک اطلاعاتی خودش معادل IP نام cs.mit.edeu را نداشته و طبیعتاً نمی تواند آن را ترجمه کند. در چنین حالتی سرویس دهنده محلی موظف است بدون آنکه به تقاضا دهنده خبر بدهد، خودش رأساً به سرویس دهنده سطح بالاتر تقاضای ترجمه آدرس بدهد. در این حالت هم DNS سطح بالاتر به همین نحو ترجمه آدرس را پیگیری می کند یعنی اگر معادل IP آن نام را داشته باشد آنرا برمی گرداند و در غیر اینصورت خودش از سرویس دهنده سطح پایینتر تقاضای ترجمه آن نام را می نماید و این مراحل تکرار می شود. در روش پرس و جوی بازگشتی ماشین سرویس دهنده محلی این مراحل متوالی را نمی بیند و هیچ کاری جز ارسال تقاضای ترجمه یک آدرس بر عهده ندارد و پس از ارسال تقاضا برای سرویس دهنده سطح بالا منتظر خواهد ماند. بازهم تکرار می کنیم ، روشی که DNS برای ترجمه آدرس بکار می برد می تواند بدون اتصال (UDP) باشد که این کار به سرعت عمل ترجمه آدرس می افزاید.
دقت کنید که در روش پرس و جوی تکراری نسبت به روش پرس و جوی بازگشتی ، حجم عمده عملیات بر عهده سرویس دهنده DNS محلی است و مدیریت خطاها و پیگیری روند کار ساده تر خواهد بود و روش منطقی تری برای بکارگیری در شبکه اینترنت محسوب می شود. روش پرس و جوی بازگشتی برای شبکه های کوچک کاربرد دارد. 

3) پرس و جوی معکوس: فرض کنید حالتی بوجود بیاید که یک سرویس دهنده DNS ، آدرس IP یک ماشین را بداند ولی نام نمادین معادل با آن را نداند. بعنوان مثال DNS مایل است بداند که چه نامی در شبکه اینترنت معادل با 195.13.42.7 می باشد. در چنین حالتی مسئله کمی حادتر به نظر می رسد ، چرا که برای ترجمه نامهای نمادین ، چون این نامها دارای حوزه و زیرحوزه هستند ، تحلیل آدرسها ساده است ولی ترجمه آدرس IP به معادل نام حوزه ، از چنین روابطی تبعیت نمی کند ؛ بعبارت بهتر هیچ ارتباط مستقیم و متناظری بین آدرسهای IP و اسامی انتخاب شده در اینترنت وجود ندارد. برای یافتن نامهای متناظر با یک آدرس IP باید یک جستجوی کامل و در عین حال وقتگیر انجام بشود. روش کار بدین صورت است که سرویس دهنده محلی یک تقاضا برای DNS متناظر با شبکه ای که مشخصه آن در آدرس IP ، مشخص شده ، ارسال می کند. بعنوان مثال آدرس IP شبکه ای را 138.14.7.13 در نظر بگیرید ، آدرس کلاس B و مشخصه آن 138.14.0.0 است . زمانی که مؤسسه ای یک کلاس IP ثبت می دهد یک سرویس دهنده DNS ، متناظر با شبکه خود ایجاد کرده و آنرا نیز معرفی می کند. سرویس دهنده محلی بایستی آدرس DNS متناظر با شبکه 138.14.0.0 را پیدا کرده و سپس برای آن یک تقاضا ارسال کند. DNS مربوط به این شبکه ، براساس زیر شبکه هایی که دارد این سؤال را از طریق سرویس دهنده های متناظر با هر زیر شبکه پیگیری می کند. (چون هر زیر شبکه یک سرویس دهنده DNS مخصوص به خود دارد) نهایتاً یک نام نمادین حوزه معادل با آن آدرس IP بر خواهد گشت.

دامنه سطح *دوم 
در سلسله مراتب سامانه نام دامنه، یک دامنه سطح دوم (Second Level Domain) (به اختصار SLD) دامنه ای است که بطور مستقیم زیر یک دامنه سطح بالا قرار دارد. برای مثال، در google.com , عبارت google دامنه سطح دومی از دامنه سطح بالای com. می باشد. دامنه*های سطح دوم معمولاً به تشکیلاتی که نام دامنه آن با یک ثبت کننده نام دامنه ( Domain Name Registrar) ثبت شده است منسوب می شود. برخی از ثبت کننده*های نام دامنه سلسله مراتبی از دامنه سطح دوم یک دامنه سطح بالا را مطرح می کنند که نشانگر نوع تشکیلاتی است که قصد ثبت دامنه سطح دوم تحت آن وجود دارد. به عنوان مثال، در حوزه نام uk. یک دانشگاه یا موسسه فرهنگی دیگر تمایل دارد که دامنه خود را تحت یک دامنه سطح دوم کد کشوری (country code Second Level Domain) (به اختصار ccSLD) به نام .ac.uk به ثبت برساند، در حالیکه شرکت*ها تمایل دارند دامنه خود را تحت .co.uk ثبت کنند. 

چگونه ای پی سرور را بدست آوریم?

خوب برای این کار چند روش وجود داره

1 . ping 

2. whois

خوب برای استفاده از روش ping ما در run دستور ping pcpersia.ir -t را وارد میکنیم و ای پی سرور را میبینیم که شما به جای pcpersia.ir سایت مورد نظر خودتون را وارد میکنید.

برای استفاده از روش whois هم نرم افزار وجود داره هو سایت به صورت آنلاین که من یک نمونه سایت معرفی میکنم

http://www.ipchecking.com/


telnet

Telnet یا Telecommunication network نرم افزاری است که به افراد توانایی کنترل قسمت های مختلف یک کامپیوتر را از راه دور می دهد. تمام این توانایی ها در محیط متنی صورت می گیرد و تنها به وسیله ی یک سری دستورات است که می توانیم به اهداف خود برسیم. این دستورات جا به جا شده بین کامپیوتر میزبان و میهمان، به صورت متن منتقل می شود و بنابراین امنیت کمی خواهند داشت. اگر واقعن نگران اطلاعات جا به جا شده هستید، می توانید از SSH یا Secure Shell استفاده کنند. استفاده از Telnet:
برای استفاده از Telnet، بعد از وارد شدن به محیط Command Prompt به صورت زیر عمل کنید:
نقل قول:
Telnet Computer name

به جای Computer name نام کامپیوتری که قصد متصل شدن به آن دارید را بنویسید. در این صورت، اگر سرویس Telnet بر روی کامپیوتر میزبان روشن باشد، شما به Command Prompt آن کامپیوتر دسترسی خواهید داشت . البته قبل از متصل شدن ممکن است از شما تقاضای نام کاربری و رمز عبور کند که باید نام و پسورد اکانت کامپیوتر میزبان را وارد کنید. به این نکته نیز توجه داشته باشید که هنگام تایپ کلمه ی عبور، بر روی صفحه ی نمایش کلمه ای ظاهر نمی شود.
دستور Telnet شامل پارامتر های گوناگونی می باشد که هر کدام از آنها دارای کاربرد های زیادی هستند. به کمک پارامتر l- می توانید با نام کاربری مورد نظرتان، به کامپیوتر Remote متصل شوید. شکل کلی استفاده از این پارامتر به صورت زیر است:
Telnet Saeid –l administrator
که Saeid نام کامپیوتر مورد نظر Administrator هم یوزری است که با آن قصد لاگین کردن داریم. همچنین با کمک پارامتر Port می توانید با پورتی متفاوت به کامپیوتر مورد نظر متصل شوید:
نقل قول:
Telnet Saeid 50

پورت پیش فرض برنامه Telnet، عدد 23 است. اما ممکن است این پورت توسط مدیر شبکه مسدود و پورت دیگری به این کار اختصاص داده شده باشد. اینجاست که شما باید عدد پورت را هم وارد کنید. در ادامه نحوه ی تغییر دادن پورت را هم خواهیم آموخت.
برای ساختن فایل لاگ هم پارامتری وجود دارد که به کمک آن می توانید تمام فعالیت ها را ذخیره کنید.
با این دستور فایل لاگ در درایو D و با نام log ذخیره خواهد شد. البته برای این کار روش دیگری هم وجود دارد و آن استفاده از نرم افزار های جانبی است. یکی از برنامه های خوب در این زمینه CRT است. 
ضمن اینکه به کمک دستور tlntadmn می توانید اطلاعات جامعی در مورد جلسه ی در حال اجرا به دست بیاورید. هنگام پایان کار نیز، با دستور exit ارتباط خود را با کامپیوتر Remote قطع نمایید.
تغییر پورت:
برای این کار نیاز به ایجاد تغییر در رجیستری ویندوز خواهید داشت. وارد پنجره ی Run شوید و عبارت regedit را وارد کنید. سپس شاخه ی زیر را طی کنید:
نقل قول:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer \1.0

سپس از سمت راست مقدار TelnetPort را تغییر دهید. در این مسیر می توانید سایر تنظیمات Telnet را نیز به صورت کامل دستکاری کنید.
خطاهای رایج:
ممکن است هنگام متصل شدن به کامپیوتر مورد نظر، با پیغام زیر روبه رو شوید:
نقل قول:
Could not open connection to the host, on port 23: Connection failed

این پیغام هنگامی ظاهر می شود که سرویس Telnet فعال نباشد. البته در شبکه های معمولی که امنیت سفت و سختی حکم فرما نیست شما به راحتی می توانید این سرویس را در کامپیوتر مورد نظر فعال کنید. برای این کار از پنجره ی Run، دستور mmc را تایپ کنید تا پنجره ی کنسول باز شود. از منوی File، گزینه ی Add/Remove snap-in را انتخاب کنید. با زدن دکمه ی Add، مشاهده خواهید کرد که می توانید به تمامی قسمت های کامپیوتر مورد نظر متصل شوید. در صفحه ی باز شده، گزینه ی Sevices را انتخاب کنید. در پنجره ی جدید با انتخاب گزینه ی Another computer، آدرس کامپیوتر مورد نظر را وارد کنید. بعد از انجام این کار، سرویس Telnet را پیدا کرده و آن را Start کنید.
البته تغییر پورت هم می تواند یکی از دلایل بروز این خطا باشد که نباید آن را فراموش کنید.

چگونه به یک پورت Telnet کنیم؟

برای اینکه عملکرد یک پورت برای شما روشن شود، باید به آن پورت Telnet کنید. (البته معمولا تعدادی از پورت هایی را که ممکن است اطلاعاتی مهم را در اختیار هکر ها قرار دهند مثل پورت ۷۹ معمولا بسته است و ارتباط با آنها شاید برقرار نشود.) برای telnet کردن در command prompt دستور زیر را تایپ کنید:
کد:

telnet hostname portnum 
در این دستور به جای hostname شماره ip و یا نام سایت را وارد می کنید و به جای portnum شماره پورت و یا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاریخ را به دست می دهد در کامپیوتری به اسمwww.iums.ac.ir می نویسید:
کد:

telnet iums.ac.ir 13 telnet iums.ac.ir daytime 
هر دو این دستورات معادل هم هستند.
تلنت کردن معمولا اولین کاری است که یک هکر برای هک کردن یک سایت انجام می دهد، زیرا بعضی از پورت ها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسیار مهمی هستند.


منبع : ashiyane.org

scanning


انواع Scanning

معمولا دو نوع Scanning وجود دارد:

Port Scanning :
در این حالت ما IP یا IPهای مورد نظر را انتخاب کرده ایم و حالا می خواهیم بدانیم که کدام پورت ها روی آن کامپیوترها باز است.

IP Scanning :
در این اسکنینگ می خواهیم بدانیم که از بین یک مجموعه ip ، کدام ها up و کدام ها down هستند. یعنی کدام ip ها الان قابل دسترسی هستند (یعنی به یه کامپیوتر در اینترنت نسبت داده شده است! ) فرض کنید که شما یک سری IP مربوط به یک ISP خاص را دارید و می خواهید بدانید که در این لحظه کدام ها فعال (up) هستند تا فقط آنها را بررسی کنید و نه همه را.

چگونه یک ارتباط TCP برقرار می شود که بگوییم فلان پورت باز است یا نه؟

برای اینکه تعیین کنیم که یک پورت روی یک سرور باز است یا نه، معمولا باید یک TCP connect scan انجام دهیم. اول این را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داریم. این نوع اسکن سه مرحله دارد که به آن TCP"s 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 :
این هم از بهترین هاست ولی چون پولی است به جای دانلود باید در CD هایی که در بازار هست پیدایش کنید.

۳- WinScan :
برای اسکن کردن TCP (ونه UDP) می توانید از آن استفاده کنید.

۴- ipEye v1.2 :
لازم است بگویم که این نرم افزار فقط در ویندوز ۲۰۰۰ و xp کار می کند و نیز در یک بار اجرا فقط یک ip را می تواند تست کند. ضمنا فقط TCP را تست می کند. 


آخرین ورژن اسکنر Acunetix 8 build 2012.04.03


ابتدا به آدرس زیر مراجعه کنید :
http://www.acunetix.com/download/fullver8

از یوزر و پسورد زیر برای ورود استفاده کنید :
User Name : acunetixwvsfullv8

Password : nFu834!29bg_S2q

آخرین نسخه را دانلود و نصب کنید ، بعد از نصب فایل Patch را در مسیر نصب برنامه کپی کنید ، در ویندوزهای Vista , Seven , Server 2008 باید روی فایل Patch کلیک راست کرده و حالت Run as administrator را انتخاب کنید .

بعد از Patch شدن برنامه فایل Activation.exe را اجرا کرده و فیلدها را با هر اطلاعاتی که خواستید پر کنید ، برنامه رجیستر خواهد شد .

تست شده روی نسخه های :
Acunetix Web Vulnerability Scanner 8 Build 20120326
Acunetix Web Vulnerability Scanner 8 Build 20120403
Acunetix Web Vulnerability Scanner 8 Build 20120423
Acunetix Web Vulnerability Scanner 8 Build 20120508
Acunetix Web Vulnerability Scanner 8 Build 20120613
Acunetix Web Vulnerability Scanner 8 Build 20120704
Acunetix Web Vulnerability Scanner 8 Build 20120808
Acunetix Web Vulnerability Scanner 8 Build 20120911
Acunetix Web Vulnerability Scanner 8 Build 20121003
Acunetix Web Vulnerability Scanner 8 Build 20121106

با این Patch نرم افزار به صورت Consultant Edition 10 instances رجیستر خواهد شد .

Patchبرای نسخه های جدیدتر هم قابل استفاده هست .
فیلم آموزش هم همراه patch در فایل rar موجود است

دانلود :

http://www.pcpersia.ir/attachment.ph...1&d=135388617


 perl


شروع کار با پرل:
خوب قبل از شروع کار با برنامه نویسی پرل شما باید حتما Active perl را نصب داشته باشید
که می تونید از سایت خودش این برنامه را دانلود کنید
کد PHP:

http://activestate.us/ 

http://www.activestate.com/activeperl/downloads
بعد از دانلود برنامه شما به یک ویرایشگر متنی نیاز دارید من از perl editor استفاده می کنم که می تونید از سایتش دانلود کنید 

کد PHP:
http://dzsoft.com 

یا می تونید از همون ویرایشگر متن (notepad) استفاده کنید
در ضمن تمام برنامه هایی رو که می نویسید باید با پسوند .pl ذخیره کنید. 



 توضیحات

اسکنر Acunetix: 

Web Vulnerability Scanner نام نرم افزاری قدرتمند برای شناسایی مشکلات موجود در یک وب سایت می باشد که نسخه شماره 7 آن مدتی قبل برای کاربران ارائه شده و به وسیله آن برنامه نویسان و صاحبان وب سایت ها قادرند تا مشکلات احتمالی سایت خود را مورد بررسی قرار دهند. شناسایی مشکلاتی نظیر ضعف های SQL Injection , XSS ، وجود باگ بر روی وب سرور ، مشکلات ناشی از برنامه نویسی ضعیف در هنگام کار با کوکی ها و ... از جمله ویژگی های بخش Scannerاین نرم افزار می باشد . همچنین در این نرم افزار ابزارهای مختلف دیگری نیز یافت می شود که از جمله کارایی های آنان می توان به لیست نمودن مسیر کامل فایل ها و پوشه های وب سایت اشاره نمود . قابلیت جستجو در وب سایت برای کشف مشکلات در Ajax و Web 2.0 از دیگر ویژگی های این نرم افزار محسوب می شود. قابلیت تهیه گزارش در برنامه از دیگر ویژگی های برتر این نرم افزار نسبت به برنامه های مشابه می باشد . به کمک ابزار یاد شده کاربر قادر خواهد بود تا گزارشی کامل به همراه جزئیات را آماده نموده و به مسئولین رده بالاتر به منظور رفع مشکلات تحویل دهد. ابزار آنالیز کردن صفحات وب سایت و تست تکنیک های مربوط به گوگل هک که یکی از پرکاربردترین روش های هک برای هکرها می باشد نیز در این برنامه موجود است. ابزارهای پیشرفته تست نفوذ که شامل HTTP Fuzzer , HTTP Sniffer , HTTP Editor و ... می باشد نیز در دسته ویژگی های برتر این نرم افزار می باشند. تست کردن نواحی مختلف وب سایت که در آن ها فرم ها و اطلاعات و یا رمزهای عبور برای DataBase ارسال می شوند نیز به منظور جلوگیری از ربودن این اطلاعات یکی از ابزارهای پرکاربرد برنامه می باشد. این نرم افزار قدرتمند محصولی از شرکت acunetix می باشد.
---------
راههای پیدا كردن صفحه ادمین یك سایت

برای پیدا کردن صفحه Admin یک سایت میتوانید :

*از نرم افزار Havij استفاده کنید :

پس از باز کردن نرم افزار در دومین ردیف روی گزینه find admin کلیک کنید و با جایگزین کردن آدرس سایت به جای "http://www.target.com/" و کلیک بر روی دکمه start در نرم افزار می توانید به جستجو صفحه Admin بپردازید ! قابل ذکر است که این نرم افزار در بانک اطلاعاتی خودش نزدیک به 400 کلمه داره که با زبان های asp و php اونا رو تست می کنه ! همچنین میتونید پسوند مورد نظر خودتون که زبان برنامه نویسی سایت رو تعیین می کنه اضافه کنید !


*از وب سایت های جستجوگر آنلاین استفاده کنید :

همانطور که دوستانمون اشاره کردن میتونید از وب سایت هایی مانند http://sc0rpion.ir/af/ استفاده کنید


* از گوگل استفاده کنید :

با استفاده از گوگل هکینگ و وب سایت گوگل میتونید صفحه admin رو پیدا کنید ! به طور مثال می توانید از دستور زیر استفاده کنید :

site:target.com inurl:admin.php و با ویرایش این دستور به صفحه admin برسید !


* استفاده از robots.txt :

اما در مواردی مدیران سایت صفحات Admin رو از دید موتور های جستجو پنهان می کنن که برای این کار معمولا از فایل robots.txt استفاده می کنن که شما با فراخوانی robots.txt میتونید آدرس صفحه ادمین رو پیدا کنید


*استفاده از فایل config.php :

در مواردی شما از طریق Symlink و ... امکان مشاهده Config.php براتون پیش میاد ! و می تونید از این فایل آدرس admin رو پیدا کنید

---------

دانلود نرم افزار هویج 

لینک صفحه

Havij یک ابزار خودکار تزریق SQL است که به متخصصان تست نفوذ کمک می کند تا آسیب پذیری های تزریق SQL را بر روی یک صفحه ی اینترنتی پیدا و اکسپلویت (exploit) کنند.
Havij می تواند از یک برنامه ی آسیب پذیر تحت وب بهره برداری کند. با استفاده از این نرم افزار کاربر می تواند دیتا بیس متصل به برنامه آسیب پذیر را شناسایی کند، کاربر ها و هش پسورد های دیتا بیس را بگیرد، جدول ها و ستون ها را استخراج کند، اطلاعات را از دیتابیس دریافت کند، دستورات SQL اجرا کند و حتی به فایل های سیستم قرار گرفته شده در پشت دسترسی پیدا کند و بر روی سیستم عامل ان دستور اجرا کند.
قدرت Havij که آن را از ابزار های مشابه متفاوت می کند روش های تزریق آن است. درصد موفقیت در تزریق هدف های آسیب پذیر بیش از 95% می باشد.
رابط گرافیکی Havij و تنظمیات و تشخیص های خودکار استفاده از آن را برای هر کسی حتی کاربران مبتدی آسان می کند.


 Sql inj


sql inj دارای انواع گوناگونی است در ابتدا به آموزش هک سایت هایی که دارای باگ mysql هستند می پردازیم یعنی سایت های Php.
تعاریف کلی از سرار نت : 
باگ sql زمانی رخ می دهد که برنامه نویس داده های ورودی را بدون کنترل مورد پردازش قرار دهد. نفوذگران از همین موضوع استفاده کرده و کنترل کامل سرور و یا تمامی سرور های موجود در آن شبکه را تحت کنترل خود در می آورند. پس هرکدی که از ورودی های کاربر برای جستجو در بانک اطلاعاتی بدون بررسی استفاده شود احتمال یک حمله موسوم به SQLI را دارد.
در زیر شما کد مستعد SQLI را مشاهده می نمایید:
کد:

<?php $q="select * from TABLE where id=".$_GET['id']; $q1=mysql_query($q); ?> 
همانطور که مشاهده می کنید این کد همان ورودی که از URL را دریافت میکند به طور مستقیم مورد پردازش قرار می دهد و این یعنی نفوذگر می تواندبه طور مستقیم دستورات خود را وارد نماید تا توسط سرور مورد پردازش قرار گیرد. این یعنی فاجعه! زیرا باگ SQLI یکی از خطرناک ترین باگهاست.
اگر نفوذگر کد زیر را به انتهای URL خود وارد کند چه اتفاقی می افتد؟؟؟
کد:

union+select+user+from+admin 
بوسیله دستور union دو دستور select را به هم اضاف می کند و باعث می شود یوزرهایی که در جدول ادمین قرار دارند را مشاهده کند!
حال خواه این ورودی از طریق URL باشد( متد GET). خواه از طریق ارسال پست(متد POST).
ابتدا باید یه هدف آسیب پذیر پیدا کنیم که باگ (حفره امنیتی) از نوع mysql داشته باشد.برای این کار میتوانیم از ابزار اسکنر باگ یا دورک استفاده کنیم که من به شما استفاده از دورک ها را پیشنهاد میکنم.
دورک ها عباراتی هستند که میتوانیم با وارد کردن آنها در گوگل یا ... به هدف آسیب پذیر برسیم.


باگ sql زمانی رخ می دهد که برنامه نویس داده های ورودی را بدون کنترل مورد پردازش قرار دهد. نفوذگران از همین موضوع استفاده کرده و کنترل کامل سرور و یا تمامی سرور های موجود در آن شبکه را تحت کنترل خود در می آورند. پس هرکدی که از ورودی های کاربر برای جستجو در بانک اطلاعاتی بدون بررسی استفاده شود احتمال یک حمله موسوم به SQLI را دارد.
حال خواه این ورودی از طریق URL باشد( متد GET). خواه از طریق ارسال پست(متد POST).

منبع:
www.w3schools.com/SQl/default.asp
en.wikipedia.org/wiki/SQL
dev.mysql.com/doc/mysql/en/index.html

----------------------------------------------------------------------------------------------------------------------------------
منبع :
http://www.pcpersia.org

  • paper | خرید اینترنتی | ماه موزیک
  •    شارژ مو بایل