Какво е човекът по средата. Технически ЧЗВ. Инжектиране на зловреден код

18.10.2016 | Владимир Хазов

Плановете на ФСБ, Министерството на телекомуникациите и масовите комуникации и Министерството на промишлеността и търговията за прилагане на разпоредбите на Закона Яровая относно прихващането и дешифрирането на кореспонденцията на руснаци вече не са просто планове, а вече започват да се прилагат в действие с разпореждане за изготвяне на експертно заключение относно възможността за прихващане на съобщения WhatsApp, Viber, Facebook Messenger, Telegram, Skype чрез MITM атаки и демонстрация на прототип на такъв инструмент.

Писахме за схемата за организиране на „легитимна“ MITM атака в предишна статия. Днес ще се спрем по-подробно на самия принцип на такава атака и методите за нейното изпълнение.

Какво е MITM атака

Man In The Middle (MITM) се превежда като „човек по средата“. Този термин се отнася до мрежова атака, при която нападателят е между интернет потребителя и приложението, до което той има достъп. Не физически, разбира се, а с помощта на специален софтуер. Той се представя на потребителя като исканото приложение (това може да е уебсайт или интернет услуга), симулира работа с него и прави това по такъв начин, че да създаде впечатление за нормална работа и обмен на информация.

Целта на атаката са личните данни на потребителя, като идентификационни данни за вход в различни системи, банкови данни и номера на карти, лична кореспонденция и друга поверителна информация. В повечето случаи се атакуват финансови приложения (банкови клиенти, онлайн банки, услуги за плащане и парични преводи), фирмени SaaS услуги, сайтове за електронна търговия (онлайн магазини) и други сайтове, където се изисква оторизация за влизане в системата.

Информацията, която нападателят получава, може да се използва за различни цели, включително незаконни парични преводи, промяна на сметки, прихващане на лична кореспонденция, извършване на покупки за чужда сметка, компрометиране и изнудване.

В допълнение, след кражба на идентификационни данни и хакване на система, престъпниците могат да инсталират злонамерен софтуер в корпоративна мрежа, за да откраднат интелектуална собственост (патенти, проекти, бази данни) и да причинят икономически щети чрез изтриване на важни данни.

MITM атака може да се сравни с пощальон, който, докато доставя вашата кореспонденция, отваря писмо, пренаписва съдържанието му за лична употреба или дори фалшифицира почерка, добавя нещо свое и след това запечатва плика и го доставя на адресата сякаш нищо не се е случило. Освен това, ако сте шифровали текста на писмото и искате да съобщите кода за дешифриране лично на адресата, пощальонът ще се представи като адресат по такъв начин, че дори да не забележите замяната.

Как се извършва MITM атака

Изпълнението на MITM атака се състои от две фази: прихващане и дешифриране.

  • Прихващане

Първият етап от атаката е да се прихване трафик от потребителя към желаната цел и да се насочи към мрежата на атакуващия.

Най-често срещаният и най-лесният начин за прихващане е пасивна атака, когато нападателят създава Wi-Fi точки със свободен достъп (без парола или разрешение). В момента, в който потребител се свърже с такава точка, нападателят получава достъп до целия трафик, преминаващ през нея и може да извлече всякакви данни от нея за прихващане.

Вторият метод е активно прихващане, което може да се извърши по един от следните начини:

IP spoofing– замяна на IP адреса на целта в заглавката на пакета с адреса на нападателя. В резултат на това потребителите, вместо да посетят искания URL адрес, се озовават на уебсайта на нападателя.

ARP спуфинг– заместване на реалния MAC адрес на хоста с адреса на нападателя в ARP таблицата на жертвата. В резултат на това данните, изпратени от потребителя до IP адреса на необходимия възел, завършват на адреса на атакуващия.

DNS подправянезаразяване на DNS кеша, проникване в DNS сървъра и подправяне на съвпадащия запис на адреса на уебсайта. В резултат на това потребителят се опитва да получи достъп до искания сайт, но получава адреса на сайта на атакуващия от DNS сървъра.

  • Декриптиране

Веднъж прихванат, двупосочният SSL трафик трябва да бъде дешифриран по такъв начин, че потребителят и ресурсът, който иска, да не забележат намесата.

Има няколко метода за това:

HTTPS спуфинг– фалшив сертификат се изпраща до браузъра на жертвата, когато се установи връзка със сайта чрез HTTPS протокола. Този сертификат съдържа цифров подпис на компрометираното приложение, поради което браузърът приема връзката с нападателя за надеждна. След като се установи такава връзка, нападателят получава достъп до всички данни, въведени от жертвата, преди да бъдат предадени на приложението.

