DNS Tunneling چیست؟ راهنمای تشخیص

DNS Tunneling DNS یا Domain Name System را به یک سلاح هک کننده تبدیل می کند. همانطور که می دانیم DNS یک فهرست بزرگ سفید یا دایرکتوری تلفن برای اینترنت است. DNS همچنین دارای پروتکل ساده ای است که به سرورها امکان جستجوی پایگاه داده سرور DNS را می دهد. تا کنون خیلی خوب. هکرهای باهوش فهمیدند که با پنهان کردن دستورات و داده های موجود در پروتکل DNS می توانند مخفیانه با یک رایانه ارتباط برقرار کنند. این ایده در هسته DNS Tunneling است.

آیا می خواهید درباره طرز فکر هکر اطلاعات بیشتری کسب کنید؟ برای Webinar Attack سایبری خود ثبت نام کنید.

چگونه DNS Tunneling کار می کند

 تصویربرداری تونل سازی DNS از روند

پروتکل برای همه چیز در اینترنت وجود دارد ، و DNS از یک پروتکل پاسخ سریع سؤال پاسخ می دهد. اگر می خواهید نحوه عملکرد آن را ببینید ، می توانید به nslookup ، ابزار go-to پرس و جو DNS دسترسی پیدا کنید. فقط می توانید با وارد کردن نام دامنه ، یک آدرس را جستجو کنید ، مانند آنچه در زیر انجام دادم:

 DNS تصویر صفحه نمایش تونلی از nslookup

توجه کنید پروتکل در این مورد با آدرس IP پاسخ داد. دامنه به زبان پروتکل DNS ، یک آدرس یا پرس و جو «A» را ایجاد کردم. سؤالات دیگری وجود دارد که می توانید در آن پروتکل DNS با فیلدهای مختلف داده پاسخ دهید ، که به زودی مشاهده خواهیم کرد که توسط هکرها مورد سوء استفاده قرار می گیرند.

به هر حال ، پروتکل DNS تحت هود ، پرس و جو را به سرور منتقل می کند ، و پاسخ به مشتری چه می شود اگر یک هکر یک پیام را به یک سوال DN وارد کند؟ به عنوان مثال ، به جای تایپ کردن URL مشروط ، داده هایی را که می خواستند از آن جدا شوند ، وارد کردند ، مانند این بگویید:

 DNS تصویر صفحه نمایش تونلی DNS از نحوه عملکرد nslookups

فرض کنید هکرها کنترل DNS را داشتند سرور سپس آنها می توانند داده ها – شماره های تأمین اجتماعی و غیره – را بدون اینکه لزوماً متوجه شوند ، جمع آوری کنند. از این گذشته ، چرا یک درخواست DNS چیزی غیر از قانونی است؟

با کنترل هکرها ، آنها پاسخ های جعلی می دهند و داده ها را به سیستم مورد نظر ارسال می کنند. این امر به آنها امکان می دهد پیام های پنهان شده در قسمت های مختلف پاسخ DNS را به بدافزارهایی که در رایانه قربانی بارگذاری شده اند ، بازگردانند – آن را مستقیماً به جستجوی این پوشه ، و غیره هدایت کنند.

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

و این DNS است که در حال tuneling است!

DNS Tunneling Attack History

همه چیز یک آغاز دارد ، از جمله ایده ربودن پروتکل DNS برای اهداف هک. تا آنجا که می توانیم بگوییم ، اولین بحث درباره این حمله از اسکار پیرسون در لیست پستی Bugtraq در آوریل سال 1998 بود.

تا سال 2004 ، آن را به عنوان یک تکنیک در بلک هات ارائه می داد – به شرح دن کامینسکی مراجعه کنید. بنابراین این ایده خیلی سریع به یک روش حمله واقعی منتقل شد.

و امروزه تونل سازی DNS بخشی از تهدید آمیز است (و از وبلاگ نویسان امنیتی اغلب خواسته می شود که این موضوع را توضیح دهند.)

آیا در مورد لاک پشت دریایی شنیده اید؟ این یک کمپین مداوم توسط باندهای سایبری – احتمالاً حمایت مالی از دولت است – برای ربودن سرورهای قانونی DNS است تا بتوانند نمایش داده های DNS را به سرورهای خودشان دوباره تغییر دهند. این بدان معناست که یک سازمان آدرس IP بدی را دریافت می کند که به صفحات وب مضراتی که توسط هکرها کنترل می شوند – می گویند برای Google یا FedEx. سپس هکرها می توانند اعتبار خود را بدست آورند زیرا کاربران ناآگاهانه اطلاعات را در صفحات وب جعلی وارد می کنند. تونل زدن DNS نیست ، بلکه نتیجه بد دیگری هکرها کنترل کننده سرور DNS است.

