احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

Client Side Hacking چیست؟ آشنایی با حملات سمت کلاینت

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

حملات Client Side را میتوان به نوعی بی سروصدا ترین و یا شاید موذیانه ترین نوع از حملاتی دانست که بصورت remote انجام میشوند. این نوع حمله شامل سوء استفاده از ضعف موجود در نرم افزار؛ مانند یک مرورگر (که در مقابل نرم افزار سرور مانند سرور POP3 قرار دارد)؛ به منظور بدست آوردن دسترسی به آن سیستم است. اساس حملات Client Side از خود سیستم قربانی ریشه میگیرد. برای قربانی شدن بر خلاف تصوری که وجود دارد اصلا نیازی نیست که سیستم قربانی آدرسی قابل Route و یا ارتباط مستقیم با هکر داشته باشد.

برای بیشتر متوجه شدن موضوع سناریو ای را در نظر بگیرید که در آن یک کارمند در شبکه داخلی شرکت (که از بیرون قابل Route نیست)، ایمیلی را دریافت میکند که حاوی یک لینک به وب‌سایتی مخرب است. کارمند بر روی لینک کلیک میکند و در نتیجه این عمل بسمت صفحه HTML ای هدایت خواهد شد که در بردارنده Exploit Code ای برای یک مرورگر IE (Patch نشده) است. این کد HTML مستقیما آسیب پذیری Buffer Overflow را هدف میگیرد و یک reverse shell را از سمت شبکه داخلی سیستم قربانی که پشت فایروال است، به هکری خوهد فرستاد که در بیرون از شبکه با پورت 443 منتظر این ارتباط است.

به عنوان یک مدیر شبکه محافظت از یک سرور در مقابل چنین اتفاقاتی کار سختی نیست اما مراقبت و رصد تمام کلاینت ها در شبکه داخلی اصلا کار ساده ای نیست. به همین علت است که مانیتورینگ و بروزرسانی نسخه های نرم افزار (مانند WinZip, Winamp, WinRAR, Acrobat Reader, Browser plugins و غیره) بروی روی تمام کلاینت های شبکه تقریبا غیرممکن است.

هدف خود را بشناسید

مشکلی که در اجرای حمله Client Side، هکر با آن روبروست اینست که Enumerate کردن نرم افزار موجود بر روی سیستم کلاینت براحتی انجام نمیشود. بر خلاف سرورهای POP3 و یا FTP، نمیتوانید مستقلا با جستجوی پورت ها به اطلاعات مورد نظر دست پیدا کنید. بنابراین رمز موفقیت در جمع آوری مجدد و بیشتر اطلاعات از سیستم قربانی است. به دو روش میتوان در رابطه با سیستمی که در دسترس نیست و یا یک نرم افزار کلاینتی کسب اطلاعات کرد: پسیو و اکتیو.

جمع آوری پسیو اطلاعات (Passive Information Gathering)

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

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

جمع آوری اکتیو اطلاعات (Active Information Gathering)

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

مهندسی اجتماعی (Social Engineering) و حملات Client Side

اکثر غریب به اتفاق حملات Client Side نیازمند انجام عملی از سوی هدف میباشند ( مانند نیاز به کلیک کردن هدف بر روی یک لینک، باز کردن یک ایمیل، اجرای یک پیوست (ایمیل)، باز کردن یک پوشه و ...). برای اتفاق افتادن تمامی این موارد شما باید خیلی خوش شانس باشید که هدف شما دقیقا همان عملی را انجام دهد که شما انتظارش را دارید، که در اکثر موارد اوضاع بر وفق مراد هکر پیش نمیرود. بنابراین با اجرای یک مهندسی اجتماعی میتوان بصورت نامحسوس هدف را به انجام این اعمال در کمترین زمان هدایت کرد و شانس خود را برای موفقیت بیشتر نمود.

سناریو زیر را در نظر بگیرید

شما قصد اجرای یک حمله Client Side به بخش منابع انسانی یک شرکت را دارید. برای این کار فقط کافیست که یک آگهی استخدام مرتبط با آن شرکت را دریافت کنید( از اینترنت، روزنامه و ...). در مرحله بعد شما یک رزومه در فرمت PDF را برای آن شرکت ارسال میکنید؛ منتها نکته ای که وجود دارد، اینست که فایل شما باید خراب باشد و باز نشود). اگر خوش شانس باشید و همه چیز طبق نقشه پیش برود، از طریق ایمیل و یا تماس تلفی با شما تماس خواهد گرفته شد که فایل رزومه شما باز نمیشود. در جواب شما اصل تقشه خود را شروع میکنید و بصورت نامحسوس در رابطه با نسخه Acrobat Reader ای که استفاده میکنند خواهید پرسید و اگر زرنگ تر باشید خواهید توانست در قالب سوال های فنی جهت رفع مشکل، نوع سیستم عامل هدف را نیز جویا شوید.

حالا شما میدانید که هدف شما از نسخه Acrobat Reader ای استفاده میکند که آسیب پذیر است. بنابراین با ظاهر آن که رزومه ی دیگر در فرمت PDF ارسال خواهید کرد، فایلی با همین شکل و شمایل و با محتوایی جهت آسیب رساندن به نسخه آسیب پذیر Acrobat Reader و سیستم عامل مورد نظر در سیستم هدف مجددا ارسال خواهید کرد. حال فقط کافیست تا شخص مربوطه در بخش منابع انسانی فایل بظاهر رزومه شما را باز کند و .... .امیدوارم در این آموزش بخوبی با مفهوم کلی حملات Client Side آشنا شده باشید.در آینده بیشتر در این مورد صحبت خواهیم نمود.سربلند و مانا باشید.


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

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

نظرات