سفارش تبلیغ
صبا ویژن
هر کس جویای حکمت است، باید خاندان مرا دوست بدارد . [پیامبر خدا صلی الله علیه و آله]
آموزش گام به گام هک - درس شماره ۱۸ - آرشیو مقالات کامپیوتری
  • پست الکترونیک
  • شناسنامه
  •  RSS 
  • پارسی بلاگ
  • پارسی یار
  • - خلاصه درس: در این درس می‌آموزیم که با پورت ۲۵ (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 بزنم.
    به عنوان مثال می‌خواهم به آدرس 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 تان به این شکل باشد)

    کوچیک ::: پنج شنبه 86/7/19::: ساعت 3:0 صبح

    لیست کل یادداشت های این وبلاگ

    >> بازدیدهای وبلاگ <<
    بازدید امروز: 7
    بازدید دیروز: 1
    کل بازدید :31832

    >>اوقات شرعی <<

    >> درباره خودم <<

    >>لوگوی وبلاگ من<<
    آموزش گام به گام هک - درس شماره ۱۸ - آرشیو مقالات کامپیوتری

    >>آرشیو شده ها<<

    >>جستجو در وبلاگ<<
    جستجو:

    >>اشتراک در خبرنامه<<
     

    >>تبلیغات<<