تحلیل و مقایسه جامع زیرساختهای فرماندهی و کنترل (C2)
در این مقاله تخصصی، به بررسی و مقایسه جامع ابزارهای فرماندهی و کنترل (C2) مانند Cobalt Strike، Mythic، Brute Ratel و سایر ابزارهای مهم در فاز Post-Exploitation عملیات تیم قرمز میپردازیم. با تحلیل فنی دقیق، به شما کمک میکنیم بهترین ابزار را برای سناریوهای امنیت سایبری انتخاب کنید.
خلاصه تخصصی مقاله
در این مقاله تخصصی، به بررسی و مقایسه جامع ابزارهای فرماندهی و کنترل (C2) مانند Cobalt Strike، Mythic، Brute Ratel و سایر ابزارهای مهم در فاز Post-Exploitation عملیات تیم قرمز میپردازیم. با تحلیل فنی دقیق، به شما کمک میکنیم بهترین ابزار را برای سناریوهای امنیت سایبری انتخاب کنید.
موضوعات اصلی: امنیت سایبری، میکند، ایجنت، استفاده، بسیار، هدف
فهرست مطالب
در دنیایامنیت سایبریامروز، عملیات تیم قرمز (Red Team) دیگر فقط به پیدا کردن یک راه نفوذ اولیه خلاصه نمیشود. چالش اصلی و هنر واقعی، پس از نفوذ است یعنی ماندگاری در شبکه هدف، پنهان ماندن از چشم تیم آبی و سیستمهای امنیتی و اجرای دقیق کامند و دستورات در یک محیطی که به شدت تحت نظارت قرار دارد. در قلب این مرحله که به آن مرحله پس از نفوذ (Post-Exploitation) میگوییم، زیرساختهای فرماندهی و کنترل یا همان C2 قرار دارند. این ابزارها ستون فقرات عملیاتتیم قرمزهستند و به اپراتورها اجازه میدهند کنترل سیستمهای قربانی تسخیر شده را حفظ کنند و در شبکه حرکت کرده (Lateral Movement) و به اهداف نهایی خود برسند.
این مستند، نتیجه تحقیق روی رفرنس اصلی ابزارها، گیت هاب و مقالات علمی و همچنین مقداری فعالیت عملی بر روی تعدادی از کلیدیترین ابزارهای C2 است. هدف ما این است که ابزار استاندارد و شناختهشدهی صنعت یعنی Cobalt Strike را در کنار رقبای قدرتمند و جدیدی مثل Brute Ratel، پلتفرمهای ماژولار و متنبازی (Open-Source) مانند Mythic و Sliver و گزینههای جدیدتری مثل AdaptixوHavocقرار دهیم. تمرکز این تحلیل بر روی چگونگی عملکرد فنی این ابزارهاست تا بتوانیم بر اساس سناریوی عملیاتی، مشخصات هدف و سطح امنیت آن، بهترین ابزار را برای کار و هدف خود انتخاب کنیم.
آمادهسازی آزمایشگاه
قبل از وارد شدن در دنیای این ابزارها، یک نکته حیاتی وجود دارد: تمام تستها باید در یک محیط ایزوله و امن انجام شوند.
مراحل ایجاد لابراتوار
- مجازیسازیمی توان از ابزارهایی مانند VMware یا Hyper-V یاQEMU یا VirtualBox استفاده کرد که بنده از VMware استفاده می کنم.
- ماشینهاحداقل دو ماشین مجازی نیاز داریم
- ماشین مهاجمیک توزیع لینوکس مانند Kali Linux که سرور C2 روی آن اجرا میشود.
- ماشین هدف(Victim)یک نسخه از ویندوز مثلاً Windows 10 که به عنوان سیستم قربانی عمل میکند.
- دسترسی به ابزارها
- متنباز(Open-Source)ابزارهایی مثل Mythic ، Sliver و Adaptix و... را میتوان به راحتی از ریپازیتوری GitHub آنها دانلود کنیم.
- تجاری(Commercial)برای ابزارهای تجاری مانند Cobalt Strike و Brute Ratel باید لایسنس خریداری کرد اما من از نسخه کرک شده استفاده کردم.
بررسی عمیق ابزارها
1. Cobalt Strike
Cobalt Strike که در سال ۲۰۱۲ معرفی شد، برای سالها استاندارد طلایی ابزارهای C2 بوده است. قدرت اصلی آن نه فقط در قابلیتهای Post-Exploitation بلکه در انعطافپذیری فوقالعاده کانال ارتباطیاش است.
- معماری و ایجنت(Beacon)
- سرورTeam Server مبتنی بر Java که به چندین اپراتور اجازه همکاری همزمان را میدهد.
- ایجنت (Agent)ایجنت معروف آن Beacon نام دارد؛ یک Payloadکه در حافظه سیستم هدف اجرا میشود و به صورت دورهای با یک ریتم نامنظم یا Jitter برای جلوگیری از شناسایی با سرور تماس (ارتباط) میگیرد.
- ارتباطاز پروتکلهای رایجی مثل HTTP/S،DNS و SMB برای ارتباط استفاده میکند و قابلیت اتصال Peer-to-Peer بین Beaconها از طریق SMB، حرکت در شبکه داخلی را بسیار آسان میکند.
- تکنیک کلیدی:: Malleable C2این قابلیت، امضای Cobalt Strike است Malleable C2 به اپراتور اجازه میدهد پروفایلهای ارتباطی بسازد که ترافیک شبکه Beacon را دقیقاً شبیه ترافیک یک نرمافزار قانونی (مثلاً آپدیت ویندوز یا ترافیک گوگل کروم) ریبیلد کند. این کار از طریق یک فایل پروفایل (.profile) انجام میشود که تمام جزئیات ارتباط مثل URIو هدرهای HTTP و نحوه پنهانسازی دادهها در کوکیها یا پارامترها را مشخص میکند.
همچنین در این پروفایل میتوان رفتار Beacon پس از نفوذ را نیز کنترل کرد؛ مثلاً مشخص کرد که برای اجرای دستورات، کد خود را به کدام پراسس قانونی سیستم مثل(rundll32.exe) تزریق کند تا از دید سیستمهای مانیتورینگ مخفی بماند.
- نقاط قوت و ضعف
- قوتبسیار بالغ و پر از ویژگیهای کاربردی، قابلیت همکاری تیمی عالی و مستندات قوی.
- ضعفبه دلیل محبوبیت و استفاده گسترده، الگوهای ترافیکی آن برای تیمهای آبی لو رفته و بسیار شناخته شده است و اگر پروفایل Malleable C2 به خوبی کانفیگ و نوشته نشود، به راحتی قابل شناسایی است. همچنین تجاری و گران است.
2. Brute Ratel C4 (BRc4)
Brute Ratel که در سال ۲۰۲۰ عرضه شد، با یک هدف اصلی طراحی شده است: دور زدن و فلج کردن سیستمهای پیشرفته تشخیص و . EDR اگر Cobalt Strike سعی میکندعادیبه نظر برسد Brute Ratel تلاش میکند کاملاًنامرئیباشد.
- معماری و ایجنت(Badger)
- سرورC4 Server مبتنی بر Go
- ایجنت (Agent)ایجنت آنBadgerنام دارد که بسیار پیشرفته است و تکنیکهای فرار از شناسایی را در سطح کرنل سیستمعامل پیادهسازی میکند.
- تکنیکهای کلیدی فرار از شناسایی(Evasion)
- فراخوانی مستقیمSyscallاکثر EDRها با نظارت روی کال کردن توابع سطح بالای ویندوز (WinAPI) فعالیتهای مشکوک را شناسایی میکنند. Badger این لایه را دور زده و با شناسایی شماره Syscall مربوطه، مستقیماً با هسته سیستمعامل صحبت میکند و EDR را کاملاً فریب میدهد.
- غیرفعالسازیETWقابلیت Event Tracing for Windows (ETW) یکی از منابع اصلی داده برای EDRها، به خصوص Microsoft Defender است Badger میتواند با پچ کردن تابع EtwEventWrite در حافظه، جلوی ارسال هرگونه لاگ از فرآیند خود را بگیرد.
- Sleep Obfuscationزمانی که ایجنت در حالت Sleep قرار دارد، برای EDRها بهترین فرصت برای اسکن حافظه است. Badger با رمزگذاری بخشهای حافظه خود در این حالت، این اسکنها را بیاثر میکند.
- نقاط قوت و ضعف
- قوتتکنیکهای فرار فوقالعاده پیشرفته و تمرکز ویژه بر مقابله با EDR/XDRهای مدرن و بروز.
- ضعفابزاری جدیدتر با مستندات کمتر . همچنین تجاری است.
3. Mythic
Mythic فلسفه ای کاملاً متفاوت دارد. این یک ابزار نیست، بلکه یک پلتفرم Open-Source برای ساخت ابزارهای C2 سفارشی است. تمام اجزای آن ماژولار و قابل تعویض هستند، که به اپراتور انعطافپذیری بینظیری میدهد.
- معماری مبتنی برDockerکل پلتفرم Mythic بر اساس میکروسرویسها و کانتینرهای Docker کار میکند. وبسرور، رابط کاربری، پروفایلهای ارتباطی و انواع ایجنتها، هر کدام یک کانتینر داکر مجزا هستند که از طریق RabbitMQ با هم ارتباط برقرار میکنند. این معماری به ما اجازه میدهد مثلاً یک ایجنت نوشته شده به زبان C# مانند Apollo را با یک پروفایل ارتباطی مبتنی بر Slack ترکیب کنیم، بدون اینکه این دو از وجود هم خبر داشته باشند.
- انعطافپذیری در عمل
- انواع ایجنت(Payload Types)می توان ایجنت خود را به هر زبانی نوشت یا از ایجنتهای آماده استفاده کرد: Go (Poseidon)، C# (Apollo)، Python (Apfell) و . ... این حرکت به ما امکان میدهد ایجنتی را انتخاب کنیم که برای سیستمعامل هدف بهینهترین باشد.
- پروفایلهای ارتباطی(C2 Profiles)میتوان نحوه ارتباط ایجنت با سرور را تعریف کرد. پروفایلهای آماده برای HTTP، WebSockets، Slack، GitHub و... وجود دارد.
- رابط کاربری تحت وبدارای یک داشبورد وب بسیار کامل با قابلیت همکاری تیمی همزمان است.
- نقاط قوت و ضعف
- قوتمتنباز، فوقالعاده ماژولار و قابل سفارشیسازی، ایدهآل برای سناریوهای غیر استاندارد.
- ضعفنصب و راهاندازی اولیه آن به دلیل معماری مبتنی بر داکر کمی زمانبر و پیچیدهتر از ابزارهای دیگر است.
4. Sliver
Sliver یک جایگزین متنباز و مدرن برای Cobalt Strike است که به طور کامل با زبان Go نوشته شده است.
- مزایای معماری مبتنی برGo
- کراس-پلتفرم(Cross-Platform)هم سرور و هم ایجنت Sliver به راحتی روی ویندوزلینوکسو مکاواس اجرا میشوند.
- باینریهای مستقلپیلودهای Go به صورت یک فایل باینری واحد و بدون نیاز به هیچ وابستگی کامپایل میشوند که اجرای آنها را بسیار ساده میکند.
- عملکرد بالازبان Go برای مدیریت همزمان هزاران ارتباط بسیار بهینه است.
- ویژگیهای کلیدی
- ارتباطات امنبه صورت پیشفرض از پروتکلهای امنی مانند mTLS و WireGuard پشتیبانی میکند.
- DNS Canaryاز یک تکنیک جالب برای شناساییتیم آبیاستفاده میکند. قبل از اتصال به سرور اصلی، یک درخواست DNS به یک ساب دامین تصادفی ارسال میکند. اگر تیم آبی آن دامنه را در Sandbox تحلیل کرده و به آن پاسخ دهد، سرور Sliver متوجه میشود که تحت نظر است و ایجنت اصلی را فعال نمیکند.
- نقاط قوت و ضعف
- قوتمتنباز، راهاندازی و استفاده سریع و آسان، مناسب برای تستهای نفوذ سریع و محیطهای چند پلتفرمی.
- ضعفبه اندازه ابزارهای دیگر غنی از ویژگی های فراوان نیست.
5. Adaptix
Adaptix یک فریمورک نسبتاً جدید است و بر روی قابلیت سفارشیسازی و توسعهپذیری تمرکز دارد.
- معماری و ویژگیها
- سرور آن با Golang و کلاینت گرافیکی (GUI) آن با C++ QT نوشته شده که آن را چندپلتفرمی میکند.
- از معماری ماژولار پشتیبانی میکند که اجازه میدهد ماژولهای سفارشی برای Listenerها و Agentها اضافه شوند (Extenders).
- از Beacon Object Files (BOFs) برای اجرای تسک های مختلف ساپورت میکند.
- نقاط قوت و ضعف
- قوتقابل توسعه و مناسب برای سناریوهای خاصی که نیاز به سفارشیسازی عمیق دارند.
- ضعفبه عنوان یک فریمورک جدید، کمتر در سناریوهای واقعی تست شده و مقداری مستندات کمتری نسبت به دیگر ابزارها دارد.
6. Havoc
Havoc فریمورکی است که با رویکردی کاملاً مدرن و با تمرکز بر عملکرد و پنهانکاری طراحی شده و به طور کامل با C++ نوشته شده است.
- ویژگیهای پیشرفتهEvasion
- Sleep Obfuscationمشابه Brute Ratel، از تکنیکهای پیشرفته برای مخفی کردن ایجنت در حافظه هنگام حالت Sleep استفاده میکند.
- تکنیکهای تزریق کد پیشرفتهاز روشهایی مانند Module Stomping و Thread Hijacking برای اجرای کد در فرآیندهای دیگر به شیوهای بسیار مخفیانه بهره میبرد.
- نقاط قوت و ضعف
- قوتعملکرد بسیار بالا با مصرف منابع کم، و نرخ شناسایی بسیار پایین توسط EDRها طبق تستهای انجام شده.
- ضعفمانند ابزار جدید، جامعه کاربری و مستندات آن در حال رشد است.
مقایسه فنی و استراتژیک
جدول مقایسه فنی جامع
ویژگی | Cobalt Strike | Brute Ratel C4 | Mythic C2 | Sliver | Adaptix | Havoc |
هزینه | تجاری | تجاری | متنباز | متنباز | متنباز | متنباز |
زبان اصلی | Java, C | C++, Go | Go, Python, React | Go | Go, C++ QT | C++ |
رابط کاربری | GUI, Team Server | GUI | Web UI | Console, Web UI | GUI, Console | Teamserver UI |
روش اصلی فرار | شبیهسازی ترافیک(Malleable C2) | دور زدن مستقیمEDR (Syscalls, ETW Patch) | سفارشیسازی کامل پشتهC2 | ارتباطات رمزنگاریشده قوی(mTLS, WG) | قابلیتهای بومی وExtendersسفارشی | Sleep Obfuscationتزریق پیشرفته |
پروتکلهایC2 | HTTP/S, DNS, SMB | HTTPS, DoH, SMB, TCP, Custom | HTTP/S, DNS, mTLS, WireGuard, Slack... | HTTP/S, DNS, mTLS, WireGuard | HTTP/S, SMB, TCP, Custom | HTTP/S, Custom TCP/UDP |
پیچیدگی | بالا (نیاز به تسلط بر پروفایلها) | بسیار بالا نیاز به درک عمیقOS | متوسط (پیچیدگی در ساخت، سادگی در استفاده) | پایین (راهاندازی و استفاده سریع) | متوسط | بالا |
چه زمانی از کدام ابزار استفاده کنیم؟
- Cobalt Strikeبرای عملیاتهای کلاسیک و طولانی مدت که در آن هدف اصلی، پنهان ماندن در نویز شبکه برای مدت طولانی است و همکاری تیمی اهمیت دارد، Cobalt Strike با یک پروفایل Malleable C2 خوب، گزینه ای قدرتمند است.
- Brute Ratel یاHavocاگر هدف ما یک سازمان با سطح امنیتی بسیار بالا و مجهز به EDR/XDR های نسل جدید است، این دو ابزار از پایه برای این چالش طراحی شدهاند و بهترین شانس موفقیت را به ما میدهند.
- Mythicزمانی که با یک محیط غیر استاندارد (مثل سرورهای لینوکسی خاص یا Station های کاری مک) روبرو هستیم یا نیاز به یک کانال ارتباطی کاملاً سفارشی (مثلاً از طریق یک اپلیکیشن داخلی) داریم، انعطافپذیری Mythic عالی است.
- Sliverبرایتست نفوذسریعو عملیاتهایی که در آن سرعت راهاندازی و قابلیت کراس-پلتفرم اهمیت بالایی دارد، Sliver یک ابزار فوقالعاده کارآمد و قابل اعتماد است.
- Adaptixبرای سناریوهای بسیار خاص که نیاز به نوشتن ماژولها و توسعهپذیری عمیق برای یک هدف یونیک داریم، Adaptix میتواند گزینهی مناسبی باشد.
در آخر
انتخاب ابزار C2 یک تصمیم استراتژیک است و هیچ گزیه بهترینی برای همه شرایط وجود ندارد. یک اپراتور حرفهای به یک ابزار وابسته نیست، بلکه باید با درک عمیق از معماری و قابلیتهای هرکدام، بهترین ترکیب را برای شکستن سیستم دفاعی هدف انتخاب کرد.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.