Adversary Emulation در امنیت سایبری چیست؟ شبیه سازی دشمن

در دنیا امنیت و آموزش هک طی هر مدتی که میگذرد اصطلاحات و مفاهیم جدیدی معرفی میشوند که به گوش افراد این حوزه نا آشنا هستند. یکی از این مفاهیم و اصطلاحات جدید ارائه شده Adversary Emulation میباشد. در این مقاله ما قصد داریم به معرفی اصطلاح Adversary Emulation و ابزارهای که در این حوزه فعالیت میکنند بپردازیم.

اصطلاح Adversary Emulation چیست؟

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

پاسخ این سوال را نمی‌توانیم با صبرکردن برای حمله شدن به ما به دست بیاوریم زیرا این احتمال وجود دارد که تکنیک های مورد استفاده ما توانایی جلوگیری از آن حملات را نداشته باشند و آسیب جدی به زیرساخت ما وارد شود. از این جهت امروزه اصطلاح جدیدی بر روی کار آمده است که به عنوان Adversary Emulation شناخته میشود.

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

  • بیشتر بخوانید: معرفی 15 ابزار پرکاربرد در تیم های آبی (BlueTeams)

ابزارهای Adversary Emulation کدامند؟

برای پیاده سازی Adversary Emulation ما نیاز به استفاده از ابزارهای داریم که این فرآیند را برایمان پیاده سازی کند. در این مقاله ما به چندتا از معروف ترین ابزاره های Adversary Emulation میپردازیم.

معرفی ابزار Atomic Red Team

ابزار Atomic Red Team جزوه یکی از ابزارهای بسیار کاربردی در حوزه Adversary Emulation میباشد که توسط شرکت امنیتی Red Canary به صورت رایگان و Open Source ارایه شده است. ابزار Atomic Red Team در سال 2017 ارائه شده است و تا به الان پیشرفت های بسیاری کرده است. این ابزار یک ابزار برای بررسی عملکرد کنترل های امنیتی و تجهیزات امنیتی در برابر حملات مختلف میباشد. این ابزار به راحتی میتواند با پیاده سازی حملات مختلف برپایه MITRE ATT&CK کنترل های امنیتی را آزمایش کند. ART توانایی اجرا سازی بر روی سیستم های متعددی از جمله MacOS, Linux و Windows را دارد و همچنین دارای یک PowerShell Module به نام Invoke-AtomicRedTeam میباشد که میتواند Adversary Emulation را برایمان خودکار سازی کند. .بیشتر بخوانید: حمله DNS Exfiltration چیست و چگونه پیاده سازی میشود؟

معرفی APT Simulator

دراصل APT Simulator فقط یک Batch Script ویندوزی میباشد که می‌تواند با اجرا شدن بر روی سیستم های ویندوزی به شکل خیلی خوبی سیستم ویندوزی را به یک سیستم در معرض خطر تبدیل کند. این ابزار با شبیه سازی حملات میتواند به شکل خوبی درمعرض خطر بودن سیستم را واقعی جلوه بدهد. برای دانلود این Batch Script بر روی اینجا کلیک کنید.

معرفی Red Team Automation

این ابزار یکی از ابزارهای Adversary Emulation بسیار کاربردی برای EDR ها میباشد. RTA توسط Endgame به صورت کاملا رایگان و متن باز ارائه شده است و حاوی حدود پنجاه Script میباشد که توانایی ایجاد مصنوعات مطابق با MITRE ATT&CK را دارند. به گفته توسعه دهندگان این ابزار این تعداد Script ها در آینده افزایش پیدا خواهد کرد.درک مفاهیم بیشتر: تست نفوذ شبکه از پایه تا پیشرفته | دوره کامل SANS Security 560 | تست نفوذ به شبکه و زیرساخت سازمانی | 25 ساعت آموزش به همراه سناریو های عملی

معرفی ATTPwn

ابزار ATTPwn به مراتب یکی از ابزارهای خوب در حوزه Adversary Emulation میباشد که توانایی شبیه سازی حملات متعدد توصیف شده توسط MITRE ATT&CK را دارد. این ابزار دراصل میتواند کارای و مقاومت سیستم ها و‌ کنترل های امنیتی را بر روی سیستم های مایکروسافتی تست و بررسی کند. ATTPwn از PowerShell و Python برای اینکار استفاده میکند و حملات مختلفی را میتواند برایمان پیاده سازی کند که علاوه بر اینها ما توانایی شخصی سازی حملات و سناریوهای سفارشی شده را هم در این بستر داریم.بیشتر ببینید: دوره SANS Security 573 | خودکارسازی امنیت اطلاعات با Python | نزدیک به 30 ساعت آموزش

چشم انداز تهدید چیست؟ بررسی مفهوم Threat Landscape به زبان ساده

چشم انداز تهدید یا همان Threat Landscape  یکی از اصطلاحتی میباشد که امروزه در حوزه امنیت سایبری ( CyberSecurity ) به گوش میخورد و معنا و مفهوم منحصر به فرد خود را دارد که در این مقاله قصد داریم مفهوم چشم انداز تهدید یا همان Threat Landscape را در امنیت سایبری ( CyberSecurity ) بررسی کنیم‌ ، به صورت کلی چشم انداز تهدید ( Threat Landscape ) شامل تمامی تهدیداتی میباشد که میتوانند بر روی مجموعه ایی از سیستم‌ها، دارای های یک سازمان و افراد و گروه های مختلف تاثیر گذار باشند که این تاثیر گذاری درقالب حملات سایبری و آسیب های متنوع به سمت این منابع میباشد.

چشم انداز تهدید (Threat Landscape) شامل چه چیزی میشود؟

حالا که با مفهوم چشم انداز تهدید آشنا شدیم باید بررسی کنیم که این مفهوم شامل چه تهدیدات و چه آسیب های بر روی منابع ما میشود. باید توجه داشته باشید که منظور از این کلمه یعنی تمامی آسیب پذیری ها، اشکالات امنیتی، افراد مهاجم و هکر ها، بد افزار میباشد که با تکنیک های مشخص زمینه مشخصی از یک سازمان و منابع مارا به خطر میندازند.
عنوان و مفهوم زمینه یا Context در Threat Landscape به معنای بخشی از ویژگی ها و دارایی های یک‌سازمان یا یک شخص خاص میباشد که از جمله این ویژگی ها عبارتند از:

  • سطح و میزان امنیت
  • میزان و ارزش بالا دارایی ها و اطلاعات
  • دارا بودن اطلاعات و دارایی ها مهم و ارزشمند برای افراد مهاجم
  • موقعیت جغرافیایی ( برخی گروه های APT براساس موقعیت های مکانی اهداف خود را که ممکن است افراد و سازمان ها از یک منطقه جغرافیایی خاص و یا یک کشور خاص باشند انتخاب میکند. )

    چه عواملی بر روی چشم انداز تهدید (Threat Landscape) تاثیر گذار هستند؟

    توجه داشته باشید که چشم انداز تهدید به مرور زمان میتواند تغییر کند به آن اضافه شود و یا از آن کم شود که این موضوع بستگی به موقعیت و عوامل مختلفی دارد، به عنوان مثال از سال 2020 که شرایط بیماری کرونا و ایجاد شدن بستر های دورکاری مثله Remote Access توانسته که چشم انداز تهدید را به این سمت بکشاند و افراد مهاجم تمرکزشان را بر روی این سیستم ها و این افراد که از خانه به سمت سازمان متصل میشوند و دسترسی دارند بزارند و راهی به داخل سازمان و‌ پیاده سازی کردن حملات داشته باشند که از این رو از سال 2020 به اینور این حملات بر روی بستر های Remote Access و کاربرانی که از خانه به سازمان وصل میشوند زیاد شده است.

    عوامل دیگری نیز وجود دارند که میتوانند تاثیر گذاری خودشان را بر روی چشم انداز تهدیدات داشته باشند که عبارتنداز:

    • ظهور و کشف آسیب پذیری های جدید فرصت جدید و خوبی را برای هکرها ایجاد میکنند که بتوانند اهداف خود را پیاده سازی کنند.
    • ظهور تجهیزات جدید و تکنولوژی های جدید مثله Cloud Computing
    • به وجود آمدن رخداد های طبیعی مثله کرونا که سبب ایجاد تغییرات مختلف در زیرساخت سازمان ها شده است.

    چرا باید از چشم انداز تهدید (Threat Landscape) استفاده کنیم؟

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

  • بصورت مقدماتی تا پیشرفته تکنیک های هک و نفوذ حرفه ای را به شما آموزش می دهد. دوره SANS 504 یا تکنیک های هک یکی از مهمترین دوره های آموزش هک و نفوذ می باشد که با هدف تکمیل کردن مباحث تست نفوذ پیشرفته ، از شما یک کارشناس هک قانونمند حرفه ای می سازد. دوره آموزشی SANS SEC 504 به عنوان برترین دوره آموزشی امنیت | هک و تست نفوذ در دنیا مطرح می باشد که بصورت تخصصی بر روی آموزش مباحث Incident Response و تکنیک های خاص تست نفوذ می پردازد.


راهکار SSL Offloading چیست؟ به زبان ساده

SSL Offloading یکی از مفاهیم مهم در آموزش هک و امنیت شبکه است که پردازش رمزنگاری SSL/TLS را از سرورهای اصلی به یک دستگاه واسط مانند Load Balancer منتقل می‌کند. این کار باعث کاهش بار پردازشی سرورها و افزایش سرعت پاسخ‌دهی می‌شود. دستگاه واسط، داده‌های رمزنگاری‌شده را دریافت، رمزگشایی و پردازش کرده، سپس آن‌ها را به سرور اصلی ارسال می‌کند. این روش در دیتاسنترها و سرویس‌های ابری برای بهینه‌سازی عملکرد و امنیت استفاده می‌شود.راهکار SSL Offloading چیست و چگونه کار میکند؟ در اصل این راهکار یکی از روش های کاهش بار بر روی وب سرور میباشد که فرآیند و بار رمزگذاری و رمزگشایی داده های وب سرور هارا کاهش از روی وب سرور ها حذف میکند.
پروتکل SSL (البته این پروتکل منسوخ شده است و نسخه جایگزین آن TLS میباشد اما نام راهکار SSL Offloading تغییری نکرده است برای همان از عنوان SSL استفاده میکنیم) پروتکلی است که به جهت رمزگذاری و رمزگشایی داده ها و ضمانت ارسال داده ها به صورت کامل و کاملا امن را بر روی بستر HTTP میباشد.
انجام محاسبات و الگوریتم SSL به جهت اینکه داده هم رمزنگاری و هم رمزگشایی شود بسیار سخت و سنگین میباشد پس از همین بابت برای کاهش بار موجود بر روی وب سرور و جداسازی ترافیک دریافتی وب و بارمحاسباتی رمزگذاری و رمزگشایی ما از راهکار SSL Offloading استفاده میکنیم.

راهکار SSL Offloading چیست؟

با این راهکار و مفهوم SSL تا حدودی آشنا شدیم اما به صورت کلی SSL پروتکلی است که داده هارا برای ما رمزنگاری میکند و در جلوگیری از حملات متنوعی از جمله Reply Attack و MITM کاربرد دارد و کمک زیادی میکند.
پروتکل SSL باتوجه به خوبی که دارد میزان بار محاسباتی زیادی هم در پی دارد بدین شکل که این فرآیند بر روی سرور(ها) و پردازش CPU آنها بسیار تاثیر گذار میباشد

درکنار اینکه این سرور(ها) میزان ترافیک دریافتی و پردازش درخواست های دریافتی وب راهم باید بررسی کند و پاسخ آن را ارسال کند پس از همین جهت باید راهکاری داشته باشیم که وب سرور ما توانایی این را داشته باشد که به پاسخ های دیگری پاسخ دهد و بار اضافی بر روی آن نباشد.بیشتر ببینید: دوره SANS Security 573 | خودکارسازی امنیت اطلاعات با Python

پس ما یک راهکار را به این جهت استفاده میکنیم که بار محاسباتی SSL که شامل رمزنگاری داده ها و رمزگشایی آنها میشود را از روی وب سرور حذف کنیم و بر روی یک سرور دیگر که به اصطلاح به آن SSL Load Balancer یا SSL Offloading Server گفته میشود قرار دهیم.

نحوه کار SSL Offloading چگونه است؟

توجه داشته باشید این فرآیند و هدف از این راهکار این است که ما پردازش SSL را مستقیما بر روی سرور وب خودمان به انجام نرسانیم و وقتی که ما این پردازش را جداسازی میکنیم و روی یک تجهیز دیگه قرار میدیم بدین شکل میشه که وقتی داده ای از سمت کاربر به سمت وب سرور ارسال میشه در ابتدا داده بر روی پروتکل HTTPS ( به صورت رمزنگاری شده ) در سروری که SSL Offloading را انجام میدهد دریافت میشود و بعد از آن بعد از رمزگشایی کردن داده ها، داده به صورت متن ساده ( Clear Text ) به سمت وب سرور ارسال میشود.بیشتر بخوانید: UBA یا همان User Behavior Analytics چیست؟ به زبان ساده

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

مزیت استفاده از SSL Offloading چیست؟

  • قرار گیری میزان بار محاسباتی SSL Handshake بر روی یک دیوایس دیگر با سرعت بالاتر
  • افزایش سرعت و میزان توانایی پردازش سرور وب
  • افزایش سرعت بارگذاری صفحات وب سایت
  • افزایش پایداری و Performance وب سایت
  • پیاده سازی راحت تر HTTPS Inspection ( بازرسی HTTPS فرایندی میباشد که در آن بسته های HTTPS کاملا بررسی و بازرسی میشوند که کد های مخرب به صورت رمز شده در آنها قرار نگرفته باشد چون که رمزنگاری و SSL هم میتونه یک شمشیر دو لبه باشه )

انواع حالت های SSL Offloading کدامند؟

توجه داشته باشید که SSL Offloading دو حالت را شامل میشود که به شرح زیر میباشند:

حالت اول - SSL Termination

این روش همان روشی است که در بالا توضیح دادیم و نحوه کار آن هم بدین شکل است که داده رمزنگاری شده در سرور SSL Offloading دریافت میشود و داده پس از رمزگشایی به سمت وب سرور ارسال و پاسخ آن نیز در سرور SSL Offloading رمزنگاری میشود و به سمت کلاینت و درخواست کننده مورد نظر ارسال میشود.

حالت دوم - SSL Bridging

این حالت با حالت SSL Termination متفاوت میباشد زیرا که داده ها به صورت رمزنگاری شده در سرور SSL Offloading دریافت میشوند و به همان صورت هم به سمت وب سرور ارسال میشوند و فرآیند رمزگشایی آنها به عهده وب سرور میباشد.
دراصل این فرآیند به جهت بررسی های اضافی و داشتن بازرسی بر روی ترافیک های رمزنگاری شده وب میباشد که از لحاظ داشتن محتوا و کد های مخرب بررسی شوند و درصورت داشتن مشکل Drop شوند در غیر این صورت به همان شکل ( کاملا رمز شده ) به سمت وب سرور ارسال شوند به جهت رمزگشایی در وب سرور و پردازش درخواست

موفق باشید



حمله روز تولد ( Birthday Attack ) چیست؟ از تئوری تا واقعیت

در حوزه حملات مبتنی بر الگوریتم های رمزنگاری ، حمله ای با عنوان روز تولد یا Birthday Attack وجود دارد . اگر بخواهیم در خصوص این حمله که بیشتر به عنوان یک تئوری تا یک حمله واقعی مطرح می شود صحبت کنیم ، باید بگوییم که بیشتر از اینکه یک حمله باشد ، یک دیدگاه معماری نرم افزار و طراحی بانک اطلاعاتی سطح کلان است. اول بیایید بصورت کاملا خلاصه و بدون درگیر شدن به مسائل ریاضی ، تئوری روز تولد را با هم بررسی کنیم و سپس به بررسی مشکلاتی که ممکن است از داخل این تئوری برای ما پیش بیاید بپردازیم.

تئوری روز تولد چیست؟

ایده اولیه تئوری روز تولد یا Birthday Theory به این شکل است که اگر فرض کنیم که 367 نفر درون یک کلاس حضور داشته باشند واین یعنی 2 نفر بیشتر از تعداد روزهای سال ، به احتمال قطع به یقین ما حداقل 2 نفر را در این اتاق داریم که تاریخ تولد ( روز و ماه ، نه سال ) یکسانی داشته باشند. درست است؟

این درست است اما پارادوکس قضیه اینجاست که ما باید احتمالات را چک کنیم ، احتمال با یقین متفاوت است . بگذارید با مثال دیگری بحث را بازتر کنیم. حتی اگر 23 نفر درون یک کلاس درس باشند ، احتمال اینکه 2 نفر از این 50 نفر تاریخ تولد یکسانی داشته باشند نزدیک به 50 درصد است !!! اینکه چگونه چطور به این نتیجه میرسیم یک عملیات ریاضی و محاسبه است که در لینک زیر می توانید بصورت کامل نحوه محاسبه این میزان احتمال را مشاهده کنید :

حمله روز تولد چیست؟ آیا Birthday Attack واقعی است یا تئوری؟

حمله روز تولد در واقع یک تئوری حمله و معرفی یک آسیب پذیری یا بهتر بگوییم ضعف در طراحی پروتکل رمزنگاری ( Hashing ) ای به نام MD5 است. الگوریتم هشینگ MD5 به دلیل ضعف در طراحی و تبدیل کردن مقادیر ( فایل ها و رشته های و ... ) به Hash این احتمال را دارد که در حجم عظیمی از داده ها ، تداخل Hash داشته باشد.

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


در تئوری ممکن است شما بتوانید یک فایل مخرب و آلوده را با Hash یکسان با یک فایل قابل اعتماد جایگزین کنید و از این طریق حمله خود را انجام دهید اما اینکار چندان هم ساده نیست. حمله روز تولد عملا یک نوع حمله Brute Force برای الگوریتم رمزنگاری MD5 است که احتمال به وقوع پیوستن آن بسیار بسیار کم است اما تئوری احتمال وجود آن در داده های کلان وجود دارد. در میزان داده های کم این تداخل یا Hash Collision احتمال وقوع بسیار پایینی دارد اما در سطح کلان ممکن است این تداخل به وجود بیاید. به همین دلیل اساسا الگوریتم های سری SHA به کلی جایگزین MD5 شدند.


, آموزش هک ،آموزش هک قانونمند ،آموزش CEH ،دوره آموزشی CEH ،دوره آموزش هک قانونمند،آموزش سکیوریتی پلاس ، دوره آموزشی سکیوریتی پلاس،آموزش Security،آموزش امنیت شبکه

حمله DCSync چیست؟ پیاده سازی, شناسایی و جلوگیری

یکی از حملات پر استفاده و رایج بر روی بستر Active Directory و Domain Controller حمله DCSync میباشد که به واسطه این حمله فرد مهاجم توانایی دریافت اطلاعات مربوط به یک نام کاربری بر روی DC را دارد که این اطلاعات شامل اطلاعات حساس مانند مقدار Hash رمز عبور می‌شود. حمله DCSync با تکیه بر روی دستورات پروتکل MS-DRSR حمله خود را پیاده سازی میکند.

