نفوذ به یک سیستم معمولاً پایان یک حمله نیست. در بسیاری از حملات سازمانی، مهاجم پس از به‌دست آوردن دسترسی اولیه تلاش می‌کند از همان سیستم به منابع دیگری در شبکه دسترسی پیدا کند و در نهایت به سراغ حساب‌ها و سیستم‌های حساس‌تر برود. این فرایند که با عنوان حرکت جانبی در شبکه (Lateral Movement) شناخته می‌شود، یکی از مراحل مهم در حملات هدفمند به زیرساخت‌های سازمانی است.

مهاجم ممکن است کار خود را از یک سیستم کاربری با سطح دسترسی محدود آغاز کند، اما هدف او معمولاً همان سیستم نیست. ممکن است بخواهد به File Server، Application Server، Database یا در نهایت Domain Controller برسد. به همین دلیل، شناسایی و محدود کردن مسیرهای حرکت مهاجم بین سیستم‌ها بخش مهمی از دفاع در برابر حملات پس از نفوذ است.

 

حرکت جانبی در شبکه چیست؟

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

برای مثال، فرض کنید مهاجم ابتدا یک User PC را آلوده کرده است:

User PC → File Server → Application Server → Domain Controller

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

بنابراین Lateral Movement الزاماً به معنی جابه‌جایی فیزیکی یا انتقال یک فایل از سیستمی به سیستم دیگر نیست؛ منظور، گسترش دسترسی مهاجم در محیط و حرکت از یک نقطه به نقطه دیگر برای رسیدن به هدف نهایی است.

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

 

شناسایی حرکت جانبی در شبکه

 

Lateral Movement در کجای زنجیره حمله قرار می‌گیرد؟

Lateral Movement معمولاً بخشی از زنجیره‌ای است که مهاجم پس از ورود به محیط سازمان طی می‌کند. یک سناریوی ساده می‌تواند به شکل زیر باشد:

Initial Access → Discovery → Credential Access → Lateral Movement → دسترسی به منابع حساس

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

بنابراین Lateral Movement را نباید یک اقدام کاملاً مستقل در نظر گرفت؛ این مرحله معمولاً با Discovery، Credential Access و Privilege Escalation ارتباط نزدیکی دارد.

 

مهاجم قبل از حرکت جانبی در شبکه چه چیزهایی را بررسی می‌کند؟

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

برای مثال، اطلاعات زیر می‌تواند برای تعیین مسیر بعدی حمله ارزشمند باشد:

  • چه سیستم‌ها و Serverهایی در شبکه وجود دارند؟
  • چه سرویس‌هایی روی سیستم‌ها فعال هستند؟
  • کدام حساب‌ها دسترسی بیشتری دارند؟
  • چه منابعی از طریق Network Share در دسترس هستند؟
  • سیستم فعلی با چه Serverهایی ارتباط دارد؟
  • آیا Credential یا اطلاعات احراز هویت قابل استفاده‌ای روی سیستم وجود دارد؟
  • چه سیستم‌هایی برای ادامه حمله ارزش بیشتری دارند؟

این مرحله معمولاً با مفهوم Discovery شناخته می‌شود. نتیجه Discovery می‌تواند به مهاجم کمک کند به‌جای حرکت تصادفی، مسیر مناسب‌تری را برای رسیدن به منابع حساس انتخاب کند.

 

مهاجم چگونه حرکت جانبی در شبکه انجام می‌دهد؟

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

۱. استفاده از Remote Services

برخی سرویس‌های مدیریتی و Remote در شبکه برای فعالیت‌های کاملاً قانونی استفاده می‌شوند؛ اما در صورت دسترسی غیرمجاز، همین سرویس‌ها می‌توانند برای حرکت بین سیستم‌ها مورد سوءاستفاده قرار گیرند.

