IP spoofing چیست ؟ و استفاده از uPRF به منظور جلوگیری از این حمله
IP address چیست؟
Internet Protocol address یا IP یک شناسه برای یک کامپیوتر یا دستگاه در یک شبکه است. هر دستگاه متصل به شبکه باید یک آدرس IP منحصر به فرد در شبکه داشته باشد. یک آدرس IP مشابه آدرس خیابان یا شماره تلفن است که برای شناسایی منحصر به فرد یک موجودیت استفاده می شود.
یک آدرس IP می تواند ثابت یا پویا باشد. یک آدرس IP ثابت هرگز تغییر نخواهد کرد و یک آدرس اینترنتی دائمی است. آدرس IP پویا یک آدرس موقت است که هر بار که رایانه یا دستگاهی به اینترنت دسترسی پیدا می کند، به آن اختصاص داده می شود.
حملات IP Spoofing چیست؟!
در packet های ip ما اجزای مختلفی رو داریم header ها source address و همینطور destination address نمونه ای از این فیلد ها هستن در این روش فرد attacker با استفاده از تغییر فیلد ها مثلا تغییر فیلد ارسال کننده می تواند هویت فرد را در شبکه جعل کند که به این حمله ip spoofing میگویند.
توی عکس زیر میتونیم نمونه ای از یک packet رو ببینیم 🙂
توی یک شبکه ممکنه فقط آدرس های ip خاصی به شبکه دسترسی داشته یعنی یک کاربر valid رو آدرس ip اون رو پیدا میکنیم و با تغییر بخش source address در packet ip میتونیم اینو جعل کنیم (ولی بیاید دیدمون رو نسبت به این حمله گسترده تر کنیم).
ولی خب ببینید ما که آدرس destination سمت فایروال رو جعل نکردیم پس ممکنه response نگیریم ولی خب میشه مثلا با یسری روش ها اینو هم اوکی کرد.
یکی از چیزایی که برای این حمله باید بهش دقت کنید اینه که شما میتونید این حمله رو در بخش ها و اجزای مختلف شبکه اجرا کنید مثلا شما میتونید در یک شبکه مبتنی بر voip با شناسایی کلاینت های توی شبکه و جعل ip و enumeration اجزا ما میتونیم حملاتی TDOS رو توی شبکه اجرا کنیم .
نه تنها حملات در voip حتی میتونیم این رو برای حملاتی مثل syn flooding هم پیاده سازی کنیم.
پس میشه نتیجه گرفت که این حمله در واقع توانایی ترکیب با حملات مختلف و انجام پروسه های مختلف رو داره که حتی به قصد ایجاد دسترسی به سرور هم میتونه باشه.
انواع IP Spoofing :
به طور کلی، چهار دسته از حملات جعل IP وجود دارد:
- Blind Spoofing: در این نوع حمله، مهاجم چندین بسته را به هدف مورد نظر خود ارسال می کند تا یک سری اعداد را دریافت کند که معمولاً برای جمع آوری بسته ها به ترتیبی که قصد خواندن بسته ها را داشتند استفاده می شود. به عنوان مثال، به ترتیب بسته 1 که ابتدا باید خوانده شود، سپس بسته 2 و سپس بسته 3. در این حمله، هکر از نحوه انتقال در این شبکه آگاه نیست، بنابراین باید دستگاه را وادار کند تا به او پاسخ دهد. درخواست های خود را به طوری که او می تواند اعداد دنباله را تجزیه و تحلیل کند. اکنون مهاجم میتواند دادهها را به جریان بستهها تزریق کند، بدون اینکه زمانی که اتصال برای اولین بار برقرار شد، خود را احراز هویت کند.
- Non-Blind Spoofing: در این نوع حمله، هکر در همان زیرشبکه هدف مورد نظر خود قرار می گیرد تا از ترتیب بسته ها آگاه باشد. بنابراین به این حمله، جعل غیر کور می گویند.
- Denial-of-Service (DoS) Attack: در این نوع حملات، مرتکب مورد نظر بسته ها و پیام هایی را از مجموعه ای از ماشین های مختلف به هدف خود ارسال می کند. از این رو، تعیین منبع جعل آدرس IP در مورد حملات DoS به یک امر بسیار پیچیده تبدیل می شود. در نتیجه، از آنجایی که نمی توان منبع حمله را ردیابی کرد، آنها نیز نمی توانند آنها را مسدود کنند.
- Man-in-the-Middle Attack: در این حملات، شخص بدخواه پیام ها یا بسته های ارسال شده و مبادله شده بین دو سیستم ارتباطی دیگر را رهگیری می کند.
ابزارهای متداول IP Spoofing :
- Netcommander: این کاربرپسندترین ابزار arp موجود است.
- Sylkie: این ابزار از پروتکل کشف همسایه برای جعل آدرس های IPv6 استفاده می کند.
- Aranea: Aranea یک ابزار جعل تمیز و سریع است که مهاجمان سایبری اغلب از آن برای انجام حملات جعل در یک شبکه استفاده می کنند.
- Isr Tunnel : Isr Tunnel از بسته های مسیریابی منبع برای جعل اتصالات استفاده می کند.
چگونه جلوی IP Spoofing را بگیریم؟
یکی از روش های باحال و البته خیلی عمومی برای جلوگیری از ip spoofing میتونیم به URPF اشاره کرد . در واقع urpf مخفف Unicast Reverse Path Forwarding است که یکی از راه حل های خوب برای جلوگیری از حمله ip spoofing استفاده میشود. به طور کلی اینطور میشه گفت که در این بخش سیسکو بدون در نظر گرفتن source ip یا همون ip ارسال کننده packet رو به سمت مقصد ارسال میکنه.
اگر مبنی بر مسیر دهی یا routing باشد روتر به routing table نگاه میکند و packet را با توجه به routing table و یا FIB از طریق اینترفیسی که ست شده به سمت destination ارسال میکند. توی این بخش source ip مورد توجه روتر قرار نمیگیرد.
در بخش های زیر نمونه ای از کانفیگ urpf loose mode در روتر های سیسکو برای ipv4 , v6 میتونید ببینید.قبل از اینکه بتوانید urpf loose mode را در روتر کانفیگ کنید، باید default scale روی کارت line رو disable کنید.
برای انواع line card های بدون tcam :
RP/0/RP0/CPU0:router(config)# hw-module fib ipv4 scale host-optimized-disable
RP/0/RP0/CPU0:router(config)# commit
RP/0/RP0/CPU0:router(config)# end
RP/0/RP0/CPU0:router# reload location all
Proceed with reload? [confirm]
# Configuration
RP/0/RP0/CPU0:router(config)# interface Bundle-Ether1
RP/0/RP0/CPU0:router(config-if)# ipv4 address 10.0.0.1 255.255.255.0
RP/0/RP0/CPU0:router(config-if)# ipv4 verify unicast source reachable-via any
RP/0/RP0/CPU0:router(config-if)# ipv6 address 2001::1/64
RP/0/RP0/CPU0:router(config-if)# ipv6 verify unicast source reachable-via any
RP/0/RP0/CPU0:router(config-if)# commit
#run configuration
RP/0/RP0/CPU0:router(config-if)# show running-config
Thu Jul 27 14:40:38.167 IST
...
!
interface Bundle-Ether1
ipv4 address 10.0.0.1 255.255.255.0
ipv4 verify unicast source reachable-via any
ipv6 address 2001::1/64
ipv6 verify unicast source reachable-via any
!
مطالب زیر را حتما مطالعه کنید
Prompt Injection چیست؟
چارچوب (framework) امنیت سایبری چیست؟ و انواع آن
10 افزونه برتر Burp Suite برای تست نفوذ
DNS Rebinding چیست و چگونه کار می کند؟
دور زدن ( JailBreak ) هوش مصنوعی Chatgpt
بررسی گواهی ssl/tls با ابزار TLSx در باگ بانتی
8 Comments
Join the discussion and tell us your opinion.
عالی
جامع بود
دمتون گرم
ممنون بابت مقاله خوبتون
عاااالی
best
بسیار مفید بود
the best