چطور فایروال رو دور بزنیم؟
مثل سایه باش؛ ببین ولی دیده نشو!
👀سلام رفقا! چطورید؟
امروز میخوایم بریم سراغ یکی از اون بحثهای جذاب و البته یه کم دردسرساز توی دنیای شبکه و امنیت: فایروالها!
همونطور که میدونید، وقتی دارید یه شبکه رو اسکن میکنید (مثلاً برای پیدا کردن آسیبپذیریها یا تست نفوذ)، فایروال مثل یه نگهبان بداخلاق دم در ایستاده و میخواد مچتون رو بگیره. اگه ناشیانه رفتار کنید، سریع بلاک میشید و کارتون نصفه کاره میمونه.
اما نگران نباشید! امروز میخوایم چندتا ترفند خفن یاد بگیریم که چطور ترافیکمون رو از دید این نگهبانها قایم کنیم یا یه جوری بپیچونیمشون که اصلاً نفهمن چی شد. بریم سراغ اصل مطلب!
🥶۱. از درهای پشتی وارد شو
(پورتهای غیرعادی)
ببینید، اکثر فایروالها حواسشون جمعِ پورتهای معروفه؛ مثل پورت ۸۰ (وب) یا ۴۴۳ (HTTPS). یه ترفند ساده اینه که برای اسکن، بریم سراغ پورتهایی که کمتر تابلو هستن. وقتی از پورتهای غیراستاندارد استفاده میکنی، احتمال اینکه فایروال بهت گیر بده کمتر میشه چون فکر میکنه یه ترافیک بیخطره.
🥶۲. عجله کار شیطونه
(تنظیم زمان بستهها)
فایروالها عاشق اینن که ببینن کی داره تند تند درخواست میفرسته تا سریع بلاکش کنن. اگه مثل رگبار بسته بفرستی سمت شبکه، درجا شناسایی میشی. راه حل چیه؟ آروم باش!
توی ابزارهایی مثل Nmap، میتونید فاصله زمانی بین ارسال بستهها رو زیاد کنید (مثلاً با گزینههایی مثل `-T1` یا `-T2`). اینطوری اسکنتون طولانیتر میشه ولی امنیتش خیلی بالاتر میره و فایروال شک نمیکنه.
🥶۳. اسکن نینجایی
(Stealth Scanning)
این روش خوراک اوناییه که میخوان ردپایی از خودشون نذارن. تکنیکهایی مثل SYN Scan (با سوییچ `sS`) یا FIN Scan (با سوییچ `sF`) توی Nmap، به جای اینکه مثل آدمهای عادی در بزنن و وارد بشن، فقط یه تقه به در میزنن و فرار میکنن!
در واقع، اتصال کامل TCP رو برقرار نمیکنن. این باعث میشه خیلی از فایروالها یا سیستمهای تشخیص نفوذ (IDS) گیج بشن و لاگ نندازن.
🥶۴. بستههارو تیکه تیکه کن
(Packet Fragmentation)
یه تکنیک کلاسیک ولی همچنان کاربردی! بعضی فایروالها حوصله ندارن پازل حل کنن. اگر شما بستههای اطلاعاتیتون رو به تیکههای خیلی کوچیک تقسیم کنید (مثلاً با گزینه `f` در Nmap)، فایروال نمیتونه بفهمه محتوای اصلی چیه و اجازه میده رد بشن. وقتی تیکهها به مقصد رسیدن، دوباره به هم میچسبن و کارشون رو انجام میدن.
🥶۵. شلوغش کن تا دیده نشی
(Decoy IPs)
این یکی خیلی باحاله! فرض کن داری از یک IP اسکن میکنی، ولی به فایروال جوری وانمود میکنی که انگار ۱۰ نفر دیگه هم دارن همزمان اسکن میکنن. به این میگن استفاده از Decoy.
با گزینه `D` در Nmap، آدرس IP شما لابلای کلی IP دیگه گم میشه و ادمین شبکه نمیفهمه حمله واقعی از کدوم سمت بوده. یه جورایی قایم شدن پشت جمعیت!
🥶۶. تغییر چهره با VPN و Proxy
خب این که دیگه معرف حضور همه هست. استفاده از VPN یا Proxy یعنی تغییر هویت. وقتی با IP اصلی خودت نری جلو، حتی اگه فایروال بلاکت کنه، فقط اون پروکسی بلاک شده و IP اصلیت امن میمونه. تازه میتونی محدودیتهای جغرافیایی فایروالها رو هم دور بزنی.
🥶 ۷. نفوذ از داخل
(Internal Scanning)
همیشه حمله از بیرون سختترین راهه. اگه دسترسی فیزیکی داری یا تونستی یه سیستم رو داخل شبکه هک کنی (مثلاً با فیشینگ)، اسکن رو از اونجا انجام بده. فایروالها معمولاً با خودیها مهربونترن و ترافیک داخلی رو کمتر سینجیم میکنن.
🥶۸. ابزارسازی اختصاصی
(Scapy & Hping3)
اگه دیگه خیلی میخوای حرفهای بازی دربیاری و ابزارهای آماده جوابت رو نمیدن، باید بری سراغ **Hping3** یا **Scapy**. با اینا میتونی بستههای شبکه رو خودت دستی بسازی! دقیقاً تعیین کنی چه Flagهایی روشن باشه، سایز بسته چقدر باشه و… . این یعنی میتونی دقیقا نقطهضعف یه فایروال خاص رو هدف بگیری.
👽👽👽حالا وقتش رسیده که بریم جزیی تر موارد بالارو بررسی کنیم؛ پایه هستی؟؟ بزن بریم جووون!!!
🐽Packet Fragmentation چیست؟
ترفند تکه تکه کردن بستهها برای دور زدن فایروال
تکه تکه کن، راحت رد شو!
این روش یه جورایی مثل قاچاق کردن اطلاعات از جلوی چشم فایروال میمونه! اگه دوست داری بدونی چطور میشه بستههای بزرگ رو به تیکههای کوچیک تبدیل کرد تا فایروال گیج بشه، تا آخر این مطلب با من باش.
ببینید، توی دنیای شبکه، اطلاعات (مثل درخواستهای TCP یا UDP) توی بستههایی به اسم «پکت» جابجا میشن. هر شبکه یه قانونی داره که میگه “آقا! حداکثر سایز بستهای که میتونی رد کنی اینقدره”. به این محدودیت میگن MTU (Maximum Transmission Unit).
یعنی اگر بسته شما بزرگتر از اون حدی باشه که شبکه اجازه میده، روترها به صورت خودکار اون رو میشکنن به قطعات کوچکتر تا بتونه رد بشه. وقتی این تیکهها به مقصد رسیدن، دوباره به هم میچسبن و بسته اصلی رو میسازن.
تا اینجا همه چی عادیه و جزو وظایف روترهاست. اما هکرها و پنتسترها از این مکانیزم یه استفاده شیطنتآمیز میکنن! 😉 چطور با این روش فایروال رو دور بزنیم؟
داستان از این قراره که فایروالها و سیستمهای تشخیص نفوذ (IDS)، معمولاً عادت دارن بستههای کامل رو بررسی کنن. اونا نگاه میکنن ببینن توی بسته چه خبره؛ اگه چیز مشکوکی دیدن، بلاکش میکنن.
حالا ما چی کار میکنیم؟
ما عمداً بستههای اسکن شبکه رو خرد میکنیم! وقتی بسته رو به تیکههای خیلی کوچیک تقسیم میکنی:
۱. فایروال نمیتونه با دیدن یه تیکه کوچیک بفهمه کل داستان چیه.
۲. خیلی از فایروالها حوصله (یا منابع سختافزاری) کافی ندارن که بشینن همه این تیکهها رو جمع کنن، سر هم کنن و بعد چکش کنن.
۳. نتیجه؟ فایروال در رو باز میذاره و تیکهها رد میشن تا توی سیستم مقصد دوباره سر هم بشن. به همین راحتی!
آموزش استفاده در Nmap
ابزار محبوب Nmap این کار رو مثل آب خوردن براتون انجام میده. دو تا روش اصلی داره:
۱. استفاده از گزینه `-f` (ساده و سریع)
این گزینه به Nmap میگه که بستهها رو خرد کن. اینطوری هدر (Header) بسته TCP به چند بخش تقسیم میشه و کار فایروال برای تشخیص سخت میشه.
دستورش اینطوریه:
<nmap -f <Target-IP
۲. تعیین دستی سایز قطعات با `–mtu` (حرفهایتر)
اگه میخوای خودت دقیقاً بگی که هر تیکه چند بایت باشه، از این دستور استفاده کن. مثلاً میخوای بستهها رو ۱۶ بایتی کنی تا حسابی ریز بشن:
<nmap –mtu 16 <Target-IP
*نکته:* عدد MTU باید مضربی از ۸ باشه (مثلاً ۸، ۱۶، ۲۴ و…).
معایب و محدودیتها
البته فکر نکنید این روش همیشه جوابه و هیچ مشکلی نداره. باید حواستون به چندتا نکته باشه:
* کندی سرعت: چون دارید بستهها رو تیکه تیکه میفرستید و سیستم مقصد باید دوباره اینا رو بچسبونه به هم، سرعت اسکنتون پایین میاد.
* فایروالهای باهوش: فایروالهای نسل جدید و IDSهای پیشرفته، دیگه گول این ترفندهای ساده رو نمیخورن و میتونن بستهها رو بازسازی (Reassemble) کنن و مچتون رو بگیرن.
* خرابی دیتا: بعضی وقتا ممکنه سیستم مقصد نتونه درست تیکهها رو سر هم کنه و کلاً پکت از دست بره یا ارور بده.
تکنیک Packet Fragmentation یکی از اون ابزارهای جعبه ابزار هر متخصص امنیتیه. شاید روی همه فایروالهای مدرن جواب نده، اما هنوزم روی خیلی از شبکهها کار راه اندازه.
🐽سورس روتینگ (Source Routing) چیه؟
وقتی فرمانِ مسیر شبکه دست خودته!
مسیر رو تو بکش، نه روترها!
ببینید، توی حالت عادی وقتی شما یه درخواستی (مثلاً باز کردن گوگل) میفرستید، انگار سوار تاکسی شدید و به راننده (که همون روترها باشن) میگید “منو ببر فلان جا”. دیگه کاری ندارید راننده از کدوم کوچه و خیابون میره؛ خودش تصمیم میگیره.
اما توی Source Routing، داستان فرق داره! اینجا شما نقشه رو میذارید جلوی راننده و میگید: “دقیقاً از این خیابون، بعد اون کوچه، بعد اون میدون میری!” یعنی فرستنده (شما) مسیر رو تعیین میکنه، نه روترهای توی راه.
انواع سورس روتینگ؛ سختگیر یا راحتطلب؟
کلاً دو مدل اصلی داریم که باید بشناسید:
۱. سورس روتینگ مطلق (Strict Source Routing)
این مدل مثل یه معلم سختگیره! شما دقیقاً لیست تمام روترهایی که بسته باید ازشون رد بشه رو مشخص میکنید. بسته شبکه مجبوره دقیقاً گامبهگام طبق دستور شما بره جلو. اگه یکی از روترهای لیست در دسترس نباشه، کار خراب میشه و بسته به مقصد نمیرسه. هیچ انعطافی هم در کار نیست.
۲. سورس روتینگ اختیاری (Loose Source Routing)
این مدل باحالتره و یه کم شل میگیره. شما چند تا نقطه (روتر) مهم رو مشخص میکنید و میگید “حتماً از این شهرها رد شو، ولی اینکه بین راه چطوری از این شهر به اون شهر میرسی پای خودت”. یعنی روترها بین نقاطی که شما تعیین کردید، آزادی عمل دارن.
شاید بپرسید وقتی روترها خودشون بلدند کارشون رو بکنن، چرا ما دخالت کنیم؟
* عیبیابی مثل آب خوردن: ادمینهای شبکه عاشق این قابلیت برای تست هستن. فرض کن شبکه مشکل داره؛ ادمین میگه “بذار بسته رو از فلان مسیر خاص بفرستم ببینم گیر کار کجاست”.
* فرار از ترافیک: اگه میدونید یه مسیر همیشگی شلوغه یا امنیتش پایینه، میتونید دستی مسیر رو عوض کنید و از یه راه خلوتتر برید.
* شبکههای خاص: توی بعضی شبکههای موبایلی یا Ad-hoc که ساختار ثابتی ندارن، این روش خیلی به کار میاد.
با همه این خوبیها، سورس روتینگ یه سری دردسر بزرگ هم داره که باعث شده خیلی جاها ممنوع بشه:
۱. حفره امنیتی بزرگ: این مورد خوراک هکرهاست! قدیما هکرها با دستکاری مسیر بستهها (IP Spoofing)، فایروالها رو دور میزدن. مثلاً وانمود میکردن که بسته از داخل شبکه اومده در حالی که از بیرون فرستاده بودن.
۲. کند شدن شبکه: وقتی شما توی هر بسته کلی آدرس مسیر رو هم اضافه میکنید، حجم بسته زیاد میشه (Overhead) و روتر باید کلی وقت بذاره تا این آدرسها رو بخونه. این یعنی افت سرعت.
۳. بلاک شدن توسط روترها: به خاطر همون مشکل امنیتی که گفتم، الان اکثر روترها و فایروالهای مدرن به طور پیشفرض ترافیکِ دارای Source Routing رو مسدود میکنن و اصلا تحویلش نمیگیرن.
همونطور که گفتم، قبلاً سورس روتینگ یه سلاح برای دور زدن فایروال بود. مهاجم مسیر بسته رو جوری میچید که از جاهایی رد بشه که فایروال نظارت دقیقی روشون نداره یا با تغییر مسیر، خودش رو جای یه سیستم مورد اعتماد جا میزد.
به خاطر همین، اگه دارید فایروال کانفیگ میکنید، یکی از اولین توصیههای امنیتی اینه: “قابلیت Source Routing رو غیرفعال کن!”
ابزارهایی مثل Traceroute یا Ping به ما مسیر رو نشون میدن، ولی Source Routing به ما قدرت انتخاب مسیر رو میده. قدرتی که هم جذابه و هم خطرناک. الان دیگه توی اینترنت عمومی خیلی کاربرد نداره ولی برای درک عمیق شبکه و عیبیابیهای داخلی، دونستنش واجبه.
مراقب مسیرهایی که میرید باشید! 😉
🐽Source Port Manipulation؛
ترفند مخفی شدن پشت پورتهای مجاز
نقاب بزن، پورت رو عوض کن و رد شو!
تصور کنید میخواید وارد یه مهمونی بشید ولی اسمتون توی لیست نیست. اما اگه لباس گارسونها رو بپوشید چی؟ نگهبان احتمالاً بدون سوال و جواب راهتون میده. این تکنیک دقیقاً همین کار رو توی شبکه انجام میده! بریم ببینیم داستان چیه.
وقتی شما یه بستهای (Packet) توی شبکه میفرستید، دو تا پورت مهم داره:
۱. پورت مقصد (Destination Port): جایی که میخواید برید (مثلاً پورت ۸۰ وبسایت).
۲. پورت مبدأ (Source Port): پورتی که سیستم شما برای ارسال بسته باز کرده.
توی حالت عادی، سیستم عامل به صورت تصادفی یه پورت مبدأ (مثلاً ۴۵۱۲۳) انتخاب میکنه. اما هکرها و متخصصین امنیت یاد گرفتن که این پورت رو دستی تغییر بدن! چرا؟ چون خیلی از فایروالها به پورتهای خاصی اعتماد دارن.
چرا باید پورت مبدأ رو تغییر بدیم؟
این کار چندتا دلیل اصلی داره که دونستنش برای هر کسی که کار شبکه میکنه واجبه:
۱. دور زدن فایروالهای سادهلوح
بعضی فایروالها اینطوری تنظیم شدن: “اگه ترافیک از پورت ۵۳ (که مال DNS هست) میاد، کاریش نداشته باش، بذار رد بشه”.
حالا اگه شما پورت مبدأ خودتون رو دستی بذارید روی ۵۳، فایروال فکر میکنه شما یه ترافیک DNS معتبر هستید و در رو براتون باز میکنه! 😎
۲. مخفی کردن اسکن شبکه (Stealth Scan)
وقتی با ابزارهایی مثل Nmap شبکه رو اسکن میکنید، سیستمهای امنیتی ممکنه سریع مچتون رو بگیرن. اما اگه پورت مبدأ رو بذارید روی پورت ۸۰ (HTTP) یا ۴۴۳ (HTTPS)، ترافیک شما شبیه وبگردی معمولی به نظر میرسه و کمتر شکبرانگیزه.
۳. جعل هویت (Spoofing)
بعضی سرویسها فقط به درخواستهایی جواب میدن که از یه پورت خاص (مثلاً پورت ۲۰ FTP) اومده باشه. با این روش میتونید خودتون رو جای یه سرویس معتبر جا بزنید.
چطور انجامش بدیم؟
با استفاده از Nmap
ابزار محبوب Nmap یه سوئیچ خیلی کاربردی به اسم `-g` (یا `–source-port`) داره.
مثلاً اگه بخواید اسکن کنید ولی وانمود کنید که ترافیکتون از پورت ۵۳ (DNS) میاد، این دستور رو بزنید:
<nmap -g 53 <Target-IP
یا اگه بخواید شبیه ترافیک وب (پورت ۸۰) به نظر بیاید:
<nmap -g 80 <Target-IP
اگه میخواید خیلی حرفهایتر بستهها رو بسازید، Hping3 عالیه.
دستور زیر میگه: “بسته رو بفرست به پورت ۸۰ مقصد، ولی پورت مبدأ رو بذار ۴۴۳ (HTTPS)”:
hping3 -S <Target-IP> -p 80 -s 443
مثل همیشه، این روش هم بی نقص نیست:
* فایروالهای باهوش (NGFW): فایروالهای نسل جدید دیگه فقط به شماره پورت نگاه نمیکنن. اونا محتوای بسته و رفتار ترافیک رو هم آنالیز میکنن و اگه ببینن دارید کلک میزنید، درجا بلاکتون میکنن.
* مشکلات اتصال: بعضی وقتا تغییر دستی پورت باعث میشه سرور مقصد گیج بشه و نتونه جواب رو درست برگردونه.
* قابل ردیابی بودن: فکر نکنید با این کار کاملاً نامرئی میشید. سیستمهای لاگگیری پیشرفته هنوزم میتونن ردپای این تغییرات رو ثبت کنن.
تکنیک Source Port Manipulation یکی از اون ترفندهای کلاسیک و جذابه که نشون میده چقدر درک عمیق پروتکلهای شبکه میتونه دستتون رو باز بذاره.
🐽تکنیک IP Decoy؛
ساختن ارتش سایهها برای گمراه کردن فایروال!
یکی بزن، ده تا نشون بده!
تا حالا تو فیلمهای پلیسی دیدید وقتی قهرمان داستان میخواد فرار کنه، میره توی یه جمعیت شلوغ تا پلیسها گمش کنن؟ توی دنیای شبکه و امنیت هم ما دقیقاً همین تکنیک رو داریم که بهش میگن IP Decoy.
امروز میخوایم یاد بگیریم چطور وقتی داریم یه شبکه رو اسکن میکنیم، تنها نباشیم و یه لشکر از IPهای الکی رو با خودمون ببریم تا فایروال نتونه تشخیص بده “کی به کیه!”
ببینید، وقتی شما به یه سرور درخواست میدید، سرور آدرس IP شما رو میبینه. حالا اگه این کار رو برای تست نفوذ انجام بدید، ادمین شبکه سریع IP شما رو بلاک میکنه.
اما IP Decoy (آدرسهای فریبنده) میاد چیکار میکنه؟ این تکنیک میاد در کنار بستههای واقعیِ شما، کلی بسته دیگه با آدرسهای IP جعلی هم به سمت هدف میفرسته. حالا سیستم امنیتی (IDS/IPS) با یه عالمه IP طرفه که دارن بهش درخواست میدن و نمیدونه کدومش مهاجم واقعیه و کدومش الکی!
شما ترافیک خودتون رو لابلای ترافیکهای جعلی قایم میکنید.
چرا از این روش استفاده میکنیم؟
۱. گیج کردن سیستمهای امنیتی: وقتی فایروال میبینه از ۱۰ تا آدرس مختلف داره اسکن انجام میشه، نمیتونه همهشون رو بلاک کنه (چون ممکنه کاربرهای واقعی باشن).
۲. سخت شدن ردیابی: ادمین شبکه وقتی لاگها رو نگاه میکنه، به جای یه دونه IP، با لیستی از IPهای مختلف روبرو میشه و پیدا کردن سوزن (IP واقعی شما) تو انبار کاه خیلی سخت میشه.
۳. خریدن زمان: تا زمانی که تیم امنیت بخواد تحلیل کنه چی شده، شما کارتون رو انجام دادید.
🛠️چطور با Nmap ارتش سایهها رو بسازیم؟
ابزار قدرتمند Nmap این کار رو خیلی راحت کرده. با سوئیچ `-D` (مخفف Decoy) میتونیم این جادو رو اجرا کنیم.
۱. روش تنبلها (IPهای تصادفی)
اگه حال ندارید IP خاصی وارد کنید و میخواید خود Nmap براتون IP فیک بسازه، از دستور زیر استفاده کنید:
nmap -D RND:10 Target-IP
عبارت `RND:10` یعنی آقای Nmap، لطفاً ۱۰ تا IP کاملاً تصادفی (Random) بساز و بستههای من رو قاطی این ۱۰ تا بفرست. الان فایروال فکر میکنه ۱۱ نفر دارن اسکن میکنن!
۲. روش حرفهایها (IPهای مشخص)
گاهی وقتا میخواید هوشمندتر عمل کنید و از IPهایی استفاده کنید که برای شبکه هدف آشنا هستن. اینطوری شک کمتری ایجاد میشه:
nmap -D 192.168.1.10,192.168.1.20,192.168.1.30 Target-IP
اینجا ما دستی ۳ تا آدرس دادیم. Nmap ترافیک شما رو با ترافیک این ۳ تا آدرس مخلوط میکنه.
همیشه همهچیز گل و بلبل نیست! این روش هم دردسرهای خودش رو داره:
* سیستمهای باهوش مچگیری میکنن: فایروالهای مدرن و هوشمند میتونن با تحلیل دقیق رفتار بستهها، بفهمن کدوم IP واقعیه و کدوم فیک. پس فکر نکنید ۱۰۰٪ نامرئی هستید.
* سنگین شدن شبکه: وقتی به جای یه بسته، ۱۰ تا بسته (یکی واقعی + ۹ تا فیک) میفرستید، ترافیک شبکه رو الکی شلوغ میکنید و ممکنه سرعت اسکن پایین بیاد.
تکنیک IP Decoy مثل پوشیدن نقاب توی یه مهمونی بالماسکه است؛ همه هستن، ولی کسی نمیدونه دقیقاً کی پشت کدوم نقابه. این روش برای تست نفوذ حرفهای عالیه ولی یادتون باشه که ابزار قدرتمند، مسئولیت بالا هم میاره.
🐽آیپی اسپوفینگ (IP Spoofing) چیه؟
هنر جعل هویت و فرار از قانون در شبکه!
من اونی نیستم که فکر میکنی!
تا حالا شده بخواید یه نامه بفرستید ولی روی پاکت، آدرس فرستنده رو آدرس خونه همسایهتون بنویسید؟ اگه نامه برگشت بخوره، میره دم خونه همسایه، نه شما! توی دنیای شبکه، به این حرکت میگن IP Address Spoofing.
امروز میخوایم پرونده این تکنیک مرموز رو باز کنیم. تکنیکی که هم خوراک هکرهاست برای حملات DDoS و هم کابوس ادمینهای شبکه برای تشخیصش. کمربندها رو ببندید که قراره وارد لایههای عمیق TCP/IP بشیم!
مهاجم وقتی داره بسته (Packet) شبکه رو میفرسته، توی هدر IP، جای آدرس خودش، یه آدرس الکی یا آدرس قربانی رو مینویسه.
نتیجه؟ سرور مقصد فکر میکنه درخواست از جای دیگه اومده و جواب رو هم به اون جای اشتباه میفرسته. مهاجم هم این وسط مثل روح نامرئی میشه! 👻
چرا هکرها عاشق این کارن؟
۱. حملات DDoS (بزن و در رو): مهاجم با هزارتا IP جعلی به سرور حمله میکنه. سرور بیچاره نمیدونه کی واقعیه کی فیک، و زیر بار ترافیک له میشه.
۲. حملات Reflection (انداختن توپ تو زمین دیگران): هکر به اسمِ شما یه درخواست کوچیک به DNS میفرسته، DNS هم یه جواب گُنده رو میفرسته برای شما. اینجا هکر هیچ ترافیکی دریافت نمیکنه، ولی اینترنت شما مختل میشه.
۳. دور زدن فایروال: اگه فایروال فقط به IPهای شرکت اجازه ورود میده، هکر IP خودش رو عوض میکنه به IP شرکت و…! در باز شد.
۴. مرد میانی (MITM): جا زدن خود به عنوان یک سیستم معتبر برای شنود اطلاعات.
چطور انجامش میدن؟
دو تا ابزار معروف برای این کار داریم که هکرها (و البته پنتسترهای کلاه سفید) خیلی دوستشون دارن:
۱. با ابزار Hping3
اگه بخواید یه بسته بفرستید که انگار از طرف آدرس `۱۹۲.۱۶۸.۱.۱۰۰` اومده، دستور زیر رو میزنید:
hping3 -a 192.168.1.100 -S <Target-IP> -p 80
اینجا `-a` یعنی آدرس جعلی رو ست کن.
۲. با کتابخانه Scapy (پایتون)
اگه اهل کدنویسی پایتون هستید، اسکریپتش این شکلی میشه:
python
* from scapy.all import
ساخت بسته با آدرس مبدأ جعلی
send(packet)
تشخیص IP Spoofing خیلی سخته (چون بسته برگشتی به ما نمیرسه)، اما غیرممکن نیست! بیاید چندتا روش خیلی خفن و فنی رو بررسی کنیم که مو لا درزش نمیره:
۱. تکنیک Direct TTL Probes (عمر بسته دروغ نمیگه!)
هر سیستمعاملی یه عدد TTL (Time To Live) پیشفرض داره (مثلاً ویندوز ۱۲۸، لینوکس ۶۴). هر بار که بسته از یه روتر رد میشه، یکی از این عدد کم میشه.
اگه یه بسته بیاد که ادعا میکنه از همسایه بغلی اومده ولی TTL اون نشون میده که از ۱۵ تا کشور رد شده، تابلوئه که آدرسش جعلیه!
۲. تکنیک IP Identification Number (شماره سریالهای مشکوک)
هر بسته IP یه شماره سریال (ID) داره که معمولاً یکییکی زیاد میشه.
اگه از یه IP خاص، بستههایی بیاد که شماره سریالهاشون هیچ ربطی به هم ندارن یا خیلی پرت و پلا هستن، یعنی احتمالا اون IP داره جعل میشه و مهاجم نتونسته الگوی صحیح شمارهگذاری سیستم اصلی رو تقلید کنه.
۳. تکنیک TCP Flow Control (وقتی ریتم بهم میخوره)
این یکی خیلی هوشمندانهست! پروتکل TCP برای اینکه دادهها با سرعت مناسب رد و بدل بشن، از یه چیزی به اسم “پنجره” (Window Size) استفاده میکنه.
توی حملات Spoofing، چون مهاجم جوابها رو نمیبینه، نمیتونه این پنجره رو درست تنظیم کنه. اگه ببینیم یه نفر داره بدون توجه به ظرفیت ما، هی تندتند یا با الگوی غلط داده میفرسته و به پیامهای ACK ما محل نمیذاره، به احتمال ۹۹٪ با یه IP جعلی طرفیم.
حالا چطور دفاع کنیم؟
برای اینکه شبکه خودمون رو امن کنیم، باید چندتا قانون سفت و سخت بذاریم:
۱. فیلترینگ ورودی (Ingress Filtering):
به روتر لبه شبکه بگید: “اگه بستهای از بیرون اومد که ادعا میکرد آدرسش مالِ داخلِ شبکهست، همونجا درجا نابودش کن!” (چون غیرممکنه کسی از بیرون بیاد ولی آدرس داخلی داشته باشه).
۲. فیلترینگ خروجی (Egress Filtering):
نذارید کارمندای خودتون هم شیطونی کنن! اگه بستهای خواست از شبکه خارج بشه ولی آدرس فرستندهاش مالِ رنج شبکه شما نبود، جلوش رو بگیرید. اینجوری شبکه شما تبدیل به منبع حملات DDoS نمیشه.
۳. استفاده از uRPF در روترها:
این قابلیت (Unicast Reverse Path Forwarding) چک میکنه که آیا مسیری که بسته ازش اومده با آدرسش همخونی داره یا نه. اگه نداشت، یعنی اسپوفینگ!
۴. رمزنگاری (IPSec):
اگه از پروتکلهای امن مثل IPSec استفاده کنید، هویت فرستنده تایید میشه و دیگه کسی نمیتونه به راحتی خودش رو جای کس دیگه جا بزنه.
رفقا، تکنیک IP Spoofing مثل چاقوی دو لبهست. هکرها برای تخریب استفاده میکنن، ولی ما یادش میگیریم تا بتونیم شبکههامون رو امنتر کنیم و جلوی حملات رو بگیریم. یادتون باشه هیچوقت اجازه روی شبکه دیگران این تستها رو انجام ندید چون عواقب قانونی سنگینی داره.
🐽ساخت بسته سفارشی؛
وقتی پکت معمولی جواب نمیده، خودت بسازش!
اگه تا امروز فقط با پکتهای معمولی و اسکنهای ساده شبکه کار کردید، الان وقتشه که وارد دنیای خفنتری بشید: ساخت بستههای سفارشی (Custom Packet).
اینجا میخوایم درباره همون تکنیکی حرف بزنیم که پنتسترها برای دور زدن فایروالهای سختگیر ازش استفاده میکنن.
ساخت بسته سفارشی یعنی چی؟
یعنی بهجای اینکه بذاری سیستمعامل یه بسته استاندارد TCP یا UDP بسازه، خودت آستین رو بزنی بالا و دستی پکت رو بسازی!
فایدهش چیه؟
اگه فایروال روی الگوی ترافیک حساس باشه و دنبال بستههای مشکوک بگرده، با یه پکت غیر معمول میتونی از جلوی چشمش رد بشی… خیلی ریلکس 😎
مرحله ۱: انتخاب ابزار ساخت پکت
برای ساخت بستههای سفارشی، چند تا ابزار توپ داریم:
۱. Scapy (پادشاه ساخت پکتها)
یه کتابخونه پایتونی که هر پکتی رو که فکرشو بکنی میسازه.
۲. Hping3
ابزار محبوب هکرها و پنتسترها برای ساخت و ارسال بستههای TCP، UDP، ICMP با فلگها و مقادیر دستکاری شده.
۳. Nmap
همه فکر میکنن فقط اسکنر پورت هست، در صورتی که با `–scanflags` میتونی هر فلگی رو خواستی بزنی.
مرحله ۲: دستکاری بیتهای TCP/IP
اینجا وارد بخش جذاب داستان میشیم…
دستکاری TCP Flags
فلگهایی مثل:
– SYN
– ACK
– FIN
– RST
– PSH
– URG
فایروالها معمولاً دنبال الگوی ترافیک استاندارد هستن.
وقتی فلگها رو ترکیب میکنی، فایروال گیج میشه و نمیفهمه این بسته چیو میخواد!
مثال با Nmap:
nmap -sS –scanflags SYNACK target_ip
تکهتکه کردن بستهها باعث میشه فایروال نتونه پکتها رو درست assemble کنه.
در نهایت پکت از فایروال رد میشه و تازه بعد از رد شدن سر هم میشه.
مرحله ۳: روشهای اسکن پنهان (Stealth Scanning)
SYN Scan
فقط یه SYN میفرستی، بدون اینکه TCP Three-way handshake کامل بشه.
پورت بازه؟ SYN/ACK میاد.
بستهست؟ RST میاد.
ACK Scan
برای تشخیص فیلتر بودن پورتها.
مثال:
nmap -sA target_ip
مرحله ۴: بازی با زمانبندی پکتها
فایروالها معمولاً Rate Limit دارن.
اگه پکتهات رو خیلی سریع بفرستی، میفهمن داری اسکن میکنی.
با این دستور سرعت اسکن رو کم میکنی:
nmap -sS -T2 target_ip
مرحله ۵: اسپوف کردن IP (پکت جعلی)
تغییر IP مبدأ باعث میشه فایروال فکر کنه پکت از یه منبع قابل اعتماده.
مرحله ۶: تغییر سایز پکت (MSS / MTU)
کافیه اندازه پکت یا MSS رو طوری تنظیم کنی که از فیلترهای فایروال رد بشه.
مرحله ۷: استفاده از UDP
خیلی از فایروالها روی TCP حساسن ولی روی UDP نه.
پس اسکن UDP میتونه از دیدش مخفی بشه:
nmap -sU target_ip
مرحله ۸: استفاده از پروتکلهای غیرمعمول
فایروالها معمولاً روی بعضی پروتکلها نظارت ضعیفتری دارن
معرفی نرمافزار Colasoft Packet Builder
اگه نمیخوای با کد و ترمینال درگیر بشی، این نرمافزار بهترین چیزیه که میتونی استفاده کنی.
چرا خوبه؟
- ساخت پکتهای TCP, UDP, ICMP, IP, Ethernet
- ویرایش پکتهای ضبطشده
- آنالیز دقیق هدرها
- ارسال پکت برای تست فایروال
- شبیهسازی انواع ترافیک
- پشتیبانی از IPv4 و IPv6
- کاربری آسون و گرافیکی
مراحل کار
- نصب برنامه
- ساخت پکت جدید
- ویرایش IP، پورت، فلگها، Sequence و…
- ارسال پکت به مقصد
- تحلیل نتیجه
ساخت بسته سفارشی، یکی از حرفهایترین تکنیکهای تست نفوذ و دور زدن فایرواله.
وقتی چندتا ترفند رو با هم ترکیب کنی (مثل تغییر فلگها + اسپوفینگ + زمانبندی)، میتونی فایروالهایی که اسکنهای ساده رو بلاک میکنن، خیلی شیک دور بزنی.
🐽رندمسازی هاستها و ارسال چکسام خراب؛
دو حرکت خفن برای دور زدن فایروال
وقتی فایروال از رو دستت میخونه، دستشو بخون!
اگه از اونایی هستی که همیشه دنبال روشهای خفنتر برای اسکن شبکه و پیچوندن فایروالا هستی، امروز قراره دو تا تکنیک خیلی باحال رو یاد بگیری:
رندمسازی ترتیب هاستها و ارسال چکسام خراب.
این دوتا تکنیک دقیقاً همون چیزیه که فایروالها و IDS/IPS معمولاً ازش حسابی حرص میخورن! 😄
البته یادت نره: اینا فقط برای تست نفوذ قانونی و آزمایش امنیت شبکه خودت هست.
۱. رندمسازی ترتیب هاستها (Host Order Randomization)
وقتی شما یه رنج IP رو صاف و مرتب اسکن میکنی (مثلاً از ۱۹۲.۱۶۸.۱.۱ تا ۱۹۲.۱۶۸.۱.۲۵۴)، فایروالها فوراً بو میکشن که این یه اسکنه!
چون هیچ کاربر واقعی نمیاد ۲۵۴ تا سیستم رو پشت هم بزنه.
اینجاست که تکنیک رندمسازی ترتیب هاستها به دادت میرسه.
چرا خوبه؟
– الگوی اسکن به هم میریزه
– IDS نمیتونه بفهمه که تو داری رنج رو اسکن میکنی
– ترافیکت طبیعیتر دیده میشه
مثال با Nmap
nmap –randomize-hosts 192.168.1.0/24
۲. ارسال چکسام خراب (Bad Checksums)
چکسام مثل مهر تایید روی بستهست.
اگه خراب باشه، یعنی بسته مشکل داره.
حالا نکتهٔ باحال:
خیلی از فایروالها وقتی چکسام اشتباه باشه اصلاً بررسی نمیکنن و پکت رو همینجوری رد میکنن یا میندازن دور.
اما دستگاه مقصد ممکنه اون بسته رو قبول کنه!
این یعنی چی؟
یعنی تو میتونی با یه بستهٔ عجیبغریب و خراب، از جلوی چشم فایروال رد بشی و جواب بگیری.
مثال با Nmap
nmap –badsum 192.168.1.1
Nmap تو این حالت عمداً پکتهایی با چکسام خراب میفرسته.
بعضی سیستمها جواب میدن، بعضیا نه. این تکنیک همیشه تضمینی نیست ولی برای خنثی کردن IDS/IPS خیلی مؤثره.
۳. ترکیب دو تکنیک (جادوی واقعی همینجاست!)
وقتی رندمسازی هاستها با چکسام خراب ترکیب بشه، فایروال موبهمو قاطی میکنه!
چون هم ترتیب ترافیک عجیبه، هم بستهها چکسام درست ندارن.
مثال:
nmap –randomize-hosts –badsum 192.168.1.0/24
نتیجه؟
خیلی از IDSها حتی نمیفهمن اسکن در کاره!
مزایا
- کاهش احتمال شناسایی
- دور زدن فیلترهای سطحی
- گیج کردن IDS/IPS
- تغییر کامل الگوی ترافیک
معایب
- بستههای خراب همیشه جواب نمیدن
- ممکنه سرعت اسکن کمتر بشه
- بعضی دستگاهها ممکنه بستههای خراب رو Reject کنن
- ترافیک عجیب اگه زیاد بشه، در لاگها مشخص میشه
- این تکنیکها رو با Timing پایین (مثل T2 یا T1) ترکیب کن.
- اگر اسکن UDP هم اضافه کنی، ترافیکت طبیعیتر دیده میشه.
- برای شبکههای بزرگ، رندمسازی هاستها فوقالعاده مؤثره.
- اگه IDSها heuristic-based باشن (مثل Suricata)، چکسام خراب خیلی به نفعت کار میکنه.
این دوتا تکنیک از اون ابزارهایی هستن که هر تستر نفوذ حرفهای باید بلد باشه.
نه خطرناک، نه پیچیده — فقط هوشمندانه و کاربردی.
اگه با دقت استفاده کنی، میتونن کلی از دیوارهای امنیتی رو دور بزنن و مسیر اسکن رو برایت باز کنن.
🐽پروکسی سرورها و Proxy Chaining؛
قایم شدن پشت چندتا نقاب برای دور زدن فایروال
وقتی نمیخوای پیدات کنن، پشت چندتا پروکسی قایم شو!
اگه دنبال اینی که ترافیک اسکنهات رو طوری رد کنی که فایروال حتی بو هم نبره از کجا داری میزنی، امروز بهترین مقاله رو داری میخونی.
قراره درباره پروکسی سرورها، زنجیره پروکسی (Proxy Chaining)، Tor و آنونیمایزرها حرف بزنیم؛ همون چیزایی که باعث میشن فایروال سرکار بره و هویتت حسابی گم بشه!
پروکسی سرور چیه و چرا تو دور زدن فایروال اینقدر محبوبه؟
پروکسی در اصل مثل یه «واسطه» بین تو و هدفه. یعنی تو میزنی به پروکسی، پروکسی میزنه به هدف.
بنابراین آیپی اصلیت اصلاً دیده نمیشه؛ فقط پروکسی دیده میشه.
خب چرا پروکسیها تو اسکن شبکه مهم میشن؟ چون:
– هویتت رو کامل مخفی میکنن
– فایروال نمیفهمه اسکن از کجاست
– میتونی از چندین IP مختلف اسکن بزنی
– میتونی محدودیتهای جغرافیایی یا IP-based رو رد کنی
انواع پروکسیها و کاربردشون تو اسکن شبکه
۱. HTTP Proxy
برای ترافیک وب خوبه، ولی برای اسکنهای حرفهای معمولاً جواب نمیده مگر شرایط خاصی باشه.
۲. SOCKS5 Proxy
این یکی شاهه!
TCP، UDP، ICMP… همهچیز رو عبور میده.
برای اسکن با Nmap، بهترین گزینه همینه.
۳. VPN
مثل یک پروکسی بزرگ عمل میکنه.
IPت رو عوض میکنه اما معمولاً یک خروجی ثابت داره.
پس برای اسکن شدید ممکنه لو بره.
۴. شبکه Tor
حریم خصوصی بالا — سرعت پایین!
برای اسکنهای سنگین مناسب نیست، ولی برای اسکن مخفیانه و آروم خیلی خوبه.
استفاده از پروکسی در Nmap (با Proxychains)
Nmap خودش مستقیماً از پروکسی پشتیبانی نمیکنه، مخصوصاً TCP/UDP.
برای همین باید از Proxychains استفاده کنیم.
نصب Proxychains:
sudo apt-get install proxychains
اضافه کردن پروکسی SOCKS5:
فایل /etc/proxychains.conf رو ویرایش کن:
socks5 127.0.0.1 9050
اجرای Nmap از طریق پروکسی:
proxychains nmap -sT 192.168.1.0/24
در این حالت، کل ترافیک Nmap از پروکسی عبور میکنه.
استفاده از پروکسی HTTP در Nmap
Nmap مستقیم HTTP Proxy رو قبول نمیکنه.
برای همین باید با ابزارهایی مثل Privoxy یا Proxychains تبدیلش کنی.
اسکن از طریق شبکه Tor
Tor خودش یک پروکسی چینینگ بزرگه!
ترافیکت از چندین نود عبور میکنه و هویتت تقریباً ناشناس میشه.
نصب Tor:
sudo apt-get install tor
اجرا:
sudo service tor start
اجرای Nmap از طریق Tor:
proxychains nmap -sT 192.168.1.0/24
این روش خیلی مخفیانهست، اما سرعت؟
اممم… مثل لاکپشته 😅
مزایا و معایب استفاده از پروکسی سرور برای اسکن شبکه
مزایا:
- مخفی کردن کامل IP اصلی
- عبور از محدودیتهای فایروال
- توزیع ترافیک اسکن
- امکان استفاده از چند پروکسی مختلف
معایب:
- کاهش سرعت (خصوصاً Tor)
- بیشتر شدن پیچیدگی کار
- خطر پروکسیهای عمومی و بیاعتماد
- احتمال قطع شدن یکی از پروکسیها وسط زنجیره
Proxy Chaining چیه و چرا خفنه؟
Proxy Chaining یعنی چندین پروکسی پشت سر هم.
مثل اینه که چندتا ماسک روی هم بزاری!
مزایا:
- مخفیسازی چندلایه
- امنیت بیشتر
- عبور از فیلترینگ
- توزیع بهتر ترافیک
معایب:
- سرعت کم
- پیکربندی پیچیده
- خطر لو رفتن پروکسیهای رایگان
- حساس بودن زنجیره به قطعی یکی از نودها
پیادهسازی Proxy Chaining با Proxychains
نصب:
sudo apt-get install proxychains
پیکربندی فایل:
مثال از یک زنجیره:
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
http 192.168.1.10 8080
socks5 192.168.1.20 1080
اجرا:
proxychains nmap -sP 192.168.1.0/24
ترکیب VPN + پروکسی (لایه روی لایه!)
اول وصل شو به VPN
بعد پروکسیها رو فعال کن
ترکیبش میشه یک تونل روی تونل که ردگیری رو خیلی سخت میکنه.
Proxy Chaining با Tor
Tor ذاتاً یک زنجیره پروکسیه.
چندین نود → رمزنگاری چندلایه → عبور مخفیانه.
نرمافزار Proxy Switcher (تعویض سریع پروکسی)
برای کسایی که زیاد پروکسی عوض میکنن، عالیه.
ویژگیها:
- تغییر پروکسی با یک کلیک
- مدیریت چندین پروکسی
- تست سرعت
- پروفایلهای مختلف
- پشتیبانی HTTP/HTTPS/SOCKS5
ابزارهای معروف:
- SwitchyOmega
- Proxifier
- ProxyCap
- FoxyProxy
- Proxy Switcher Lite
Anonymizer چیه؟
Anonymizer یعنی هر ابزاری که هویتت رو قایم کنه:
- VPN
- Proxy
- Tor
- وبپروکسیها
کارشون:
- مخفی کردن IP
- رمزنگاری ترافیک
- عبور از فیلترینگ
- جلوگیری از ردیابی
پروکسیها یکی از بهترین روشها برای مخفی کردن هویت در اسکن شبکه هستن.
چه از SOCKS5 استفاده کنی، چه Tor، چه Proxy Chaining — همهشون کمک میکنن که فایروال نتونه بفهمه کی پشت قضیهست.
🥸🥸🥸رفقا یادتون نره، این تکنیکها برای تست نفوذ قانونی و بالا بردن امنیت شبکه خودتونه. استفاده از این روشها روی شبکههایی که اجازه ندارید، جرمه و عواقب بدی داره. پس همیشه اخلاق حرفهای رو رعایت کنید.
موفق باشید و امن بمونید! 🔒