که در آن یک مهاجم، با اتصال به کانالی بین طرفین، در پروتکل انتقال تداخل می کند، اطلاعات را حذف یا تحریف می کند.

اصل حمله

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

فرض کنید شی A قصد دارد اطلاعاتی را برای شی B ارسال کند. شی C در مورد ساختار و ویژگی های روش انتقال داده مورد استفاده، و همچنین این واقعیت که انتقال برنامه ریزی شده اطلاعات واقعی که C قصد دارد رهگیری کند، دانش دارد. برای انجام یک حمله، C برای شیء A به‌عنوان B ظاهر می‌شود و به B به عنوان A اعتراض می‌کند. انجام برخی اقدامات با آن (به عنوان مثال، کپی کردن یا اصلاح برای اهداف خود) داده ها را به خود گیرنده ارسال می کند - B. شیء B نیز به نوبه خود معتقد است که اطلاعات توسط او مستقیماً از A دریافت شده است.

نمونه حمله

تزریق کد مخرب

حمله man-in-the-middle به یک رمزنگار اجازه می دهد تا کد خود را به ایمیل ها، عبارات SQL و صفحات وب تزریق کند (یعنی تزریق SQL، تزریق HTML/اسکریپت، یا حملات XSS) و حتی باینری های آپلود شده توسط کاربر را تغییر دهد. جهت دسترسی به حسابکاربر یا تغییر رفتار یک برنامه دانلود شده توسط کاربر از اینترنت.

حمله کاهش رتبه

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

برای محافظت در برابر حمله Downgrade، پروتکل های ناامن باید حداقل از یک طرف غیرفعال شوند. فقط پشتیبانی و استفاده از پروتکل های امن به صورت پیش فرض کافی نیست!

SSH V1 به جای SSH V2

مهاجم ممکن است سعی کند پارامترهای اتصال بین سرور و سرویس گیرنده را هنگامی که ارتباط بین آنها برقرار می شود، تغییر دهد. طبق صحبتی که در کنفرانس Blackhat Europe 2003 ارائه شد، یک تحلیلگر رمز می‌تواند با تغییر شماره نسخه «1.99» برای جلسه SSH به «1.51»، یک کلاینت را مجبور به شروع یک جلسه SSH1 به جای جلسه SSH2 کند. با استفاده از ssh V1. پروتکل SSH-1 دارای آسیب پذیری هایی است که یک تحلیلگر رمزنگاری می تواند از آنها سوء استفاده کند.

IPsec

در این سناریوی حمله، تحلیلگر رمزنگاری قربانی خود را گمراه می کند و فکر می کند که یک جلسه IPsec نمی تواند در انتهای دیگر (سرور) شروع شود. اگر دستگاه میزبان در حالت برگشتی باشد، این باعث می‌شود که پیام‌ها به صراحت ارسال شوند.

PPTP

در مرحله مذاکره با پارامترهای جلسه PPTP، مهاجم می تواند قربانی را مجبور به استفاده از احراز هویت PAP کمتر ایمن، MSCHAP V1 (یعنی "بازگرداندن" از MSCHAP V2 به نسخه 1) کند یا اصلا از رمزگذاری استفاده نکند.

مهاجم می تواند قربانی خود را مجبور به تکرار مرحله مذاکره با پارامترهای جلسه PPTP (ارسال یک بسته Terminate-Ack) کند، رمز عبور را از تونل موجود بدزدد و حمله را تکرار کند.

وسایل ارتباط عمومی بدون حفاظت از صحت، محرمانه بودن، در دسترس بودن و یکپارچگی اطلاعات

رایج ترین وسیله ارتباطی در این گروه است شبکه اجتماعی، یک سرویس ایمیل عمومی و سیستم پیام رسانی فوری. صاحب منبعی که خدمات ارتباطی را ارائه می دهد، کنترل کاملی بر اطلاعات رد و بدل شده توسط خبرنگاران دارد و به صلاحدید خود می تواند به راحتی در هر زمان حمله ای را انجام دهد.

برخلاف سناریوهای قبلی مبتنی بر جنبه‌های فنی و فناوری ارتباطات، در این مورد حمله بر جنبه‌های ذهنی، یعنی ریشه‌یابی مفهوم نادیده گرفتن الزامات امنیت اطلاعات در ذهن کاربران است.

آیا رمزگذاری ذخیره می شود؟

مورد یک تراکنش استاندارد HTTP را در نظر بگیرید. در این حالت، مهاجم می تواند به راحتی اتصال TCP اصلی را به دو اتصال جدید تبدیل کند: یکی بین خود و مشتری، دیگری بین خود و سرور. انجام این کار نسبتاً آسان است، زیرا به ندرت ارتباط بین سرویس گیرنده و سرور مستقیم است و در بیشتر موارد آنها از طریق تعدادی سرور میانی متصل می شوند. یک حمله MITM می تواند بر روی هر یک از این سرورها انجام شود.

با این حال، اگر سرویس گیرنده و سرور از طریق HTTPS - پروتکلی که از رمزگذاری پشتیبانی می کند - ارتباط برقرار کنند، می توان یک حمله man-in-the-middle نیز انجام داد. با این نوع اتصال، از TLS یا SSL برای رمزگذاری درخواست‌ها استفاده می‌شود، که به نظر می‌رسد کانال را از حملات sniff و MITM ایمن می‌کند. یک مهاجم می تواند دو جلسه SSL مستقل برای هر اتصال TCP ایجاد کند. کلاینت یک اتصال SSL با مهاجم برقرار می کند، که به نوبه خود با سرور ارتباط برقرار می کند. مرورگر در چنین مواردی معمولاً هشدار می دهد که گواهی توسط یک مرجع گواهی معتبر امضا نشده است، اما کاربران عادی مرورگرهای قدیمی به راحتی می توانند این هشدار را دور بزنند. علاوه بر این، یک مهاجم ممکن است گواهی امضا شده توسط یک CA ریشه داشته باشد (به عنوان مثال، چنین گواهی‌هایی گاهی اوقات برای DLP استفاده می‌شوند) و اخطار ایجاد نکند. علاوه بر این، تعدادی از حملات به HTTPS وجود دارد. بنابراین، پروتکل HTTPS نمی تواند در برابر حملات MITM توسط کاربران عادی ایمن در نظر گرفته شود. [ ] تعدادی از اقداماتی وجود دارد که از برخی از حملات MITM به سایت‌های https جلوگیری می‌کند، به ویژه HSTS، که استفاده از اتصالات http از سایت‌ها را ممنوع می‌کند، پین کردن گواهی و پین کردن کلید عمومی HTTP، که جایگزینی گواهی را ممنوع می‌کند.

تشخیص حمله MITM

برای شناسایی یک حمله انسان در وسط، ترافیک شبکه باید تجزیه و تحلیل شود. به عنوان مثال، برای شناسایی یک حمله SSL، باید به پارامترهای زیر توجه کنید:

  • آی پی سرور
  • سرور DNS
  • گواهی سرور X.509
    • آیا گواهی خود امضا شده است؟
    • آیا گواهی توسط مرجع گواهی امضا شده است؟
    • آیا گواهی باطل شده است؟
    • آیا گواهی اخیراً تغییر کرده است؟
    • آیا مشتریان دیگری در اینترنت همین گواهی را دریافت کرده اند؟

پیاده سازی حمله MITM

برنامه های لیست شده را می توان برای انجام حملات Man-in-the-Middle و همچنین برای شناسایی آنها و آزمایش سیستم از نظر آسیب پذیری استفاده کرد.

همچنین ببینید

  • آسپیدیسترا (انگلیسی) - فرستنده رادیویی بریتانیایی که در جنگ جهانی دوم "تهاجمات" مورد استفاده قرار گرفت، نوعی از حمله MITM.
  • توطئه بابینگتون (انگلیسی) - یک توطئه علیه الیزابت اول، که طی آن والسینگهام مکاتبات را رهگیری کرد.