SSL ЗВЯР(browser exploit against SSL/TLS) – атаката използва уязвимостта на SSL в TLS версии 1.0 и 1.2. Компютърът на жертвата е заразен със злонамерен JavaScript, който прихваща криптирани бисквитки, изпратени до уеб приложението. Това компрометира режима на шифроване на „верижния блок на шифрован текст“, така че атакуващият да получи декриптираните бисквитки и ключовете за удостоверяване.

Отвличане на SSL– прехвърляне на фалшиви ключове за удостоверяване към потребителя и приложението в началото на TCP сесия. Това създава вид на защитена връзка, когато всъщност сесията се контролира от „човек по средата“.

SSL премахване– Понижава връзката от защитен HTTPS към обикновен HTTP чрез прихващане на TLS удостоверяването, изпратено от приложението до потребителя. Нападателят предоставя на потребителя некриптиран достъп до сайта, като същевременно той поддържа защитена сесия с приложението, получавайки възможността да види предадените данни на жертвата.\

Защита срещу MITM атаки

Надеждна защита срещу MITM атаки е възможна, ако потребителят предприеме няколко превантивни действия и използва комбинация от методи за криптиране и удостоверяване от разработчиците на уеб приложения.

Действия на потребителя:

  • Избягвайте да се свързвате с Wi-Fi точки, които нямат защита с парола. Деактивирайте функцията за автоматично свързване към известни точки за достъп - нападателят може да прикрие своя Wi-Fi като легитимен.
  • Обърнете внимание на известието на браузъра за посещение на незащитен сайт. Такова съобщение може да показва преход към фалшив уебсайт на нападател или проблеми със защитата на легитимен уебсайт.
  • Прекратете сесията с приложението (излезте), ако не се използва.
  • Не използвайте обществени мрежи (кафенета, паркове, хотели и др.) за извършване на поверителни транзакции (бизнес кореспонденция, финансови транзакции, покупки в онлайн магазини и др.).
  • Използвайте антивирусна програма с актуални бази данни на вашия компютър или лаптоп; това ще ви помогне да се предпазите от атаки, използващи злонамерен софтуер.

Разработчиците на уеб приложения и уебсайтове трябва да използват защитени протоколи TLS и HTTPS, които значително усложняват фалшивите атаки чрез криптиране на предаваните данни. Използването им също предотвратява прихващане на трафик с цел получаване на параметри за оторизация и ключове за достъп.

Счита се за добра практика защитата на TLS и HTTPS не само за страниците за оторизация, но и за всички останали раздели на сайта. Това намалява вероятността нападател да открадне бисквитките на потребителя в момента, когато той навигира през незащитени страници след оторизация.

Защитата срещу MITM атаки е отговорност на потребителя и телекомуникационния оператор. Най-важното за потребителя е да не губи бдителност, да използва само доказани методи за достъп до интернет и да избира сайтове с HTTPS криптиране при прехвърляне на лични данни. На телекомуникационните оператори може да се препоръча да използват системи за дълбока проверка на пакети (DPI) за откриване на аномалии в мрежите за данни и предотвратяване на измамни атаки.

Правителствените агенции планират да използват MITM атаката, за да защитят гражданите, а не да причиняват щети, за разлика от нападателите. Прихващането на лични съобщения и друг потребителски трафик се извършва в рамките на действащото законодателство, извършвано по решение на съдебните органи за борба с тероризма, трафика на наркотици и други забранени дейности. За обикновените потребители „легитимните“ MITM атаки не представляват заплаха.

Обозначава ситуация, при която нападателят може да чете и променя по желание съобщенията, обменяни между кореспондентите, и никой от последните не може да познае присъствието му в канала.


Фондация Уикимедия. 2010 г.

Вижте какво е „Човек в средата (атака)“ в други речници:

    Man in the middle атака, MITM атака (на английски Man in the middle) е термин в криптографията, обозначаващ ситуация, при която криптоаналитик (атакуващ) може да чете и променя по свое усмотрение разменените съобщения... ... Wikipedia

    - ... Уикипедия

    Криптоанализът (от гръцки κρυπτός скрит и анализ) е наука за методите за получаване на оригиналния смисъл на криптирана информация без достъп до необходимата за това секретна информация (ключ). В повечето случаи това означава... ... Wikipedia

    Хакерска атака в тесния смисъл на думата понастоящем се разбира под фразата „Опит срещу система за сигурност“ и по-скоро клони към значението на следващия термин Cracker атака. Това се случи поради изкривяване на значението на самата дума „хакер“... Wikipedia

    - (от друг гръцки κρυπτός скрит и анализ) науката за методите за декриптиране на криптирана информация без ключ, предназначен за такова декриптиране. Терминът е въведен от американския криптограф Уилям Ф. Фридман през 1920 г. Неофициално... ... Уикипедия