توجه داشته باشید که امروزه در سازمانها دیگر یک DC یا به اصطلاح یک Domain Controller وجود ندارد و از همین بابت در یک سازمان میتواند چندین Domain Controller وجود داشته باشد که اطلاعات این Domain Controller ها با یک دیگر همسان سازی شود و این DC ها به اصطلاح Replicate شده باشند

از همین جهت ما میتوانیم از طریق MS-DRSR یا همان Microsoft - Directory Replicate Service نقش یک DC را در شبکه برای دیگر DC ها بازی کنیم و از آنها بخواهیم که داده هایشان را همسان سازی کنند و داده های مورد نیازمان را از آنها استخراج کنیم

این همسان سازی موجب این میشود که ما یک نام کاربری که به اصطلاح کاربری باشد که Replicate شده باشد را اطلاعات حساس آن مانند مقدار Hash مربوط به Password آن را به دست بیاوریم و در حملاتی مانند شکستن پسورد و حملات پیشرفته تر مانند PassTheHash استفاده کنیم.

حمله DCSync یک روش پیشرفته در هک اکتیودایرکتوری است که در آن مهاجم با جعل هویت یک Domain Controller (DC)، از پروتکل MS-DRSR برای همگام‌سازی اطلاعات کاربران و دریافت هش رمزهای عبور استفاده می‌کند. در آموزش هک، این حمله معمولاً با ابزارهایی مانند Mimikatz انجام می‌شود و به مهاجم امکان سرقت رمزهای عبور ادمین را می‌دهد. برای شناسایی این حمله، می‌توان رویدادهای لاگ 4662 و 4742 را در Event Viewer بررسی کرد. جهت جلوگیری، باید حساب‌های حساس را از گروه Replication Permissions حذف کرده و LAPS، Logging و Monitoring را در شبکه فعال کرد. این حمله می‌تواند کل امنیت دامنه را به خطر بیندازد، بنابراین شناسایی و جلوگیری از آن بسیار حیاتی است.

چه امتیازی برای کاربری که قصد داریم اطلاعات حساس آن را به دست بیاوریم نیاز است؟

توجه کنید که برای اینکه بتوانید نقش یک DC را بازی کنید و اطلاعات کاربر مورد نظر را به دست بیاورید باید همونطور که در بالا هم اشاره کردیم کاربر دسترسی های ممتاز Replicate را داشته باشد.

این حمله جزوه حملاتی است که معمولا در اواخر حمله و گرفتن دسترسی نمیتواند کاربری باشد تا زمانی که کاربر مورد نظر را پیدا نکرده ایم زیرا برای به دست اوردن این امتیازات و این کاربر با این سطح دسترسی نیاز به وقت داریم
به صورت کلی دسترسی های که یک کاربر باید داشته باشد به شکل زیر هستند:

  • Replicating Directory Changes
  • Replicating Directory Changes All
  • Replicating Directory Changes In Filtered Set

بیشتر ببینید: دوره SANS Security 573 | خودکارسازی امنیت اطلاعات با Python

نحوه کار حمله DCSync به چه شکل میباشد؟

توجه داشته باشید که همانطور که عنوان کردیم‌ DCSync حمله ای است که بر پایه MS-DRSR عمل میکند و نقش یک DC را برای دیگر DC های Replicate شده بازی میکند در اینجا فرآیند اینکه فرد بخواهد درخواست Replication برای یک‌ کاربر که با دیگر DC ها اطلاعات اون Replicate و همسان سازی شده بکند باید سه مرحله زیر را طی کند:

مرحله اول - شناسایی DC ها و ارسال Replication Requests

مرحله دوم - درخواست Replication و همسازی اطلاعات مربوط به کاربری که سطح امتیاز Replicate را دارد ( سه امتیاز عنوان شده در بالا )

نکته: این مرحله از طریق تابع GetNCChange انجام میشود.

مرحله سوم - دریافت اطلاعات مربوط به مربوط به کاربری که سطح امتیاز Replicate را دارد از جمله اطلاعات مربوط به Hash رمز عبور این کاربر

