به حملاتی که به صورت remote، کاملا موذیانه یا بی سر و صدا صورت می گیرند حملات Client Side یا همان کلاینت هکینگ گفته می شود. در حملات کلاینت ساید هکینگ، از ضعف و آسیب پذیری موجود در نرم افزار سواستفاده می شود. حملات Client Side از سیستم قربانی آغاز می شود که علی رغم چیزی که فکر می کنید و برخلاف تصورات عموم مردم، سیستم قربانی لازم نیست که دارای آدرسی قابل روت (Route) و یا ارتباط مستقیم با هکر باشد.
منظور از کلاینت هکینگ (Client Hacking) چیست؟
اگر می خواهید این موضوع را بهتر درک کنید، مثالی را برایتان در ادامه خواهیم زد که به بهتر فهمیدن این حملات کمک خواهد کرد. به عنوان نمونه فرض کنید که در شبکه داخلی شرکت که از بیرون قابل Route نیست، برای یک کارمند ایمیلی ارسال می شود که در آن یک لینک به وب سایت مخرب وجود دارد و این فرد این ایمیل را دریافت میکند. پس از آن کارمند بر روی لینک می زند این لینک او را به صفحه ی جعلی که هکر طراحی کرده است یعنی HTML ای هدایت می کند دارای Exploit Code برای یک مرورگر IE (Patch پچ نشده) می باشد. حال وظیفه ی این کد HTML این است که حفره امنیتی Buffer Overflow را به طور مستقیم مورد هدف قرار دهد. همچنین از شبکه داخلی سیستم فرد قربانی reverse shell که پشت فایروال می باشد را به شخص هکر که در بیرون از شبکه با پورت 443 منتظر این ارتباط است ارسال می کند.
در واقع باید گفت که اینکه از یک سرور در مقابل چنین اتفاقاتی بخواهیم به عنوان یک مدیر شبکه محافظت کنیم امر دشواری نخواهد بود ولی در این میان، کاری که دشوار است مراقبت و رصد تمام کلاینت ها در شبکه داخلی می باشد. از این رو، مانیتورینگ و به روز رسانی نسخه های نرم افزار (از جملهWinZip, Winamp, WinRAR, Acrobat Reader, Browser plugins و …) بر روی همه ی کلاینت های شبکه تقریبا غیر ممکن خواهد بود.
راه های هکر ها برای جمع آوری اطلاعات از هدف
هکر ممکن است در حین انجام کلاینت هکینگ، به مشکل Enumerate کردن نرم افزار موجود بر روی سیستم کلاینت برخورد کند که به راحتی انجام نخواهد شد. در واقع منظور از Enumerate کردن، فرآیند استخراج نام یوزرها، نام سیستم ها، منابع شبکه، Share ها و سرویس ها از یک سیستم است که هکر انجام می دهد تا از این طریق به کشف یک آسیب پذیری بپردازد. حال اگر هکر بخواهد در انجام این کار به موفقیت دست پیدا کند، می بایست از سیستم شخص قربانی به جمع آوری اطلاعات بیشتری بپردازد. هکر ها به منظور کسب اطلاعات از سیستمی که در دسترس نیست و یا یک نرم افزار کلاینتی از 2 راه وارد عمل می شوند که این راه ها را در اینجا آورده ایم و سپس به توضیح هر یک به طور جداگانه خواهیم پرداخت:
- Passive (پسیو)
- Active (اکتیو)
کسب اطلاعات به صورت پسیو (Passive Information Gathering)
کسب اطلاعات به صورت پسیو به این معنی است که هکر ها به صورت بالقوه به جمع آوری اطلاعات می پردازند که در این نوع از جمع آوری اطلاعات از قربانی از اطلاعات عمومی موجود در این زمینه استفاده می شود. در این روند کسب اطلاعات، سرویس هایی مانند نتایج موتور جستجو، اطلاعات whois، اطلاعات عمومی شرکت یا به عبارت دیگر هرگونه فعالیت جهت جمع آوری اطلاعات که بدون کوچکترین برقراری ارتباط با هدف است، مورد استفاده قرار می گیرد. بنابراین در این جا “بالقوه” یا همان “پسیو” به این معناست که هیچگونه ارتباط مستقیمی با هدف یا همان قربانی برقرار نشود.
کسب اطلاعات به صورت اکتیو (Active Information Gathering)
کسب اطلاعات به صورت اکتیو به فرآثیندی گفته می شود که در آن هکر از هرگونه عملی استفاده می کند که در پی آن با هدف ارتباط مستقیمی برقرار می شود. مانند برقراری تماس تلفنی و جا زدن خود به عنوان یک پشتیبان شبکه شرکت و تلاش برای تخلیه اطلاعاتی فردی که در پشت خط قرار دارد. همچنین، هکر می تواند از طریق راه های دیگری مانند فرستادن ایمیل با قصد دریافت پاسخ از فرد مورد هدف باشد و یا کلیک کردن قربانی بر روی لینک مخربی که هکر با هدف هدایت مرورگر فرد به صفحه ای که نسخه مرورگر و سایر اطلاعات مرتبط با آن را Enumerate (استخراج) کند.
مهندسی اجتماعی برای انجام کلاینت هکینگ
حملات کلاینت ساید به حملاتی گفته می شود که در آن فرد قربانی می بایست یک عملی را انجام دهد که این کار ها شامل کلیک کردن بر روی یک لینک، باز کردن یک ایمیل، اجرای یک پیوست (ایمیل)، باز کردن یک پوشه و … می شود. بنابراین یک هکر سعی می کند طوری پیش رود که فرد مورد نظرش دقیقا همان عملی را که او می خواهد انجام دهد تا بتواند به اهداف سودجویانه خود برسد. اما از آنجایی که این روز ها اکثر افراد نسبت به این حملات آگاهی پیدا کرده اند و در رابطه با این روش های هک از جمله فیشینگ، مهندسی اجتماعی و غیره اطلاع رسانی شده است، کمتر پیش می آید که هکر ها بتوانند موفق به انجام آن شوند. اما خیلی وقت ها هکر های ماهر توانسته اند خیلی نامحسوس و از طریق روش مهندسی اجتماعی، هدف خود را متقاعد به انجام این اعمال کنند.
شما قصد اجرای یک حمله Client Side به بخش منابع انسانی یک شرکت را دارید. برای این کار فقط کافیست که یک آگهی استخدام مرتبط با آن شرکت را دریافت کنید( از اینترنت، روزنامه و …). در مرحله بعد شما یک رزومه در فرمت PDF را برای آن شرکت ارسال میکنید؛ منتها نکته ای که وجود دارد، اینست که فایل شما باید خراب باشد و باز نشود. اگر خوش شانس باشید و همه چیز طبق نقشه پیش برود، از طریق ایمیل و یا تماس تلفی با شما تماس خواهد گرفته شد که فایل رزومه شما باز نمیشود. در جواب شما اصل نقشه خود را شروع میکنید و بصورت نامحسوس در رابطه با نسخه Acrobat Reader ای که استفاده میکنند خواهید پرسید و اگر زرنگ تر باشید خواهید توانست در قالب سوال های فنی جهت رفع مشکل، نوع سیستم عامل هدف را نیز جویا شوید.
حالا شما میدانید که هدف شما از نسخه Acrobat Reader ای استفاده میکند که آسیب پذیر است. بنابراین با ظاهر آن که رزومه ی دیگر در فرمت PDF ارسال خواهید کرد، فایلی با همین شکل و شمایل و با محتوایی جهت آسیب رساندن به نسخه آسیب پذیر Acrobat Reader و سیستم عامل مورد نظر در سیستم هدف مجددا ارسال خواهید کرد. حال فقط کافیست تا شخص مربوطه در بخش منابع انسانی فایل بظاهر رزومه شما را باز کند.
سخن پایانی
تا به اینجا فهمیدیم که تا حدودی همه چیز دست خودمان است و اگر می خواهیم از حملات سایبری و هک شدن در امان بمانیم می بایست بیشتر مراقب اعمال خود در دنیای اینترنت باشیم و به کسب اطلاعات بیشتر در این زمینه بپردازیم. بنابراین حتی اگر کسی بخواهد گوشی شما را هک کند و در پی آن به هک پیام های تلگرام شما و سایر شبکه های اجتماعیتان بپردازد، اگر شما با رفتار های نادرست خود این مجوز را به آن فرد ندهید، هیچکس نمی تواند شما را هک کند. پس سعی کنید که در حفظ امنیت سایبری خود کوشا باشید و اطلاعات شخصی و محرمانه ی خود را در اختیار افراد قرار ندهید.