Атаката "човек по средата" е общо име за различни техники, насочени към получаване на достъп до трафика като посредник. Поради голямото разнообразие от тези техники е проблематично да се приложи един единствен инструмент за откриване на тези атаки, който да работи за всички възможни ситуации. Например, при атака "човек по средата" в локална мрежа обикновено се използва ARP spoofing (отравяне). И много инструменти за откриване на атаки тип „човек по средата“ наблюдават промените в двойките Ethernet адреси/или докладват за подозрителна ARP активност чрез пасивно наблюдение на ARP заявки/отговори. Но ако тази атака се използва на злонамерено конфигуриран прокси сървър, VPN или други опции, които не използват ARP отравяне, тогава такива инструменти са безпомощни.

Целта на този раздел е да прегледа някои техники за откриване на атаки тип човек по средата, както и някои инструменти, предназначени да определят дали сте обект на MitM атака. Поради разнообразието от методологии и сценарии за внедряване, 100% откриване не може да бъде гарантирано.

1. Откриване на модификация на трафика

Както вече споменахме, атаките тип човек по средата не винаги използват ARP спуфинг. Така че докато откриването на активност на ARP слоя е най-популярният метод за откриване, по-общ метод е откриването на модификация на трафика. Програмата mitmcanary може да ни помогне с това.

Принципът на работа на програмата е, че прави „контролни“ заявки и запазва получените отговори. След това той повтаря същите заявки на определени интервали и сравнява отговорите, които получава. Програмата е доста интелигентна и за да избегне фалшиви положителни резултати, идентифицира динамични елементи в отговорите и ги обработва правилно. Веднага след като програмата открие следи от активност на инструментите за атака на MitM, тя съобщава за това.

Примери за това как някои инструменти могат да „наследяват“:

  • MITMf по подразбиране променя всички HTTPS URL адреси в HTML кода на HTTP. Открит чрез сравняване на HTTP съдържание.
  • Zarp + MITMProxy, MITMProxy има функционалност, която ви позволява да изчистите HTTP компресията, това се използва за прозрачност на предавания трафик, тази комбинация се открива чрез изчезването на предишна налична компресия
  • Респондент, идентифициран чрез внезапни промени в трансформацията на mDNS отговорите: неочакван отговор; отговорът е вътрешен, но се очаква външен; отговорът е различен от очакваното IP
  • MITMCanary срещу MITMf:

  • MITMCanary срещу Responder:

  • MITMCanary срещу Zarp + MITMProxy:

Sudo pip инсталирайте Cython sudo apt-get инсталирайте python-kivy python-dbus sudo pip инсталирайте plyer uuid urlopen анализ заявка simplejson datetime git клонинг https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary/

Както вече споменахме, mitmcanary трябва да започне да работи с контролни заявки. За да направите това, отидете в директорията

CD услуга/

И стартирайте файла setup_test_persistence.py:

Python2 setup_test_persistence.py

Това ще отнеме известно време - изчакайте да приключи. Не трябва да има съобщения за грешка (ако е така, тогава липсват някои зависимости).

Резултатът ще бъде нещо подобно:

Mial@HackWare:~/bin/mitmcanary/service$ python2 setup_test_persistence.py Открита е по-стара версия на конфигурацията (0 вместо 14) Конфигурацията се надстройва. Дневникът на прочистването е активиран. Анализира се... Чистката приключи! Запишете вход /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12+ (по подразбиране, 1 септември 2016 г., 20:27:38)

След като този процес приключи, в същата директория изпълнете (това ще стартира фонов процес):

Python2 main.py

След това отворете нов терминален прозорец и отидете до крайната директория с mitmcanary. Моята директория е bin/mitmcanary/, така че влизам

CD контейнер/mitmcanary/

и направете там:

Python2 main.py

Първият прозорец показва нещо като:

Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py Регистрирайте се в /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12+ (по подразбиране, 1 септември 2016 г., 20:27:38) използвайки за слушане на сокет за Tuio на 127.0.0.1:3000 Спящ режим за 60 секунди Спящ режим за 60 секунди Спящ режим за 60 секунди Спящ режим за 60 секунди Спящ режим за 60 секунди Спящ режим за 60 секунди

Тези. Програмата прави заявки за контрол веднъж на минута и търси признаци на атака "човек по средата".

Вторият прозорец също съдържа изход + отваря се тъмен прозорец; авторите на програмата наричат ​​този прозорец „графичен интерфейс“:

Можете да изчакате известно време и да сърфирате в интернет, за да се уверите, че програмата не издава фалшиви предупреждения.

Нека опитаме класическата програма Ettercap.

Стартирам обикновена MitM атака с ARP спуфинг. mitmcanary не реагира на самото ецване. Инструментът mitmcanary генерира трафика сам, т.е. не е необходимо действие от потребителя. След известно време се появява едно единствено предупреждение, което не се потвърждава при последващи проверки. Но подобно предупреждение се появява след няколко минути. Без допълнителен анализ ми е трудно да кажа дали това е пример за фалшив положителен резултат - много прилича на него. Напълно възможно е това предупреждение да е причинено от повреда в комуникацията поради необходимостта трафикът да премине допълнителни маршрути или поради особеностите на моята интернет връзка с лошо качество.

Тъй като резултатът не е очевиден (по-вероятно е „не“, отколкото „да“), нека опитаме програмата Bettercap, която има различни модули. Не се съмнявам, че ако използвахме различни плъгини на Ettercap и/или допълнителни програми за разширяване на функционалността, щяхме да „светнем“ и за mitmcanary.

За чистота на експеримента рестартирам оборудването, стартирам mitmcanary на атакуваната машина и Bettercap на атакуващата. В същото време не е необходимо да се правят повторно заявки за управление на атакуваната машина - те се записват във файл в директорията с програмата. Тези. Достатъчно е да стартирате услугата и графичния интерфейс.

И в атакуващата машина ще стартираме Bettercap с активирани парсери:

Sudo bettercap -X

Появяват се отделни предупреждения, които също приличат повече на фалшиви положителни резултати.

Но стартиране на тази команда:

Sudo bettercap -X --прокси

На атакуваната машина се генерират голям брой предупреждения за възможна атака човек по средата:

И така, колкото по-мощен е инструментът за атака тип човек по средата, толкова повече следи оставя в трафика. За практическо използване на mitmcanary трябва да бъдат изпълнени следните условия:

  • правете първоначални заявки в доверена мрежа, когато сте сигурни, че няма посредник при предаването на трафика;
  • редактирайте ресурсите, към които се правят заявки за проверка, тъй като професионален хакер може да добави ресурси по подразбиране към изключения, което ще го направи невидим за този инструмент.

2. Откриване на ARP спуфинг (ARP кеш отравяне)

Много често атака от типа "човек по средата" на локална мрежа започва с ARP отравяне. Ето защо много инструменти, предназначени за откриване на MitM атаки, се основават на механизъм за наблюдение на промените в ARP кеша, който присвоява съответствие между Ethernet (MAC адреси) и IP адреси.

Като пример за такива програми можем да си припомним arpwatch, arpalert и голям брой нови програми. Програмата ArpON не само следи промените в ARP кеша, но и го защитава от тях.

Като пример, нека стартираме arpwatch в режим на отстраняване на грешки, без да създаваме разклонения във фонов режим и да изпращаме съобщения по пощата. Вместо това съобщенията се изпращат до stderr (стандартен изход за грешка).

Sudo /usr/sbin/arpwatch -d

Нека стартираме Ettercap на атакуващата машина и да започнем ARP спуфинг. На атакуваната машина наблюдаваме:

Програмата arpwatch ще ви помогне бързо да разберете за нови устройства, които са се свързали към вашата локална мрежа, както и за промени в ARP кеша.

Друг инструмент за откриване на ARP spoofing в реално време е плъгин от самия Ettercap, който се нарича arp_cop. На атакуваната машина стартирайте Ettercap, както следва:

Sudo ettercap -TQP arp_cop ///

И на нападателя ще започнем ARP отравяне. Предупрежденията веднага започват да се появяват на атакуваната машина:

3. Откриване на DNS spoofing

DNS spoofing показва, че има посредник между вас и вашата дестинация, който може да променя вашия трафик. Как можете да откриете, че DNS записите са били подправени? Най-лесният начин да направите това е да сравните с отговорите от сървър за имена, на който имате доверие. Но записите в отговора, изпратен на вашата заявка, също могат да бъдат заменени...

Тези. трябва да проверите или чрез криптиран канал (например чрез Tor), или да използвате нестандартни настройки (друг порт, TCP вместо UDP). Приблизително за това е предназначена sans програмата от XiaoxiaoPu (поне доколкото аз разбирам). Използвайки тази програма, успях да пренасоча DNS заявки през Tor и чрез нестандартни настройки към моя DNS сървър. Но не можах да я накарам да ми покаже съобщения за подправяне на DNS отговор. Без това смисълът на програмата се губи.