حملات دیگر

  • "Man in the Browser" نوعی حمله است که در آن مهاجم می تواند فوراً پارامترهای تراکنش را تغییر دهد، صفحات را کاملاً شفاف به قربانی تغییر دهد.
  • "حمله ملاقات در وسط" - یک حمله رمزنگاری که مانند حمله تولد، از مبادله بین زمان و حافظه استفاده می کند.
  • "بازخت در وسط" (Miss in the middle attack) یک روش موثر از به اصطلاح تحلیل غیرممکن دیفرانسیل رمزگذاری است.
  • حمله رله - گونه‌ای از حمله MITM بر اساس ارسال یک پیام رهگیری شده به گیرنده معتبر، اما نه به گیرنده مورد نظر.
  • روت کیت برنامه ای است که برای پنهان کردن آثار حضور یک نفوذگر طراحی شده است.

در مورد مقاله "حمله واسطه" نظری بنویسید

ادبیات

پیوندها

  • www.all.net/CID/Attack/Attack74.html
  • www.nag.ru/2003/0405/0405.shtml
  • www.schneier.com/blog/archives/2006/04/rfid_cards_and.html

گزیده ای از توصیف حمله واسطه

افسر در حالی که با لبخندی توام با مهربانی به مرد کوچولو نگاه می کرد، گفت: «کوارتیر، کوارتیر، لوژمنت». – Les Francais sont de bons enfants. Que disable! ویون ها! Ne nous fachons pas, mon vieux, [آپارتمان ها، آپارتمان ها... فرانسوی ها بچه های خوبی هستند. لعنتی، دعوا نکنیم پدربزرگ.] - اضافه کرد و دستی به شانه گراسیم ترسیده و ساکت زد.
- یک حدود! Dites donc، در ne parle donc pas francais dans cette بوتیک؟ [خب، اینجا هم کسی فرانسوی صحبت نمی کند؟] او اضافه کرد و به اطراف نگاه کرد و چشمان پیر را دید. پیر از در دور شد.
افسر دوباره رو به گراسیم کرد. او از گراسیم خواست که اتاق های خانه را به او نشان دهد.
- استاد نه - نمی فهمم ... مال تو ... - گراسیم گفت و سعی کرد با این واقعیت که حرف هایش را وارونه به زبان می آورد بیشتر قابل درک باشد.
افسر فرانسوی در حالی که لبخند می زد، دستانش را جلوی بینی گراسیم باز کرد و این احساس را به وجود آورد که او نیز او را درک نمی کند و لنگ لنگان به سمت دری که پیر ایستاده بود رفت. پیر می خواست دور شود تا از او پنهان شود ، اما در همان لحظه ماکار آلکسیچ را دید که با یک تپانچه در دستانش از درب آشپزخانه خم شده بود. ماکار الکسیویچ با حیله یک دیوانه به فرانسوی نگاه کرد و تپانچه اش را بالا گرفت و نشانه گرفت.
- سوار!!! - مست فریاد زد و ماشه تپانچه را فشار داد. افسر فرانسوی با فریاد برگشت و در همان لحظه پیر به مستی هجوم آورد. در حالی که پیر تپانچه را گرفت و بلند کرد، ماکار آلکسیچ در نهایت با انگشت خود به ماشه برخورد کرد و صدای شلیکی بلند شد که همه را کر کرد و با دود پودر پر کرد. مرد فرانسوی رنگ پریده شد و با عجله به سمت در رفت.
پیر که قصد خود را از آشکار نکردن دانش زبان فرانسوی فراموش کرده بود، تپانچه را ربود و آن را دور انداخت، به سمت افسر دوید و به زبان فرانسوی با او صحبت کرد.
- Vous n "etes pas blesse؟ [آیا مجروح شدی؟] - گفت.
افسر در حالی که خودش را احساس می‌کرد، پاسخ داد: «می‌دانیم که نیست.» او با اشاره به گچ بریده شده در دیوار، اضافه کرد: «به نظر می‌رسد که نیست. .. اما این یک بار نزدیک بود. این مرد کیست؟] - افسر گفت با سختگیری به پیر نگاه می کند.
- آه، je suis vraiment au desespoir de ce qui vient d "آه، [آه، من واقعاً از اتفاقی که افتاد در ناامیدی هستم،] - پیر سریع گفت و نقش خود را کاملاً فراموش کرد. - C" est un fou, un malheureux qui ne savait pas ce qu "il faisait. [این یک دیوانه بدبخت است که نمی دانست دارد چه می کند.]
افسر نزد ماکار الکسیویچ رفت و یقه او را گرفت.
ماکار آلکسیچ، با لب های باز شده، انگار که خوابش برده بود، تکان خورد و به دیوار تکیه داد.
فرانسوی در حالی که دستش را بیرون کشید، گفت: «بریگاند، تو من لا پایراس».
– Nous autres nous sommes clements apres la victoire: mais nous ne pardonnons pas aux traitres, [دزد، برای این به من پول می دهی. برادر ما بعد از پیروزی مهربان است، اما ما خائنان را نمی بخشیم.
پی یر همچنان افسر را به زبان فرانسوی متقاعد می کرد که از این مرد مست و دیوانه اخطار نکند. فرانسوی بدون تغییر نگاه غمگین خود در سکوت گوش داد و ناگهان با لبخند به پیر رو کرد. برای چند ثانیه ساکت به او نگاه کرد. چهره زیبایش حالتی غم انگیز به خود گرفت و دستش را دراز کرد.
- Vous m "avez sauve la vie! Vous etes Francais، [تو جان من را نجات دادی. تو یک فرانسوی هستی]" او گفت. برای یک فرانسوی، این نتیجه غیرقابل انکار بود. هنگ سبک سیزدهم] بدون شک بزرگترین کار بود.
اما مهم نیست که این نتیجه گیری و محکومیت افسر بر اساس آن چقدر غیرقابل شک است، پیر ناامید کردن او را ضروری دانست.
پیر سریع گفت: "Je suis Russe، [من روسی هستم]."
- Ti ti ti, a d "autres, [به دیگران بگویید] - فرانسوی گفت، انگشت خود را جلوی بینی خود تکان داد و لبخند زد. - Tout a l "heure vous allez me conter tout ca." – Charme de rencontrer un هموطن. ای بین! او افزود: "الان همه اینها را به من خواهید گفت. ملاقات با یک هموطن بسیار خوب است. خوب! ما با این مرد چه کنیم؟] - او با خطاب به پیر که قبلاً برادرش بود، اضافه کرد. فقط اگر پیر فرانسوی نبود که یک بار این بالاترین عنوان را در جهان دریافت کرده بود، نمی توانست از آن چشم پوشی کند، بیان صورت و لحن افسر فرانسوی. در آخرین سوال، پیر یک بار دیگر توضیح داد که ماکار الکسیچ کیست. ، توضیح داد که درست قبل از رسیدن آنها، این مرد مست و دیوانه یک تپانچه پر شده را که وقت نداشتند از او بردارند، بیرون کشید و خواست که عملش بدون مجازات بماند.
مرد فرانسوی سینه خود را بیرون آورد و با دست خود یک حرکت سلطنتی انجام داد.
- Vous m "avez sauve la vie. Vous etes Francais. Vous me daxwazez sa grace؟ Je vous l" accorde. افسر فرانسوی سریع و پرانرژی گفت: [شما جان مرا نجات دادید. شما یک فرانسوی هستید. آیا می خواهید او را ببخشم؟ من او را می بخشم. این مرد را بردارید] افسر فرانسوی به سرعت و با انرژی گفت: برای نجات جانش به زبان فرانسوی پی یر نوشت و با او به خانه رفت.
سربازانی که در حیاط بودند با شنیدن صدای شلیک به داخل پاساژ رفتند و پرسیدند چه اتفاقی افتاده است و آمادگی خود را برای مجازات مجرمان اعلام کردند. اما افسر به شدت آنها را متوقف کرد.
او گفت: "On vous demandera quand on aura besoin de vous، [در صورت نیاز، با شما تماس گرفته می شود." سربازها رفتند. بتمن که در همین حین در آشپزخانه بود به افسر نزدیک شد.
او گفت: "کاپیتان، ils ont de la soupe et du gigot de mouton dans la cuisine." - Faut il vous l "apporter؟ [کاپیتان سوپ و بره کباب در آشپزخانه دارد. می‌خواهید بیاورید؟]
- Oui، et le vin، [بله، و شراب،] - گفت کاپیتان.