برای مثال، در یک محیط Windows ممکن است مهاجم از سرویس‌هایی مانند RDP، SMB یا WinRM برای برقراری ارتباط با سیستم‌های دیگر استفاده کند. در محیط‌های Linux نیز SSH یکی از سرویس‌هایی است که در صورت سوءاستفاده از Credentialهای معتبر می‌تواند برای دسترسی به سیستم‌های دیگر مورد استفاده قرار گیرد.

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

 

۲. استفاده مجدد از Credentialهای معتبر

اگر مهاجم به Credential یک حساب Privileged دسترسی پیدا کند، مسیر حرکت جانبی می‌تواند بسیار گسترده‌تر شود.

برای مثال، فرض کنید یک حساب مدیریتی روی چند Server دسترسی دارد. اگر Credential این حساب در اختیار مهاجم قرار بگیرد، ممکن است مهاجم بتواند از همان دسترسی برای ورود به چند سیستم استفاده کند، بدون اینکه لازم باشد هر سیستم را به‌صورت مستقل compromise کند.

این موضوع زمانی خطرناک‌تر می‌شود که یک Credential حساس روی تعداد زیادی از سیستم‌ها قابل استفاده باشد. در چنین شرایطی، compromise شدن یک Workstation می‌تواند به دسترسی به چندین Server منجر شود.

 

۳. سوءاستفاده از اطلاعات احراز هویت

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

یکی از نمونه‌های شناخته‌شده در محیط‌های Windows، Pass-the-Hash است. در این تکنیک، مهاجم در شرایط خاص می‌تواند از Hash مربوط به Credential یک حساب برای احراز هویت به سرویس‌های دیگر استفاده کند، بدون اینکه لزوماً Password اصلی را در اختیار داشته باشد.

در محیط‌های مبتنی بر Active Directory نیز Kerberos نقش مهمی در احراز هویت دارد و سوءاستفاده از Ticketهای احراز هویت می‌تواند در برخی سناریوها به دسترسی غیرمجاز به منابع دیگر منجر شود.

به همین دلیل، حفاظت از Credentialها تنها به جلوگیری از افشای Password محدود نمی‌شود و باید نحوه استفاده از حساب‌ها و اطلاعات احراز هویت نیز کنترل شود.

 

۴. استفاده از دسترسی‌ها و Trustهای موجود

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

برای مثال، یک حساب Service ممکن است روی چند Server دسترسی داشته باشد یا یک حساب مدیریتی برای مدیریت چند سیستم استفاده شود.

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

 

حرکت جانبی چه تفاوتی با Privilege Escalation دارد؟

Privilege Escalation یعنی مهاجم تلاش کند سطح دسترسی خود را افزایش دهد؛ مثلاً از یک حساب معمولی به سطح Administrator برسد.

اما Lateral Movement یعنی مهاجم از یک سیستم، حساب یا نقطه دسترسی به سمت سیستم یا منبع دیگری حرکت کند.

برای مثال:

User Account → Administrator

نمونه‌ای از افزایش سطح دسترسی است.

اما:

Workstation → File Server → Application Server

نمونه‌ای از حرکت جانبی است.

البته این دو مرحله می‌توانند در یک حمله با یکدیگر ترکیب شوند. برای مثال، مهاجم ممکن است ابتدا روی یک Workstation سطح دسترسی خود را افزایش دهد، سپس به Credential یک حساب دارای دسترسی بیشتر دست پیدا کند و از آن برای حرکت به سمت Serverهای دیگر استفاده کند.

 

شناسایی حرکت جانبی در شبکه یا Lateral Movement

شناسایی Lateral Movement معمولاً با پیدا کردن یک رویداد منفرد انجام نمی‌شود. تیم امنیت باید Authentication، فعالیت Endpoint و ارتباطات شبکه را در کنار یکدیگر بررسی کند.

 

1. Authentication Telemetry

لاگ‌های احراز هویت می‌توانند مشخص کنند:

  • چه حسابی Login کرده است؟
  • Login از کدام سیستم انجام شده است؟
  • مقصد احراز هویت کدام سیستم بوده است؟
  • چه زمانی Authentication اتفاق افتاده است؟
  • از چه روش یا پروتکلی استفاده شده است؟