Не можах да намеря по-достойни алтернативи.

По принцип, като се има предвид, че DNS spoofers обикновено наблюдават само порт 53 и само UDP протокола, дори ръчно е достатъчно просто да проверите факта на DNS spoofing, въпреки че това изисква собствен DNS сървър с нестандартна конфигурация. Например, на атакуващата машина създадох файл dns.confсъс следното съдържание:

Местен mi-al.ru

Тези. при искане на DNS запис за уебсайта mi-al.ru, IP адресът на машината на нападателя ще бъде изпратен вместо истинския IP адрес.

Пускам на атакуващата машина:

Sudo bettercap --dns dns.conf

И на атакувания правя две проверки:

Изкопайте mi-al.ru # и изкопайте mi-al.ru -p 4560 @185.117.153.79

Резултати:

Mial@HackWare:~$ dig mi-al.ru ;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; глобални опции: +cmd ;; Получих отговор: ;; ->>ЗАГЛАВКА<<- opcode: QUERY, status: NOERROR, id: 51993 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 86400 IN A 192.168.1.48 ;; Query time: 2 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 02 09:25:20 MSK 2016 ;; MSG SIZE rcvd: 42 mial@HackWare:~$ dig mi-al.ru -p 4560 @185.117.153.79 ; <<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru -p 4560 @185.117.153.79 ;; глобални опции: +cmd ;; Получих отговор: ;; ->>ЗАГЛАВКА<<- opcode: QUERY, status: NOERROR, id: 401 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 3799 IN A 185.26.122.50 ;; Query time: 304 msec ;; SERVER: 185.117.153.79#4560(185.117.153.79) ;; WHEN: Wed Nov 02 09:25:27 MSK 2016 ;; MSG SIZE rcvd: 53

Вижда се, че за „обикновена“ DNS заявка е изпратен локален IP 192.168.1.48, а при заявка на DNS на нетипичен порт е изпратен правилният IP адрес на сървъра.

Ако сървърът е конфигуриран да използва TCP (а не UDP), тогава командата ще изглежда така:

Изкопайте mi-al.ru -p 4560 +tcp @185.117.153.79

Очевидно липсва инструмент, който сам да следи DNS отговорите в трафика, да ги проверява повторно спрямо алтернативен източник и да подава аларма в случай на подправяне.

За да избегнете настройването на собствен отдалечен DNS, можете да правите заявки към сървъра за имена чрез Tor. Тъй като целият трафик на Tor е криптиран, DNS отговорите, получени по този начин, са извън възможностите на един посредник. Ако Tor все още не е инсталиран, инсталирайте го.

Sudo apt-get install tor

Sudo pacman -S tor

Стартирайте услугата:

Sudo systemctl стартира tor

Ако имате нужда от нея, добавете тази услуга към стартиране:

Sudo systemctl активира tor

Отворете файла /etc/tor/torrcи добавете следните редове там:

DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion

Обърнете внимание на числото 530. Това е номерът на порта; вместо 530 можете да посочите всеки друг (неизползван) порт. Основното нещо е да го запомните.

Проверяваме отново:

Изкопайте mi-al.ru # и изкопайте mi-al.ru -p 530 @localhost

Сега посочваме като сървър локален хости напишете номера на порта, който сте посочили в настройките /etc/tor/torrc.

Както можете да видите от следната екранна снимка, DNS spoofing атака се извършва на машината, на която е направена проверката:

4. Търсете мрежови интерфейси в безразборен режим

Ако във вашата локална мрежа има (и особено ако внезапно се появи) оборудване в безразборен режим, това е много подозрително, въпреки че не показва ясно атака от тип човек по средата.

В този режим мрежовата карта ви позволява да получавате всички пакети, независимо към кого са адресирани.

В нормално състояние Ethernet интерфейсът използва филтриране на пакети на ниво връзка и ако MAC адресът в целевата заглавка на получения пакет не съвпада с MAC адреса на текущия мрежов интерфейс и не се излъчва, тогава пакетът се отхвърля. В „промискуитетен“ режим филтрирането на мрежовия интерфейс е деактивирано и всички пакети, включително тези, които не са предназначени за текущия възел, са разрешени в системата.

Повечето операционни системи изискват администраторски права, за да активират безразборния режим. Тези. Настройването на мрежова карта на безразборен режим е умишлено действие, което може да служи за целите на подслушването.

За търсене на мрежови интерфейси в безразборен режим има плъгин, наречен Ettercap search_promisc.

Пример за стартиране на плъгина:

Sudo ettercap -TQP search_promisc ///

