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

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

امروزه نرم افزار Cobalt Strike جزوه نرم افزار های پر استفاده و قدرتمند در حوزه Red Team میباشد که به واسطه آن توانایی های زیادی در پیاده سازی حملات و گرفتن دسترسی بر روی Platform های مختلف را داریم و همچنین در فرآيند های Post Exploitation نیز دستمان به شکل خوبی باز است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

نرم افزار Cobalt Strike نرم افزاری غیر رایگان میباشد که البته این نرم افزار به صورت Crack شده نیز وجود دارد و افراد می‌توانند از آن استفاده کنند. از این بابت ما در این مقاله ما قصد داریم بپردازیم به این موضوع که چگونه با استفاده از نرم افزار Cobalt Strike میتوانیم یک دسترسی Shell را دریافت کنیم

قبل از اینکه سناریو را شروع کنیم بیاید ابتدا یک سری مفاهیم و اصطلاحات موجود درون Cobalt Strike را بدانیم که به شرح زیر میباشند:

مفهوم اول - Listener: مفهوم Listener به یک سرویس درحال اجرا بر روی سیستم فرد مهاجم اشاره دارد که به واسطه آن فرد مهاجم توان این را دارد که از این سرویس به عنوان یک C&C Server استفاده کند. مفهوم C&C Server یا همان Command And Control که به صورت جامع در قسمت 26 دوره SANS SEC503 تشریح شده است به این موضوع اشاره دارد که سیستم ما بتواند به عنوان یک سروری عمل کند که دیگر سیستم های مورد نفوذ از ما پیروی کنند بدین شکل که ما بتوانیم دستورات و کنترل های مورد نظرمان را به آن سیستم های مورد نفوذ ارسال کنیم و هرکاری که بخواهیم را به واسطه آنها انجام بدهیم و دقیقا این مفهوم و کارایی است که Listener برای ما دارد.

علاقمندان به حوزه هک و امنیت و تکنیک های حرفه ایی هکرها بر روی این متن کلیک کنند.

مفهوم دوم - Beacon: درواقع Beacon به یک Agent یا یک نرم افزار و یا یک کد مخرب شخص ثالثی گفته میشود که بر روی سیستم مقابل که تارگت ما است اجرا میشود و ارتباط سیستم را با C&C برقرار میکند که بتوانیم دستورات خودمان را اجرا سازی کنیم و دسترسی Shell را دریافت کنیم

مفهوم سوم - Team Server: درواقع Team Server یکی از اجزا متعلق به Cobalt Strike است و مکانی برای Listener های متعلق به Beacon های ایجاد شده میباشد.

شروع کار با Cobalt Strike

اجرا سازی کردن Team Server

در ابتدا برای اجرا سازی کردن Team Server به شکل زیر از طریق Syntax و اصول دستوری زیر عمل میکنیم

attacker@kali
# the syntax is ./teamserver <serverIP> <password> <~killdate> <~profile>
# ~ optional for now
root@/opt/cobaltstrike# ./teamserver 10.0.0.5 password

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

اجرا سازی کردن Cobalt Strike

پس از اجرا سازی شدن Team Server به سراغ اجرا سازی Cobalt Strike میرویم و به واسطه Launcher متلعق به آن، آن را اجرا سازی میکنیم. در فرآیند اجرا سازی شدن Cobalt Strike سه مقدار را باید وارد کنیم که شرح زیر میباشند:

  • مقدار Host - مقدار آدرس IP متلعق به Team Server (هر مقداری که به عنوان ServerIP وارد کرده ایید میبایست اینجاهم وارد کنید در قسمت Host)
  • مقدار User - یک مقدار User به دلخواه میتوانید وارد کنید.
  • مقدار Password - مقدار Password متلعق به Team Server که در دستور اجرا سازی کردن Team Server وارد کرده ایید را اینجا قرار دهید (هر مقداری وارد کرده ایید میبایست اینجاهم وارد کنید در قسمت Password)

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

پس از وارد کردن مقدار های بالا بر روی Connect کلیک کنید و صبرکنید که Cobalt Strike برای شما اجرا سازی شود.

همچنین تمامی فرآيند های بالا به منظور راه اندازی Team Server را میتوانید در این گیف مشاهده کنید:

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

ایجاد Listener و یا همان C&C در Cobalt Strike

در ابتدا برای حمله باید یک Listener را درون Cobalt Strike ایجاد کنیم به همین منظور مانند گیف زیر بر روی هدفون مورد نظر کلیک میکنیم و از قسمت Name یک نام به دلخواه وارد میکنیم و در قسمت Payload میتوانیم Payload مورد نظرمان انتخاب کنیم و در قسمت Port باید یک Port را وارد کنیم که در اینجا از 443 متعلق به پروتکل Https استفاده کرده ایم.

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

ساخت Stageless Payload در Cobalt Strike

در این بخش ما شروع به ایجاد یک Payload از طریق Cobalt Strike میکنیم که این Payload ما قرار است به واسطه یک Beacon دسترسی شل را از سمت سیستم مقابل دریافت کند. برای ایجاد این Beacon ما مانند گیف زیر بر روی آچار موجود در Cobalt Strike کلیک میکنیم و فایل EXE ویندوزی خودمان را ایجاد و Save میکنیم

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟

گرفتن دسترسی از سمت سیستم Windows

فایل Beacon.exe ایجاد شده را به سمت سیستم مقابل ارسال میکنیم و ان را اجرا سازی میکنیم و دسترسی را به راحتی دریافت میکنیم( به گیف زیر توجه کنید )

Cobalt Strike چیست و چگونه از آن استفاده کنیم؟


امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

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

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات