آرشیو اسفند ماه 1402

اینجا خلاصه ای از نکات یادگیری فناوری اطلاعات بصورت کاربردی آموزش داده می شود

آموزش راه اندازی NAT Extendable در Cisco IOS

قابلیت NAT Extendable در IOS های شرکت سیسکو این قابلیت را به ما می دهد تا بتوانیم یک آی پی آدرس پرایوت یا داخلی را به بیش از یک آی پی پابلیک ترجمه کنیم.بگذارید راه اندازی قابلیت NAT Extendable را در قالب یک سناریو یاد بگیریم.به توپولوژی زیر نگاه کنید:

در این توپولوژی روتر S1 را بعنوان یک سرور در نظر گرفته ایم که روی آن یک وب سرور قرار دارد و می خواهیم که در اینترنت قابل دسترس باشد. برای این کار روتر R1 را که به دو ISP متصل شده را برای NAT پیکربندی می کنیم.

بیشتر بخوانید: آموزش تصویری آشنایی و پیکربندی انواع NAT

در این مثال فرض کنیم که آی پی 192.168.12.100 یک آی پی پابلیک مربوط به ISP1 است و آی پی 192.168.13.100 هم یک آی پی پابلیک مربوط به ISP2 می باشد و قرار است آی پی 192.168.1.1 را از اینترنت ببینیم.

پیکربندی یا Configuration:

ابتدا روتر S1 را کانفیگ می کنیم. به دلیل اینکه هیچ راه دیگری برای S1 بجز اتصال به R1 وجود ندارد، روتینگ را غیرفعال و فقط یک default-gateway برای دسترسی به روتر R1 برایش تنظیم می کنیم:

S1(config)#no ip routing
S1(config)#ip default-gateway 192.168.1.254

حالا NAT های Inside و Outside را برای اینترفیس های R1 تعریف می کنیم.

R1(config)#interface GigabitEthernet 0/1
R1(config-if)#ip nat inside

R1(config)#interface GigabitEthernet 0/2
R1(config-if)#ip nat outside

R1(config)#interface GigabitEthernet 0/3
R1(config-if)#ip nat outside

حالا فکر کنید که میخواهیم آی پی سرور را از اینترنت مربوط به ISP1 که آی پی پابلیک 192.168.12.100 دارد ببینیم. این کار را به راحتی با دستور زیر می توانیم انجام دهیم:

R1(config)#ip nat inside source static 192.168.1.1 192.168.12.100

با این دستور یک NAT یک به یک 1:1 بین آی پی 192.168.1.1 و 192.168.12.100 ایجاد کردیم که تا به اینجا مسیر درستی بوده. اما اگر بخواهیم همین کار را با آی پی پابلیک 192.168.13.100 انجام بدهیم چطور؟ روتر این اجازه را به ما می دهد؟

بگذارید تست کنیم:

R1(config)#ip nat inside source static 192.168.1.1 192.168.13.100
% 192.168.1.1 already mapped (192.168.1.1 -> 192.168.12.100)

با توجه به اینکه قبلا آی پی 192.168.1.1. به آی پی 192.168.12.100 ترجمه شده بود، روتر امکان ترجمه مجدد این آی پی پرایوت را به آی پی پابلیک دیگری به ما نمی دهد.

اما یک راه دیگر برای اینکه بتوانیم دو آی پی پابلیک را به یک آی پی پرایوت در یک روتر ترجمه کنیم وجود دارد.

ابتدا برویم و دستور NAT قبلی را برداریم:

R1(config)#no ip nat inside source static 192.168.1.1 192.168.12.100

الان مجددا دستور قبلی را تکرار می کنیم با این فرق که از کلمه extendable در انتهای دستور استفاده میکنیم تا روتر متوجه بشود که نیازمند این هستیم تا دو NAT برای یک آی پی در نظر بگیریم:

R1(config)#ip nat inside source static 192.168.1.1 192.168.12.100 extendable 
R1(config)#ip nat inside source static 192.168.1.1 192.168.13.100 extendable

دیدید؟ سیسکو دیگر ایرادی به دستور ما نگرفت.