Работата на приставката не е напълно надеждна; възможно е да възникнат грешки при определяне на режима на мрежовия интерфейс.

Заключение

Някои методи за атака "човек по средата" оставят много следи, а някои (като пасивно търсене на идентификационни данни за прокси) са невъзможни или почти невъзможни за откриване.

При което нападател, след като се е свързал с канал между контрагенти, се намесва в протокола за предаване, изтривайки или изкривявайки информация.

Енциклопедичен YouTube

    1 / 3

    ✪ № 4 КАК ДА СТАНЕШ ХАКЕР? "Атаката на брокера"! |ХАКИРАНЕ от А до Я|

    ✪ MiTM атака на iOS. Техника и последствия

    ✪ Биткойн хронология на хакерски атаки и хакове на борси на пазара на криптовалути (2012 - 2018)

    субтитри

Принцип на атака

Атаката обикновено започва с подслушване на комуникационния канал и завършва с опит на криптоаналитика да замени прихванатото съобщение, да извлече полезна информация от него и да го пренасочи към някакъв външен ресурс.

Да предположим, че обект A планира да предаде някаква информация на обект B. Обект C има знания за структурата и свойствата на използвания метод за предаване на данни, както и за факта на планираното предаване на действителната информация, която C планира да прихване. За да извърши атака, C се „изглежда“ на обект A като B и на обект B като A. Обект A, погрешно вярвайки, че изпраща информация на B, я изпраща на обект C. Обект C, след като е получил информацията, и извършва някои действия с него (например копиране или модифициране за собствени цели) препраща данните към самия получател - B; обект Б от своя страна смята, че информацията е получена директно от А.

Примерна атака

Инжектиране на зловреден код

Атаката "човек по средата" позволява на криптоаналитик да вмъква код в имейли, SQL изрази и уеб страници (т.е. позволява SQL инжектиране, инжектиране на HTML/скрипт или XSS атаки) и дори да променя качените от потребителя двоични файлове, за да получите достъп до потребителски акаунт или промените поведението на програма, изтеглена от потребителя от интернет.

Атака за понижаване

Терминът „Атака за понижаване“ се отнася до атака, при която криптоаналитик принуждава потребителя да използва по-малко сигурни функции, протоколи, които все още се поддържат поради причини за съвместимост. Този тип атака може да се извърши върху протоколите SSH, IPsec и PPTP.

За да се предпазите от Downgrade Attack, несигурните протоколи трябва да бъдат деактивирани поне от едната страна; Просто поддържането и използването на защитени протоколи по подразбиране не е достатъчно!

SSH V1 вместо SSH V2

Нападателят може да се опита да промени параметрите на връзката между сървъра и клиента, когато се установи връзка между тях. Според лекция, изнесена на Blackhat Conference Europe 2003, криптоаналитик може да "принуди" клиент да започне SSH1 сесия, като промени номера на версията "1.99" за SSH сесията на "1.51" вместо SSH2, което означава използване на SSH V1 . Протоколът SSH-1 има уязвимости, които могат да бъдат използвани от криптоаналитик.

IPsec

При този сценарий на атака криптоаналитикът подвежда жертвата си да мисли, че IPsec сесията не може да започне от другия край (сървъра). Това води до изрично препращане на съобщения, ако хост машината работи в режим на връщане назад.

PPTP

На етапа на договаряне на параметрите на PPTP сесията, атакуващият може да принуди жертвата да използва по-малко сигурно PAP удостоверяване, MSCHAP V1 (т.е. „връщане назад“ от MSCHAP V2 към версия 1) или изобщо да не използва криптиране.

Нападателят може да принуди жертвата си да повтори етапа на договаряне на параметрите на PPTP сесията (да изпрати пакет Terminate-Ack), да открадне паролата от съществуващия тунел и да повтори атаката.

Публични комуникации без защита на точността, поверителността, достъпността и целостта на информацията

Най-често срещаните средства за комуникация за тази група са социална мрежа, публична имейл услуга и система за незабавни съобщения. Собственикът на ресурса, предоставящ комуникационната услуга, има пълен контрол върху информацията, обменяна между кореспондентите, и по свое усмотрение може свободно да извърши атака по всяко време.

За разлика от предишните сценарии, базирани на технически и технологични аспекти на комуникациите, в този случай атаката се основава на ментални аспекти, а именно на вкореняване в съзнанието на потребителите на концепцията за игнориране на изискванията за информационна сигурност.

Ще помогне ли криптирането?

