ورود و ثبت نام

تیم قرمز یا رد تیم (RedTeam) چیست ؟

خواندن این مطلب

27 دقیقه

زمان میبرد!

تیم قرمز یا رد تیم (RedTeam) چیست ؟

سلام و درود خدمت تمامی شما دوستان عزیز و گرامی ، امیدوارم که حالتون خوب باشه.

خب دوستان امروز میخوایم راجب مبحث تیم قرمز Red Team توی هک و امنیت صحبت کنیم و قراره بررسی کنیم ببنیم اصلا red team چیه و چیکار میکنه و….

 

ببنید دوستان، بعد از اینکه شرکت ها و ارگان ها پیشرفت کردن و بحث Pentest یا تست نفوذ هم اومد وسط نیرو های مختلف رو برای تست نفوذ آوردن، ادمای مختلفی رو استخدام کردن برای بحث pentest اما اینا معمولا از خارج از اون شرکت یا سازمان میومدن و اینکارو انجام میدادن که سازمان ها و شرکت ها تصمیم گرفتن یک تیمی رو بوجود بیارن که کلا مختص به خودشون باشه و پروژه ای نباشه، چون شما وقتی pentest داری پروژه ای هستی و میری یه پروژه انجام میدی و میای دیگه. اما دیگه اومدن تیمیش کردن ینی اون تیم کارش این بود که اون سازمان میومد یکسری افراد متخصص رو میاورد استخدام میکرد و میگفت شما تو شرکت یا سازمان من قراره کار امنیت و بحث هک رو انجام بدی.

خب پس تا اینجا فهمیدیم که یک سازمان برای اینکه امنیت سازمانش رو بسنجه میاد بجای pentester یک تیمی رو انتخاب میکنه.

الان دوستان این تیم به سه گروه تقسیم میشه

Red Team (تیم قرمز)

Blue Team (تیم آبی)

Purple Team (تیم بنفش)

که blue team و purple team فعلا قرار نیست تو این مقاله بهش بپردازیم و ان شاالله در مقالات بعدی میپردازیم بهش.

اما من یک توضیح مختصر راجب blue team و purple team هم میدم .. خب دوستان اول red team یا تیم قرمز رو میگم ، تیم قرمز کارش اینه که تمام راه های نفوذ به یک سازمان رو به هر طریقی بررسی کنه پس تیم قرمز کارش شد فقط نفوذ یا Offensive ینی تیم قرمز یک تیم تهاجمیه .. تیم آبی یا blue team کارش اینه که در مقابل تیم قرمز قرار بگیره و باید امنیت اون سازمان رو برقرار کنن و کارشون فقط امنیته ینی اونا میومدن حملاتی که تیم قرمز انجام میداد و خیلی از این موارد رو بررسی و مانیتورو تحلیل میکردن و در اخر اون آسیب پذیری رو پچش میکردن ، پس تیم آبی هم کارش شد فقط امنیت یا Defensive ینی تیم آبی کارش دفاع در برابر حمله ـست.

تیم بنفش یا purple team هم کارش اینه که بیاد تیم قرمز و تیم آبی رو بهم وصل کنه ینی یجورایی تیم بنفش نقش شورای حل اختلاف رو توی بحث هک و امنیت داره و کاری میکنه که این دو تا تیم بتونن راحت تر با هم کار کنن .. مثلا میبنی red team میاد ی آسیب پذیری کشف میکنه و گزارششو به blue team میده. حالا این بلوتیمی که اون سازمان استخدامش کرده و در مقابل ردتیم قرار داره این باگی که ردتیم بهش گزارش داده patch (رفع) نمیکنه، بنظرتون الان چه اتفاقی میوفته ؟! هیچ دیگه اختلاف بوجود میاد و ردتیم میاد وسط میگه ما گزارش دادیم چرا پچش نکردین و… . خلاصه دیگه اونموقع خر بیار باقالی بار کن 😐 پس تیم بنفش یا purple team کارش اینه که بیاد و این اختلافات و مشکلات بین red team و blue team رو از بین ببره و اینارو به درستی بهم وصلشون کنهو اونارو مدیریت کنهو از این چیزا تا بتونن همگی (red team .. blue team .. purple team ,…) در کنار هم کاروتلاش کنن تا بتونن باهم دیگه به اون هدفه برسن.

 

خلاصه تو این مقاله قراره کامل راجب red team صحبت کنیم.

 

قبل از اینکه بریم تیم قرمز یا red team رو مورد بررسی قرار بدیم میخوام بهتون فرق بین Penetration test یا تست نفوذ با Red Team رو بهتون بگم. پس با من همراه باشید.

 

 

فرق بین Penetration Testing (تست نفوذ) با Red Team  (تیم قرمز)

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

توی Penetration Test اون pentester یا کسی که قراره کاره penetration test رو انجام بده میاد و با اون سازمان یک قرداد میبنده که میخوام سازمان شماره از لحاظ امنیتی بررسی کنم حالا اون سازمان هم بر اساس یکسری معیار ها و فیلتر هایی که روش اعمال میکنه و بهش میگه ینی اون pentester ممکنه محدود باشه و یکسری کارارو نتونه بکنه و خلاصه اون قراداد مورد نظر بر اساس شرایط و قوانینی که مدیر یا مسئول اون سازمان تعیین میکنه میبندن و در آخر وقتی pentester کارش رو انجام داد یک گزارش کامل و با جزئیات از تستی که زده باید به اون کارفرما یا مسئول اون سازمان بده و در اخر هم ی مبلغی در قبالش دریافت میکنه که یجورایی تست نفوذ میشه هک بصورت قانونی یا هک یکچیزی با اجازه ی خود شخص.