بیشتر بخوانید: جامع ترین دوره آموزشی CCNP Enterprise به زبان فارسی

بررسی یا Verification:

ببینیم که آیا این تنظیمات به درستی کار می کنند یا خیر؟

R1#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---

می بینیم که آی پی 192.168.1.1 به هر دو آی پی 192.168.12.100 و 192.168.13.100 ترجمه شده. بریم ببینیم آیا روتر های ISP1 و ISP2 می توانند به سرور ما دسترسی داشته باشند یا خیر.

ابتدا Debugging را روی روتر فعال می کنیم تا تمام اتفاقاتی که روی روتر R1 می افتد را بتوانیم مانیتور کنیم:

R1#debug ip nat
IP NAT debugging is on

یک پینگ از ISP1 به آی پی 192.168.12.100 می گذاریم: (توجه کنید که آی پی 192.168.12.100 روی هیچ اینترفیسی ست نشده است)

ISP1#ping 192.168.12.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/4 ms

ارتباط ما برقرار است. اگر به روتر R1 بر گردیم میبینیم که NAT به درستی در حال کار کردن است:

R1#
NAT*: s=192.168.12.2, d=192.168.12.100->192.168.1.1 [33]
NAT*: s=192.168.1.1->192.168.12.100, d=192.168.12.2 [33]

آی پی 192.168.1.1 به درستی به آی پی 192.168.12.100 ترجمه شده. حالا برویم و از ISP2 همین تست را تکرار کنیم:

ISP2#ping 192.168.13.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

و در روتر R1 می بینیم که الان این ترجمه از IP جدید در حال انجام است:

R1#
NAT*: s=192.168.13.3, d=192.168.13.100->192.168.1.1 [20]
NAT*: s=192.168.1.1->192.168.13.100, d=192.168.13.3 [20]

تا اینجای کار به درستی پیش رفته است و آی پی 192.168.1.1 از هر دو آی پی 192.168.12.100 و 192.168.13.100 قابل دسترس است.

اما اگر از روتر S1 ترافیکی ایجاد شود از کدام NAT استفاده می کند؟

S1#ping 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/6 ms

ارتباط بین S1 و ISP1 که به درستی برقرار است. اما با چه NAT ای؟

R1#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.12.100:5  192.168.1.1:5      192.168.12.2:5     192.168.12.2:5
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---

خب در جدول NAT روتر R1 می بینیم که آدرس 192.168.1.1 به 192.168.12.100 ترجمه شده. اما در مورد پینگ به آی پی 192.168.13.3 چطور؟ مجدد به روتر S1 بر میگردیم:

S1#ping 192.168.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

پینگ این آی پی کار نکرد. چرا؟ جدول NAT روتر R1 را نگاه می کنیم:

R1#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.12.100:5  192.168.1.1:5      192.168.12.2:5     192.168.12.2:5
icmp 192.168.12.100:6  192.168.1.1:6      192.168.13.3:6     192.168.13.3:6
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---

در جدول بالا می بینیم که این ترافیک هم به آی پی 192.168.12.100 ترجمه شد. اما چرا؟ آیا به خاطر این است که ابتدا به ISP1 پینگ ارسال کردیم؟ بگذارید جدول NAT را خالی کنیم و مجددا تست کنیم:

R1#clear ip nat translation *

و مجددا این بار به روتر ISP2 پینگ ارسال می کنیم:

S1#ping 192.168.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

پینگ این بار هم به مقصد نرسید. اما چرا؟ به نظرتون به خاطر ترتیب NAT ها در تنظیمات است؟

R1#show running-config | include nat inside source
ip nat inside source static 192.168.1.1 192.168.12.100 extendable
ip nat inside source static 192.168.1.1 192.168.13.100 extendable

در خروجی بالا می بینیم که Inside NAT مربوط به آی پی 192.168.12.100 در ابتدای دستورات قرار گرفته و سیسکو هم همیشه از این دستور برای NAT هایی که ترافیک مبدا آن از آی پی 192.168.1.1 است استفاده می کند.

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

بیشتر بخوانید: اولین و کاملترین دوره آموزش پیشرفته BGP به زبان فارسی

۰ ۰

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 ساعت آموزش

۰ ۰