Нека разгледаме случая на стандартна HTTP транзакция. В този случай атакуващият може доста лесно да раздели оригиналната TCP връзка на две нови: едната между себе си и клиента, другата между себе си и сървъра. Това е доста лесно да се направи, тъй като много рядко връзката между клиент и сървър е директна и в повечето случаи те са свързани чрез няколко междинни сървъра. MITM атака може да бъде извършена на всеки от тези сървъри.

Въпреки това, ако клиентът и сървърът комуникират чрез HTTPS, протокол, който поддържа криптиране, може да се извърши и атака "човек по средата". Този тип връзка използва TLS или SSL за криптиране на заявки, което изглежда ще направи канала защитен от подслушване и MITM атаки. Нападателят може да създаде две независими SSL сесии за всяка TCP връзка. Клиентът установява SSL връзка с нападателя, който от своя страна създава връзка със сървъра. В такива случаи браузърът обикновено предупреждава, че сертификатът не е подписан от доверен сертифициращ орган, но обикновените потребители на остарели браузъри могат лесно да заобиколят това предупреждение. Освен това атакуващият може да има сертификат, подписан от основния сертифициращ орган (например такива сертификати понякога се използват за DLP) и не генерира предупреждения. Освен това има редица атаки срещу HTTPS. По този начин HTTPS протоколът не може да се счита за защитен от MITM атаки за обикновените потребители. [ ] Има редица мерки, които предотвратяват някои MITM атаки на https сайтове, по-специално HSTS, който забранява използването на http връзка от сайтове, закрепване на сертификати и закрепване на публичен ключ на HTTP, които забраняват подмяната на сертификати.

Откриване на MITM атака

За да откриете атака "човек по средата", трябва да анализирате мрежовия трафик. Например, за да откриете SSL атака, трябва да обърнете внимание на следните параметри:

  • IP адрес на сървъра
  • DNS сървър
  • X.509 - сървърен сертификат
    • Сертификатът самоподписан ли е?
    • Подписан ли е сертификатът от сертифициращ орган?
    • Анулиран ли е сертификатът?
    • Променен ли е скоро сертификатът?
    • Други клиенти в Интернет получавали ли са същия сертификат?

Реализации на MITM атака

Изброените програми могат да се използват за извършване на атаки тип човек по средата, както и за тяхното откриване и тестване на системата за уязвимости.

Вижте също

  • Аспидистра (английски) - британски радиопредавател, използван по време на "инвазията" през Втората световна война, вариант на атаката MITM.
  • The Babington Conspiracy (англ.) - заговор срещу Елизабет I, по време на който Уолсингам прихваща кореспонденция.

Други атаки

  • „Човекът в браузъра“ е вид атака, при която нападателят е в състояние незабавно да промени параметрите на транзакцията и да промени страниците, напълно прозрачни за жертвата.
  • Атаката Meet-in-the-middle е криптографска атака, която, подобно на атаката за рожден ден, използва компромиса между време и памет.
  • „Загуба по средата“ (Miss in in middle attack) е ефективен метод на така наречения невъзможен диференциален криптоанализ.
  • Релейната атака е вариант на MITM атака, базирана на препращане на прихванато съобщение до валиден получател, но не и до този, за когото е предназначено съобщението.

Човек в средата на атаката (MitM атака) е термин в криптографията, който се отнася до ситуация, при която нападателят може да чете и променя по свое усмотрение съобщенията, обменяни между кореспондентите, и никой от последните не може да познае самоличността му в канала .

Метод за компрометиране на комуникационен канал, при който нападател, след като се е свързал с канал между контрагенти, активно се намесва в протокола за предаване, изтривайки, изкривявайки информация или налагайки невярна информация.

Принцип на атака:

Да предположим, че обект "A" планира да предаде някаква информация на обект "B". Обект „В” има познания за структурата и свойствата на използвания метод за предаване на данни, както и факта на планираното предаване на действителната информация, която „В” планира да прихване.

За да извърши атака, "C" изглежда на обект "A" като "B" и на обект "B" като "A". Обект "A", погрешно вярвайки, че изпраща информация на "B", я изпраща на обект "C".

Обект "C", след като е получил информация и е извършил някои действия с нея (например копиране или модифициране за свои цели), изпраща данните на самия получател - "B"; обект „Б” от своя страна смята, че информацията е получена директно от „А”.

Пример за MitM атака:

Да приемем, че Алис има финансови проблеми и, използвайки програма за незабавни съобщения, решава да поиска от Джон сума пари, като изпрати съобщението:
Алис: Джон, здравей!
Алис: Моля, изпратете ми ключа за криптиране, имам малка молба!
Джон: Здравейте! Чакай малко!

