: در این درس میآموزیم که با پورت ۲۵ (SMTP) ارتباط برقرار کنیم و از آن برای ارسال Fake Mail استفاده کنیم.
◊ پورت ۲۵ چیست؟
پورت ۲۵ برای ارسال E-mail بهکار میرود.
این پورت از پروتکل SMTP برای این کار استفاده میکند.
نکته مهم آن است که این پروتکل توانایی خواندن E-mail را ندارد و فقط میتواند E-mail بفرستد.
حالا سوالی که پیش میآید که چه برنامههایی روی سرور پورت ۲۵ را باز میکند؟
همانطور که گفتم، SMTP فقط یک پروتکل است (نه یک برنامه) و از نظر لغوی مخفف عبارت Simple Mail Transfer Protocol است.
برنامهای که پورت ۲۵ را باز میکند تا بتوان از طریق آن E-mail ارسال کنیم، SMTP Server میگویند.
SMTP Server یک عبارت کلی است، برای این نوع برنامهها.
حالا خود SMTP Server انواع مختلف دارد که مشهورترینهایشان، SMail، SendMail، ESMTP MAIL Service و ...
هستند.
نکته مهم این است که تفاوت زیادی نیست که سرور مورد نظر ما از کدامیک از این نرمافزارها استفاده میکند، زیرا اصول کار با آنها یکی است.
برای صحبت کردن با پورت ۲۵ اول باید یک Server پیدا کنیم که پورت ۲۵ در آن باز باشد (اگرچه در اکثر سرورها پورت ۲۵ باز است).
بعد باید طبق معمول از telnet یا nc برای ارتباط استفاده کنیم.
پورت ۲۵ از دیدگاه یک هکر چه کاربردی دارد؟
یک هکر از پورت ۲۵ برای ارسال Fake Mail (میل ناشناس، میل تقلبی) استفاده میکند.
دلیل آن است که درصد بسیار بالایی از SMTP Server ها اهمیتی نمیدهند که شما کی هستید و به کی میخواهید میل بزنید، بلکه فقط کار خود را میکنند.
◊ چگونه یک SMTP سرور پیدا کنیم
پیدا کردن SMTP سرور کار سختی نیست.
اگرچه از اکثر SMTP Server ها میتوان به هر کسی E-mail زد ولی من همیشه توصیه میکنم از SMTP Server ی استفاده کنید که مربوط به به Mail Box قربانی است.
برای مثال فرض کنید که میخواهید به کسی fake mail بزنید و اون شخص mail box اش در یاهو است.
در این حالت من ترجیح میدم که از SMTP Server های سرور یاهو استفاده کنم ( اگرچه از هر سرور دیگری برای این کار میتونم استفاده کنم ).
اگرچه ما عبارت fake mail (ناشناس) برای این نوع E-mail ها استفاده میکنیم ولی باید توجه کنید که در مواردی خاص میشود شما را ردیابی کرد.
به عنوان مثال ip شما از مواردی است که همراه با E-mail ارسال میشود.
پس در انتخاب SMTP Server باید دقت کرد (بعضی SMTP Server ها هستند که حتی ip شما را ارسال نمیکنند و این یعنی نهایت ناشناسی).
نکته بعدی این است که بعضی SMTP Server ها یه کم باهوش عمل میکنند به طوری که در نهایت E-mail ارسالی حداقل برای اشخاص حرفهای ماهیتش (fake بودن) قابل تشخیص خواهد بود (یعنی میفهمند که این یک fake mail است نه یه E-mail واقعی).
پس این هم در انتخاب SMTP Server مهم است که باید از SMTP Server هایی استفاده کنیم که در نهایت حماقت باشند!
بازم یه نکته دیگه، SMTP Server در نهایت روی یک سرور قرار دارد پس در نهایت آدرس آن چیزی مثل mail.far30.com، mx01.hotmail.com و ...
خواهد بود.
حالا که معیارهای مهم برای انتخاب SMTP Server را شناختیم، حالا وقتش است که عملا یه SMTP Server پیدا کنیم:
۱- یکی از سادهترین راهها استفاده از سایتهایی مثل google است که با جستجوی عبارت SMTP Server هزاران سرور پیدا کنیم.
۲- استفاده از SMTP Server سایت دانشگاهها.
تجربه برام ثابت کرده که این روش یکی از بهترینهاست.
۳- استفاده از یک سری SMTP Server های مشهور.
این روش هم بد نیست.
حالا روش را عملا نشونتون میدم:
اول باید یک سرور را مشخص کنید که از طریق آن میخواهید fake mail را بفرستید.
همانطور که قبلا گفتم اگر مثلا میخواهید برای یه نفر که mail box او در یاهو است، fake mail بزنید، سرور را همان سرور در نظر بگیرید یعنی از خود yahoo.com برای ارسال استفاده کنید.
بعد باید ببینید که در این سرور کدام subdomain باید استفاده کنید (یعنی اینکه SMTP Server سرور آدرسش، mail.yahoo.com است یا mx.yahoo.com است یا چیز دیگر).
برای این کار دو روش را میگم:
۱- از nslookup استفاده کنیم:
با nslookup قبلا آشنا شدهاید.
اول باید با whois یک name server پیدا میکردیم و بعد از طریق آن سایت را nslookup میکردیم (اگر فراموش کردهاید، درس ۵ و ۶ را دوباره بخوانید.
مثلا میخواهم SMTP Server مربوط به far30.com را پیدا کنم.
اول یک whois میکنم و میبینم که name server سایت، s1.sazin.com و s2.sazin.com است.
حالا nslookup میکنم و آن سطر هایی را میخوانم که با نام MX مشخص شده است و ۲ تا آدرس میبینم که عبارتند از far30.com و mail.far30.com پس SMTP Server های سایت far30.com همین دو آدرس است.
در نتیجه اگر بخواهم از سایت far30.com برای ارسال fake mail استفاده کنم، از این آدرسها باید بهره گیرم.
۲- استفاده از بعضی سایتهای خاص:
یکی از این سایتها http://www.mob.net/~ted/tools/mx.php3 است.
در این سایت، نام سایت را مینویسید و دکمه lookup را کلیک میکنید.
مثلا من نوشتم yahoo.com و به نتایج زیر رسیدم:
Domain Server: ns.mob.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
Domain Server: ns.cw.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
مشخص است که SMTP Server های سایت yahoo.com عبارتند از: mx1.mail.yahoo.com , mx2.mail.yahoo.com , mx4.mail.yahoo.com
اگرچه این روش راحتتر به نظر میرسد ولی شما را یه انسان مصرفی بار میآورد نه خلاق !
◊ با پورت ۲۵ صحبت کنیم
حالا که SMTP Server دارم میتونم fake mail بزنم.
به عنوان مثال میخواهم به آدرس [email protected] یک fake mail بزنم که شخص فکر کند که Email از آدرس [email protected] آمده است.
(دقت کنید که این آدرس هر چیزی میتواند باشد.
مثلا میتوانید از طرف Bill Gates به یه نفر E-mail بزنید).
و میخواهم Subject آن باشد: arze salam و متن پیغام این باشد: bah bah sam aleikum
برای این کار :
۱- چون mail box قربانی در سایت یاهو است، پس من هم بهتر است از SMTP Server خود یاهو استفاده کنم (بهتر است ولی اجباری در آن نیست).
SMTP Server های یاهو را در قسمت قبلی به دست آوردم.
مثلا از mx1.mail.yahoo.com استفاده میکنم.
۱- چون mail box قربانی در سایت یاهو است، پس من هم بهتر است از SMTP Server خود یاهو استفاده کنم (بهتر است ولی اجباری در آن نیست).
مثلا از mx1.mail.yahoo.com استفاده میکنم.
۲- باید از telnet یا nc برای برقراری ارتباط استفاده کنم.
الان میخوام از telnet استفاده کنم.
پس باید دستور زیر را بهکار برم (دقت کنید که از اسم SMTP Serevr استفاده کردم).
telnet mx1.mail.yahoo.com 25 بعد از تایپ دستور، صفحه پاک میشود و جواب میگیرم: 220 YSmtp mta499.mail.yahoo.com ESMTP service ready ۳- حالا دستور زیر را مینویسم.
دقت کنید که چون از telnet استفاده میکنید، چیزهایی را که تایپ میکنید، نمیبینید و اینکه نمیتونید از دکمه BackSpace استفاده کنید (پس در تایپکردن دقت کنید!): HELO yahoo.com این دستور یعنی من از کجا هستم (یعنی شما که میخواهید میل بزنید، کی هستید).
اینجا من گفتم که من از سایت yahoo.com هستم!!
معمولا مهم نیست که جلوی عبارت HELO نام چه سایتی را بنویسید چون اکثرا چک نمیشود.
و جواب میشنوم: 250 mta499.mail.yahoo.com ۴- حالا باید مشخص کنم که E-mail فرستنده (یعنی من) چیست.
چون میخواهم E-mail از طرف [email protected] به نظر بیاید، مینویسم: MAIL FROM: و جواب میگیرم: 250 sender ok ۵- حالا باید بگم که این E-mail به چه آدرس ارسال شود که در این مثال، [email protected] است.
باید بنویسم: RCPT TO: و جواب میشنوم: 250 recipient ok ۶- حالا باید بنویسم، DATA و Enter بزنم و جواب میشنوم: 354 go ahead اینجا وقت تایپ کردن یک سری چیزهای اساسی است.
اول مینویسم، From: abbas akbari این همان اسمی است که به عنوان Sender یا همان From دیده خواهد شد.
من خواستم که به اسم abbas akbari دیده شود.
حالا مینویسم: Subject: arze salam این هم در آن E-mail به عنوان subject خواهد بود.
حالا موارد زیر را مینویسم (که اختیاری است): MIME-Version: 1.0 Content-Type: text/plain; و بعد دوتا !!
Enter زده و متن نامه را مینویسم: bah bah sam aleikum .
دقت کنید که یک کاراکتر .
(نقطه) در سطر آخر نوشتم و بعد Enter زدم.
با این روش به پورت ۲۵ حالی میکنم که متن نامه تمام شدهاست و نامه ارسال شود.
متعاقبا پیغامی میگیرم که بیانگر ارسال E-mail است.
250 ok dirdel ۷- مینویسم: QUIT تا ارتباط قطع شود و از telnet خارج بشم.
اول توصیه میکنم که یک fake mail واسه خودتون بفرستید تا ماهیت fake mail را درک کنید.
مسئله بعدی آن است که در قسمتی [email protected] نوشته شده است، شما باید این سطر را تغییر داده و E-mail قربانی خودتان در یاهو را بنویسید!
◊ همان کار با nc برای انجام این کار با nc اول همان دستورات بالا را در فایلی مثلا به اسم fake.txt مینویسیم : HELO yahoo.com MAIL FROM: RCPT TO: DATA From: abbas akbari Subject: arze salam MIME-Version: 1.0 Content-Type: text/plain; bah bah sam aleikum .
QUIT حالا فایل را ذخیره کرده و از دستور زیر استفاده میکنم: nc -v mx1.mail.yahoo.com 25 همین!
◊ Fake mail در صندوق پستی به چه شکلی ظاهر میشود؟
این قسمت رو در مورد mail box های yahoo و hotmail توضیح میدم.
اینکه این نوع E-mail ها به چه شکلی ظاهر میشود، بستگی به این دارد که تنظیمات mail box قربانی در چه حالتی تنظیم شده باشد.
در حالت معمول فقط تعدادی از header ها نمایش داده میشود.
در این حالت معمولا fake mail مثل یک E-mail معمولی دیده میشود.
From: "abbas akbari" Subject: arze salam bah bah sam aleikum در mail box ها میتوان تنظیمات را طوری انجام داد که تمام header ها نمایش داده شوند.
برای اینکار در yahoo از منویی که بالای صفحه است، منوی Mail را باز کرده و گزینه Options را کلیک میکنیم.
در صفحهای که میآید، روی گزینه General Preferences کلیک کنید.
در صفحهای که میآید، از قسمت Message در قسمت Headers گزینه ...
Show all را انتخاب میکنیم و دکمه Save را از پایین صفحه کلیک میکنیم.
حالا همان میل را دوباره باز میکنم و مشاهده میکنم که به شکل زیر ظاهر میشود: From abbas akbari Mon Jan 6 05:56:37 2003 X-Apparently-To: [email protected] via 216.136.129.53; 06 Jan 2003 05:56:37 -0800 (PST) Return-Path: Received: from 217.218.84.27 (HELO yahoo.com) (217.218.84.27) by mta576.mail.yahoo.com with SMTP; 06 Jan 2003 05:56:37 -0800 (PST) From: "abbas akbari" Subject: arze salam MIME-Version: 1.0 Content-Type: text/plain; Content-Length: 19 bah bah sam aleikum در این حالت میتوانید ip ارسال کننده را هم ببینید.
(سعی کنید که همیشه تنظیمات yahoo mailbox تان به این شکل باشد) پیام ( 4 نظر ) .: نوشته شد 17:29 در زمانسینا آزادنیا توسط :.
.: درس ۱۷ :.
چهارشنبه، 28 خرداد، 1382 - خلاصه درس: در این درس یاد میگیریم که با پورتها تعامل داشته باشیم و یاد میگیریم که با پورتهای ۱۳ و ۸ و ۸۰ به کمک telnet و nc صحبت کنیم.
◊ شروع کار با پورتها الان به جایی رسیدهایم که میتوانیم بحث پورتها را شروع کنیم.
اولین نکتهای که باید بگم این است که ابزاری که به کمک آن با پورتها صحبت میکنیم در همه پورتها یکی است ولی هر پورتی زبان مخصوص خود دارد (درست مثل زبانهای مختلف در جهان که همشون از طریق زبان و دهان ادا میشن ولی هر کدام روش خاصی برای ارتباط برقرار کردن دارند).
پس ما برای کار با پورتها باید زبان هرکدام را یاد بگیریم.
بحث بعدی این است که وقتی میگیم یه پورت بازه باید توجه کنید که برنامهای روی آن کامپیوتر نصب شده و اون پورت را باز کرده است (پورتها خود به خود باز نمیشوند).
یک سری پورتها توسط خود سیستمعامل باز میشوند (یعنی به محض نصب سیستمعامل که خودش هم درواقع یه نرمافزاره) و نیازی نیست که برنامه دیگری برایش نصب کنیم.
در مقابل، بعضی پورتهای دیگر توسط برنامههای جانبی باز میشوند.
به عنوان مثال وقتی میگم که پورت ۲۵ روی یک ip باز است، این معنی را دارد که برنامهای روی اون کامپیوتر خاص وجود دارد که پورت ۲۵ را باز کرده و من وقتی از طریق کامپیوتر خودم با آن پورت کار میکنم در واقع دارم با آن برنامه خاص (که اون پورت را باز کرده) صحبت میکنم.
حالا یه سوال پیش میآد که چرا اصلا یه نرمافزار باید پورت باز کنه و اینکه کدام نرمافزارها باید پورت باز کنند؟
جواب این است که هر برنامهای که بخواهد از طریق شبکه (یعنی از راه دور اصطلاحا remote) قابل دسترس باشه باید یه پورت باز کنه.
پس یک برنامهای که نیازی به برقراری ارتباط شبکهای ندارد (مثلا یه نرمافزار گرافیکی) نباید و نشاید که پورت باز کند.
باید ببینیم که از طریق چه برنامهای میتوان با پورتها صحبت کرد ( البته با هرکدام به روش خودشان )؟
برای اینکار از دو نرمافزار به نامهای telnet و nc استفاده میکنیم.
telnet که در خود سیستمعامل وجود دارد و nc را هم که جلسه قبل داونلود کردیم.
حالا چگونه از این دو نرمافزارها میتوان استفاده کنیم؟
۱- استفاده از telnet : اگر بخواهیم با ip ای به شماره 194.225.184.13 از طریق پورت 25 صحبت کنیم باید بنویسیم: telnet 194.225.184.13 25 و بعد اینکه ارتباط برقرار شد باید شروع کنیم و از طریق زبان پورت ۲۵ با آن صحبت کنیم.
۲- استفاده از nc : اگر بخواهیم همان کار را با netcat انجام دهیم، باید بنویسیم: nc -v 194.225.184.13 25 و بعد از برقراری ارتباط شروع به صحبت کنیم.
◊ با پورت ۱۳ صحبت کنیم نام دیگر اون daytime است و کارش هم اینه که زمان و تاریخ رو در اون کامپیوتر به ما میده.
این پورت اصولا خیلی سر راسته.
فقط کافیه که بهش وصل شیم تا اطلاعاتشون بیرون بریزه.
البته این پورت رو خیلی از کامپیوترها بسته است.
(یادتون باشه که وقتی میتوان با یه پورت کار کرد که باز باشد).
حالا میخوایم با پورت ۱۳ از ip شماره 194.225.184.13 صحبت کنم.
یکی از این دو دستور را مینویسم: telnet 194.225.184.13 13nc -v 194.225.184.13 13 البته در آن دستورات به جای عدد ۱۳ میتوان معادلش را نوشت که daytime است.
و جواب میشنوم: 11:35:33 AM 10/5/2002 بله، با این پورت ارتباط برقرار کردیم و اطلاعاتش رو دریافت کردیم.
این اطلاعات معمولا به درد این میخورد که مکان جغرافیایی اون کامپیوتر را حدس بزنیم (البته اگر زمان اون کامپیوتر صحیح باشد).
به عنوان مثال این کامپیوتر خاص در ایران است چون ساعتش همزمان با ایران است.
◊ با پورت ۷ صحبت کنیم اسم این پورت echo است.
من این پورت رو پورت میمون میگم چون هرچی که شما براش بنویسید را تقلید میکنه و همانها را براتون پس میفرستد.
مثلا من به پورت ۷ کامپیوتری با ip شماره 194.225.184.13 تلنت یا nc میکنم.
telnet 194.225.184.13 7nc -v 194.225.184.13 7 بعد از برقراری ارتباط، هر چی من بنویسم، اون برام پس میفرسته.
مثلا اگه تایپ کنم Ali1000 و Enter بزنیم، جواب میشنوم، Ali1000 ...
خودتون امتحان کنید تا ببینید.
برای تمام شدن کار باید دکمه Ctrl+C را فشار دهیم تا این میمون بازی تموم بشه.
پس کار کردن با این پورت هم زیاد سخت نیست.
◊ با پورت ۸۰ صحبت کنیم پورت ۸۰ یکی از مهمترین پورتهاست.
دنیای وب (صفحات اینترنتی) بر اساس همین پورت کار میکنه.
توضیح اینکه وقتی به یه سایت وصل میشیم و صفحه وب را درخواست میکنیم، در واقع مرورگر اینترنتی به پورت ۸۰ اون کامپیوتر وصل میشه و اطلاعات رو میگیره (البته بعد از گرفتن اطلاعات اون رو تفسیر میکنه و به صورت یه صفحه نشون میده - دقت کنید که اطلاعات در واقع به صورت یک سری تگ HTML است ).
حالا ما میخواهیم با پورت ۸۰ یک کامپیوتر صحبت کنیم ولی به کمک telnet و nc.
اول باید یه connection (اتصال) با پورت ۸۰ برقرار کنیم (مثلا برای سایت hotmail.com باید بنویسم): telnet www.hotmail.com 80nc -v www.hotmail.com 80 پس اول باید یکی از دستورات بالا را استفاده کنیم.
من همیشه توصیهام استفاده از nc بوده و خواهد بود.
حالا باید شروع به صحبت با پورت ۸۰ کنیم.
من فعلا دو تا جمله براتون میگم و بقیهاش بمونه واسه بعد.
دقت کنید که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما مینویسیم، نمایش داده نمیشود ولی کار میکنه.
۱- اولین جمله اینه: GET / HTTP/1.0 و بعدش دوتا Enter به فاصلهها دقت کنید.
دو طرف / ی که بعد از GET است، فاصله وجود دارد.
این جمله به پورت ۸۰ میگه که هرچی در header داره، نشون بده.
و جواب میشنوم: HTTP/1.0 302 Moved TemporarilyServer: Microsoft-IIS/5.0Date: Thu, 05 Dec 2002 12:02:51 GMTLocation: http://lc2.law5.hotmail.passport.com/cgi-bin/loginX-Cache: MISS from cache5.neda.net.irConnection: close ۲- دومین جمله اینه: GET / what/ever و بعدش دوتا Enter به فاصلهها دقت کنید.
این دستور باعث میشه که هر چی داره، رو کنه.
البته توجه کنید که ما مسیر را مشخص نکردیم.
بعدها در مورد این مسیر مشخص کردن صحبت خواهم کرد.
این حالت که بدون مسیر است خیلی وقتها کار نمیکنه (مثل همین مثال !!) گاهی پیش میآد که یک سری دستورات خاص را همیشه باید پشت سرهم به یه پورت خاص بفرستیم و بخواهیم در وقت صرفهجویی کنیم.
مثلا همین جمله GET / HTTP/1.0 و دو Enter پشت سرهم که همیشه استفاده میکنیم.
در این موارد میتوان این دستورات را در یک فایل تایپ کرد (همراه با Enter ها که باید موقع نوشتن حتما بزنید) و بعد مثلا با نام ali.txt ذخیره کنید و بعد یکی از دستورات زیر را بنویسیم: nc -v www.far30.com 80 که همان کارهای بالایی را انجام میده.
پیام ( 1 نظر ) .: نوشته شد 17:28 در زمانسینا آزادنیا توسط :.
.: درس ۱۶ :.
چهارشنبه، 28 خرداد، 1382 - خلاصه درس: NMapWin نرمافزار آشنایی است، در این درس با نسخه اصلی و خطفرمانی آن که nmap نام دارد، آشنا میشویم.
در قسمت بعدی با نرمافزار netcat آشنا میشویم و از آن برای Port Scanning استفاده میکنیم.
◊ چگونه از 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: -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65 با حذف کلمه :CMD به عبارت زیر میرسیم: -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65 اینها پارامترهایی است که باید در nmap استفاده کنید.
به این صورت که مینویسید: nmap -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65 و بعد از اجرای دستور و صبر کردن برای چند دقیقه، نتایج را میبینیم.
بعد از مدتی که با 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 .حالا میبینیم که پارامترها به صورت زیر است: -sP -PI -T 3 195.219.176.0-10 پس ما مینویسیم: nmap -sP -PI -T 3 195.219.176.0-10 ◊ شروع کار با نرمافزار netcat اگر یادتون باشه در درس ۱۱ مهمترین ابزاری که یک هکر برای footprinting استفاده میکنه را nmap معرفی کردم.
حالا میخوام مهمترین نرمافزاری که یک هکر در کل زندگیاش !!
استفاده میکنه رو معرفی کنم.
این نرمافزار netcat نام دارد که بهطور خلاصه nc نامیده میشه ( این nc با اون nc که تو DOS بود فرق میکنه).
nc بقدری نرمافزار مهمی است که حتی یک سری لقب هم دارد.
اگر جایی "Pocket Knife of network utilities" یا "TCP/IP Swiss Army Knife" شنیدید، بدونین که منظورشان همین nc است( این نرمافزار را به چاقوی جیبی تشبیه میکنند ).
من فعلا نمیخوام یه معرفی کامل از اون بکنم فقط میگم که علاوه بر قابلیتهای عمومی مثل Scanning ها، چیزی که اون رو خیلی معروف کرده یکی عملکرد مشابه ولی بهتر از telnet و دیگری کاربرد اون بهعنوان هم کلاینت و هم سرور (یه چیزی تو مایههای تروجان) است.
این نرمافزار اولین بار برای سیستمعاملهای یونیکس نوشته شد ولی نسخه مخصوص ویندوز هم داره که برای داونلود اون اینجا را کلیک کنید.
این نسخه فقط در ویندوزهای NT (مثل Windows2000، Windows XP) کار میکنه.
برای به دست آوردن لیست پارامتر های اون مینویسیم: nc -help و جواب میشنویم: [v1.10 NT]connect to somewhere: nc [-options] hostname port[s] [ports] ...listen for inbound: nc -l -p port [options] [hostname] [port]options: -d detach from console, stealth mode -e prog inbound program to exec [dangerous!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ...
-h this cruft -i secs delay interval for lines sent, ports scanned -l listen mode, for inbound connects -L listen harder, re-listen on socket close -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -s addr local source address -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -z zero-I/O mode [used for scanning]port numbers can be individual or ranges: m-n [inclusive] تا همینجا بماند تا بعدا تک تک پارامترها رو توضیح میدم.
◊ استفاده از nc برای port scanning برای پورت اسکنینگ قبلا از NMapWin و nmap استفاده کردیم.
اما این کار را با nc هم میتوان انجام داد ( اگرچه من بازهم برای پورت اسکنینگ همان nmap رو توصیه میکنم.) برای port scanning با nc باید بنویسید: nc -v -z host pornum بهجای host باید ip ) ip ها) یا نام آن (مثلا اسم سایت) را بنویسیم.
و بهجای portnum ، شماره پورت (یا پورتها) را مینویسیم.
v- یعنی verbose یعنی نتایج با جزئیات نمایش داده شود.
z- وقتی استفاده میشود که از nc برای scanning استفاده میکنیم.
فرض کنید میخواهیم ip ی به شماره 217.66.195.181 را برای پورتهای ۱ تا ۲۰۰ چک کنم، مینویسم: nc -v -z 217.66.195.181 1-200 و جواب میشنوم: artawill-1dedm4 [217.66.195.181] 143 (imap) openartawill-1dedm4 [217.66.195.181] 139 (netbios-ssn) openartawill-1dedm4 [217.66.195.181] 135 (epmap) openartawill-1dedm4 [217.66.195.181] 119 (nntp) openartawill-1dedm4 [217.66.195.181] 80 (http) openartawill-1dedm4 [217.66.195.181] 53 (domain) openartawill-1dedm4 [217.66.195.181] 25 (smtp) openartawill-1dedm4 [217.66.195.181] 21 (ftp) openartawill-1dedm4 [217.66.195.181] 19 (chargen) openartawill-1dedm4 [217.66.195.181] 17 (qotd) openartawill-1dedm4 [217.66.195.181] 13 (daytime) openartawill-1dedm4 [217.66.195.181] 9 (discard) openartawill-1dedm4 [217.66.195.181] 7 (echo) open میبینید که پورتها از آخر به اول لیست شدهاند.
و نیز اینکه این نرمافزار هم میتواند سرویسهای احتمالی مربوط به هر پورت باز را هم لیست کند.
اگر میخواستم یک سری پورت را که به صورت پشتسرهم نیستند، بررسی کنم، باید پورت ها را یکی پس از دیگری با فاصله از هم جدا کنید.
مثلا برای بررسی پورتهای ۲۵، ۸۰ و ۱۱۰ را چک کنم، مینویسم: nc -v -z 217.66.195.181 25 80 110 در درسهای بعدی با کاربردهای بیشتری از nc آشنا خواهیم شد.
پیام ( 1 نظر ) .: نوشته شد 14:6 در زمانسینا آزادنیا توسط :.
.: درس ۱۵ :.
چهارشنبه، 28 خرداد، 1382 - خلاصه درس: بحث IP Scanning را در این جلسه بررسی میکنیم.
◊ ادامه بحث Footprinting در جلسات قبلی درباره footprinting صحبت کردیم، حالا بحث رو ادامه میدم.
◊ انواع Scanning همان طور که قبلا گفتم، Scanning بر دو نوع است: ۱- Port Scanning : در این باره بحث کردیم.
یک ip خاص رو مدنظر قرار میدهیم و از نظر پورتها آن را بررسی میکنیم.
۲- IP Scanning : بحث امروز ماست.
در این اسکنینگ میخواهیم بدانیم که از بین یک مجموعه ip ، کدامها up و کدامها down هستند.
یعنی کدام ip ها الان قابل دسترسی هستند (یعنی به یه کامپیوتر در اینترنت نسبت داده شده است!
) ◊ IP Scanning IP Scanning به روشهای مختلف میتواند صورت بگیرد: ۱- در سادهترین نوع آن، یک پکت از نوع ICMP ECHO به یک ip خاص میفرستیم و اگر یک ICMP ECHO REPLAY به سمت ما برگشت، در این صورت آن ip بهاصطلاح up است.
برای اینکار میتوان از ابزارهای زیر استفاده کرد: الف) استفاده از ping موجود در سیستمعاملهای ویندوز و یونیکس (لینوکس).
به صورت زیر: ping xxx.xxx.xxx.xxx مثلا برای 63.148.227.65 مینویسیم: ping 63.148.227.65 اگر در ویندوز این دستور را تایپ کنید و به جواب زیر برسید، یعنی آن ip فعال است: Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105Reply from 63.148.227.65: bytes=32 time=941ms TTL=105Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105Reply from 63.148.227.65: bytes=32 time=941ms TTL=105 و اگه به پیغام زیر رسیدید، یعنی فعال نیست: Request timed out.Request timed out.Request timed out.Request timed out.
همان طور که میبینید با این دستور در یک لحظه فقط میشود، یک ip را تست کرد و این کار ما را کند میکند.
ب) در سیستمعامل لینوکس میشود از gping استفاده کرد که یک مجموعه ip را به سرعت تست کرد.
ج) در سیستم عامل ویندوز میشود از Pinger استفاده کرد.
Pinger یک نرمافزار گرافیکی است و کار ping کردن به یک مجموعه ip را ساده میکند.
در قسمت From و To مشخص میکنیم که از کدام ip تا کدام ip را میخواهیم ping کنیم.
با فشار دکمه Ping لیست ip هایی که up هستند، نمایش داده میشود.
فرض کنید که ip فعلی شما 195.219.176.88 باشد و بخواهیم بدانیم در کلاس C مربوط به ما چه ip های دیگری up هستند.
در این حالت باید 195.219.176.1 تا 195.219.176.254 را ping کنیم.
د) حالا میخواهیم همین کار را با NMapWin انجام دهیم.
برای اینکار باید در برگه Scan، قسمت Mode را در حالت Ping Sweep قرار دهید.
برگه Discover باید درحالت ICMP Ping باشد و در قسمت Options باید گزینه OS Detection را از حالت انتخاب شده خارج کنید.
بعد باید لیست ip ها را تنظیم کنیم، برای اینکار باید در قسمت Host ، لیست ip ها را وارد میکنیم.
مثلا اگر بخواهیم 195.219.176.1 تا 195.219.176.254 را تست کنیم باید بنویسیم: 24/195.219.176.0 که این 24/ یعنی کلاس C که از ۱ تا ۲۵۵ است.
و بعد دکمه Scan را فشار دهیم.
Host (195.219.176.0) seems to be a subnet broadcast address ...RTTVAR has grown to over 2.3 seconds, decreasing to 2.0Host (195.219.176.1) appears to be up.Host (195.219.176.3) appears to be up.Host (195.219.176.5) appears to be up.Host (195.219.176.7) appears to be up.Host (195.219.176.9) appears to be up.Host (195.219.176.11) appears to be up.Host (195.219.176.12) appears to be up.Host (195.219.176.13) appears to be up.Host (195.219.176.14) appears to be up.Host H-GVSVY95KXINRJ (195.219.176.15) appears to be up.Host (195.219.176.16) appears to be up.Host (195.219.176.17) appears to be up.Host (195.219.176.18) appears to be up.Host (195.219.176.19) appears to be up.Host KERYASBA (195.219.176.20) appears to be up.Host MARYAM (195.219.176.22) appears to be up.Host (195.219.176.23) appears to be up.Host (195.219.176.24) appears to be up.Host FFX-L2XA0ZM87Q3 (195.219.176.25) appears to be up.Host (195.219.176.26) appears to be up.Host (195.219.176.27) appears to be up.Host (195.219.176.28) appears to be up.,...
ملاحظه میفرمایید که در بعضی موارد اسم کامپیوتر مربوط به ip هم ذکر شده است.
۲- در تمام روشهای بالا، از پکتهای ICMP برای پینگ استفاده کردیم.
در بعضی کامپیوترها ممکن است پکتهای ICMP توسط فایروال یا روتر بلاک شوند.
در این حالت باید از پورت اسکنینگ برای IP اسکنینگ استفاده کرد!
برای اینکار میتوان از ابزارهای زیر استفاده کرد: الف) در سیستم عامل یونیکس (لینوکس) میتوان از ابزارهایی مثل hping و icmpenum و ...
استفاده کرد.
که فعلا بحث ما نیستند.
ب) در سیستمعامل ویندوز، بازهم از NMapWin استفاده میکنیم.
ولی طوری Port Scanning میکنیم که نیاز ما را برای IP Scanning جواب دهد.
اینکار توسط یک سری پورتهای عمومی صورت میگیرد که در اکثر کامپیوترها باز هستند مثل ۸۰ ، ۲۵ و...
برای اینکار در برگه Scan ، قسمت Mode را در حالت Connect تنظیم میکنیم و در قسمت Scan Options ، گزینه Port Range را مثلا برای عدد 80 تنظیم میکنیم.
Discover را در حالت TCP قرار میدهیم.
و در برگه Option ، گزینه OS Detection را از حالت انتخاب شده خارج میکنیم.
لیست ip ها را ست کرده و اسکن را شروع میکنیم.
پیام ( 1 نظر ) .: نوشته شد 14:5 در زمانسینا آزادنیا توسط :.
.: درس ۱۴ :.
چهارشنبه، 28 خرداد، 1382 - خلاصه درس: در این جلسه با Social Engineering آشنا میشویم.
یک سری تکنیکهای مربوط به آن را میآموزیم و از یکی از روشهای آن برای پیدا کردن password مربوط به yahoo ID یک نفر استفاده میکنیم.
◊ Social Engineering چیست؟
Social Engineering یا مهندسی اجتماعی، تکنیکی است که بر گول زدن مردم استوار است.
در این تکنیک شما با انسانها سر و کار دارید و نه با کامپیوترها.
حال اگه یک user رو مثلا گول بزنید، میتوانید اطلاعات او را مثل پسورد و ...
را بدست بیاورید که نمونهای است از Client Hacking و اگه Administer یک سایت را گول بزنید و سایت را هک کنید، نمونهای است از Server Hacking.
پس با مهندسی اجتماعی هم میشود کلاینت هک کرد و هم سرور.
البته چون کلاینتها معمولا user های کمسوادتری (از نظر دانش هک) دارند، هک کردن آنها بسیار آسانتر است.
این نکته را هم باید بگم که روش Social Engineering معمولا در مراحل اولیه هک استفاده میشود و بعد از آن باید مسیر را عوض کنید و از اطلاعات فنیتان برای ادامه کار بهره ببرید.
◊ مثالهایی از مهندسی اجتماعی در اینجا میخواهم تعدادی از تکنیکهای Social Endineering را براتون بگم.
البته توجه کنید که اگرچه این روشها اطلاعات فنی زیادی نمیخواد ولی معمولا نتایج خوبی داره.
و نیز بگم که این روشها خیلی گسترده است و هر بار به شکلی بروز میکند.
اما نکته مشترکی که من در همهشان دیدم اینه که همیشه از شما میخواهند که پسوردتان را یک جایی وارد کنید و این دقیقا محلی است که فرق شما رو با یک user معمولی نشون میده.
زیرا نباید گول بخورید (-;