خب الان اون پنتستر اجازه نداره که هر کاری دوست داره انجام بده یعنی اگه pentester کاری کنه که به اون شبکه یا سازمان آسیبی وارد بشه یا دیتایی پاک بشه یا هر اتفاقی بیوفته اون pentester مقصره و مورد پیگرد قانونی قرار میگیره. پس در بحث تست نفوذ pentester خیلی باید حواسش باشه که حمله ای انجام نده که مثلا شبکه رو مختل کنه چون فردا بازخواست میشه و… .

اما تیم قرمز که بوجود اومد هیچ محدودیتی نداشت ، ینی اون سازمان این اجازه رو به تیم قرمز میداد که میگفت تیم قرمز من شما بیاید هر کاری دوست دارید با ما بکنید و هیچ محدودیتی ندارید مثلا بیاید دستگاه های اثرانگشت رو pentest کن و… ، حتی تیم قرمز مهندسی اجتماعی هم بصورت face to face انجام میدن ینی تو چشات زل میزنن و سعی میکنن گمراهت کنن گولت بزنن یا ازت اطلاعاتی بگیرن .. ینی همه ی اینکار هارو یک تیم قرمز میتونه انجام بده ، همه ی کار هارو .. اما pentester محدوده و یکسری کار هارو نمیتونه بکنه چون ممکنه آسیبی به سازمان وارد بشه و خیلی چیز های دیگه اما دیگه توی تیم قرمز هر کاری دوست داشته باشیم میتونیم انجام بدیم و دستمون باز و آزادیم.

درحقیقت، رد تیم ، یک پله بالاتر از تیم تست‌نفوذ است که با شبیه‌سازی حملات در دنیای واقعی و با تکرار تکنیک‌ها، تاکتیک‌ها و رویه‌ها (TTP)، به‌دنبال کشف نقاط نفوذ سازمان می‌باشد.

پس نتیجه میگیریم که ردتیم از دم با اینا فرق میکنه (فرق داره از دم با اینا…)

 

 

حملات APT چیست ؟

در این بخش قراره ی توضیح مختصر راجب حملات APT بدیم.

ناگفته نماند که توی ی مقاله ی جدا بصورت کامل راجب این حملات قبلا صحبت کردیم که شما میتونید با مراجعه به این آدرس مقاله رو بخونید.

خب APT مخفف Advanced Persistent Threat هست و این حملات بصورت خیلی حرفه ای در سطح سازمان های خیلی بزرگ انجام میشه و این گروه ها با اسم های مستعار خودشون که دارن فعالیت میکنن که اسم گروه هاشون هم معمولا بر اساس یک شماره بعد از APT مشخص میشه مثلا APT 40 یا APT 49 و… و این گروه ها توسط سازمان های ناشناخته و بزرگ / دولت ها حمایت میشن و هدفشون بیشتر سرقت اطلاعات و جاسوسی هست .. ینی در این نوع حمله یک گروه قدرتمند تو زمینه هک و امنیت به یک سازمانی نفوذ میکنند و بصورت خیلی طولانی توی یک شبکه ای باقی میمونن و هدفشون شنود و سرقت داده است.

 

تا اینجا فرق بین کاری که یک رد تیم انجام میده با تست نفوذ رو فهمیدیم و فهمیدیم که APT چیه .. حالا وقتشه بریم سراغ اینکه راجب red  team بیشتر صحبت کنیم و یکسری از تاکتیک ها و تکنیک هایی که دارن و یکسری ابزار هایی که دارن رو مورد بررسی قرار بدیم و امروزه چه کاربردی برای ما داره.

 

 

بررسی تیم قرمز یا Red Team

حملات رد تیم در واقع شبیه سازی حملات APT هستش که در برابر یک سازمان انجام میشه و هدف از این red team سنجش میزان امنیت یک سازمان در برابر یک حمله ی APT هستش.

جاله بدونید که استاندارد به این شکله که اگر سازمانی قصد راه اندازی Red Team داره ، باید از افرادی خارج از سازمان دعوت به همکاری بکنه که دیدی نسبت به زیرساخت و شبکه و سیستم عامل های درون سازمانی نداشته باشند و به زبان فنی تر افرادیکه Blackbox هستند رو برای این پروسه در نظر بگیرند و استخدام کنند . البته این در حد یک توصیه هست و در 99 درصد موارد چنین اتفاقی نخواهد افتاد. دلیل بلک باکسی بودن قضیه هم که مشخصه ، وقتی کسی دیدی نسبت به درون یک سازمان نداشته باشه این امکان رو داره که اطلاعات رو به هر روشی که یک هکر عادی خارج سازمانی می تونه تهیه کنه ، پیدا کنه و این نقاط نفوذ دیگه ای رو می تونه برای سازمان مشخص کنه که پوشش داده بشه .

