آموزش کامپیوتر

با سلام خدمت شما کاربران گرامی - اگر از مطالب وبلاگ خوشتان آمد نظرات و پیشنهادات خود را برای ما ارسال نمایید

پورت ۲۵

  تبلیغات

یکی از سایت های پر سابقه کسب درامد در ایران

- خلاصه پروتکل‌های مرتبط با 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.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 بزنم.
به عنوان مثال می‌خواهم به آدرس 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.0
Content-Type: text/plain;

و بعد دوتا !! Enter زده و متن نامه را می‌نویسم:

bah bah
sam aleikum
.

دقت کنید که یک کاراکتر . (نقطه) در سطر آخر نوشتم و بعد Enter زدم. با این روش به پورت ۲۵ حالی می‌کنم که متن نامه تمام شده‌است و نامه ارسال شود. متعاقبا پیغامی می‌گیرم که بیانگر ارسال E-mail است.

250 ok dirdel

۷- می‌نویسم:

QUIT

تا ارتباط قطع شود و از telnet خارج بشم.

اول توصیه می‌کنم که یک fake mail واسه خودتون بفرستید تا ماهیت fake mail را درک کنید.
مسئله بعدی آن است که در قسمتی target@yahoo.com نوشته شده است، شما باید این سطر را تغییر داده و 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.txt

همین!


- 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: ali1000vali2000@yahoo.com 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 تان به این شکل باشد)