تهدیدهای تونلینگ DNS

 DNS تصویرسازی تهدیدات تونل زنی

DNS تونلینگ مکانیزمی برای اتفاقات بد است. . چه نوع بدی؟ ما قبلاً چند مورد پیشنهاد کرده ایم ، اما اجازه دهید آنها را ذکر کنیم:

  • Exfiltration Data – هکرها داده های حساس را از طریق DNS گشودند. مطمئناً کارآمدترین روش برای بدست آوردن اطلاعات از رایانه یک قربانی نیست – با استفاده از همه سرورها و رمزگذاری های اضافی – اما می تواند کار کند و آن نیز مخفی است!
  • Command and Control (C2) – هکرها از پروتکل DNS استفاده می کنند. دستورات ساده ای را برای مثلاً یک تروجان دسترسی از راه دور (RAT) ارسال کنید.
  • IP-Over-DNS Tunneling – این به نظر دیوانه کننده است ، اما برنامه هایی وجود دارد که IP پروتکل را در پروتکل پرس و جو پاسخ DNS پیاده سازی کرده اند. این امر انتقال اطلاعات با استفاده از نرم افزارهای ارتباطی استاندارد مانند FTP ، Netcat ، ssh و غیره را بسیار قدرتمند می کند!

DNS Tunneling Detection

 DNS به تصویر کشیدن تونل زنی از راه های تشخیص DNS تونل زنی

دو روش کلی برای تشخیص سوء استفاده از DNS وجود دارد: تجزیه و تحلیل بار و تجزیه و تحلیل ترافیک.

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

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

DNS Tunneling Utilities

اگر می خواهید آزمایش قلم خود را انجام دهید تا ببینید شرکت شما چگونه می تواند تشخیص و پاسخ دهد ، چند نرم افزار در دسترس است. همه موارد زیر IP-over-DNS را انجام می دهند:

  • Iodine – در بسیاری از سیستم عامل ها (لینوکس ، Mac OS ، FreeBSD و ویندوز) موجود است. این امکان را به شما می دهد تا یک پوسته SSH بین کامپیوتر هدف و کامپیوتر تنظیم کنید. در اینجا آموزش خوبی در مورد چگونگی تنظیم و استفاده از ید وجود دارد.
  • OzymanDNS – پروژه تونل سازی DNS دن کامینسکی که در پرل نوشته شده است. شما می توانید با آن SSH کنید.
  • DNSCat2 – "یک تونل DNS که شما را بیمار نخواهد کرد". یک کانال C2 رمزگذاری شده ایجاد می کند تا بتواند پرونده ها را بارگذاری و بارگیری کند ، یک پوسته را اجرا کند.

برنامه های نظارت بر DNS

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

  • dnsHunter – ماژول پایتون برای MercenaryHuntFramework & Mercenary-Linux. فایل های .pcap را برای استخراج نمایش داده های DNS می خواند و جستجوی جغرافیایی را انجام می دهد ، که به تجزیه و تحلیل کمک می کند.
  • reassemble_dns – ابزاری پایتون برای خواندن پرونده های .pcap و مجدداً پیغام DNS.

DNS Tunneling Micro FAQ

اطلاعات جالب در قالب سؤالات متداول!

س: تونلینگ چیست؟

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

س: چه زمانی اولین حمله تونل زنی DNS بود؟

A: ما نمی دانیم! اگر این کار را کردید ، لطفاً به ما بگویید. تا آنجا که می توانیم بگوییم ، اولین بحث در مورد این حمله از اسکار پیرسون در لیست پستی Bugtraq در آوریل سال 1998 بود.

س: چه حملات شبیه به DNS Tunneling است؟

A: DNS تنها نیست پروتکل شما می توانید برای تونل زنی استفاده کنید. به عنوان مثال ، بدافزارهای Command and Control (C2) اغلب از HTTP به عنوان راهی برای پنهان کردن ارتباطات استفاده می کنند. هکرها دقیقاً مانند تونل سازی DNS ، داده های خود را پنهان می کنند ، اما در این حالت ، به نظر می رسد مانند ترافیک مرورگر به یک وب سایت راه دور (تحت کنترل هکرها) بروید. این می تواند زیر رادارهای نرم افزاری نظارت قرار بگیرد که به این تهدید سوءاستفاده از HTTP برای اهداف شیطانی ضمیمه نشده باشد. محصول Varonis Edge را بررسی کنید و نسخه ی نمایشی امروز را امتحان کنید!