و همونطور که گفتیم در رد تیم هدف اصلی نفوذ به یک سازمانه که این نفوذ کردن میشه از راه های مختلفی انجام داد مثل malware development یا social engineering و network pentest یا web pentest و… .

بصورت کلی Red Team شامل سه تا فاز یا بخش میشه به شرح زیر :‌

  1. Preparation : خب توی فاز Preparation در رد تیم در واقع پیش نیاز هایی که برای شروع یک Read Team نیاز هست رو ما در نظر میگیریم و اونارو انجام میدیم .. چیز های مثل :
    • چقدر قراره این عملیات رد تیمی که قراره انجام بدیم طول بکشه که حالا ممکنه شش ماه باشه یا یکسال که معمولا بازه ی زمانی گسترده ای هستش.
    • مورد بعدی هم اینکه Attack Plan ـمون چیه ینی اینکه چه نقشه یا برنامه ای برای حمله چیدیم و  قراره چیکار کنیم.
    • اون Red Team باید توسط اون سازمان مورد نظر احراز هویت بشه و مجوز بگیره از اون سازمان و سرخود نباید اون سازمان افراد ناشناس رو وارد رد تیم کنه.
    • و یک جلسه Kick-OFF Meeting وجود داره که راجب اون پروژ صحبت میشه که قراره چجوری باشه و چه اتفاقی بیوفته و کلا قردادی که دارن به چه شکل است.
  2. Execution : توی مرحله ی Execution وارد فاز اجرایی میشیم ینی تمام پیشنیاز ها انجام شده و ما الان اماده ی اجرا هستیم و در واقع شروع می کنیم برای Red Teaming .. که کارایی که قراره در این مرحله انجام بشه شامل موارد زیر میشه :
    • Scanning
    • Attacks
    • TTPS (Tactics Techniques & Procedures)
    • Documenting Activity & Logs
  3. Wrap UP :‌ خب در آخر یک Wrap UP داریم که در این مرحله باید تمام کار هایی که کردیم حذف (Clean up) بشه و نباید اثری ازمون باقی بمونه که اون شبکه رو مختل کنه و در نهایت یک خلاصه و یک گزارشی  آماده میشه و در اختیار کارفرما و blue team قرار میگیره.

در پروسه ای که داره red teaming انجام میشه blue team در واقع ممکنه شناختی از رد تیم نداشته باشه و هر نوع حمله ای رو که ببینه میتونه جلوشو بگیره و تیم آبی حق اینو داره که جلوی حملات تیم قرمز رو بگیره چون درواقع blue team داره در برابر حملات رد تیم دفاع میکنه.

همچنین در آخر این گزارش ها که با استفاده از یکسری ابزار توسط Red Team آماده میشه ، در نهایت در اختیار Blue Team قرار میگیره که ببنه مشکلات چی بوده و از کجا آسیب پذیری رخ داده و نفوذ شده سپس blue team در برابر این نوع حملات آماده میشه و در آینده در برابر این نوع حملات دفاع میکنه.

 

خب ما در Red Team یکسری اصطلاحات داریم که قراره دونه به دونه به اونها بپردازیم، به شرح زیر :

  • IOCs (Indicators of Compromise)
    • خب IOCs مجموعه ای از داده هست که با استفاده از Forensic (جرم شناسی) بدست اومده و نشون میده و اثبات میکنه که یک سیستم بهش نفوذ (Compromise) شده رو برامون اثبات میکنه که وقتی اثبات میشه نشون میده که این مدارک یا شاخص ها (Indicators) نشون دهنده اینه که این سیستم Compromise شده یا بهش نفوذ شده .. IOCs در واقع سندی برای اثبات اینه که به یک سیستم نفوذ شده.
  • MTTC (Mean-Time To Compromise)
    • خب MTTC در واقع میانگین Compromise یا نفوذ به یک سازمان هست .. ینی چقدر طول کشیده که red team به یک سازمان نفوذ کنه و دسترسی خودشو بالا ببره.
  • MTTD (Mean-Time To Detect)
    • اصطلاح بعدی MTTD هستش که این یعنی ، چقدر طول کشیده Blue Team اولین نفوذ رو تشخیص بده.
  • MTTR (Mean-Time To Recover)
    • و MTTR هست که نشون دهنده اینه که چقدر طول کشیده تا سیستمی که آلوده شده یا اسیبی دیده یا یک failure رخ داده دوباره ریکاور بشه و دوباره سرپا شه که معمولا باید بین بازه های ثانیه ای باشه این زمان و نهایت یک الی دو دیقه باید باشه و نباید بیشتر از این باشه.
  • TTPs (Tactics, Techniques, Procedures)
    • و در نهایت TTPs رو داریم که از سه تا مرحله و کلمه مختلف تشکیل شده و در نهایت مخفف میشه به TTPs .. خب در مرحله ی Tactics ما مشخص می کنیم که از چه شیوه ای قراره برای یک نفوذ استفاده کنیم یعنی یک هدف رو اول مشخص می کنیم و اینکه یک تاکتیک یا یک plan / نقشه ای رو برای نفوذ میچینیم و بعد از اون میریم تو مرحله ی Techniques که در این مرحله یک تکنیک یا فن رو انتخاب می کنیم که مشخص می کنیم چه تکنیک های رو میتونیم انتخاب کنیم برای اینکه ما به اون هدفمون برسیم و در نهایت یک Procedures رو داریم که میگه که Tatics و Techniques رو داری اوکی!! ولی اینکه چطور این اجرا بشه و عملی بشه و اشتباهی توی این مراحل رخ نده ،‌ در واقع توی همین مرحله ی Procedures مورد بررسی قرار میگیرد که در واقع مرحله اجرایی و نهایی هستش. ناگفته نماند که کل این TTPs ـها در یک معماری مثل attack وجود دارند که در آینده اینارو بررسی میکنیم.

 

 