افسر فرانسوی به همراه پیر وارد خانه شدند. پیر وظیفه خود می دانست که دوباره به کاپیتان اطمینان دهد که او یک فرانسوی نیست و می خواست برود، اما افسر فرانسوی نمی خواست در مورد آن بشنود. او آنقدر مودب، دوست داشتنی، خوش اخلاق و واقعاً برای نجات جانش سپاسگزار بود که پیر جرأت نپذیرفتن او را نداشت و با او در سالن، در اولین اتاقی که وارد شدند، نشست. در برابر ادعای پیر مبنی بر اینکه او یک فرانسوی نیست، کاپیتان، بدیهی است که نمی‌دانست چگونه می‌توان از چنین عنوان چاپلوسی امتناع کرد، شانه‌هایش را بالا انداخت و گفت که اگر مطمئناً می‌خواهد به عنوان یک روسی شناخته شود، پس چنین است، اما که او، با وجود آن، برای همیشه با احساس قدردانی برای نجات یک زندگی با او ارتباط برقرار کرد.
اگر این شخص حداقل توانایی درک احساسات دیگران را داشت و در مورد احساسات پیر حدس می زد، احتمالاً پیر او را ترک می کرد. اما نفوذ ناپذیری پر جنب و جوش این مرد به هر چیزی که خودش نبود، پیر را شکست داد.
- Francais ou prince russe incognito، [شاهزاده فرانسوی یا روسی ناشناس،] - فرانسوی گفت، در حالی که به کتانی کثیف، اما نازک پیر و حلقه روی دستش نگاه می کرد. - Je vous dois la vie je vous offre mon amitie. Un Francais n "oublie jamais ni une insulte ni un service. Je vous offre mon amitie. Je ne vous dis que ca. [من زندگی ام را مدیون شما هستم و به شما پیشنهاد دوستی می دهم. یک فرانسوی هرگز توهین و خدمات را فراموش نمی کند. دوستی با تو، دیگر نمی گویم.]
در صداهای صدای او، در بیان صورتش، در حرکات این افسر، آنقدر طبیعت خوب و نجیب (به معنای فرانسوی) وجود داشت که پیر، با لبخندی ناخودآگاه به لبخند فرانسوی پاسخ داد: دست دراز شده را تکان داد.
- Capitaine Ramball du treizieme leger، decore pour l "affaire du Sept، [کاپیتان رامبال، هنگ سبک سیزدهم، سواره لژیون افتخار برای هدف هفتم سپتامبر،] - با لبخندی از خود راضی و غیرقابل کنترل خود را معرفی کرد که لب‌هایش را زیر سبیل‌هایش چروکید. آنقدر مهربان که به من بگویم حالا با کی هستم، این افتخار را دارم که به جای اینکه در ایستگاه رختکن با گلوله این دیوانه در بدنش باشم، اینقدر خوش صحبت باشم؟]
پیر پاسخ داد که نمی تواند نام خود را بگوید و با سرخ شدن شروع به اختراع نام کرد و در مورد دلایلی که نمی تواند این را بگوید صحبت کرد ، اما فرانسوی با عجله حرف او را قطع کرد.
او گفت: «عزیز. - Je comprends vos raisons, vous etes officier ... officier superieur, peut etre. Vous avez porte les armes contre nous. Ce n "est pas mon affaire. Je vous dois la vie. Cela me suffit. Je suis tout a vous. Vous etes gentilhomme؟ [لطفاً کامل کنید. من شما را درک می کنم، شما یک افسر هستید ... یک افسر ستاد، شاید. تو علیه ما خدمت کردی به من مربوط نیست. من زندگیم را مدیون تو هستم. همین برای من کافی است و من همه مال تو هستم. آیا تو یک نجیب زاده هستی؟] - با اشاره ای به سوال اضافه کرد. پیر سرش را کج کرد. Votre nom de bapteme، s "il vous plait? Je ne demande pas davantage. موسیو پیر، می گوید ... پارفه. C "est tout ce que je wish savoir. [اسم شما؟ چیز دیگری نمی پرسم. آقای پیر، گفتید؟ خوب. این تمام چیزی است که من نیاز دارم.]
وقتی گوشت بره کبابی، تخم‌مرغ، سماور، ودکا و شراب از انبار روسی که فرانسوی‌ها با خود آورده بودند، آوردند، رامبال از پیر خواست تا در این شام شرکت کند و بلافاصله، مشتاقانه و سریع، مانند یک فرد سالم و گرسنه. ، شروع به خوردن کرد، با دندان های محکمش سریع می جوید، مدام لب هایش را می زد و می گفت عالی، exquis! [عالی، عالی!] صورتش برافروخته و پر از عرق بود. پیر گرسنه بود و با خوشحالی در شام شرکت کرد. مورل، منظم، دیگ آب گرم آورد و یک بطری شراب قرمز در آن گذاشت. علاوه بر این، او یک بطری کواس آورد که برای آزمایش از آشپزخانه برداشت. این نوشیدنی قبلاً برای فرانسوی ها شناخته شده بود و این نام را به خود اختصاص داد. آنها کواس لیموناد را کوچون (لیموناد خوک) می نامیدند و مورل این لیموناد کوچون را که در آشپزخانه پیدا کرد تمجید کرد. اما از آنجایی که کاپیتان در حین عبور از مسکو شراب به دست آورده بود، کواس را در اختیار مورل قرار داد و یک بطری بوردو برداشت. بطری را تا گردن در یک دستمال پیچید و برای خودش و شراب پیر ریخت. گرسنگی سیر شده و شراب حتی کاپیتان را بیشتر زنده کرد و او در هنگام شام از صحبت کردن دست برنداشت.
- Oui, mon cher monsieur Pierre, je vous dois une fiere chandelle de m "avoir sauve ... de cet rage ... J" en ai assez, voyez vous, de balles dans le corps. En voila une (به پهلویش اشاره کرد) یک Wagram et de deux a Smolensk، - زخمی را که روی گونه اش بود نشان داد. - Et cette jambe، comme vous voyez، qui ne veut pas marcher. C "est a la grande bataille du 7 a la Moskowa que j" ai recu ca. Sacre dieu، c "etait beau. Il fallait voir ca، c" etait un deluge de feu. Vous nous avez taille une rude besogne; vous pouvez vous en vanter, nom d "un petit bonhomme. Et, ma parole, malgre l" atoux que j "y ai gagne, je serais pret a recommencer. Je plains ceux qui n" ont pas vu ca. [بله، آقای پیر عزیز، من موظفم برای نجات شما از دست این دیوانه شمع خوبی روشن کنم. می بینید، گلوله هایی که در بدنم دارم به اندازه کافی سیر شده ام. اینجا یکی در نزدیکی واگرام و دیگری نزدیک اسمولنسک است. و این پا، می بینید، که نمی خواهد حرکت کند. این در جریان نبرد بزرگ هفتم در نزدیکی مسکو است. ای فوق العاده بود باید می دیدی، سیل آتش بود. شما کار سختی به ما داده اید، می توانید به خود ببالید. و به خدا علیرغم این برگ برنده (به صلیب اشاره کرد) من حاضرم همه چیز را از نو شروع کنم. متاسفم برای کسانی که آن را ندیده اند.]
- J "y ai ete، [من آنجا بودم] - پیر گفت.
- به، ویریمنت! فرانسوی گفت: Eh bien, tant mieux. - Vous etes de fiers ennemis, tout de meme. La grande redoute a ete tenace, nom d "une pipe. Et vous nous l" avez fait cranement payer. J "Y suis alle trois fois, tel que vous me voyez. Trois fois nous etions sur les canons et trois fois on nous a culbute et comme des capucins de cartes. اوه!! c" etait beau, monsieur Pierre. Vos grenadiers ont ete superbes، tonnerre de Dieu. Je les ai vu six fois de suite serrer les rangs, et marcher comme a une revue. Les Beaux Hommes! Notre roi de Naples, qui s "y connait a crie: bravo! آه، آه! soldat comme nous autres! - با لبخند گفت و یک لحظه سکوت خورد. - Tant mieux, tant mieux, monsieur Pierre. Terribles en bataille . .. galants ... - با لبخند چشمکی زد - avec les belles, voila les Francais, monsieur Pierre, n "est ce pas? [با، واقعا؟ هر چه بهتر. شما دشمنان سرسختی هستید، باید اعتراف کنم. لعنتی، مشکل بزرگ به خوبی ادامه یافت. و ما را وادار به پرداخت گران کردی. همانطور که می بینید من سه بار آنجا بوده ام. سه بار روی توپ ها بودیم، سه بار مثل سرباز کارتی سرمان را زدند. به خدا نارنجک های شما عالی بودند. من دیدم که چگونه صفوف آنها شش بار بسته شد و چگونه دقیقاً به سمت رژه رفتند. افراد فوق العاده! پادشاه ناپلی ما که در این موارد سگ را خورد به آنها فریاد زد: براو! - ها، ها، پس تو سرباز برادر ما هستی! «خیلی بهتر، خیلی بهتر، مسیو پیر. وحشتناک در جنگ، مهربان با زیبایی ها، اینجا فرانسوی ها هستند، مسیو پیر. مگه نه؟]
کاپیتان تا حدی ساده لوحانه و خوش اخلاق بود و با تمام وجود و از خود راضی بود که پیر تقریباً چشمکی به خود زد و با خوشحالی به او نگاه کرد. احتمالاً کلمه "گالانت" کاپیتان را به فکر موقعیت مسکو انداخت.

در این مقاله سعی خواهیم کرد تئوری حملات Man-in-the-Middle و چند نکته کاربردی که به جلوگیری از این نوع حملات کمک می کند را بیان کنیم. این به ما کمک می‌کند خطری را که چنین نفوذهایی برای حریم خصوصی ما ایجاد می‌کند، درک کنیم، زیرا حملات MitM به ما اجازه می‌دهد در ارتباطات نفوذ کنیم و به مکالمات خود گوش دهیم.

درک نحوه کار اینترنت

برای درک اصل حمله انسان در وسط، ابتدا باید نحوه عملکرد خود اینترنت را درک کنید. نقاط اصلی تعامل: مشتریان، روترها، سرورها. رایج ترین پروتکل ارتباطی بین مشتری و سرور، پروتکل انتقال ابرمتن (HTTP) است. گشت و گذار در وب با مرورگر، ایمیل، پیام های فوری - همه از طریق HTTP انجام می شود.

هنگامی که در نوار آدرس مرورگر خود تایپ می کنید، مشتری (شما) درخواستی برای نمایش یک صفحه وب به سرور ارسال می کند. بسته (درخواست HTTP GET) از طریق روترهای متعدد به سرور ارسال می شود. سپس سرور با یک صفحه وب پاسخ می دهد که برای مشتری ارسال می شود و در مانیتور آن نمایش داده می شود. پیام‌های HTTP باید در حالت امن برای اطمینان از محرمانه بودن و ناشناس بودن ارسال شوند.

شکل 1. تعامل مشتری و سرور

ایمن سازی پروتکل ارتباطی

یک پروتکل ارتباط ایمن باید هر یک از ویژگی های زیر را داشته باشد:

  1. حریم خصوصی- فقط گیرنده مورد نظر می تواند پیام را بخواند.
  2. اعتبار- هویت طرفین متعامل ثابت شده است.
  3. تمامیت- تأیید اینکه پیام در حال انتقال تغییر نکرده است.

اگر حداقل یکی از این قوانین رعایت نشود، کل پروتکل به خطر می افتد.

حمله Man-in-the-Middle بر روی پروتکل HTTP

یک مهاجم به راحتی می تواند با استفاده از تکنیکی به نام جعل ARP، یک حمله Man-in-the-Middle انجام دهد. هر کسی در شبکه Wi-Fi شما می تواند یک بسته ARP جعلی برای شما ارسال کند و باعث می شود که شما ناآگاهانه تمام ترافیک خود را به جای روتر از طریق یک مهاجم ارسال کنید.

پس از آن، مهاجم کنترل کامل ترافیک را در دست می گیرد و می تواند درخواست های ارسال شده در هر دو جهت را کنترل کند.

شکل 2. طرح حمله Man-in-the-Middle


برای جلوگیری از چنین حملاتی، نسخه ای امن از پروتکل HTTP ایجاد شد. امنیت لایه حمل و نقل (TLS) و سلف آن، لایه سوکت ایمن (SSL)، پروتکل های رمزنگاری هستند که ارتباطات ایمن را از طریق یک شبکه فراهم می کنند. از این رو، پروتکل امن HTTPS نامیده می شود. با تایپ در نوار آدرس مرورگر خود می توانید نحوه عملکرد پروتکل امن را مشاهده کنید (به S در https توجه کنید).

حمله Man-in-the-Middle به SSL با پیاده سازی ضعیف

SSL مدرن از الگوریتم رمزگذاری خوبی استفاده می کند، اما اگر به درستی پیاده سازی نشده باشد، اهمیتی ندارد. اگر یک هکر بتواند درخواست را رهگیری کند، می تواند با حذف "S" از URL درخواستی، آن را تغییر دهد و در نتیجه SSL را دور بزند.

چنین رهگیری و اصلاح درخواست قابل مشاهده است. به عنوان مثال، اگر شما درخواست https://login.yahoo.com/ دارید و پاسخ آن http://login.yahoo.com/ است، این باید شک را ایجاد کند. در زمان نگارش این مقاله، چنین حمله ای در واقع روی سرویس ایمیل یاهو کار می کند.

شکل 3. رهگیری و اصلاح یک درخواست


برای جلوگیری از چنین حمله ای، سرورها می توانند HTTP Strict Transport Security (HSTS) را پیاده سازی کنند، مکانیزمی که یک اتصال امن اجباری را روی پروتکل HTTPS اعمال می کند. در این حالت، اگر مهاجم درخواست را با حذف "S" از URL تغییر دهد، سرور همچنان کاربر را با تغییر مسیر 302 به صفحه ای با پروتکل ایمن هدایت می کند.

شکل 4. طرح عملیات HSTS


این روش اجرای SSL در برابر نوع دیگری از حمله آسیب پذیر است - مهاجم یک اتصال SSL به سرور ایجاد می کند، اما کاربر را فریب می دهد تا از HTTP استفاده کند.

شکل 5. طرح حمله برای HSTS


برای جلوگیری از چنین حملاتی، مرورگرهای مدرن مانند کروم، فایرفاکس و Tor سایت هایی را که از HSTS استفاده می کنند نظارت می کنند و یک اتصال SSL سمت سرویس گیرنده را با آنها اعمال می کنند. در این مورد، مهاجمی که یک حمله Man-in-the-Middle انجام می دهد باید یک اتصال SSL با قربانی ایجاد کند.

شکل 6. طرح حمله، جایی که مهاجم یک ارتباط SSL با قربانی برقرار می کند


به منظور ایمن سازی اتصال SLL به کاربر، مهاجم باید بداند که چگونه به عنوان یک سرور عمل کند. بیایید جنبه های فنی SSL را درک کنیم.

آشنایی با SSL

از دیدگاه یک هکر، به خطر انداختن هر پروتکل ارتباطی به یافتن یک پیوند ضعیف در میان مؤلفه های ذکر شده در بالا (حریم خصوصی، اصالت و یکپارچگی) منجر می شود.

SSL از یک الگوریتم رمزگذاری نامتقارن استفاده می کند. در رمزگذاری متقارن، مشکل این است که از یک کلید برای رمزگذاری و رمزگشایی داده ها استفاده می شود، این رویکرد برای پروتکل های اینترنتی قابل قبول نیست، زیرا مهاجم می تواند این کلید را ردیابی کند.

