بررسی چگونگی نفوذ با استفاده از افزونه های فایرفاکس

نفوذ و حمله با استفاده از افزونه های فایرفاکس

این مقاله توضیحاتی درباره راه هایی که یک هکر از طریق ان میتواند با استفاده از موزیلا فایرفاکس به عنوان یک بستر نرم افزاری برای اجرای کد های مخرب که از بیشتر زبان های برنامه نویسی پشتیبانی میکند با تمام دسترسی و ویژگی ها . افزونه های فایرفاکس میتوانند با هر هدفی کار کنند . موتور مرورگر فایرفاکس نقش یک کامپایلر و یا مترجم برای اجرای کد های شما بدون هیچ نگرانی امنیتی را باز میکند . فن اوری یا تکنولوژی توسعه افزودنیها میتواند برای ساخت و توسعه کد های مخرب مورد سوءاستفاده قرار گیرد . این مقاله توضیح میدهد چگونه سیاست های ناامن فایرفاکس و فن آوری های توسعه افزونه های فایرفاکس مانند Javascript ،CORS ، Web WebSocket ، XPCOM و XPConnect میتواند توسط برای خرابکاری به کار گرفته شوند. این مقاله دارای اثبات مفهوم یا به اصطلاح POC میباشد که شامل پیاده سازی ، Keylogger محلی ، Keylogger ریموت ، دزدیدن نشست های فایرفاکس و حملات تکذیب سرویس یا Dos میباشد .

توضیحات

فایرفاکس یک مرورگر بسیار عالی با میلیون ها کاربر در سراسر جهان میباشد که توسط شرکت موزیلا عرضه شده است . مطابق گزارش سایت معتبر W3Schools.com فایرفاکس در رده دوم در جهان از نظر استفاده دارد .

افزونه ها به کمک HTML ,CSS ,XML , XHTML , js-Ctypes ,Web Workers , XBL , XUL , XPCOM, و XpConnect با استفاده از Javascript ساخته شده و توسعه میابند . مقاله درباره چگونگی سوءاستفاده از کدزنی با موفقیت در XPCOM ، WebSocket ، CORS ، JavaScript و XPConnect که توسط فایرفاکس قرارداده شده اند.

browser

ساختار افزونه های فایرفاکس

یک افزونه فایرفاکس فقط یک فایل زیپ شده است که از پسوند .zip به پسوند .xpi تغییر پیدا کرده .

عکس ۲ نشان دهنده ساختار یک افزونه فایرفاکس میباشد .این ساختار اجزای یک افزونه معمولی فایرفاکس را نشان میدهد. این اجباری نیست که ساختار افزونه شما این طبق ساختار عکس باشد. اما فایل های ضروری و مورد نیاز برای توسعه یک افزونه فایرفاکس فایل های “chrome.manifest” ، “install.rdf” ، “overlay.xul” و “overlay.js” میباشند.

 addons structure1

هدف از این فایل ها :

  • manifest : ثبت محل محتوا با استفاده از موتور کروم
  • xul : این فایل برای تعریف عناصر که به پنجره مرورگر اضافه خواهند شد و به افزونه حالت GUI میدهد
  • rdf : اطلاعات عمومی درباره افزونه مانند نام و شماره نسخه و توضیحات
  • js : این فایل حاوی کد هایی است که توسط مرورگر اجرا میشوند

 

قسمت هایی که در توسعه افزونه ها میتوانن مورد سوءاستفاده قرار گیرد

افزونه ها بهترین قسمت از فایرفاکس میباشند .همانطور که گفته شد از زبان های قدرتمندی برای توسعه افزونه ها پشتیبانی میکند HTML, CSS, XHTML, XML, js-ctypes, Web Workers, WebSocket, CORS, XBL, XUL, XPCOM and JavaScript with XPConnect. . XUL یا XML User Interface برای ساخت رابط بین افزونه و کاربر استفاده میشود.XPCOM یاObject Model Cross Platform Component بسیار شبیه به Activex میباشد که دارای ویژگی چند زبانی بودن میباشد . XPCOM همانطور که از نامش پیداست کراس پلتفورم میباشد و زبان های زیادی اعم از C++ ، Java ، Python و Javascript پشتیبانی میکند. XpConnect یا Cross Platform Connect رابط و مترجم میان JavaScript میباشد و ان را فعال میکند .

exploitable parts of a addons

در فایرفاکس هیچ مکانیسمی تعبیه نشده که از سطح دسترسی افزونه ها و کد های مخربی که اجرا میکنن جلوگیری کنه . تابع های جاوا اسکریپت میتوانند به رابط مرورگر وارد شوند هر بار که مرورگر بارگزاری میشود . کد ها میتوانند کلید هایی که بر روی کیبورد فشرده میشوند را ذخیره کنند و در جایی ذخیره کنند و یا از طریق سرویس FTP انها را برای هکر ارسال کنند . تابع XmlHttpRequest در جاوا اسکریپت میتواند به صورت مخفیانه به دور از دید قربانی داده ها را با هکر و یا سرور دیگری مخابره کند . جاوااسکریپت به همراه XPConnect که برای مدیریت فایل ها ، Process ها و … مورد استفاده قرار میگرند میتوانند جهت اجرای یک فایل اجرایی .exe به کار گرفته شوند و تغیرات بر روی فایل های سیستمی انجام دهند بدون هیچ محدودیتی . CORS و WebSocket میتوانند جهت ساخت درخواست های اشتباه به سرور های دیگر و حملات تکذیب سرویس یا Dos مورد استفاده قرار گیرند.

سوءاستفاده از ضعف ها

چند سناریو برای استفاده از ضعف ها :

  • با اضافه کردن تابع “addEventListener” ما میتوانیم یک کیلاگر بر روی افزونه خود کار بگذازیم
  • ما میتوانیم با پک کردن یک فایل مخرب اجرایی ویندوز (.exe) و با با استفاده از عملیات های فایل I/O که توسط XPConnect پشتیبانی میشود فایل مخرب را اجرا کنیم
  • ما میتوانیم با ذخیره کردن یک کد مخرب جاوا اسکریپت بر روی رابط فایرفاکس هر بار که مرورگر بارگزاری میشود کد های مخرب جاوااسکریپت خود را اجرا کنیم
  • ما میتوانیم تمامی نشست های فایرفاکس را به وسیله یک افزونه مخرب به سرقت ببریم
  • یک افزونه میتواند به راحتی بدون هیچ محدودیتی به فایل های محرمانه در سیستم دسترسی داشته باشد
  • با استفاده از XHR میتوانیم اطلاعات قربانی را میان هکر و قربانی تبادل کنیم .
  • CORS و WebSocket میتوانند جهت ساخت درخواست های اشتباه به سرور های دیگر و حملات تکذیب سرویس یا DDos یک وب سایت مورد استفاده قرار گیرند.

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

fully undetectable

اثبات و مثال تمامی فرضیه های موجود در مقاله را میتوانید در افزونه های زیر ببینید

  • Xenotix KeylogX
  • Xenotix Remote Keylogger
  • Xenotix Session Stealer
  • Xenotix DDoser.

منابع :

www.youtube.com/watch?v=gn-c2NHJN9o

https://www.exploit-db.com/docs/24541.pdf

موضوع:

دسته‌بندی نشده

۲ نظر

ارسال نظر

ایمیل شما منتشر نخواهد شد. پر کردن ورودی ها الزامی است. *

*

4 × سه =