تخصص های مورد نیاز برای Red Team

بصورت کلی تخصص های رد تیم مجموعه گسترده ای رو شامل میشه ، این تخصص ها میتونه شامل Network Pentest .. Web Pentest و Wireless Pentest و توسعه بدافزارو مهندسی معکوس بشه که حالا هر کدوم از این تخصص ها میتونه گوشه ای از کار فرآیند red teaming رو در اختیار خودشون بگیرن و فرآیند رد تیم رو درواقع جلو ببرن .. حالا با توجه به اینکه چه پروژه ای هست و چه چیز هایی شامل میشه ممکنه یکسری چیز های دگر مثل android pentest و ios pentest و چیز های دیگه هم اضافه بشه به این مجموعه رد تیم.

تخصص های دیگه ای هم هست ولی اونا دیگه بصورت optional می باشد که نمیشه گفت حتمیه ولی خب ممکنه یک تیمی بخواد از اون استفاده کنه حالا این تخصص ها هم میتونه برای توسعه بدافزار شامل برنامه نویسی بشه یا در واقع برای ابزار های Automation استفاده بشه.

 

 

ابزار های مورد نیاز برای Red Teaming 

قبل از هر چیزی من اینو بگم که..

همونطور که قبلا گفتم نوع راهی که تیم قرمز میره با پنتستر خیلی فرق میکنه مثلا یک Pentester از ابزار Metasploit برای تست نفوذ استفاده میکنه ولی تیم قرمز اینو قبول نداره ینی کسایی که رد تیم کار میکنن اینو قبول ندارن چون مثلا ابزار متااسپلویت خیلی مشکلات داره مثلا توسط آنتی ویروس شناسایی میشه و کلی مشکلات دیگه… ولیی تیم قرمز میره از ی ابزاری استفاده میکنه که این موارد رو نداشته باشه…

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

شما میتونید به این آدرس مراجعه کنید و مجموعه ای از ابزار های مورد نیاز برای Red Teaming رو مشاهده کنید که ابزار های مختلفی برای فاز های مختلف red team وجود داره که میتونید به اون آدرس مراجعه کنید و ببنید.

خب من در اینجا قراره یکسری ابزار های معروف در زمینه red teaming رو بهتون معرفی کنم تا ی آشناییت کلی نسبت به این قضیه داشته باشید :

  • ابزاری که خیلی محبوبه و به شدت استفاده میشه ابزار cobaltstrike هستش که این ابزار خوبی های زیادی داره اما یک بدی که داره اینه که هزینه ی خیلی زیادی داره و خریدنش سخته مخصوصا تو ایران ولیی ارزششو داره و یک ابزار بشدت قدرتمنده برای Post Exploitation (کار هایی که بعد از دسترسی به یک سیستم یا exploit کردن انجام میشه) و خیلی چیزای دیگه میتونه استفاده بشه بشه و این ابزار بصورت خاص برای red teaming تولید شده.
  • ابزار بعدی ابزار PoshC2 هستش که این ابزار یک Command and Control یا C&C (مرکز کنترل خط فرمان سیستم های مختلف) هستش که برای red teaming هستش و برای post exploitation و خیلی چیزای دیگه استفاده میشه و این ابزار هم با python3 توسعه داده شده و قابلیت و ماژول های خوب و مختلفی دارد.
  • ابزار بعدی mssqlproxy هستش که این ابزار همونطور که از اسمش مشخصه یک پروکسی هستش که از طریق Microsoft Sql server داره کار خودشو جلو میبره.
  • ابزار بعدی Koadic هستش یک ابزار برای C&C هستش و برای Post Exploitation توی ویندوز استفاده میشه و خیلی شبیه به ابزار empire میمونه و قابلیت های زیادی داره.
  • ابزار بعدی ابزار Invoke-Obfuscation هستش که این ابزار برای مبهم سازی اسکریپت استفاده میشه و توی powershell استفاده میشه.
  • ابزار بعدی ابزارDET هستش برای Data Exfiltration که در کل وقتی به یک شبکه ای نفوذ کردیم با استفاده از این ابزار میتونیم داده هارو استخراج کنیم.
  • ابزار بعدی ابزار Pupy هستش که این ابزار درواقع یک RAT برای کنترل از راه دور هستش و بعد از این به یک سازمانی به یک سازمانی نفوذ کردیم از این استفاده می کنیم و همچنین برای Post Exploitation و این ابزار هم با پایتون نوشته شده.
  • ابزار بعدی ابزار BloodHound هستش که برای حملات سمت Active Directroy اختصاصا استفاده میشه و تولید شده .
  • و…

خلاصه دوستان ابزار زیاده و منم سعی کردم در اینجا برای هر فاز red team یک ابزار معرفی کنم .. در کل مهم دانشه که شما باید داشته باشید تا بتونید خودتون ابزار توسعه بدید 😉

 

 

جایگاه فریم ورک MITRE Att&ck و Zero Day در Red Team

خب MITRE Attack یا همون MITRE Att&ck فرقی نمیکنه جفتش درسته ولی معمولا اینجوریه که MITRE Att&ck مینویسن و MITRE Attack میخونن.

عرضم به حضورتون که MITRE Att&ck یک فریمورک یا چارچوبی است برای Red Teamer ـها ، Threat Hunter ـها و خیلی از اشخاص دیگه که توی این حوزه فعالیت می کنند.

در واقع MITRE Att&ck برای Red Teamer ـها یک فریمورک خیلی حیاتی می باشد .. توی MITRE Att&ck در واقع تکنیک ها و تاکیتیک های مربوط به حملات APT که همونطور که گفتیم red team کارش اینه که اینجور حملات رو شبیه سازی کنه و خلاصه تکنیک ها تاکتیک های حملات APT داخل فریمورک MITRE Att&ck گنجاده شده و یک رد تیمر میتونه با خوندن اینا تکنیک ها و تاکتیک هایی که قبلا در حملات APT استفاده شده رو یاد بگیره و ازشون استفاده کنه.

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

https://attack.mitre.org/

و این هم داکیومنتشه و پیشنهاد میکنم حتما مطالعه و مراجعه کنید و همچنین شما میتونید به این سایت مراجعه کنید و تحلیل حملات APT ـهای مختلفی رو ببنید و هرکدوم هم خودش بصورت کامل توضیح داده :

https://attack.mitre.org/tactics/enterprise/

 

ناگفته نماند که Malicious Document ـها مثل MS Office و Micro ـها توی اکسل خیلی استفاده میشن و در red teaming نیز خیلی استفاده میشه.

 

که این بود کل مفهوم MITRE Att&ck Framework .. که تمامی اتفاقاتی که قبلا رخ داده رو توسط کارشناس امنیت و forensic کارا تشخیص داده شده و اینجا جمع آوری شده تا از اتفاقات گذشته درس بگیرن و یاد بگیرن.

 

خب مبحث بعدی که قراره راجبش صحبت کنیم Zero Day ـها هستند که Zero Day ـها آسیب پذیری هستند که هنوز شناسایی نشدند و توسط یک شخص یا یک تیم شناسایی میشه و به بهره برداری میرسه.

آسیب پذیری هایی مثل RCE توی ویندوز مثلا پیدا میشه و کسی ازش اطلاعی نداره و نفوذگر یا یک شخص مخرب که اونو پیدا کرده میاد از اون برای دسترسی گرفتن از اون سیستم مورد نظرش استفاده میکنه.

و همچنین آسیب پذیری های One Day هم هستند که توی بحث ما نیست ولی میگم چیه تا بدونید .. خب آسیب پذیری های One Day آسیب پذیری هایی هستند که بر اساس PoC (اثبات) از آسیب پذیری Zero Day کشف میشند.

خب آسیب پذیری های zero day هزینه بر هستند هم از لحاظ زمانی پیدا کردنشون یکم طول میکشه و نیاز به fuzzing و یکسری مراحل داره و هم از این جهت که اگر شما به عنوان یک کارشناس Red Team داری فعالیت می کنی با پیدا کردن آسیب پذیری های Zero Day در واقع کار Blue Team رو سخت می کنید مثلا شما این آسیب پذیری ناشناس رو کشف میکنین و گزارش میدین به تیم آبی و از اونجایی که blue team بخواد این آسیب پذیری رو برطرف کنه زحمت و هزینه زیادی هم برای اون داره و بخاطر همین توی فرآیند Red Team از آسیب پذیری Zero Day خیلی استفاده نمیشه چون هم دو طرف ضرر میکنن و از لحاظ زمانی هزینه بر هست.

 

 

جمع آوری اطلاعات (Information Gathering) در Red Team

یه جمله معروفی هست که میگه ، هر چقدر ما دشنمون رو بیشتر بشناسیم شانس پیروزیمونم بیشتره .. در هک و امنیت هم به همین شکله ، ما همیشه باید در خصوص تارگتمون که قراره روش کار کنیم اطلاعات کامل تر و دقیق تری رو داشته باشیم و بدست بیاریم که به این بخش/فاز که کل مباحث هک و امنیت ثابته و همیشه در فاز/مرحله اول قرار داره میگن Information Gathering یا جمع آوری اطلاعات .. در Red Team هم به همین شکله ینی ما باید بیایم بر اساس اون تارگتمون اطلاعاتی که نیاز هست رو جمع میکنیم تا بتونیم کارمون رو جلو ببریم .. توی هر حوزه ای information Gathering میتونه متفاوت باشه و ابزار های متفاوتی داشته باشه .. مثلا توی وب ممکنه جمع آوری دامین هایی که نیاز هستش یا ساب دامین ها و… نیاز باشه و توی یک شبکه ممکنه جمع آوری کلانیت ها و سرور هایی که وجود دارند باشه و قطعاتی مثل سوئیچ و روتر یا بدست آوردن رنج ip ـهای و… جز فاز جمع آوری اطلاعاته.

کلا جمع آوری اطلاعات یک چیزه عمومیه در حوزه ی هک و امنیته و در همه ی شاخه ها این مرحله وجود داره و وقتیم میگم عمومی ینی دیگه رد تیم هم شاملش میشه .. در ادامه هم یکسری ابزار و سایت هایی که برای جمع آوری اطلاعات میتونید ازش استفاده کنید رو بهتون معرفی می کنم.

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

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

 

 

جایگاه تست نفوذ وب در Red Team 

توی red team هدف رسیدن به بالاترین سطح دسترسی می باشد ینی در red team باید یک پلنی بچینیم که بتونیم دسترسی کامل رو از یک سازمان بگیریم.

خب امروزه سازمان ها کلا حداقل ی دونه وب اپلیکیشن دارن دیگه .. حالا خیلی سازمان ها هم هستند که ممکنه پنج شیش تا وب سایت داشته باشن مثل بانک ها و… پس تست نفوذ اپلیکیشن میتونه یک دریچه ی نفوذی باشه برای کسایی که میخوان عملیات red teaming رو انجام بدن و آسیب پذیری های خیلی مهم و خطرناکی توی سطح وب وجود داره که میتونه بشدت به عملیات red teaming کمک کنه منتها بخاطر اینکه حملات تحت وب توسط مانیتورینگ / نظارتی که میشه توسط WAF و غیره ممکنه سریع شناسایی شه و ممکنه دسترسیمون بسته شه و… برای همین خیلی نمیشه بهش اطمینان کرد ولی خب یک گزینه خیلی مناسب برای کسایی که red teaming انجام میدن چون یکسری آسیب پذیری هایی توی وب داریم که میتونه دسترسی مارو خیلی بالا ببره یا کار مارو خیلی جلو ببره .. آسیب پذیری های زیادی در سطح وب وجود داره که میتونیم ازشون بهره برداری کنیم به شرح زیر :‌

  • Sql Injection
  • XSS
  • XXE
  • SSRF
  • CSRF
  • ,…

که اینا حملات خیلی خطرناکی هستند که میشه دسترسی ما خیلی بالاتر بره و کارمون سریع تر پیش بره.

 

 

جایگاه تست نفوذ شبکه در Red Team

یکی از اجزای اصلی هر سازمانی شبکه ی داخلی اون سازمان می باشد و مسلما یکی از مهم ترین فرآیندی که توی Red Team میتونیم داشته باشیم تست نفوذ شبکه ی اون سازمان می باشد ، شبکه ی یک سازمان میتونه از اجزای مختلفی تشکیل شده باشه که این اجزا میتونه شامل وب سرور ها ، وب سرویس ها ، Active Directory یا AD ، و LDAP و چیزای مختلف دیگه ای بشه.

همچنین توی یک شبکه ی سازمان تجهیزات مختلفی رو  داریم مثل سرور ها ، روتر ها ، سوئیچ ها ، فایروال ها و… .

خب بعد از اینکه دسترسی اولیه یا Initial Access انجام میشه و به یک شبکه ی سازمانی نفوذ میشه ما باید اون موقع حملات مربوط به شبکه رو شروع کنیم و تمامی این اجزا ینی معماری اون شبکه و سازمان برای ما اونموقع اهمیت داره و یکی از اجزای اصلی اون سازمان Active Directory اون هستش که قبلا هم بهش اشاره کردم که با AD میتونیم کاربرارو مدیریت کنیم و… . و یکی از بالاترین سطح دسترسی ها توی یک شبکه میتونه Domain Admin باشه که همونطور که گفتیم توی فرآیند Red Teaming هدف ما بالاترین سطح دسترسی هستش که میتونیم از یک سازمان داشته باشیم.

 

یکی از سایت های خیلی خوبی که در زمنیه red team وجود داره سایت iRedTeam هستش که این سایت تمامی حملات مختلفی که در سطح های مختلف از فرآیند Red Teaming که میتونه انجام بشه رو برای ما توی این سایت دسته بندی کرده و برای هر بخش هم اومده مثال های مختلفی گذاشته و… که پیشنهاد می کنم حتما بهش یسر بزنید.

 

خلاصه دوستان فرآیند Network Penetration Testing کلا خیلی گستردست و ما اینجا همشو cover نکردیم فقط در حد آشنایی من اینجا گفتم تا یک دیدگاهی نسبت بهش داشته باشین وگرن میشه ساعت ها حرف زد راجبش…

 

کلا red team شامل اشخاص مختلفی توی یک team میشه که هر کدوم حوزه های تخصصی خودشون رو دارن.

 

 

جایگاه Malware Development در Red Team