از طرف دیگر، رمزگذاری نامتقارن شامل 2 کلید برای هر طرف است: کلید عمومی که برای رمزگذاری استفاده می شود و کلید خصوصی که برای رمزگشایی داده ها استفاده می شود.

شکل 7. کار کلیدهای عمومی و خصوصی

چگونه SSL سه ویژگی مورد نیاز برای ارتباط امن را فراهم می کند؟

  1. از آنجایی که رمزنگاری نامتقارن برای رمزگذاری داده ها استفاده می شود، SSL یک اتصال خصوصی را فراهم می کند. این رمزگذاری به این راحتی نیست که کرک شود و مورد توجه قرار نگیرد.
  2. سرور مشروعیت خود را با ارسال یک گواهی SSL صادر شده توسط یک مرجع گواهی، یک شخص ثالث قابل اعتماد، به مشتری ثابت می کند.

اگر یک مهاجم به نحوی موفق به گرفتن گواهینامه شود، می تواند شرایط را برای حمله مرد میانی ایجاد کند. بنابراین، 2 اتصال ایجاد می کند - با سرور و با قربانی. سرور در این مورد فکر می کند که مهاجم یک کلاینت معمولی است و قربانی هیچ راهی برای شناسایی مهاجم ندارد، زیرا او گواهی ارائه می دهد که ثابت می کند سرور است.

پیام های شما به صورت رمزگذاری شده می رسد و می رسد، اما از طریق زنجیره از طریق رایانه مجرم سایبری، جایی که او کنترل کامل دارد، عبور می کند.

شکل 8. طرح حمله اگر مهاجم دارای گواهی باشد


اگر مهاجم توانایی به خطر انداختن مرورگر قربانی را داشته باشد، نیازی به جعل گواهی نیست. در این صورت، می تواند گواهی خود امضا شده را وارد کند که به طور پیش فرض قابل اعتماد باشد. این روشی است که اکثر حملات Man-in-the-Middle اجرا می شوند. در موارد پیچیده تر، هکر باید راه دیگری را انتخاب کند - گواهی را جعل کند.

مشکلات مقامات گواهی

گواهی ارسال شده توسط سرور توسط یک مرجع صدور گواهی صادر و امضا می شود. هر مرورگر فهرستی از CA های قابل اعتماد دارد و می توانید آنها را اضافه یا حذف کنید. مشکل اینجاست که اگر تصمیم به حذف مقامات اصلی بگیرید، نمی‌توانید از سایت‌هایی بازدید کنید که از گواهی‌های امضا شده توسط آن مقامات استفاده می‌کنند.

گواهی ها و CA همیشه ضعیف ترین حلقه در اتصال HTTPS بوده اند. حتی اگر همه چیز به درستی اجرا شده باشد و هر مرجع گواهی دارای اختیارات محکمی باشد، هنوز دشوار است که با این واقعیت کنار بیایید که باید به بسیاری از اشخاص ثالث اعتماد کنید.

امروزه بیش از 650 سازمان قادر به صدور گواهینامه هستند. اگر مهاجم هر یک از آنها را هک کند، هر گواهی که بخواهد دریافت می کند.

حتی زمانی که تنها یک مرجع گواهی وجود داشت، VeriSign، مشکلی وجود داشت - افرادی که قرار بود از حملات انسان در وسط جلوگیری کنند، خدمات رهگیری را می فروختند.

همچنین بسیاری از گواهی ها توسط مقامات گواهی هک ایجاد شده است. تکنیک ها و ترفندهای مختلفی برای وادار کردن کاربر مورد حمله به اعتماد به گواهی های تقلبی استفاده شده است.

جرم شناسی

از آنجا که مهاجم بسته های ARP جعلی را ارسال می کند، شما نمی توانید آدرس IP او را ببینید. در عوض، باید به آدرس MAC که مخصوص هر دستگاه موجود در شبکه است توجه کنید. اگر آدرس MAC روتر خود را می‌دانید، می‌توانید آن را با آدرس MAC دروازه پیش‌فرض مقایسه کنید تا متوجه شوید که آیا واقعاً روتر شما است یا یک مزاحم.

به عنوان مثال، در ویندوز، می توانید از دستور ipconfig در خط فرمان (CMD) برای مشاهده آدرس IP دروازه پیش فرض خود (خط آخر) استفاده کنید:

شکل 9 با استفاده از دستور ipconfig


سپس از دستور arp -a برای پیدا کردن آدرس MAC این دروازه استفاده کنید:

شکل 10. با استفاده از دستور arp –a


اما راه دیگری برای مشاهده حمله وجود دارد - اگر فعالیت شبکه را در زمان شروع آن زیر نظر داشتید و بسته‌های ARP را تماشا می‌کردید. برای مثال می توانید از Wireshark برای این منظور استفاده کنید، این برنامه در صورت تغییر مک آدرس دروازه پیش فرض به شما اطلاع می دهد.

توجه: اگر یک مهاجم به درستی آدرس های MAC را جعل کند، ردیابی او به یک مشکل بزرگ تبدیل می شود.

نتیجه

SSL پروتکلی است که مهاجم را مجبور به انجام کارهای زیادی برای انجام یک حمله می کند. اما از شما در برابر حملات حمایت شده توسط دولت یا سازمان های هکر واجد شرایط محافظت نمی کند.

وظیفه کاربر محافظت از مرورگر و رایانه خود به منظور جلوگیری از درج گواهی جعلی (یک تکنیک بسیار رایج) است. همچنین باید به لیست گواهی های مورد اعتماد توجه کنید و گواهی های مورد اعتماد را حذف کنید.

1395/10/18 | ولادیمیر خزوف

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

ما در مورد طرح سازماندهی یک حمله "مشروع" MITM در مقاله قبلی نوشتیم. امروز ما با جزئیات بیشتری در مورد اصل چنین حمله ای و نحوه اجرای آن صحبت خواهیم کرد.

حمله MITM چیست؟

Man In The Middle (MITM) به عنوان "مردی در وسط" ترجمه می شود. این اصطلاح به حمله شبکه ای اشاره دارد، زمانی که یک مهاجم بین یک کاربر اینترنت و برنامه ای که به آن دسترسی دارد قرار می گیرد. البته نه از نظر فیزیکی، بلکه با کمک نرم افزارهای خاص. توسط برنامه درخواستی به کاربر ارائه می شود (این می تواند یک وب سایت یا یک سرویس اینترنتی باشد)، کار با آن را تقلید می کند، این کار را به گونه ای انجام می دهد که تصور عملکرد عادی و تبادل اطلاعات را ایجاد کند.

هدف این حمله، داده های شخصی کاربر، مانند اعتبار ورود به سیستم های مختلف، مشخصات بانکی و شماره کارت، مکاتبات شخصی و سایر اطلاعات محرمانه است. در بیشتر موارد، برنامه‌های مالی (مشتریان بانک، بانک‌های آنلاین، خدمات پرداخت و انتقال پول)، خدمات شرکت SaaS، سایت‌های تجارت الکترونیک (فروشگاه‌های آنلاین) و سایر سایت‌هایی که برای ورود به سیستم نیاز به مجوز دارند مورد حمله قرار می‌گیرند.

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

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

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

چگونه یک حمله MITM انجام می شود

اجرای یک حمله MITM شامل دو مرحله است: رهگیری و رمزگشایی.

  • استراق سمع

اولین مرحله حمله، رهگیری ترافیک کاربر به هدف مورد نظر و هدایت آن به شبکه مهاجم است.

رایج ترین و ساده ترین راه برای رهگیری، حمله غیرفعال است، زمانی که مهاجم نقاط Wi-Fi را با دسترسی آزاد (بدون رمز عبور و مجوز) ایجاد می کند. در لحظه ای که کاربر به چنین نقطه ای متصل می شود، مهاجم به تمام ترافیک عبوری از آن دسترسی دارد و می تواند هر داده ای را برای رهگیری از آن استخراج کند.

روش دوم رهگیری فعال است که می تواند توسط یکی از گزینه های زیر انجام شود:

جعل IP- جایگزینی آدرس IP هدف در سربرگ بسته با آدرس مهاجم. در نتیجه، کاربران به جای رفتن به URL درخواستی، در نهایت در سایت مهاجم قرار می گیرند.

جعل ARP– جایگزینی آدرس MAC واقعی میزبان با آدرس مهاجم در جدول ARP قربانی. در نتیجه، داده های ارسال شده توسط کاربر به آدرس IP گره مورد نیاز به آدرس مهاجم می رسد.

جعل DNS -آلوده کردن حافظه پنهان DNS، نفوذ به سرور DNS و جعل رکورد مطابقت آدرس وب سایت. در نتیجه کاربر سعی می کند به سایت درخواستی دسترسی پیدا کند، اما آدرس سایت مهاجم را از سرور DNS دریافت می کند.

  • رمزگشایی

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

چندین روش برای این وجود دارد:

جعل HTTPS– هنگامی که اتصال به سایت از طریق پروتکل HTTPS برقرار می شود، یک گواهی جعلی به مرورگر قربانی ارسال می شود. این گواهی حاوی امضای دیجیتال برنامه در معرض خطر است که باعث می‌شود مرورگر ارتباط با مهاجم را به عنوان مورد اعتماد بپذیرد. هنگامی که چنین ارتباطی برقرار شد، مهاجم به هر داده ای که قربانی وارد کرده است، قبل از ارسال به برنامه دسترسی دارد.

SSL BEAST(سوء استفاده مرورگر در برابر SSL/TLS) – این حمله از یک آسیب پذیری SSL در نسخه های TLS 1.0 و 1.2 سوء استفاده می کند. رایانه قربانی به جاوا اسکریپت مخرب آلوده است که کوکی های رمزگذاری شده ارسال شده به برنامه وب را رهگیری می کند. این حالت رمزگذاری "زنجیره بندی بلوک متن رمزنگاری" را به خطر می اندازد به گونه ای که مهاجم کوکی های رمزگشایی شده و کلیدهای احراز هویت را دریافت می کند.

ربودن SSL– انتقال کلیدهای احراز هویت جعلی به کاربر و برنامه در زمان شروع جلسه TCP. این ظاهر یک اتصال امن را می دهد، در حالی که در واقع "مرد وسط" کنترل جلسه را در دست دارد.

حذف SSL- اتصال را از HTTPS ایمن به HTTP ساده با رهگیری تأیید اعتبار TLS ارسال شده توسط برنامه به کاربر کاهش می دهد. مهاجم دسترسی رمزگذاری نشده به سایت را در اختیار کاربر قرار می دهد، در حالی که خودش یک جلسه امن با برنامه حفظ می کند و فرصتی برای مشاهده داده های منتقل شده قربانی به دست می آورد.\

محافظت در برابر حملات MITM

حفاظت قابل اعتماد در برابر حملات MITM زمانی امکان پذیر است که کاربر چندین اقدام پیشگیرانه انجام دهد و از ترکیبی از روش های رمزگذاری و احراز هویت توسط توسعه دهندگان برنامه های وب استفاده کند.

اقدامات کاربر:

  • از اتصال به نقاط اتصال وای فای که محافظت از رمز عبور ندارند خودداری کنید. غیر فعال کردن ویژگی اتصال خودکاربه نقاط دسترسی شناخته شده - یک مهاجم می تواند Wi-Fi خود را قانونی پنهان کند.
  • به اعلان مرورگر در مورد انتقال به یک سایت ناامن توجه کنید. چنین پیامی ممکن است نشان دهنده این باشد که شما به یک سایت مخرب جعلی هدایت شده اید یا مشکلاتی در حفاظت از یک سایت قانونی وجود دارد.
  • در صورت عدم استفاده، جلسه را با برنامه (خروج) پایان دهید.
  • از شبکه های عمومی (کافه، پارک، هتل و غیره) برای تراکنش های محرمانه استفاده نکنید ( مکاتبات تجاریتراکنش های مالی، خرید در فروشگاه های اینترنتی و غیره).
  • از یک آنتی ویروس به روز در رایانه یا لپ تاپ خود استفاده کنید، این به محافظت در برابر حملات با استفاده از نرم افزارهای مخرب کمک می کند.

توسعه دهندگان برنامه های کاربردی وب و وب سایت ها باید از پروتکل های امن TLS و HTTPS استفاده کنند که با رمزگذاری داده های ارسالی، حملات جعل را بسیار پیچیده می کند. همچنین استفاده از آنها از رهگیری ترافیک به منظور دریافت پارامترهای مجوز و کلیدهای دسترسی جلوگیری می کند.

محافظت از TLS و HTTPS نه تنها برای صفحات مجوز، بلکه برای تمام بخش‌های دیگر سایت، عمل خوبی در نظر گرفته می‌شود. این امر احتمال سرقت کوکی‌های کاربر توسط مهاجم را در حین پیمایش در صفحات ناامن پس از ورود به سیستم کاهش می‌دهد.

مسئولیت حفاظت در برابر حملات MITM بر عهده کاربر و اپراتور مخابراتی است. برای کاربر، مهمترین چیز این است که هوشیاری خود را از دست ندهد، فقط از روش های اثبات شده دسترسی به اینترنت استفاده کند و سایت هایی با رمزگذاری HTTPS را برای انتقال داده های شخصی انتخاب کند. می توان به اپراتورهای مخابراتی توصیه کرد که از سیستم های بازرسی بسته عمیق (DPI) برای شناسایی ناهنجاری ها در شبکه های داده و جلوگیری از حملات جعل استفاده کنند.

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

تقریباً همیشه می توانید به چندین روش به نتیجه دلخواه برسید. این موضوع در زمینه امنیت اطلاعات نیز صدق می کند. گاهی اوقات، برای رسیدن به هدف، می توانید بی رحمانه، به طور مستقل به دنبال حفره ها و شکاف ها بگردید، یا به آنچه از طریق شبکه منتقل می شود گوش دهید. و آخرین گزینهاغلب بهینه است. به همین دلیل است که امروز ما در مورد ابزارهایی صحبت خواهیم کرد که با استفاده از حملات MITM برای این کار به ما کمک می کنند تا اطلاعات ارزشمندی را از ترافیک شبکه به دست آوریم.

MITMf

بیایید با یکی از نامزدهای جالب تر شروع کنیم. این یک چارچوب کامل برای حملات man-in-the-middle است که بر روی sergio-proxy ساخته شده است. اخیراً در کالی لینوکس گنجانده شده است. برای اینکه خودتان آن را نصب کنید، کافی است مخزن را کلون کنید و چند دستور را اجرا کنید:

# setup.sh # pip install -r requires.txt

# pip install -r requires.txt

دارای معماری است که می تواند توسط پلاگین ها گسترش یابد. از جمله موارد اصلی می توان به موارد زیر اشاره کرد:

  • Spoof - به شما امکان می دهد ترافیک را با استفاده از جعل ARP / DHCP، تغییر مسیرهای ICMP و اصلاح پرس و جوهای DNS تغییر دهید.
  • Sniffer - این افزونه تلاش‌های ورود به پروتکل‌های مختلف را نظارت می‌کند.
  • BeEFAutorun - به شما امکان می دهد ماژول های BeEF را بر اساس نوع سیستم عامل و مرورگر مشتری به طور خودکار اجرا کنید.
  • AppCachePoison - یک حمله مسمومیت کش را انجام می دهد.
  • SessionHijacking - جلسات را ربوده و کوکی های دریافتی را در نمایه firelis ذخیره می کند.
  • BrowserProfiler - سعی می کند لیستی از افزونه های استفاده شده توسط مرورگر را دریافت کند.
  • FilePwn - به شما امکان می دهد فایل های ارسال شده از طریق HTTP را با استفاده از Backdoor Factory و BDFProxy جایگزین کنید.
  • Inject - محتوای دلخواه را به یک صفحه HTML تزریق می کند.
  • jskeylogger - یک keylogger جاوا اسکریپت را به صفحات مشتری تزریق می کند.