چگونه حمله DCSync را پیاده سازی کنیم؟

توجه کنید که این حمله در دوره آموزشی SANS SEC560 | تست نفوذ به زیرساخت و شبکه‌های کامپیوتری پیاده سازی شده است اما در این دوره ما به پیاده سازی آن از طریق روش دیگری به واسطه Impact Framework پرداختیم و در این مقاله قصد داریم به واسطه Mimikatz که یکی از ابزارهای محبوب و پراستفاده در بحث فرآیند های پس از گرفتن دسترسی ( Post Exploitation ) میباشد.

پیاده سازی این حمله بسیار سادست فقط کافیست که Mimikatz را بر روی سیستم مقابل اجرا سازی کنید و از دستور زیر استفاده کنید.

lsadump::dcsync /domain:tosinso.local /user:Username

نکته: در دستور بالا باید در مقابل Domain نام دامنه را وارد کنید و در مقابل UserName نیز نام کاربری که قرار است اطلاعات آن از جمله Hash مربوط به رمز عبور آن را دریافت کنید را قرار بدهید.

چگونه حمله DCSync را شناسایی کنیم؟

توجه کنید که شناسایی و جلوگیری از این حمله کمی نسبتی سخت میباشد اما راه های زیادی برای این موضوع وجود دارد که آنهارا بررسی میکنیم

راهکار اول: نظارت (Monitoring) بر روی ترافیک های شبکه

یکی از راه ها جهت تشخیص این حمله نظارت و Monitoring بر روی ترافیک های شبکه DC میباشد که برای این موضوع ما باید در ابتدا لیستی از دامنه های مشخص داشته باشیم و تمرکز و‌ نگاهمان بر روی ترافیک های مربوط به DRSUAPI RPC به جهت عملیات استفاده از GetNCChange باشد و از این جهت با لیستی که از DC ها در دست داریم بررسی میکنیم که اگر یک درخواست جهت عملیات GetNCChange ارسال شده است که در لیست ما قرار ندارد آن Host و آدرس، از اینجا متوجه میشویم که حمله DCSync درحال رخ دادن است و این یک ترافیک مخرب میباشد.

راهکار دوم: استفاده از EventLog

یکی دیگر از راهکار های ما استفاده از بستر EventLog میباشد که به واسطه این موضوع ما باید بر روی EventID 4662 تمرکز داشته باشیم که زیرمجموعه Audit Directory Services Access میشود.

راهکار سوم: شناسایی از طریق Splunk

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

source = XmlWinEventLog : Security EventCode =4624
[ search source = XmlWinEventLog : Security EventCode =4662
Properties ="*1131 f6aa -9 c07 -11 d1 - f79f -00 c04fc2dcd2 *" OR
Properties ="*1131 f6ad -9 c07 -11 d1 - f79f -00 c04fc2dcd2 *" OR
Properties ="*1131 f6ab -9 c07 -11 d1 - f79f -00 c04fc2dcd2 *"
| fields SubjectLogonId
| rename SubjectLogonId AS TargetLogonId ] NOT
[ inputlookup domain_controllers . csv
| fields ip
| rename ip AS IpAddress ]

چگونه جلوی حمله DCSync را بگیریم؟

بحث Replication در DC یک امر بسیار عادی میباشد و نیازی به بررسی و توجه چندانی به این بخش جهت اینکه جلوگیری کنیم از ایت حمله نیست بلکه توجه ما باید بر روی سطح دسترسی و امتیازات Replicate برای کاربران باشد !

  • نکته اول: ممیزی بر روی سطح دسترسی کاربران حدالامکان برای کاربرانی که مجوز Replicate وجود دارد از ویژگی های امنیتی اضافی جهت تایید آنها استفاده شود.
  • نکته دوم: دسترسی سطح بالا و توانایی استفاده از آن سطح دسترسی در تمام نقاط سیستم و بخش های شبکه را به کاربران ندهید این موضوع خطر رخ دادن این‌ حمله را کاهش میدهد.