برای مثال، اگر یک حساب Privileged در مدت کوتاهی از یک Workstation معمولی به چند Server مختلف Authentication داشته باشد، این الگو می‌تواند ارزش بررسی داشته باشد.

 

2. Endpoint Telemetry

اطلاعات Endpoint می‌تواند نشان دهد چه Processهایی روی سیستم اجرا شده‌اند، چه حسابی آن‌ها را اجرا کرده و این Processها با چه سیستم‌هایی ارتباط برقرار کرده‌اند.

ترکیب این اطلاعات با Authentication Logs می‌تواند دید دقیق‌تری نسبت به رفتار مهاجم ایجاد کند.

 

3. Network Telemetry

در ترافیک داخلی نیز باید به ارتباطات East-West توجه شود.

برای مثال، اگر یک Workstation که معمولاً فقط با چند سرویس مشخص ارتباط دارد، ناگهان شروع به برقراری Connection با تعداد زیادی Server داخلی کند، این تغییر رفتار می‌تواند یک نشانه قابل بررسی باشد.

راهکارهایی مانند SIEM، EDR و NDR می‌توانند با جمع‌آوری و Correlation این اطلاعات، به شناسایی الگوهای مشکوک کمک کنند.

 

مثال از شناسایی Lateral Movement

فرض کنید حساب admin-helpdesk معمولاً فقط برای مدیریت سیستم‌های واحد Help Desk استفاده می‌شود.

در لاگ‌های احراز هویت، ابتدا این فعالیت دیده می‌شود:

PC-Helpdesk → Server-01

چند دقیقه بعد:

PC-Helpdesk → Server-02

و سپس:

PC-Helpdesk → Domain Controller

هیچ‌کدام از این رویدادها به‌تنهایی ثابت نمی‌کنند که حمله رخ داده است.

اما اگر این رفتار با وظیفه واقعی حساب مطابقت نداشته باشد و هم‌زمان نشانه‌های دیگری مانند Authentication غیرمعمول، اجرای Process مشکوک روی سیستم مبدأ یا ارتباطات غیرعادی شبکه دیده شود، این الگو می‌تواند نشانه‌ای از حرکت جانبی باشد و نیاز به بررسی بیشتر داشته باشد.

به همین دلیل، در تشخیص Lateral Movement باید حساب، سیستم مبدأ، مقصد، زمان، نوع Authentication، فعالیت Endpoint و ارتباطات شبکه در کنار یکدیگر بررسی شوند.

 

چگونه از حرکت جانبی در شبکه جلوگیری کنیم؟

جلوگیری از Lateral Movement همیشه امکان‌پذیر نیست، اما می‌توان با کاهش دسترسی‌ها و محدود کردن مسیرهای ارتباطی، دامنه حرکت مهاجم را به شکل قابل توجهی کاهش داد.

 

۱. اصل Least Privilege را اجرا کنید

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

برای مثال، اگر یک حساب مدیریتی فقط برای مدیریت سه Server مشخص استفاده می‌شود، نباید همان سطح دسترسی را روی تمام Serverها و Workstationهای سازمان داشته باشد.

هدف Least Privilege این است که دامنه دسترسی یک حساب محدود شود. در نتیجه، اگر Credential آن حساب در اختیار مهاجم قرار بگیرد، تعداد سیستم‌ها و منابعی که می‌تواند به آن‌ها دسترسی پیدا کند نیز محدودتر خواهد بود.

هرچه Scope دسترسی یک حساب کوچک‌تر باشد، امکان استفاده از آن برای گسترش Lateral Movement نیز کاهش پیدا می‌کند.

 

۲. محل استفاده از Credentialهای Privileged را کنترل کنید

حتی اگر سطح دسترسی یک حساب به‌درستی محدود شده باشد، استفاده از Credentialهای Privileged روی سیستم‌های نامناسب می‌تواند ریسک Lateral Movement را افزایش دهد.