اگر این قابلیت برای شما کافی نیست، همیشه می توانید با اجرای برنامه افزودنی مناسب، ویژگی خود را اضافه کنید.

بتونه سوار

یکی دیگر از ابزارهای قابل توجه. درست است، برخلاف تمام ابزارهای دیگری که امروزه در نظر گرفته می شود، بسیار تخصصی است. همانطور که خود نویسنده پروژه می گوید، او از این واقعیت الهام گرفت که چنین ابزاری را ایجاد کند که در طول تست های نفوذ، مهمترین داده ها در سرورهای لینوکس / یونیکس قرار داشتند، که مدیران از طریق SSH / Telnet / rlogin به آنها متصل می شوند. و در بیشتر موارد، دسترسی به دستگاه مدیران بسیار ساده تر از دسترسی به سرور مورد نظر بود. پس از نفوذ به دستگاه مدیر سیستم، تنها چیزی که باقی می ماند این است که مطمئن شوید که PuTTY در حال اجرا است و از این ابزار برای ایجاد یک پل معکوس به مهاجم استفاده کنید.

این ابزار نه تنها اجازه می دهد تا "ارتباط" بین مدیر و سرور راه دور(از جمله رمزهای عبور)، بلکه دستورات پوسته دلخواه را در یک جلسه معین اجرا کنید. و همه اینها برای کاربر (مدیر) کاملاً شفاف اتفاق می افتد. اگر به جزئیات فنی علاقه دارید، به عنوان مثال، نحوه اجرای فرآیند PuTTY، توصیه می کنم که ارائه نویسنده را بخوانید.

یک ابزار نسبتا قدیمی که بیش از هشت سال پیش متولد شد. طراحی شده برای شبیه سازی جلسات با سرقت کوکی ها. برای Session hijacking، مهارت های اساسی برای شناسایی هاست (در صورت اتصال به open) دارد شبکه بی سیمیا habu) و مسمومیت ARP را انجام دهید. تنها مشکل این است که امروزه برخلاف هشت سال پیش، تقریباً تمام شرکت های بزرگ مانند یاهو یا فیس بوک از رمزگذاری SSL استفاده می کنند که این ابزار را کاملاً بی استفاده می کند. با وجود این، هنوز منابع کافی در وب وجود دارد که از SSL استفاده نمی کنند، بنابراین برای حذف این ابزار خیلی زود است. مزایای آن شامل این واقعیت است که به طور خودکار در فایرفاکس ادغام می شود و برای هر جلسه رهگیری یک نمایه جداگانه ایجاد می کند. منبعدر مخزن موجود است و می توانید خودتان با استفاده از دستورات زیر آن را بسازید:

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip سارق جلسه

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev

# g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp

# setcap cap_net_raw,cap_net_admin=eip sessionthief

پراکسی Fuzz

ProzyFuzz هیچ ارتباط مستقیمی با حملات MITM ندارد. همانطور که از نام آن می توانید حدس بزنید، این ابزار برای fuzzing طراحی شده است. این یک شبکه fuzzer کوچک غیر قطعی است که در پایتون پیاده سازی شده است که به طور تصادفی محتویات بسته های ترافیک شبکه را تغییر می دهد. از پروتکل های TCP و UDP پشتیبانی می کند. می توان آن را به گونه ای پیکربندی کرد که فقط یک طرف را به هم بزند. زمانی مفید است که نیاز به آزمایش سریع برخی از برنامه های شبکه (یا پروتکل) و توسعه یک PoC دارید. مثال استفاده:

Python proxyfuzz -l -r

python proxyfuzz -l -r

لیست گزینه ها شامل:

  • w - تعداد درخواست های ارسال شده را قبل از شروع فازبندی تنظیم می کند.
  • ج - فقط مشتری را fuzz کنید (در غیر این صورت هر دو طرف).
  • s - fuzz فقط سرور (در غیر این صورت هر دو طرف).
  • u - پروتکل UDP (در غیر این صورت از TCP استفاده می شود).

میدلر

ارائه شده در کنفرانس DEF CON، ابزاری برای انجام حملات MITM بر روی پروتکل های مختلف. نسخه آلفا از پروتکل HTTP پشتیبانی می کرد و سه پلاگین جالب را در زرادخانه خود داشت:

  • plugin-beef.py - چارچوب بهره برداری مرورگر (BeEF) را به هر درخواست HTTP که از شبکه محلی می رسد تزریق می کند.
  • plugin-metasploit.py - یک IFRAME را به نام رمزگذاری نشده (HTTP) تزریق می کند که اکسپلویت های مرورگر را از Metasploit بارگیری می کند.
  • plugin-keylogger.py - یک کنترل‌کننده رویداد جاوا اسکریپت onKeyPress را برای همه فیلدهای متنی که از طریق HTTPS ارسال می‌شوند، تزریق می‌کند و باعث می‌شود مرورگر قبل از ارسال کل فرم، رمز عبور کاربر را نویسه به نویسه به سرور مهاجم ارسال کند.

Middler نه تنها به طور خودکار ترافیک شبکه را تجزیه و تحلیل می کند و کوکی ها را در آن پیدا می کند، بلکه به طور مستقل آنها را از مشتری درخواست می کند، یعنی این فرآیند به حداکثر خودکار می رسد. این برنامه جمع آوری تمام حساب های محافظت نشده را تضمین می کند شبکه کامپیوتری(یا هات اسپات عمومی) که به ترافیک آن دسترسی دارد. برای اینکه برنامه به درستی کار کند، بسته های زیر باید روی سیستم نصب شوند: Scapy، libpcap، readline، libdnet، python-netfilter. متأسفانه مدت زیادی است که مخزن به روز نشده است، بنابراین باید خودتان عملکرد جدیدی اضافه کنید.

یک ابزار کنسول که به شما امکان می دهد ترافیک HTTP را به صورت تعاملی بررسی و اصلاح کنید. به لطف چنین مهارت هایی، این ابزار نه تنها توسط آزمایش کنندگان نفوذ / هکرها، بلکه توسط توسعه دهندگان عادی که از آن استفاده می کنند، به عنوان مثال، برای اشکال زدایی برنامه های وب استفاده می شود. می توان از آن برای دریافت اطلاعات دقیق در مورد درخواست هایی که برنامه ارائه می کند و پاسخ هایی که دریافت می کند استفاده کرد. همچنین، mitmproxy می تواند به شما کمک کند تا نحوه عملکرد برخی از API های REST، به ویژه آنهایی که مستندات ضعیفی دارند، یاد بگیرید.

نصب بسیار ساده است:

$ sudo aptitude نصب mitmproxy

شایان ذکر است که mitmproxy همچنین به شما این امکان را می دهد که با صدور گواهی امضا شده خود برای مشتری، ترافیک HTTPS را رهگیری کنید. نمونه خوبی از نحوه تنظیم رهگیری و اصلاح ترافیک را می توان یافت.

Dsniff

خوب، این ابزار به طور کلی یکی از اولین چیزهایی است که باید به محض شنیدن به ذهنتان خطور کند
"حمله MITM". این ابزار بسیار قدیمی است، اما همچنان به طور فعال به روز می شود، که خبر خوبی است. بی معنی است که در مورد قابلیت های آن با جزئیات صحبت کنیم؛ در طول چهارده سال از عمر آن، بیش از یک بار در شبکه پوشش داده شده است. به عنوان مثال، در راهنمایی مانند این:

یا دستورالعمل های وب سایت ما:

در آخر..

طبق معمول، ما همه برنامه های کاربردی را در نظر نگرفته ایم، بلکه فقط محبوب ترین آنها را در نظر گرفته ایم، هنوز پروژه های کمتر شناخته شده ای وجود دارد که ممکن است روزی درباره آنها صحبت کنیم. همانطور که می بینید، هیچ کمبودی در ابزار برای انجام حملات MITM وجود ندارد و، که اغلب اتفاق نمی افتد، یکی از ابزارهای جالب در ویندوز پیاده سازی می شود. در مورد سیستم های nix چیزی برای گفتن وجود ندارد - یک تنوع کامل. بنابراین حدس می‌زنم همیشه می‌توانید ابزار ربودن مناسب را پیدا کنید.
اعتبار شخص دیگری اوه، یعنی برای اهداف آزمایشی.