Но по това време г-н X, който, докато анализира трафика с помощта на снифър, забеляза това съобщение и думите „ключ за криптиране“ предизвикаха любопитство. Ето защо той решава да прихване следните съобщения и да ги замени с данните, от които се нуждае, и когато получава следното съобщение:
Джон: Ето моя ключ: 1111_D

Той смени ключа на Джон със своя и изпрати съобщение до Алис:
Джон: Ето моя ключ: 6666_M

Алис, без да знае и си мисли, че това е ключът на Джон, използва частния ключ 6666_M, изпраща криптирани съобщения до Джон:
Алис: Джон, имам проблеми и спешно се нуждая от пари, моля, прехвърлете $300 в моята сметка: Z12345. Благодаря ти. p.s. Моят ключ: 2222_A

След като получи съобщението, г-н X го декриптира с помощта на своя ключ, прочита го и, зарадван, променя номера на акаунта на Алис и ключа за криптиране на свой собствен, криптира съобщението с ключа 1111_Dи изпраща на Джон съобщение:
Алис: Джон, имам проблеми и спешно се нуждая от пари, моля, прехвърлете $300 в моята сметка: Z67890. Благодаря ти. p.s. Моят ключ: 6666_A

След като получи съобщението, Джон го дешифрира с помощта на ключа 1111_D, и без дори да се колебае, ще преведе пари по сметката Z67890...

И така, г-н X, използвайки атаката човек по средата, спечели $300, но Алис сега ще трябва да обяснява, че не е получила парите... А Джон? Джон трябва да докаже на Алис, че той ги е изпратил...

Изпълнение:

Този тип атака се използва в някои софтуерни продукти за мрежово подслушване, например:
NetStumbler- програма, с която можете да съберете много полезни данни за безжична мрежа и да разрешите някои проблеми, свързани с нейната работа. NetStumbler ви позволява да определите обхвата на вашата мрежа и ви помага точно да насочите антената си за комуникации на дълги разстояния. За всяка намерена точка за достъп можете да разберете MAC адреса, съотношението сигнал / шум, името на услугата и степента на нейната сигурност. Ако трафикът не е криптиран, тогава способността на програмата да открива неоторизирани връзки ще бъде полезна.

dsniff- е набор от програми за мрежов одит и тестване за проникване, осигуряващ пасивен мрежов мониторинг за търсене на интересуващи данни (пароли, имейл адреси, файлове и т.н.), прихващане на мрежов трафик, който обикновено би бил недостъпен за анализ (например в комутирана мрежа), както и възможността за организиране на MITM атаки за прихващане на SSH и HTTPS сесии чрез използване на PKI недостатъци.

Каин и Авеле безплатна програма, която ви позволява да възстановите изгубени пароли за операционни системи от семейството на Windows. Поддържат се няколко режима на възстановяване: хакване с груба сила, избор на речник, преглед на пароли, скрити със звездички и др. Има и опции за идентифициране на паролата чрез прихващане на информационни пакети и последващия им анализ, запис на мрежови разговори, анализ на кеша и други.

Ettercap- е снифър, прихващач на пакети и записващо устройство за локални Ethernet мрежи, което поддържа активен и пасивен анализ на множество протоколи, а също така е възможно да „хвърлите“ вашите собствени данни в съществуваща връзка и да филтрирате „в движение“, без да прекъсвате връзката синхронизация. Програмата ви позволява да прихващате SSH1, HTTPS и други защитени протоколи и предоставя възможност за декриптиране на пароли за следните протоколи: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

КАРМА– набор от помощни програми за оценка на сигурността на безжични клиенти, е безжичен снифър, който чрез пасивно прослушване на 802.11 Probe Request кадри ви позволява да откривате клиенти и техните предпочитани/доверени мрежи. След това може да се създаде фалшива точка за достъп за една от заявените мрежи, към която може да се свърже автоматично. Фалшивите услуги на високо ниво могат да се използват за кражба на лични данни или използване на уязвимостите на клиента на хоста.

AirJack- набор от програми, които според експерти в областта на хакването на WiFi е най-добрият инструмент за генериране на различни 802.11 рамки. AirJack включва редица помощни програми, предназначени да откриват скрит ESSID, да изпращат рамки за прекъсване на сесия с фалшив MAC, да провеждат MitM атаки и да го модифицират.

Противодействие:

За да избегнат атаки от този тип, абонатите „A“ и „B“ трябва само да прехвърлят един на друг цифрови подписи на публични ключове за криптиране, използвайки надежден канал. След това, когато се сравняват подписи на ключове в сесии за криптиране, ще бъде възможно да се определи кой ключ е използван за криптиране на данните и дали ключовете са били заменени.