حمله HTTP Downgrading با استفاده از SSL Stripping

99

در حمله SSL Strip، تمامی ترافیک‌ها از مبداء سیستم قربانی (کلاینت) از طریق یک پروکسی که توسط هکر ایجاد شده است، مسیردهی می‌شوند. می‌توان اینطور فرض کرد که این حمله نوعی MITM است.

بر ای شروع کار، فرض می‌کنیم که شما هکر هستید و می‌توانید کانکشنی بین سیستم قربانی و سرور برقرار کنید. یعنی آنکه تمام جریان‌های ترافیکی از مبداء سیستم قربانی از سیستم شما – به عنوان پروکسی – رد می‌شود؛ که نتیجه آن یا برخورد با خطای certificate است و یا در غیر اینصورت، رشته‌ای ترافیک رمز شده کپچر می‌شود که در عمل هیچکدام بدرد ما نمی‌خورد.

چه عاملی ssl strip را از حملاتی مانند MITM متفاوت می‌کند؟


بگذارید با یک سناریو موضوع را مطرح کنیم؛ در این سناریو، یک ماشین برای قربانی (A)، یک سیستم برای اتکر(B) و یک سرور (C) داریم. ssl strip بروی سیستم اتکر که نقش پروکسی سرور را در سناریو ایفاء می‌کند، اجرا می‌شود که در اینصورت دیگر ارتباط مستقیمی بین سیستم قربانی و سرور وجود نخواهد داشت.

حقیقت زیبایی که در مورد ssl striping وجود دارد اینست که در طی این فرآیند، مرورگر شما هیچ خطای certificate ای را نمایش نمی‌دهد و در طرف مقابل هم، قربانی یا قربانیان هیچ علامتی مبنی بر طعمه یک حمله شدن را مشاهده نخواهند کرد. از آنجا که downgrade شدن کانکشن برقرار شده با مرورگر قربانی از https به http، نتیجه عینی موفقیت آمیز بودن این نوع حمله است؛ به همین علت ssl striping بیشتر با نام حملات http downgrading معروف است.

فرض کنید که فرد A می‌خواهد پولی را از حساب خود و با استفاده از سیستم آنلاین بانکی منتقل کند؛ بنابراین در آدرس‌بار خود آدرس زیر را وارد می‌کند:
http://Etestbank.ir/online-bank.asp
در پشت زمینه این اتفاق ساده، مرورگر سیستم قربانی به سیستم اتکر – پروکسی – وصل شده و منتظر پاسخ از سمت سرور می‌ماند. اتکر (B) درخواست سیستم A را به سرور فوروارد کرده و منتظر پاسخ برگشتی از سرور بانک (C) خواهد ماند. کانکشن بین B و C همانطور که انتظار می‌رود، secure است؛ یعنی آنکه تمام ترافیک منتقل شده بین B و C از یک تونل ssl ای عبور می‌کند. متعاقبا سرور بانک با ارسال صفحه لاگین پاسخ می‌دهد:
https://Etestbank.ir/online-bank.asp
در این مرحله، اتکر به صفحه لاگین دسترسی پیدا کرده و با تغییر response سرور از https به http، تیرآخر حمله را می‌‌زند. با انجام این عمل، اتکر response ویرایش شده از https به http را به سیستم A ارسال می‌کند. چیزی که به عنوان پاسخ به دست سیستم از همه جا بی‌خبر A می‌رسد، صفحه لاگینی با آدرس زیر است:
http://Etestbank.ir/online-bank.asp
در این لحظه قربانی به اینترنت بانک دسترسی پیدا کرده است اما… با کانکشنی غیرامن. از این لحظه به بعد تمامی اطلاعات ارسالی از سیستم A بصورت plain text به سیستم B منتقل شده و پس از استخراح اطلاعات توسط هکر، اطلاعات بصورت امن به سرور بانک فوروارد می‌شوند. این در حالی‌ست که سرور بانک و سیستم A هر دو فکر می‌کنند که کانکشن امنی با یکدیگر برقرار کرده‌اند.

 

آماده سازی محیط حمله:

حملات ssl strip، نه تنها با یک روش، بلکه با متدهای مختلفی می‌تواند صورت پذیرد؛ که ما در اینجا درباره سه تا از مهم‌ترین آن‌ها بحث می‌کنیم:
۱٫ بصورت manual پروکسی مرورگر را طوری تنظیم کنیم که تمام ترافیک را به سمت پروکسی (B) مسیردهی کند.
۲٫ ARP Poisoning
۳٫ راه اندازی یک هات‌اسپات و ترغیب مردم به وصل شدن به آن.


در قسمت بعد در رابطه با سومین مورد یعنی راه‌اندازی یک هات اسپات به عنوان پروکسی سرورصحبت خواهم کرد.

 

مانا باشید
احسان امجدی / کارشناس و مدرس دوره‌های تحلیل امنیت

“اگر بر این باورید که با نقض قانون کپیرایت، وضعیتی بهتر در انتظارمان خواهد بود، بدون ذکر نامِ نویسنده و منبع، مجاز به انتشار مطالب هستید. “

 

Get real time updates directly on you device, subscribe now.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.