حمله به "مرد در وسط" (Eng. Man in the middle، MitM-attack) - اصطلاحی در رمزنگاری است که به موقعیتی اشاره می کند که در آن مهاجم می تواند پیام های رد و بدل شده توسط خبرنگاران را به میل خود بخواند و تغییر دهد و هیچ یک از آنها نمی توانند حضور او در کانال را حدس بزنید.

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

اصل حمله:

فرض کنید شی "A" قصد دارد اطلاعاتی را به شی "B" ارسال کند. شی "C" در مورد ساختار و ویژگی های روش انتقال داده مورد استفاده، و همچنین واقعیت انتقال برنامه ریزی شده اطلاعات واقعی که "C" قصد دارد رهگیری کند، دانش دارد.

برای انجام یک حمله، "C" به شی "A" به عنوان "B" و به "B" به عنوان "A" نمایش داده می شود. شی "A"، به اشتباه تصور می کند که اطلاعات را به "B" ارسال می کند، آن را به شی "C" می فرستد.

شی "C" با دریافت اطلاعات و انجام برخی اقدامات با آن (به عنوان مثال، کپی کردن یا اصلاح برای اهداف خود) داده ها را برای خود گیرنده ارسال می کند - "B"؛ شیء "ب" به نوبه خود معتقد است که اطلاعات توسط او مستقیماً از "الف" دریافت شده است.

نمونه ای از حمله MitM:

فرض کنید آلیس در مشکل مالی است و با استفاده از یک برنامه پیام‌رسانی فوری تصمیم می‌گیرد از جان با ارسال یک پیام، مبلغی پول بخواهد:
آلیس: جان، سلام!
آلیس: لطفا کلید رمزگذاری را ارسال کنید، یک درخواست کوچک وجود دارد!
جان: سلام! یک لحظه صبر کن!

اما، در این زمان، آقای ایکس که هنگام تجزیه و تحلیل ترافیک با اسنیفر متوجه این پیام و عبارت «کلید رمزگذاری» شد، کنجکاوی را برانگیخت. به همین دلیل تصمیم گرفت پیام های زیر را رهگیری کند و داده های مورد نیاز خود را جایگزین آنها کند و زمانی که پیام زیر را دریافت کرد:
جان: اینجا کلید من است: 1111_D

او کلید جان را به کلید خود تغییر داد و برای آلیس پیامی فرستاد:
جان: اینجا کلید من است: 6666_M

آلیس، بی خبر و فکر می کند که کلید جان است، با استفاده از کلید خصوصی 6666_M، پیام های رمزگذاری شده را به جان می فرستد:
آلیس: جان من مشکل دارم و نیاز فوری به پول دارم لطفا 300 دلار به حساب من واریز کنید: Z12345. متشکرم. p.s. کلید من: 2222_A

پس از دریافت پیام، Mister-X آن را با استفاده از کلید خود رمزگشایی می کند، آن را می خواند و با خوشحالی، شماره حساب و کلید رمزگذاری آلیس را به خودش تغییر می دهد، پیام را با کلید رمزگذاری می کند. 1111_D، و به جان پیام می فرستد:
آلیس: جان من مشکل دارم و نیاز فوری به پول دارم لطفا 300 دلار به حساب من واریز کنید: Z67890. متشکرم. p.s. کلید من: 6666_A

پس از دریافت پیام، جان آن را با استفاده از کلید رمزگشایی می کند. 1111_D، و بدون شک، پول را به حساب واریز می کند Z67890...

و بنابراین آقای X با استفاده از حمله مرد میانی، 300 دلار به دست آورد، اما آلیس اکنون باید توضیح دهد که پول را دریافت نکرده است... و جان؟ جان باید به آلیس ثابت کند که آنها را فرستاده است...

پیاده سازی:

نوع مشابهی از حمله در برخی از محصولات نرم افزاری برای گوش دادن به شبکه استفاده می شود، به عنوان مثال:
نت استامبلر- برنامه ای که با آن می توانید اطلاعات مفید زیادی در مورد یک شبکه بی سیم جمع آوری کنید و برخی از مشکلات مربوط به عملکرد آن را حل کنید. NetStumbler به شما امکان می دهد محدوده شبکه را تعیین کنید و به شما کمک می کند تا آنتن را به طور دقیق برای ارتباط در فواصل طولانی هدایت کنید. برای هر نقطه دسترسی یافت شده، می توانید آدرس MAC، نسبت سیگنال به نویز، نام سرویس و میزان امنیت آن را پیدا کنید. اگر ترافیک رمزگذاری نشده باشد، توانایی برنامه برای شناسایی اتصالات غیرمجاز مفید خواهد بود.

dsniff- مجموعه ای از برنامه ها برای ممیزی شبکه و بررسی نفوذ است، نظارت غیرفعال شبکه را برای جستجوی داده های مورد علاقه (رمزهای عبور، آدرس ایمیل، فایل ها و غیره)، رهگیری ترافیک شبکه که معمولاً برای تجزیه و تحلیل غیرقابل دسترسی است (به عنوان مثال، در یک شبکه سوئیچ شده) و همچنین امکان سازماندهی حملات MITM برای رهگیری جلسات SSH و HTTPS با بهره برداری از کاستی های PKI.

قابیل و هابیل- یک برنامه رایگان که به شما امکان می دهد رمزهای عبور گم شده را بازیابی کنید سیستم های عاملخانواده ویندوز چندین حالت بازیابی پشتیبانی می شود: حمله brute-force brute-force، جستجوی فرهنگ لغت، مشاهده رمزهای عبور پنهان شده توسط ستاره و غیره. همچنین گزینه هایی برای تشخیص رمز عبور با رهگیری بسته های اطلاعاتی و تجزیه و تحلیل بعدی آنها، ضبط مکالمات شبکه، تجزیه و تحلیل حافظه پنهان و موارد دیگر وجود دارد.

Ettercap- یک اسنیفر، رهگیر بسته و ثبت کننده برای شبکه های اترنت محلی است که از تجزیه و تحلیل فعال و غیرفعال بسیاری از پروتکل ها و همچنین "پرتاب" داده های خود به یک اتصال موجود و فیلتر کردن "در حال پرواز" بدون ایجاد اختلال در هماهنگ سازی اتصال پشتیبانی می کند. این برنامه به شما امکان رهگیری SSH1، HTTPS و سایر پروتکل های امن را می دهد و امکان رمزگشایی رمزهای عبور پروتکل های زیر را فراهم می کند: TELNET، ftp، POP، RLOGIN، SSH1، icq، SMB، Mysql، HTTP، NNTP، X11، NAPSTER، IRC. , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

کارما- مجموعه‌ای از ابزارهای کمکی برای ارزیابی امنیت کلاینت‌های بی‌سیم، یک اسنیفر بی‌سیم است که با گوش دادن غیرفعال به فریم‌های درخواست 802.11 Probe به شما امکان می‌دهد کلاینت‌ها و شبکه‌های ترجیحی/اعتماد آنها را کشف کنید. سپس می توان یک نقطه دسترسی جعلی برای یکی از شبکه های درخواستی ایجاد کرد که می تواند به طور خودکار به آن متصل شود. از خدمات جعلی سطح بالا می توان برای سرقت داده های شخصی یا سوء استفاده از آسیب پذیری های سمت مشتری در میزبان استفاده کرد.

هواپیمای جک- مجموعه ای از برنامه هایی که به گفته کارشناسان حوزه هک وای فای می باشد بهترین ابزاربرای تولید فریم های مختلف 802.11. AirJack شامل تعدادی ابزار است که برای شناسایی یک ESSID پنهان، ارسال فریم های پایان جلسه با MAC جعلی، انجام حملات MitM و اصلاح آن طراحی شده اند.

مخالفت:

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