بدافزار ها از سال تقریبا 1970 وارد عرصه کامپیوتر و تکنولوژی شدند و تا امروزه ادامه دارند و هر روزه دارن پیشرفته تر میشن و شکل جدیدی رو به خودشون میگیرن .. و خلاصه ابن بدافزار ها به مرور زمان پیشرفته تر شدن و پیچیدگی بیشتری رو پیدا کردن و بدافزار ها به دسته های مختلفی تقسیم میشن و چیزی که امروزه خیلی معروف شده باج افزار ها یا ransomware ـها هستند . کلا بدافزار ها به شکل های مختلفی پخش میشن و یکی از معروف ترین بدافزار ها که سیستم های نطنز رو آلوده کردن بدافزار stacsnet بود که داخلش از چندین zeroday استفاده شده بود .. هر کدوم از این malware ـهای برای خودشون اهداف خاصی رو دارن مثلا یکی ممکنه هدفش کسب درامد باشه مثل باج افزار ها که هدف مالی دارن و اهداف مالی پشت اونهاست و یک malware ممکنه صرفا ممکنه برای این باشه که توی سیستم قربانی به مدت زیادی بشینه و اون قربانی رو تبدیل به یک زامبی کنه و هکر بتونه مجموعه ای از زامبی هارو  داشته باشه و در نهایت یک شبکه بات نت تشکیل بده و در اخر هکر از این زامبی ها برای اهداف خودش مثل DDoS و… استفاده کنه.

جایگاه malware ـها در red team اینه که اولا Social Engineering یا مهندسی اجتماعی (SE) جایگاه پر رنگی رو در فرآیند Red Teaming داره و یکی از نقطه ضعف های هر سازمان میتونه افراد اون سازمان باشه .. به همین خاطر توسعه یک بدافزار میتونه خیلی به ما کمک کنه که بتونیم با استفاده از اون بدافزار و تکنیک های SE و مهندسی اجتماعی بتونیم به اون سازمان نفوذ کنیم که این malware یا بدافزار میتونه به شکل های مختلفی برای red team بکار بیاد مثلا اینکه از یک سیستم یا سروری دسترسی بگیرند و دسترسی خودشون رو حفظ کنند واسه اینکه مثلا فردا پسفردایی خواستن ادامه ی فرآیند red teaming رو پیش ببرن از این دسترسی که malware براشون استفاده کرده رو میتونن استفاده کنن و میتونن کار خودشون رو جلو ببرن که یحورای میشه همون backdoor یا درب پشتی خودمون رو سیستم قربانی درست کنیم.

همچنین rootkit ـها و bootkit ـها هم میتونن بکار بیان مثلا روت کیت ها بخاطر خصوصیت رفتاری که دارن باعث میشه اون هکر یا بدافزار ناشناس بمونه و خودش بزنه جای  یکی از پروسس های مهم سیستم یا حتی خودشو توی کرنل سیستم عامل جاسازی کنه به مدت طولانی ، که این خیلی به red team کمک میکنه.

چون ممکنه blue team یا اون تیم نظارتی که وجود داره (SOC) متوجه بشه و دسترسی هارو برامون ببنده که برای همین ما نیاز داریم که تا حد ممکن با نویز پایین تری کار کنیم و ناشناس کار کنیمو دسترسی رو ببریم بالا و حفظش کنیم .. و بخاطر اینکه malware ها detect یا شناسایی کردنشون خیلی سخت هست جایگاه خیلی خوبی رو توی red teaming داره که این malware ها به شکل های دیگه ای هم میتونن باشن ، مثلا میتونن توی یک malicious document ـها باشه که راجب این در ادامه صحبت می کنیم .. و همچنین بدافزار ها میتونن برای اهداف مختلف دیگه مثل phishing (صفحات جعلی) و.. هم استفاده بشن.

 

 

جایگاه Social Engineering یا مهندسی اجتماعی (SE) در Red Team

مهندسی اجتماعی در واقع چیزی هستش اینه که ما نیاز به تعامل با اون کاربر داریم .. مثلا فرض کنید ما میخوایم یک کاربر رو ترغیب کنیم که یک فایل مخربی رو اجرا کنه و قطعا ما نمیتونیم مستقیم بریم به کاربر بگیم من ی فایلی نوشتم و بیا و اینو اجرا کن 😐 نح از این خبرا نیست و اینجوری نمیشه و اجرا نمیکنه !! ما باید جوری به کاربر بگیم که کاربر ترغیب بشه یا وسوسه بشه که این فایل رو اجرا کنه .. مثلا اگر اون کاربری که باهاش تعامل داریم آقاست میتونیم این فایل رو بدیم به ی خانومی بعد اون خانوم بره به این تارگت ما اون فایل مخرب رو بده و بهش بگه که مثلا بیا این فایل رو مثلا برام باز کن واسه دانشگاه میخوام عجله دارم و!…

و از اونجایی هم که متاسفانه تو این جامعه ای که الان در حال حاضر هستیم نقطه ضعف اکثر آقایون خانوماست 💔 اون فرد ترغیب میشه و فایل اجرا میکنه و تمام.

این ی مثال بود که من براتون زدم و کلا میخوام اینو بگم که شما میتونید سناریو های مختلفی رو پیاده سازی کنید تا به اون هدف اصلیه برسید.

خب الان ما توی فرآیند Red Teaming هم خیلی مهندسی اجتماعی به کارمون میاد و کلا SE بشدت توی حوزه هک و امنیت بکار میاد که شما باید قدرت روانشناسی داشته باشید تا بتونید درون آدمارو در اولین نگا تشخیص بدین و نقطه ضعف های اونارو پیدا کنید و…، تا به اون هدفه برسید.

