در این سری از مقالات، روشهای حمله را بررسی میکنیم که به حداقل تلاش هکرها نیاز دارد. در گذشته مقاله ما پوشش دادهایم که میتوان خود کد را در محموله خودکار DDE در Microsoft Word قرار داد. با باز کردن چنین سندی پیوست شده به یک ایمیل فیشینگ، یک کاربر بی احتیاط به مهاجم اجازه می دهد تا جای پایی در رایانه خود به دست آورد. با این حال، در پایان سال 2017، مایکروسافت بسته این حفره برای حملات به DDE.
راه حل یک ورودی رجیستری اضافه می کند که غیرفعال می شود توابع DDE در Word. اگر همچنان به این قابلیت نیاز دارید، میتوانید با فعال کردن قابلیتهای قدیمی DDE، این گزینه را برگردانید.
با این حال، پچ اصلی فقط مایکروسافت ورد را پوشش می داد. آیا این آسیب پذیری های DDE در سایر محصولات مایکروسافت آفیس وجود دارد که می توانند در حملات بدون کد مورد سوء استفاده قرار گیرند؟ بله حتما. به عنوان مثال، می توانید آنها را در اکسل نیز پیدا کنید.
Night of the Living DDE
یادم می آید آخرین باری که در توضیح اسکریپت های COM توقف کردم. قول می دهم که بعداً در این مقاله به آنها خواهم رسید.
در همین حال، اجازه دهید به یکی دیگر از جنبه های شیطانی DDE در نسخه اکسل نگاه کنیم. درست مانند ورد، برخی ویژگی های پنهان DDE در اکسل به شما امکان می دهد بدون تلاش زیاد کد را اجرا کنید. به عنوان یک کاربر Word که بزرگ شدم، با فیلدها آشنا بودم، اما اصلاً با توابع در DDE آشنا نبودم.
از اینکه فهمیدم در اکسل می توانم پوسته ای از یک سلول را مانند شکل زیر فراخوانی کنم شگفت زده شدم:
آیا می دانستید که این امکان پذیر است؟ من شخصا این کار را نمی کنم
این توانایی برای راه اندازی پوسته ویندوز توسط DDE ارائه شده است. شما می توانید به خیلی چیزهای دیگر فکر کنید
برنامه هایی که می توانید با استفاده از توابع DDE داخلی اکسل به آنها متصل شوید.
آیا شما هم به همان چیزی فکر می کنید که من فکر می کنم؟
اجازه دهید دستور درون سلولی ما یک جلسه PowerShell را شروع کند و سپس پیوند را دانلود و اجرا کند - این پذیرش، که قبلاً از آن استفاده کرده ایم. زیر را ببینید:
کافی است کمی PowerShell را برای بارگیری و اجرای کدهای راه دور در اکسل بچسبانید
اما نکته ای وجود دارد: برای اینکه این فرمول در اکسل کار کند، باید این داده ها را صریحاً در سلول وارد کنید. چگونه یک هکر می تواند این دستور DDE را از راه دور اجرا کند؟ واقعیت این است که وقتی یک جدول اکسل باز است، اکسل سعی می کند تمام پیوندهای موجود در DDE را به روز کند. تنظیمات مرکز اعتماد مدتهاست که توانایی غیرفعال کردن این مورد یا هشدار را در هنگام بهروزرسانی پیوندها به منابع داده خارجی دارند.
حتی بدون آخرین وصله ها، می توانید به روز رسانی خودکار لینک ها را در DDE غیرفعال کنید
مایکروسافت در اصل خودش توصیه کرد شرکتها در سال 2017 باید بهروزرسانی خودکار لینکها را غیرفعال کنند تا از آسیبپذیریهای DDE در Word و Excel جلوگیری کنند. در ژانویه 2018، مایکروسافت وصلههایی را برای اکسل 2007، 2010 و 2013 منتشر کرد که به طور پیشفرض DDE را غیرفعال میکرد. این مقاله Computerworld تمام جزئیات وصله را شرح می دهد.
خوب، در مورد گزارش رویدادها چطور؟
با این حال مایکروسافت DDE را برای MS Word و Excel رها کرد و در نهایت متوجه شد که DDE بیشتر شبیه یک اشکال است تا عملکرد. اگر به دلایلی هنوز این وصلهها را نصب نکردهاید، همچنان میتوانید با غیرفعال کردن بهروزرسانی خودکار پیوندها و فعال کردن تنظیماتی که کاربران را وادار میکند هنگام باز کردن اسناد و صفحات گسترده، پیوندها را بهروزرسانی کنند، خطر حمله DDE را کاهش دهید.
اکنون سوال میلیون دلاری: اگر قربانی این حمله باشید، آیا جلسات PowerShell که از فیلدهای Word یا سلول های اکسل راه اندازی می شوند در گزارش نشان داده می شوند؟
سوال: آیا جلسات PowerShell از طریق DDE راه اندازی می شوند ثبت شده اند؟ پاسخ: بله
هنگامی که جلسات PowerShell را مستقیماً از یک سلول اکسل به جای ماکرو اجرا می کنید، ویندوز این رویدادها را ثبت می کند (به بالا مراجعه کنید). در عین حال، نمیتوانم ادعا کنم که برای تیم امنیتی آسان است که همه نقاط را بین جلسه PowerShell، سند اکسل و پیام ایمیل وصل کنند و بفهمند که حمله از کجا شروع شده است. من در آخرین مقاله از مجموعه بی پایان خود در مورد بدافزار گریزان به این موضوع بازخواهم گشت.
COM ما چطوره؟
در قبلی مقاله من موضوع اسکریپت های COM را لمس کردم. آنها به خودی خود راحت هستند. فن آوری، که به شما اجازه می دهد تا کد، مثلاً JScript، را به سادگی به عنوان یک شی COM ارسال کنید. اما پس از آن اسکریپت ها توسط هکرها کشف شد و این به آنها اجازه داد تا بدون استفاده از ابزارهای غیر ضروری، جای پایی بر روی رایانه قربانی به دست آورند. این تصویری از Derbycon ابزارهای داخلی ویندوز مانند regsrv32 و rundll32 را نشان می دهد که اسکریپت های راه دور را به عنوان آرگومان می پذیرند و هکرها اساساً حمله خود را بدون کمک بدافزار انجام می دهند. همانطور که دفعه قبل نشان دادم، می توانید به راحتی دستورات PowerShell را با استفاده از یک اسکریپت JScript اجرا کنید.
معلوم شد که یکی خیلی باهوش است محقق راهی برای اجرای یک اسکریپت COM پیدا کرد в سند اکسل او متوجه شد که وقتی میخواست پیوندی به یک سند یا تصویر را در یک سلول وارد کند، بسته خاصی در آن قرار میگرفت. و این بسته بی سر و صدا یک اسکریپت راه دور را به عنوان ورودی می پذیرد (به زیر مراجعه کنید).
رونق! یکی دیگر از روش های مخفیانه و بی صدا برای راه اندازی یک پوسته با استفاده از اسکریپت های COM
پس از بازرسی کد سطح پایین، محقق متوجه شد که واقعا چیست حشره در نرم افزار بسته این برنامه برای اجرای اسکریپت های COM در نظر گرفته نشده بود، بلکه فقط برای پیوند دادن به فایل ها در نظر گرفته شده بود. من مطمئن نیستم که آیا قبلاً اصلاحیه ای برای این آسیب پذیری وجود دارد یا خیر. در مطالعه خودم با استفاده از فضاهای کاری آمازون با آفیس 2010 از پیش نصب شده، توانستم نتایج را تکرار کنم. با این حال، زمانی که کمی بعد دوباره امتحان کردم، کار نکرد.
من واقعاً امیدوارم که چیزهای جالب زیادی به شما گفته باشم و در عین حال نشان داده باشم که هکرها می توانند به روشی مشابه به شرکت شما نفوذ کنند. حتی اگر تمام آخرین وصلههای مایکروسافت را نصب کنید، هکرها هنوز ابزارهای زیادی برای به دست آوردن جای پایی در سیستم شما دارند، از ماکروهای VBA که این سری را با آنها شروع کردم تا بارهای مخرب در Word یا Excel.
در آخرین مقاله (من قول می دهم) در این حماسه، در مورد نحوه ارائه حفاظت هوشمند صحبت خواهم کرد.