پورت ۸۰ چيست؟
پورت ۸۰ يکی از مهمترين پورتهاست. دنيای وب (صفحات اينترنتی) بر اساس همين پورت کار میکنه. توضيح اينکه وقتی به يه سايت وصل میشيم و صفحه وب را درخواست میکنيم، در واقع مرورگر اينترنتی به پورت ۸۰ اون کامپيوتر وصل میشه و اطلاعات رو میگيره (البته بعد از گرفتن اطلاعات اون رو تفسير میکنه و به صورت يه صفحه نشون میده - دقت کنيد که اطلاعات در واقع به صورت يک سری تگ HTML است ).
- با پورت ۸۰ صحبت کنيم
حالا ما میخواهيم با پورت ۸۰ يک کامپيوتر صحبت کنيم ولی به کمک telnet و nc.
اول بايد يه connection (اتصال) با پورت ۸۰ برقرار کنيم (مثلا برای سايت hotmail.com بايد بنويسم):
telnet www.hotmail.com 80
nc -v www.hotmail.com 80
پس اول بايد يکی از دستورات بالا را استفاده کنيم. من هميشه توصيهام استفاده از nc بوده و خواهد بود.
حالا بايد شروع به صحبت با پورت ۸۰ کنيم. من فعلا دو تا جمله براتون میگم و بقيهاش بمونه واسه بعد. دقت کنيد که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما مینويسيم، نمايش داده نمیشود ولی کار میکنه.
۱- اولين جمله اينه: GET / HTTP/1.0 و بعدش دوتا Enter
به فاصلهها دقت کنيد. دو طرف / ی که بعد از GET است، فاصله وجود دارد. اين جمله به پورت ۸۰ میگه که هرچی در header داره، نشون بده. و جواب میشنوم:
HTTP/1.0 302 Moved Temporarily
Server: Microsoft-IIS/5.0
Date: Thu 05 Dec 2002 12:02:51 GMT
Location: http://lc2.law5.hotmail.passport.com/cgi-bin/login
X-Cache: MISS from cache5.neda.net.ir
Connection: close
۲- دومين جمله اينه: GET / what/ever و بعدش دوتا Enter
به فاصلهها دقت کنيد. اين دستور باعث ميشه که هر چی داره، رو کنه.
البته توجه کنيد که ما مسير را مشخص نکرديم. اين حالت که بدون مسير است خيلی وقتها کار نمیکنه (مثل همين مثال !!)
گاهی پيش میآد که يک سری دستورات خاص را هميشه بايد پشت سرهم به يه پورت خاص بفرستيم و بخواهيم در وقت صرفهجويی کنيم. مثلا همين جمله GET / HTTP/1.0 و دو Enter پشت سرهم که هميشه استفاده میکنيم. در اين موارد میتوان اين دستورات را در يک فايل تايپ کرد (همراه با Enter ها که بايد موقع نوشتن حتما بزنيد) و بعد مثلا با نام ali.txt ذخيره کنيد و بعد يکی از دستورات زير را بنويسيم:
nc -v www.far30.com 80 < ali.txt
type ali.txt | nc -v www.far30.com 80
که همان کارهای بالايی را انجام ميده.
- حالا ميخوام مسير رو مشخص کنم
مثلا فرض کنيد که ميخوام فايلي به اسم index.html را از مسير startup در سايتي به اسم www.site.com داونلود کنيم. اول يه nc ميکنيم به سايت. بعد مينويسيم:
GET /startup/index.html HTTP/1.0
بعد دو تا Enter ميزنيم.
اين مثال نشون ميده که چطوري مسير رو ميشه مشخص کرد. همين کار رو ميتونيم براي فايلهايي مثل فايلهاي گرافيکي و ... انجام بديم و حتي ميتونيد اطلاعاتي که ميرسه رو در يک فايل ذخيره کنيد. براي اينکار مينويسيد:
nc -v www.site.com 80 > index.html
(اين کاري که کرديم با موردي که در بالا نوشتيم فرق ميکنه! در بالا دستورات GET رو تو يه فايل مينوشتيم و ميفرستاديم که اجرا بشه ولي الان داريم نتايجي که بر ميگرده رو در يک فايل ذخيره ميکنيم!) ميشه اين دوتا رو ترکيب کرد مثلا نوشت:
nc -v www.site.com 80 <> index.html
پورت ۷۹ چيست؟
پورت ۷۹ را پورت finger ميگويند. کاربرد اين پورت به اوايل ايجاد اينترنت برميگرده و کاربردش مخصوص سيستمعامل يونيکس بودهاست (الان هم تقريبا فقط در خانواده سيستمهای يونيکس اين پورت قابل استفاده است).
وقتي اين پورت روی سيستمعامل يونيکس باز باشه، ميشه با يک request ساده فهميد که از بين کساني که در آن سيستم account دارند، کدامها on هستند (يعني کدامها به سيستم login شدهاند). برنامهاي که پورت ۷۹ رو در يک سيستم باز ميکنه، finger server ميگن و چون مختص سيستمعامل يونيکس است، ميتونين از عبارت Finger Deamon استفاده کنين. حالا که پورت ۷۹ روي سيستم باز شد، شما ميتونين با اون ارتباط برقرار کنين.
- با پورت ۷۹ صحبت کنيم
همانطور که ميدانيد، براي صحبت کردن با پورتها از دو برنامه telnet و nc ميشه استفاده کرد. در مورد پورت ۷۹ يه نرمافزار ديگر به نام finger در تمام سيستمعاملهای يونيکس و برخي سيستمعاملهاي ويندوز وجود دارد که علاوه بر دو برنامه قبلي، اونم ميشه به کار برد.
فرض کنيد که ميخوام با پورت ۷۹ در کامپيوتری به اسم router2.iums.ac.ir ارتباط برقرا کنم. برای اين کار يکي از سه دستور زير را استفاده ميکنم:
telnet router2.iums.ac.ir 79nc -v router2.iums.ac.ir 79finger .@router2.iums.ac.ir
دقت کنيد که در دو دستور اول شماره پورت مشخص شده ولي دستور آخري نه، چون دستور finger فقط براي همينکار استفاده ميشه و نميتوان باهاش با پورت ديگهای ارتباط برقرار کرد. ضمنا به ساختار دستور آخر توجه کنيد. بعد از اجرای دستور، جواب ميشنوم:
Line User Host(s) Idle Location 33 tty 33 whgh Async interface 0 34 tty 34 najahan Async interface 0 35 tty 35 sadf Async interface 0 36 tty 36 abokho Async interface 0 38 tty 38 whgh Async interface 0 39 tty 39 bzamani Async interface 0 40 tty 40 saeedmah Async interface 0 41 tty 41 mfaizi Async interface 0 42 tty 42 gourabi Async interface 0 43 tty 43 farhadz Async interface 0 44 tty 44 arbks Async interface 0 45 tty 45 mhalavi Async interface 0 46 tty 46 farhood Async interface 0 47 tty 47 staavoni Async interface 0 48 tty 48 whgh Async interface 0* 66 vty 0 idle 0 217.218.84.58 Interface User Mode Idle Peer Address
نکته مهم اين است که اطلاعاتي که به کمک پورت ۷۹ به دست ميآد، خيلي بستگي به سروري داره که اين اطلاعات رو ميفرسته. بعضي از سيستمها علاوه بر نام افراد (username) که در اين مثال ديده ميشه، نام و نام خانوادگي افراد، ساعت و محل login کردن و ... را نمايش ميدهند. اما چيزي که هميشه وجود دارد و مشترک است، username هاست که از نقطه نظر يک هکر بسيار ارزشمند است. در اين مثال ما اکانتهايي به اسم najahan ،whgh و ... در اين سرور وجود دارد و افراد مربوطه در حال حاضر login کردهاند. اگر اکانتي موجود باشد ولي فرد مورد نظر در حال حاضر از آن اکانت وارد نشده باشد، نمايش داده نميشود. اين ليست فقط براي اکانتهای فعال است. پس نتايجي که شما در ارتباط با اين سرور کسب ميکنيد، با نتايجي که من نوشتم متفاوت خواهد بود.
- اين اطلاعات به چه دردي ميخورد؟
اول اينو بگم که finger کردن، جزئي از مراحل Enumeration است (البته در حالت کاربرد legal يا قانوني). منظور از عبارت Enumeration يا به طور خلاصه Enum، پيدا کردن ليست کاربران است.
+ فرض کنيد ميخواهيد يک ليست از پسوردها را تست کنيد تا اينکه يکي شانسي درست در بياد (درست مثل دزدها که يه سري کليد را تست ميکنن که يکي به قفل بخوره و باز کنه!) حالا سوال اينه که اين پسوردها رو برای چه username ي تست ميکنيد؟ جواب، username هايي است که با Enumeration به دست اومده است. پس اول با Enumeration يه ليست پيدا ميکنيد و بعد تعداد زيادی پسورد رو روش تست ميکنيد (روش اين کارو بعدا ميگم).
+ کاربرد بعدی finger در رابطه با يک سري اکانتهاي خاص است. من هميشه وقتي به يک اکانت به اسم guest برخورد ميکنم، هميشه پسوردهای guest يا libguest يا myguest و ... رو تست ميکنم که گاهي جواب ميده. همينطور در مورد اکانتي به اسم demo پسورد demo را تست ميکنم و ... معمولا موسسات بزرگ پر است از اين username هاي عمومي که حدس زدن پسورد مربوطه کار مشکلي نيست.
+ گفتم که بعضي سرورهاي finger نام و نامخانوادگي افراد را هم برايمان ميفرستند. چون بعضي از افراد متاسفانه يا خوشبختانه از اين اطلاعات براي پسوردشون استفاده ميکنند، ميتونه مفيد باشه.
+ يک کاربرد ديگه و البته بسيار مهم موقعي است که مثلا ميخواهيد يک سري پسورد رو روي يک اکانت خاص تست کنيد. من هميشه اول يک finger ميکنم که مطمئن بشم که فرد در حال حاضر login نکرده باشد و بعد اين کار رو شروع ميکنم ( يعني انقدر صبر ميکنم که ديگه آن اسم خاص در finger نمايش داده نشه يعني طرف مقابل logout کرده باشد!)
ورت ۲۵ - خلاصه پروتکلهای مرتبط با E-mail
۱- SMTP :
روي پورت ۲۵ اجرا ميشد. از اين پروتکل براي ارسال E-mail استفاده میشود. اين پروتکل امروزه ديگه براي خوندن E-mail استفاده نميشه. اين پروتکل بحث امروز ماست.
۲- POP3 :
اين پروتکل را روي پورت ۱۱۰ بحث ميکنيم و از آن براي خواندن E-mail هاي رسيده استفاده ميکنيم.
۳- IMAP :
اين پروتکل به عنوان جايگزيني براي پروتکل POP3 بهکار ميره. از نظر ساختاري کمي با پروتکل POP3 متفاوت است ولي کارش همان است و براي خواندن E-mail هاي رسيده به کار ميرود.
+ Web-based Email: يک روش ديگه براي دسترسي به E-mail وجود دارد و آن استفاده از امکانات وب براي خواندن و فرستادن E-mail است. وقتي شما از خود سايت yahoo يا hotmail براي کار با E-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.netyahoo.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.netyahoo.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 بزنم.
به عنوان مثال ميخواهم به آدرس target@yahoo.com يک fake mail بزنم که شخص فکر کند که Email از آدرس me@hotmal.com آمده است. (دقت کنيد که اين آدرس هر چيزی ميتواند باشد. مثلا ميتوانيد از طرف Bill Gates به يه نفر E-mail بزنيد). و ميخواهم Subject آن باشد: arze salam و متن پيغام اين باشد: bah bah sam aleikum
برای اين کار :
۱- چون mail box قرباني در سايت ياهو است، پس من هم بهتر است از SMTP Server خود ياهو استفاده کنم (بهتر است ولي اجباری در آن نيست). 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 از طرف me@hotmail.com به نظر بيايد، مينويسم:
MAIL FROM:
و جواب ميگيرم:
250 sender ok
۵- حالا بايد بگم که اين E-mail به چه آدرس ارسال شود که در اين مثال، target@yahoo.com است. بايد بنويسم:
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.0Content-Type: text/plain;
و بعد دوتا !! Enter زده و متن نامه را مينويسم:
bah bahsam aleikum.
دقت کنيد که يک کاراکتر . (نقطه) در سطر آخر نوشتم و بعد Enter زدم. با اين روش به پورت ۲۵ حالي ميکنم که متن نامه تمام شدهاست و نامه ارسال شود. متعاقبا پيغامي ميگيرم که بيانگر ارسال E-mail است.
250 ok dirdel
۷- مينويسم: QUITتا ارتباط قطع شود و از telnet خارج بشم.
اول توصيه ميکنم که يک fake mail واسه خودتون بفرستيد تا ماهيت fake mail را درک کنيد.
مسئله بعدی آن است که در قسمتي target@yahoo.com نوشته شده است، شما بايد اين سطر را تغيير داده و E-mail قرباني خودتان در ياهو را بنويسيد!
- همان کار با nc
برای انجام اين کار با nc اول همان دستورات بالا را در فايلي مثلا به اسم fake.txt مينويسيم :
HELO yahoo.comMAIL FROM:RCPT TO: DATAFrom: abbas akbari Subject: arze salamMIME-Version: 1.0Content-Type: text/plain;bah bahsam aleikum.QUIT
حالا فايل را ذخيره کرده و از دستور زير استفاده ميکنم:
nc -v mx1.mail.yahoo.com 25 < fake.txt
همين!
- Fake mail در صندوق پستي به چه شکلي ظاهر ميشود؟
اين قسمت رو در مورد mail box های yahoo و hotmail توضيح ميدم.
اينکه اين نوع E-mail ها به چه شکلي ظاهر ميشود، بستگي به اين دارد که تنظيمات mail box قرباني در چه حالتي تنظيم شده باشد. در حالت معمول فقط تعدادی از header ها نمايش داده ميشود. در اين حالت معمولا fake mail مثل يک E-mail معمولي ديده ميشود.
From: "abbas akbari"Subject: arze salam bah bahsam aleikum
در mail box ها ميتوان تنظيمات را طوری انجام داد که تمام header ها نمايش داده شوند.
برای اينکار در yahoo از منويي که بالای صفحه است، منوی Mail را باز کرده و گزينه Options را کليک ميکنيم. در صفحهای که ميآيد، روی گزينه General Preferences کليک کنيد. در صفحهای که ميآيد، از قسمت Message در قسمت Headers گزينه ... Show all را انتخاب ميکنيم و دکمه Save را از پايين صفحه کليک ميکنيم. حالا همان ميل را دوباره باز ميکنم و مشاهده ميکنم که به شکل زير ظاهر ميشود:
From abbas akbari Mon Jan 6 0537 2003 X-Apparently-To: ali1000vali2000@yahoo.com via 216.136.129.53; 06 Jan 2003 0537 -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 0537 -0800 (PST) From: "abbas akbari" Subject: arze salam MIME-Version: 1.0 Content-Type: text/plain; Content-Length: 19 bah bahsam aleikum
در اين حالت ميتوانيد ip ارسال کننده را هم ببينيد. (سعي کنيد که هميشه تنظيمات yahoo mailbox تان به اين شکل باشد)
پورت ۱۱۰ چيست؟
پورت ۱۱۰ براي پروتکل POP3 استفاده ميشود. عبارت POP3 مخفف Post Office Protocol Version 3 است که اين پروتکل براي خواندن E-mail استفاده ميشود. براي کار با اين پروتکل بايد آدرس POP Server مربوط به E-mail خود را بدانيد. براي اينکار ميتوان از nslookup استفاده کرد و سطري که عبارت MX دارد را خواند (قبلا چگونگي کار را گفتم و الان ديگه توضيح نميدم). دقت کنيد که در مورد سايتهاي کوچک، آدرس POP Server همان آدرس SMTP Server است ولي در سايتهاي بزرگ (مثل ياهو ) سرورهاي مربوطه جداست ( يعني دو اسم مختلف دارد ). در مورد سايت ياهو POP Server در آدرس pop.mail.yahoo.com قرار دارد. ( من جديدا اين سرور رو تست نکردم، خودتون تست کنيد و مطمئن بشيد ). من امروز ميخوام از E-mail هاي سايت noavar.com استفاده کنم که هم خيلي عاليه و هم ايرانيه! POP Server اين سايت در آدرس mail.noavar.com قرار دارد.
- با پورت ۱۱۰ صحبت کنيم
فرض کنيد که من در سرور mail.noavar.com يک اکانت به اسم araztest و پسورد mypass دارم. (شما هم اگه ميخواهيد تست کنيد، يک اکانت براي خودتون در اين سايت باز کنيد). حالا ميخوام با پورت ۱۱۰ صحبت کنم، بنابراين از يکي از دو دستور زير استفاده ميکنم:
telnet mail.noavar.com 110nc -v mail.noavar.com 110
و جواب ميشنوم:
+OK POP3 server www.noavar.com ready
دقت کنيد که اگه از تلنت استفاده کنيد،چيزهايي که شما تايپ ميکنيد، ديده نميشود و نميتونيد از دکمه Backspace استفاده کنيد. حالا ميخوام بگم که اسم اکانت من araztest است، پس مينويسم:
user araztest
و جواب ميشنوم:
+OK Please enter password for araztest
حالا ميخوام پسوردم رو بگم که اجازه صادر بشه! مينويسم:
pass mypass
و جواب ميشنوم:
+OK password for user araztest Accepted
حالا ميخوام بدونم که جمعا چندتا mail رسيده است و حجم کل چقدر است. مينويسم:
stat
و جواب ميشنوم:
+OK 2 25924
يعني براي من ۲ تا پيغام رسيده و حجم کل پيامهاي رسيده، ۲۵۹۲۴ بايت است. حالا ميخوام ليست پيامها رو داشته باشم، مينويسم:
list
و جواب ميشنوم:
+OK1 702 24923.
اين يعني پيغام شماره يک (پيغام جديدتر) حجم ۷۰ بايت دارد و پيغام شماره دو حجم ۲۴۹۲۳ بايت دارد. حالا ميخوام پيغام شماره ۱ را بخونم. مينويسم:
retr 1
و جواب ميشنوم:
+OK 70 octetsMessage-ID: <875808060@www.noavar.com>From: "ali" X-Mailer: NoavarTo: araztest@noavar.comMIME-Version: 1.0Subject: salamDate: Thu 13 Feb 2003 20:05:56salam chetori?.
حالا ميخواهم اين پيغام ( شماره يک ) رو پاک کنم، مينويسم:
dele 1
و جواب ميشنوم:
+OK Message 1 Marked for removal
[ دقت کنيد که اين پيغام هنوز پاک نشده است و فقط علامت خورده که موقع خروج، پاک بشه. حالا ممکنه چندتا پيغام را مارک کنيد که حذف بشه ولي بعد بيخيال! ميشين. براي اينکه اين علامتها را حذف کنيد که موقع خروج ديگه پاک نشوند، ميتونيد بنويسيد:
rset
و جواب ميشنوم:
+OK 1 70
]
حالا اگه بخواهم خارج بشم (و علامتخوردهها پاک بشن)، مينويسم:
quit
و جواب ميشنوم:
منبع:انجمن آرمیا
پورت ۸۰ يکی از مهمترين پورتهاست. دنيای وب (صفحات اينترنتی) بر اساس همين پورت کار میکنه. توضيح اينکه وقتی به يه سايت وصل میشيم و صفحه وب را درخواست میکنيم، در واقع مرورگر اينترنتی به پورت ۸۰ اون کامپيوتر وصل میشه و اطلاعات رو میگيره (البته بعد از گرفتن اطلاعات اون رو تفسير میکنه و به صورت يه صفحه نشون میده - دقت کنيد که اطلاعات در واقع به صورت يک سری تگ HTML است ).
- با پورت ۸۰ صحبت کنيم
حالا ما میخواهيم با پورت ۸۰ يک کامپيوتر صحبت کنيم ولی به کمک telnet و nc.
اول بايد يه connection (اتصال) با پورت ۸۰ برقرار کنيم (مثلا برای سايت hotmail.com بايد بنويسم):
telnet www.hotmail.com 80
nc -v www.hotmail.com 80
پس اول بايد يکی از دستورات بالا را استفاده کنيم. من هميشه توصيهام استفاده از nc بوده و خواهد بود.
حالا بايد شروع به صحبت با پورت ۸۰ کنيم. من فعلا دو تا جمله براتون میگم و بقيهاش بمونه واسه بعد. دقت کنيد که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما مینويسيم، نمايش داده نمیشود ولی کار میکنه.
۱- اولين جمله اينه: GET / HTTP/1.0 و بعدش دوتا Enter
به فاصلهها دقت کنيد. دو طرف / ی که بعد از GET است، فاصله وجود دارد. اين جمله به پورت ۸۰ میگه که هرچی در header داره، نشون بده. و جواب میشنوم:
HTTP/1.0 302 Moved Temporarily
Server: Microsoft-IIS/5.0
Date: Thu 05 Dec 2002 12:02:51 GMT
Location: http://lc2.law5.hotmail.passport.com/cgi-bin/login
X-Cache: MISS from cache5.neda.net.ir
Connection: close
۲- دومين جمله اينه: GET / what/ever و بعدش دوتا Enter
به فاصلهها دقت کنيد. اين دستور باعث ميشه که هر چی داره، رو کنه.
البته توجه کنيد که ما مسير را مشخص نکرديم. اين حالت که بدون مسير است خيلی وقتها کار نمیکنه (مثل همين مثال !!)
گاهی پيش میآد که يک سری دستورات خاص را هميشه بايد پشت سرهم به يه پورت خاص بفرستيم و بخواهيم در وقت صرفهجويی کنيم. مثلا همين جمله GET / HTTP/1.0 و دو Enter پشت سرهم که هميشه استفاده میکنيم. در اين موارد میتوان اين دستورات را در يک فايل تايپ کرد (همراه با Enter ها که بايد موقع نوشتن حتما بزنيد) و بعد مثلا با نام ali.txt ذخيره کنيد و بعد يکی از دستورات زير را بنويسيم:
nc -v www.far30.com 80 < ali.txt
type ali.txt | nc -v www.far30.com 80
که همان کارهای بالايی را انجام ميده.
- حالا ميخوام مسير رو مشخص کنم
مثلا فرض کنيد که ميخوام فايلي به اسم index.html را از مسير startup در سايتي به اسم www.site.com داونلود کنيم. اول يه nc ميکنيم به سايت. بعد مينويسيم:
GET /startup/index.html HTTP/1.0
بعد دو تا Enter ميزنيم.
اين مثال نشون ميده که چطوري مسير رو ميشه مشخص کرد. همين کار رو ميتونيم براي فايلهايي مثل فايلهاي گرافيکي و ... انجام بديم و حتي ميتونيد اطلاعاتي که ميرسه رو در يک فايل ذخيره کنيد. براي اينکار مينويسيد:
nc -v www.site.com 80 > index.html
(اين کاري که کرديم با موردي که در بالا نوشتيم فرق ميکنه! در بالا دستورات GET رو تو يه فايل مينوشتيم و ميفرستاديم که اجرا بشه ولي الان داريم نتايجي که بر ميگرده رو در يک فايل ذخيره ميکنيم!) ميشه اين دوتا رو ترکيب کرد مثلا نوشت:
nc -v www.site.com 80 <> index.html
پورت ۷۹ چيست؟
پورت ۷۹ را پورت finger ميگويند. کاربرد اين پورت به اوايل ايجاد اينترنت برميگرده و کاربردش مخصوص سيستمعامل يونيکس بودهاست (الان هم تقريبا فقط در خانواده سيستمهای يونيکس اين پورت قابل استفاده است).
وقتي اين پورت روی سيستمعامل يونيکس باز باشه، ميشه با يک request ساده فهميد که از بين کساني که در آن سيستم account دارند، کدامها on هستند (يعني کدامها به سيستم login شدهاند). برنامهاي که پورت ۷۹ رو در يک سيستم باز ميکنه، finger server ميگن و چون مختص سيستمعامل يونيکس است، ميتونين از عبارت Finger Deamon استفاده کنين. حالا که پورت ۷۹ روي سيستم باز شد، شما ميتونين با اون ارتباط برقرار کنين.
- با پورت ۷۹ صحبت کنيم
همانطور که ميدانيد، براي صحبت کردن با پورتها از دو برنامه telnet و nc ميشه استفاده کرد. در مورد پورت ۷۹ يه نرمافزار ديگر به نام finger در تمام سيستمعاملهای يونيکس و برخي سيستمعاملهاي ويندوز وجود دارد که علاوه بر دو برنامه قبلي، اونم ميشه به کار برد.
فرض کنيد که ميخوام با پورت ۷۹ در کامپيوتری به اسم router2.iums.ac.ir ارتباط برقرا کنم. برای اين کار يکي از سه دستور زير را استفاده ميکنم:
telnet router2.iums.ac.ir 79nc -v router2.iums.ac.ir 79finger .@router2.iums.ac.ir
دقت کنيد که در دو دستور اول شماره پورت مشخص شده ولي دستور آخري نه، چون دستور finger فقط براي همينکار استفاده ميشه و نميتوان باهاش با پورت ديگهای ارتباط برقرار کرد. ضمنا به ساختار دستور آخر توجه کنيد. بعد از اجرای دستور، جواب ميشنوم:
Line User Host(s) Idle Location 33 tty 33 whgh Async interface 0 34 tty 34 najahan Async interface 0 35 tty 35 sadf Async interface 0 36 tty 36 abokho Async interface 0 38 tty 38 whgh Async interface 0 39 tty 39 bzamani Async interface 0 40 tty 40 saeedmah Async interface 0 41 tty 41 mfaizi Async interface 0 42 tty 42 gourabi Async interface 0 43 tty 43 farhadz Async interface 0 44 tty 44 arbks Async interface 0 45 tty 45 mhalavi Async interface 0 46 tty 46 farhood Async interface 0 47 tty 47 staavoni Async interface 0 48 tty 48 whgh Async interface 0* 66 vty 0 idle 0 217.218.84.58 Interface User Mode Idle Peer Address
نکته مهم اين است که اطلاعاتي که به کمک پورت ۷۹ به دست ميآد، خيلي بستگي به سروري داره که اين اطلاعات رو ميفرسته. بعضي از سيستمها علاوه بر نام افراد (username) که در اين مثال ديده ميشه، نام و نام خانوادگي افراد، ساعت و محل login کردن و ... را نمايش ميدهند. اما چيزي که هميشه وجود دارد و مشترک است، username هاست که از نقطه نظر يک هکر بسيار ارزشمند است. در اين مثال ما اکانتهايي به اسم najahan ،whgh و ... در اين سرور وجود دارد و افراد مربوطه در حال حاضر login کردهاند. اگر اکانتي موجود باشد ولي فرد مورد نظر در حال حاضر از آن اکانت وارد نشده باشد، نمايش داده نميشود. اين ليست فقط براي اکانتهای فعال است. پس نتايجي که شما در ارتباط با اين سرور کسب ميکنيد، با نتايجي که من نوشتم متفاوت خواهد بود.
- اين اطلاعات به چه دردي ميخورد؟
اول اينو بگم که finger کردن، جزئي از مراحل Enumeration است (البته در حالت کاربرد legal يا قانوني). منظور از عبارت Enumeration يا به طور خلاصه Enum، پيدا کردن ليست کاربران است.
+ فرض کنيد ميخواهيد يک ليست از پسوردها را تست کنيد تا اينکه يکي شانسي درست در بياد (درست مثل دزدها که يه سري کليد را تست ميکنن که يکي به قفل بخوره و باز کنه!) حالا سوال اينه که اين پسوردها رو برای چه username ي تست ميکنيد؟ جواب، username هايي است که با Enumeration به دست اومده است. پس اول با Enumeration يه ليست پيدا ميکنيد و بعد تعداد زيادی پسورد رو روش تست ميکنيد (روش اين کارو بعدا ميگم).
+ کاربرد بعدی finger در رابطه با يک سري اکانتهاي خاص است. من هميشه وقتي به يک اکانت به اسم guest برخورد ميکنم، هميشه پسوردهای guest يا libguest يا myguest و ... رو تست ميکنم که گاهي جواب ميده. همينطور در مورد اکانتي به اسم demo پسورد demo را تست ميکنم و ... معمولا موسسات بزرگ پر است از اين username هاي عمومي که حدس زدن پسورد مربوطه کار مشکلي نيست.
+ گفتم که بعضي سرورهاي finger نام و نامخانوادگي افراد را هم برايمان ميفرستند. چون بعضي از افراد متاسفانه يا خوشبختانه از اين اطلاعات براي پسوردشون استفاده ميکنند، ميتونه مفيد باشه.
+ يک کاربرد ديگه و البته بسيار مهم موقعي است که مثلا ميخواهيد يک سري پسورد رو روي يک اکانت خاص تست کنيد. من هميشه اول يک finger ميکنم که مطمئن بشم که فرد در حال حاضر login نکرده باشد و بعد اين کار رو شروع ميکنم ( يعني انقدر صبر ميکنم که ديگه آن اسم خاص در finger نمايش داده نشه يعني طرف مقابل logout کرده باشد!)
ورت ۲۵ - خلاصه پروتکلهای مرتبط با E-mail
۱- SMTP :
روي پورت ۲۵ اجرا ميشد. از اين پروتکل براي ارسال E-mail استفاده میشود. اين پروتکل امروزه ديگه براي خوندن E-mail استفاده نميشه. اين پروتکل بحث امروز ماست.
۲- POP3 :
اين پروتکل را روي پورت ۱۱۰ بحث ميکنيم و از آن براي خواندن E-mail هاي رسيده استفاده ميکنيم.
۳- IMAP :
اين پروتکل به عنوان جايگزيني براي پروتکل POP3 بهکار ميره. از نظر ساختاري کمي با پروتکل POP3 متفاوت است ولي کارش همان است و براي خواندن E-mail هاي رسيده به کار ميرود.
+ Web-based Email: يک روش ديگه براي دسترسي به E-mail وجود دارد و آن استفاده از امکانات وب براي خواندن و فرستادن E-mail است. وقتي شما از خود سايت yahoo يا hotmail براي کار با E-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.netyahoo.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.netyahoo.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 بزنم.
به عنوان مثال ميخواهم به آدرس target@yahoo.com يک fake mail بزنم که شخص فکر کند که Email از آدرس me@hotmal.com آمده است. (دقت کنيد که اين آدرس هر چيزی ميتواند باشد. مثلا ميتوانيد از طرف Bill Gates به يه نفر E-mail بزنيد). و ميخواهم Subject آن باشد: arze salam و متن پيغام اين باشد: bah bah sam aleikum
برای اين کار :
۱- چون mail box قرباني در سايت ياهو است، پس من هم بهتر است از SMTP Server خود ياهو استفاده کنم (بهتر است ولي اجباری در آن نيست). 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 از طرف me@hotmail.com به نظر بيايد، مينويسم:
MAIL FROM:
و جواب ميگيرم:
250 sender
۵- حالا بايد بگم که اين E-mail به چه آدرس ارسال شود که در اين مثال، target@yahoo.com است. بايد بنويسم:
RCPT TO:
و جواب ميشنوم:
250 recipient
۶- حالا بايد بنويسم،
DATA
و Enter بزنم و جواب ميشنوم:
354 go ahead
اينجا وقت تايپ کردن يک سری چيزهای اساسي است. اول مينويسم،
From: abbas akbari
اين همان اسمي است که به عنوان Sender يا همان From ديده خواهد شد. من خواستم که به اسم abbas akbari ديده شود. حالا مينويسم:
Subject: arze salam
اين هم در آن E-mail به عنوان subject خواهد بود. حالا موارد زير را مينويسم (که اختياري است):
MIME-Version: 1.0Content-Type: text/plain;
و بعد دوتا !! Enter زده و متن نامه را مينويسم:
bah bahsam aleikum.
دقت کنيد که يک کاراکتر . (نقطه) در سطر آخر نوشتم و بعد Enter زدم. با اين روش به پورت ۲۵ حالي ميکنم که متن نامه تمام شدهاست و نامه ارسال شود. متعاقبا پيغامي ميگيرم که بيانگر ارسال E-mail است.
250 ok dirdel
۷- مينويسم: QUITتا ارتباط قطع شود و از telnet خارج بشم.
اول توصيه ميکنم که يک fake mail واسه خودتون بفرستيد تا ماهيت fake mail را درک کنيد.
مسئله بعدی آن است که در قسمتي target@yahoo.com نوشته شده است، شما بايد اين سطر را تغيير داده و E-mail قرباني خودتان در ياهو را بنويسيد!
- همان کار با nc
برای انجام اين کار با nc اول همان دستورات بالا را در فايلي مثلا به اسم fake.txt مينويسيم :
HELO yahoo.comMAIL FROM:
حالا فايل را ذخيره کرده و از دستور زير استفاده ميکنم:
nc -v mx1.mail.yahoo.com 25 < fake.txt
همين!
- Fake mail در صندوق پستي به چه شکلي ظاهر ميشود؟
اين قسمت رو در مورد mail box های yahoo و hotmail توضيح ميدم.
اينکه اين نوع E-mail ها به چه شکلي ظاهر ميشود، بستگي به اين دارد که تنظيمات mail box قرباني در چه حالتي تنظيم شده باشد. در حالت معمول فقط تعدادی از header ها نمايش داده ميشود. در اين حالت معمولا fake mail مثل يک E-mail معمولي ديده ميشود.
From: "abbas akbari"
در mail box ها ميتوان تنظيمات را طوری انجام داد که تمام header ها نمايش داده شوند.
برای اينکار در yahoo از منويي که بالای صفحه است، منوی Mail را باز کرده و گزينه Options را کليک ميکنيم. در صفحهای که ميآيد، روی گزينه General Preferences کليک کنيد. در صفحهای که ميآيد، از قسمت Message در قسمت Headers گزينه ... Show all را انتخاب ميکنيم و دکمه Save را از پايين صفحه کليک ميکنيم. حالا همان ميل را دوباره باز ميکنم و مشاهده ميکنم که به شکل زير ظاهر ميشود:
From abbas akbari Mon Jan 6 0537 2003 X-Apparently-To: ali1000vali2000@yahoo.com via 216.136.129.53; 06 Jan 2003 0537 -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 0537 -0800 (PST) From: "abbas akbari"
در اين حالت ميتوانيد ip ارسال کننده را هم ببينيد. (سعي کنيد که هميشه تنظيمات yahoo mailbox تان به اين شکل باشد)
پورت ۱۱۰ چيست؟
پورت ۱۱۰ براي پروتکل POP3 استفاده ميشود. عبارت POP3 مخفف Post Office Protocol Version 3 است که اين پروتکل براي خواندن E-mail استفاده ميشود. براي کار با اين پروتکل بايد آدرس POP Server مربوط به E-mail خود را بدانيد. براي اينکار ميتوان از nslookup استفاده کرد و سطري که عبارت MX دارد را خواند (قبلا چگونگي کار را گفتم و الان ديگه توضيح نميدم). دقت کنيد که در مورد سايتهاي کوچک، آدرس POP Server همان آدرس SMTP Server است ولي در سايتهاي بزرگ (مثل ياهو ) سرورهاي مربوطه جداست ( يعني دو اسم مختلف دارد ). در مورد سايت ياهو POP Server در آدرس pop.mail.yahoo.com قرار دارد. ( من جديدا اين سرور رو تست نکردم، خودتون تست کنيد و مطمئن بشيد ). من امروز ميخوام از E-mail هاي سايت noavar.com استفاده کنم که هم خيلي عاليه و هم ايرانيه! POP Server اين سايت در آدرس mail.noavar.com قرار دارد.
- با پورت ۱۱۰ صحبت کنيم
فرض کنيد که من در سرور mail.noavar.com يک اکانت به اسم araztest و پسورد mypass دارم. (شما هم اگه ميخواهيد تست کنيد، يک اکانت براي خودتون در اين سايت باز کنيد). حالا ميخوام با پورت ۱۱۰ صحبت کنم، بنابراين از يکي از دو دستور زير استفاده ميکنم:
telnet mail.noavar.com 110nc -v mail.noavar.com 110
و جواب ميشنوم:
+OK POP3 server www.noavar.com ready
دقت کنيد که اگه از تلنت استفاده کنيد،چيزهايي که شما تايپ ميکنيد، ديده نميشود و نميتونيد از دکمه Backspace استفاده کنيد. حالا ميخوام بگم که اسم اکانت من araztest است، پس مينويسم:
user araztest
و جواب ميشنوم:
+OK Please enter password for araztest
حالا ميخوام پسوردم رو بگم که اجازه صادر بشه! مينويسم:
pass mypass
و جواب ميشنوم:
+OK password for user araztest Accepted
حالا ميخوام بدونم که جمعا چندتا mail رسيده است و حجم کل چقدر است. مينويسم:
stat
و جواب ميشنوم:
+OK 2 25924
يعني براي من ۲ تا پيغام رسيده و حجم کل پيامهاي رسيده، ۲۵۹۲۴ بايت است. حالا ميخوام ليست پيامها رو داشته باشم، مينويسم:
list
و جواب ميشنوم:
+OK1 702 24923.
اين يعني پيغام شماره يک (پيغام جديدتر) حجم ۷۰ بايت دارد و پيغام شماره دو حجم ۲۴۹۲۳ بايت دارد. حالا ميخوام پيغام شماره ۱ را بخونم. مينويسم:
retr 1
و جواب ميشنوم:
+OK 70 octetsMessage-ID: <875808060@www.noavar.com>From: "ali" X-Mailer: NoavarTo: araztest@noavar.comMIME-Version: 1.0Subject: salamDate: Thu 13 Feb 2003 20:05:56salam chetori?.
حالا ميخواهم اين پيغام ( شماره يک ) رو پاک کنم، مينويسم:
dele 1
و جواب ميشنوم:
+OK Message 1 Marked for removal
[ دقت کنيد که اين پيغام هنوز پاک نشده است و فقط علامت خورده که موقع خروج، پاک بشه. حالا ممکنه چندتا پيغام را مارک کنيد که حذف بشه ولي بعد بيخيال! ميشين. براي اينکه اين علامتها را حذف کنيد که موقع خروج ديگه پاک نشوند، ميتونيد بنويسيد:
rset
و جواب ميشنوم:
+OK 1 70
]
حالا اگه بخواهم خارج بشم (و علامتخوردهها پاک بشن)، مينويسم:
quit
و جواب ميشنوم:
منبع:انجمن آرمیا
هیچ نظری موجود نیست:
ارسال یک نظر