برای مثال، اگر یک حساب مدیریتی روی یک Workstation معمولی استفاده شود و آن Workstation آلوده شود، Credential مورد استفاده نیز ممکن است در معرض سرقت یا سوءاستفاده قرار بگیرد.

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

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

 

۳. Remote Services را کنترل کنید

سرویس‌هایی مانند RDP، SMB و WinRM نباید بدون نیاز واقعی از تمام سیستم‌ها به تمام مقصدها قابل دسترسی باشند.

بهتر است دسترسی به این سرویس‌ها بر اساس نقش سیستم، نیاز سازمان و مسیرهای مدیریتی مشخص کنترل شود.

برای مثال، اگر یک Workstation معمولی نیازی به برقراری RDP با Serverهای حساس ندارد، چنین ارتباطی نباید صرفاً به دلیل داخلی بودن شبکه مجاز باشد.

 

۴. ارتباط میان بخش‌های شبکه را کنترل کنید

تمام سیستم‌های داخلی نباید بتوانند آزادانه با یکدیگر ارتباط داشته باشند.

برای مثال، اگر User VLAN نیازی به ارتباط مستقیم با Database Server ندارد، این ارتباط نباید صرفاً به دلیل داخلی بودن شبکه مجاز باشد.

کنترل ارتباط میان Workstationها، Serverها و منابع حساس باعث می‌شود مسیر حرکت مهاجم کوتاه‌تر و محدودتر شود.

 

۵. MFA را برای دسترسی‌های حساس فعال کنید

MFA می‌تواند یک لایه حفاظتی اضافی در برابر سوءاستفاده از Credentialهای سرقت‌شده ایجاد کند.

این موضوع به‌ خصوص برای دسترسی‌های مدیریتی، Remote Access و سرویس‌هایی که از خارج سازمان قابل دسترسی هستند اهمیت بیشتری دارد.

البته MFA به‌تنهایی جلوی تمام روش‌های حرکت جانبی را نمی‌گیرد، اما می‌تواند احتمال سوءاستفاده از برخی Credentialهای سرقت‌شده را کاهش دهد.

 

۶. Authentication و ترافیک داخلی را مانیتور کنید

برای شناسایی حرکت جانبی در شبکه، فقط بررسی ترافیک اینترنت کافی نیست.

تیم امنیت باید بتواند Authenticationهای بین سیستم‌ها، ارتباطات East-West و فعالیت Endpointها را نیز مشاهده و تحلیل کند.

برای مثال، اگر یک Workstation معمولی ناگهان شروع به برقراری ارتباط با تعداد زیادی Server کند یا یک حساب Privileged در سیستم‌هایی خارج از محدوده کاری خود استفاده شود، این تغییر رفتار می‌تواند یک Indicator مهم برای بررسی باشد.

 

آیا Network Segmentation جلوی حرکت جانبی در شبکه را می‌گیرد؟

Network Segmentation به‌تنهایی تضمین نمی‌کند که حرکت جانبی کاملاً متوقف شود، اما می‌تواند دامنه آن را به شکل قابل توجهی محدود کند.

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

در این حالت، حتی اگر یک User PC آلوده شود، مهاجم نمی‌تواند به‌صورت آزادانه با تمام Serverهای داخلی ارتباط برقرار کند.

به‌عبارت دیگر، Segmentation می‌تواند تعداد مسیرهای در دسترس مهاجم را کاهش دهد و باعث شود compromise شدن یک سیستم، به‌صورت خودکار به compromise شدن سایر بخش‌های شبکه منجر نشود.

در شبکه‌های حساس، Micro-Segmentation می‌تواند کنترل ارتباطات را در سطح دقیق‌تری میان Workloadها، Serverها یا گروه‌های مشخص اعمال کند و مسیرهای ارتباطی غیرضروری را محدودتر کند.

با این حال، Segmentation زمانی مؤثرتر است که همراه با Least Privilege، کنترل Remote Services، مدیریت Credentialها و مانیتورینگ ترافیک East-West اجرا شود.