ALPACA - یک تکنیک جدید برای حملات MITM به HTTPS

تیمی از محققان از چندین دانشگاه در آلمان یک حمله MITM جدید به HTTPS ایجاد کرده‌اند که می‌تواند کوکی‌های جلسه و سایر داده‌های حساس را استخراج کند و همچنین کدهای جاوا اسکریپت دلخواه را در زمینه یک سایت دیگر اجرا کند. این حمله ALPACA نامیده می شود و می تواند بر روی سرورهای TLS اعمال شود که پروتکل های لایه کاربردی مختلف (HTTPS، SFTP، SMTP، IMAP، POP3) را پیاده سازی می کنند، اما از گواهی های TLS رایج استفاده می کنند.

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

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

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

  • "آپلود" برای بازیابی یک کوکی با پارامترهای احراز هویت. این روش در صورتی قابل اجرا است که سرور FTP تحت پوشش گواهی TLS به شما اجازه آپلود و بازیابی داده های آن را بدهد. در این نوع حمله، مهاجم می‌تواند به حفظ بخش‌هایی از درخواست HTTP اصلی کاربر، مانند محتویات هدر کوکی، دست یابد، برای مثال، اگر سرور FTP درخواست را به عنوان یک فایل ذخیره تفسیر کند یا درخواست‌های دریافتی را به طور کامل ثبت کند. برای حمله موفقیت آمیز، مهاجم باید به نحوی محتوای ذخیره شده را استخراج کند. این حمله برای Proftpd، Microsoft IIS، vsftpd، filezilla و serv-u قابل اجرا است.
  • "دانلود" برای سازماندهی اسکریپت های متقابل سایت (XSS). این روش نشان می‌دهد که مهاجم در نتیجه برخی دستکاری‌های فردی، می‌تواند داده‌ها را در سرویسی قرار دهد که از یک گواهی TLS مشترک استفاده می‌کند، که سپس می‌تواند در پاسخ به درخواست کاربر صادر شود. این حمله برای سرورهای FTP فوق، سرورهای IMAP و سرورهای POP3 (پیک، cyrus، kerio-connect و zimbra) قابل اعمال است.
  • "Reflection" برای اجرای جاوا اسکریپت در زمینه یک سایت دیگر. این روش مبتنی بر بازگشت بخشی از درخواست به مشتری است که حاوی کد جاوا اسکریپت ارسال شده توسط مهاجم است. این حمله برای سرورهای FTP فوق الذکر، سرورهای cyrus، kerio-connect و zimbra IMAP و همچنین سرور sendmail SMTP قابل اعمال است.

ALPACA - یک تکنیک جدید برای حملات MITM به HTTPS

به عنوان مثال، هنگامی که یک کاربر صفحه ای را باز می کند که توسط یک مهاجم کنترل می شود، این صفحه ممکن است درخواستی برای منبعی از سایتی که کاربر در آن یک حساب فعال دارد (به عنوان مثال bank.com) آغاز کند. در طول یک حمله MITM، این درخواست خطاب به وب سایت bank.com می تواند به یک سرور ایمیل که از گواهی TLS استفاده می کند که با bank.com به اشتراک گذاشته شده است هدایت شود. از آنجایی که سرور ایمیل پس از اولین خطا جلسه را خاتمه نمی دهد، سرصفحه های سرویس و دستوراتی مانند "POST / HTTP/1.1" و "Host:" به عنوان دستورات ناشناخته پردازش می شوند (سرور ایمیل "500 فرمان ناشناس" را برای هر هدر).

سرور ایمیل ویژگی های پروتکل HTTP را درک نمی کند و برای آن هدرهای سرویس و بلوک داده درخواست POST به همین ترتیب پردازش می شوند، بنابراین در متن درخواست POST می توانید خطی را با یک دستور مشخص کنید. سرور پست الکترونیکی به عنوان مثال، شما می توانید ارسال کنید: MAIL FROM: alert(1); که سرور ایمیل به آن پیغام خطای 501 برمی گرداند alert(1); : آدرس بد شکل: alert(1); ممکن است دنبال نشود

این پاسخ توسط مرورگر کاربر دریافت می‌شود، که کد جاوا اسکریپت را نه در زمینه وب‌سایت مهاجم که در ابتدا باز شده بود، بلکه در وب‌سایت bank.com که درخواست به آن ارسال شده است، اجرا می‌کند، زیرا پاسخ در یک جلسه TLS صحیح آمده است. ، که گواهی آن صحت پاسخ بانک دات کام را تایید می کرد.

ALPACA - یک تکنیک جدید برای حملات MITM به HTTPS

اسکن شبکه جهانی نشان داد که به طور کلی حدود 1.4 میلیون وب سرور تحت تأثیر این مشکل قرار گرفته اند که می توان با استفاده از پروتکل های مختلف درخواست ها را با هم مخلوط کرد. احتمال حمله واقعی برای 119 هزار وب سرور مشخص شد که برای آنها سرورهای TLS همراه بر اساس پروتکل های کاربردی دیگر وجود داشت.

نمونه هایی از اکسپلویت ها برای سرورهای ftp pureftpd، proftpd، microsoft-ftp، vsftpd، filezilla و serv-u، سرورهای IMAP و POP3 dovecot، courier، Exchange، cyrus، kerio-connect و zimbra، سرورهای SMTP postfix، exim، sendmail آماده شده است. ، mailenable، mdaemon و opensmtpd. محققان امکان انجام حمله را تنها در ترکیب با سرورهای FTP، SMTP، IMAP و POP3 بررسی کرده‌اند، اما ممکن است این مشکل برای سایر پروتکل‌های کاربردی که از TLS استفاده می‌کنند نیز رخ دهد.

ALPACA - یک تکنیک جدید برای حملات MITM به HTTPS

برای جلوگیری از حمله، پیشنهاد می شود از پسوند ALPN (مذاکره پروتکل لایه برنامه) برای مذاکره در یک جلسه TLS با در نظر گرفتن پروتکل برنامه و پسوند SNI (نمایش نام سرور) برای اتصال به نام میزبان در صورت استفاده استفاده شود. گواهی های TLS که چندین نام دامنه را پوشش می دهد. در سمت برنامه، توصیه می شود محدودیت تعداد خطاها را هنگام پردازش دستورات محدود کنید، پس از آن اتصال قطع می شود. روند توسعه اقدامات برای جلوگیری از حمله در اکتبر سال گذشته آغاز شد. اقدامات امنیتی مشابهی قبلاً در Nginx 1.21.0 (پراکسی پست الکترونیکی)، Vsftpd 3.0.4، Courier 5.1.0، Sendmail، FileZill، crypto/tls (Go) و اینترنت اکسپلورر انجام شده است.

منبع: opennet.ru

اضافه کردن نظر