مثلا میتونید یک ایمیل جعلیه مخرب مثلا حاوی یک فایل مخرب باشه و به کارمندان اون شرکت ارسال کنید و بگید مثلا این ی پیام از طرف مدیره و فایل رو اجرا و بررسیش کنید و… و در نهایت در صورت اجرا کردن اون فایل سیستم اون کارمند قربانی هک میشه .. که حالا این روشی که برای مهندس اجتماعی استفاده می کنید بستگی به اون اطلاعاتی داره که از اون شرکت و کارمنداش بدست آوردید و هر جایی فرق میکنه!…

اینو همیشه یادتون باشه که یکی از باگ ها و آسیب پذیری هایی که هیچوقت Patch نمیشه و پچی براش وجود نداره ، آسیب پذیری مربوط به خود آدماست .. چون هر انسانی تو جامعه و کلا تو زندگی یکسری نقطه ضعف هایی رو داره و دقیقا ما توی مهندسی اجتماعی با کمک علم روانشاسی و روابط اجتماعی که داریم باید بتونیم نقطه ضعف های اون فرد/تارگت مورد نظر رو پیدا کنیم تا ازش استفاده یا سو استفاده کنیمو به نتیجه ای که میخوایم برسیم!…

پس SE و روابط اجتماعیو روانشاسی رو هیچوقت توی هک و امنیت دست کم نگیرید.

 

 

جایگاه مهندسی معکوس Reverse Engineering و Exploit Development در Red Team

اول از همه بریم ببینیم اصا مهندسی معکوس چیه ، خب مهندسی معکوس ینی اینکه مثلا ما یک application ـی رو داریم و میخوایم ببنیم چطور کار میکنه و ببنیم که پشت این اپلیکیشن چه چیزی هست و با استفاده از اعمالو انجام یکسری فرآیند ها روی اون اپلیکیشن بتونیم به سورس کد اصلی اون اپ دسترسی پیدا کنیم یا درخواست های اپلیکیشن به بیرون شبکه رو capture کنیم و… که اینجاست که فرآیند مهندسی معکوس به کارمون میاد .. جایگاه این در رد تیمینگ اینه که فرض کنید مثلا میخوایم به یک سازمان X نفوذ کنیم خب این سازمان مثلا ممکنه یک نرم افزار دسکتاپی داشته باشه خب این desktop applications ممکنه چالش های امنیتی به همراه خودشون بیارن مثلا آسیب پذیری های مختلفی توی سطح دسکتاپ اپلیکیشن ها وجود داره چه با زبان های سطح پایین نوشته شده باشه چ با زبان های سطح بالا و… یا میدونیم مثلا تعداد زیادی از کارمندای اون سازمان از یک اپلیکشنی استفاده می کنند که ممکنه آسیب پذیر باشند خب حالا مثلا ما میدونیم که سازمان X اکثر کارمنداش از اپلیکیشن Y استفاده می کنند ، خب الان ما میایم و میتونیم بیایم اون اپلیکیشن رو برداریم و بیایم آسیب پذیری های مختلفش رو بکشیم بیرون و عملیات مهندسی معکوس روش انجام بدیم و سپس ممکنه به یکسری آسیب پذیری ها برسیم .. حالا سعی می کنیم یک آسیب پذیری از این پیدا کنیم که اسیب پذیری های مختلفی هم وجود داره که یکیش BoF یا Buffer Overflow هستش و… خب حالا بعد از اینکه ما اون آسیب پذیری رو از اپلیکیشن پیدا کردیم حالا نوبت به این میرسه که بتونیم از اون آسیب پذیری بهره برداری کنیم یا اونو exploit ـش کنیم که در واقع به نوشتن ابزاری که بیاد از یک آسیب پذیری بهره برداری کنه exploit development هم میگن که ما نیاز داریم یک exploit یا قطعه کدی توسعه بدیم که بتونه از این آسیب پذیری سواستفاده کنه و که تخصص بالایی نیاز داره و معمولا کسی که مهندسی معکوس انجام میده کار exploit development هم انجام میده. پس اینجا در رد تیمینگ مهندسی معکوس بکار ما میاد و با استفاده از مهندسی معکوس میتونیم اون اپلیکیشن رو آسیب پذیری هاشو پیدا کنیم و بعد با استفاده از اون آسیب پذیری درون اون اپلیکیشن بیایم و به اون سیستم ها یا سازمان نفوذ کنیم.

ناگفته نماند که برای مهندسی معکوس هم ابزار های زیادی وجود داره مثل edb .. IDA .. Fiddler و… .

 

قبل از اینکه مقاله رو به پایان برسونیم بزارید یچیزی رو بهتون بگم

اونم اینه که ما ی سایتی داریم بنام SynAck که میتونید بصورت remote (از راه دور) بعنوان red teamer توی این سایت فعالیت کنید و عضو گروه های red team مختلف بشید و افرادی که توی این سایت وجود دارند کلا ادمای باسوادی هستند و میتونید باهاشون همکاری کنیدو غیره .. ولی مشکلی که داره اینه که کشور های تحریم نمیتونن توی این سایت فعالیت کنند که برای ما یچیز عادیه و میتونید با ی هویت جعلی کارتونو انجام بدین 🙂

 

 

و تمام!…

 

خیلی ممنون که تا اینجا با من همراه بودین 🌹

امیدوارم از این مطلب لذت کافی رو برده باشید 🙂

درباره نویسنده



نظرات کاربران



دیدگاهتان را بنویسید

مطالب مرتبط