19
ИКОНОМИЧЕСКИ УНИВЕРСИТЕТ ВАРНА ЦЕНТЪР „МАГИСТЪРСКО ОБУЧЕНИЕ“ Реферат по Безопасност и защита на Microsoft мрежи и приложения на тема: Man-in-the-middle атаки Изготвил: Проверили: Борис Банков Доц. д-р Стефан Дражев фак. № 11704 Ас. Радка Начева група 61, V курс спец. Информатика Варна 2014

Man-in-the-middle атаки

Embed Size (px)

DESCRIPTION

Man-in-the-middle with Ettercap

Citation preview

Page 1: Man-in-the-middle атаки

ИКОНОМИЧЕСКИ УНИВЕРСИТЕТ – ВАРНА

ЦЕНТЪР „МАГИСТЪРСКО ОБУЧЕНИЕ“

Реферат по

Безопасност и защита на Microsoft мрежи и

приложения

на тема:

Man-in-the-middle атаки

Изготвил: Проверили:

Борис Банков Доц. д-р Стефан Дражев

фак. № 11704 Ас. Радка Начева

група 61, V курс

спец. Информатика

Варна 2014

Page 2: Man-in-the-middle атаки

Man-in-the-middle атаки

2

Съдържание

Man-in-the-middle атаки

1. Същност ............................................................................................ 3

2. Теоретичен пример за MitM ........................................................... 5

3. Защита срещу MitM атаки ............................................................... 6

4. Ettercap - софтуер за извършване на MitM атаки.......................... 8

5. Източници ....................................................................................... 19

Борис Банков, ф.н. 11704

Page 3: Man-in-the-middle атаки

Man-in-the-middle атаки

3

Man-in-the-middle атаки

1. Същност Man-in-the-middle (MitM) или човек по средата е форма на

подслушване на съобщения между комуникиращи си машини.

Атакуващия създава независими връзки с жертвите, превръщайки се в

посредник на техните взаимоотношения. Потърпевшите не знаят, че не

общуват директно един с друг. Съобщенията между тях минават първо

през човека по средата. За клиента MitM се представя като сървър. За

сървъра MitM се представя като клиент. В резултат на това атакуващия

има възможност да чете частна кореспонденция, да създава нови

съобщения и да ги праща от името на потърпевшите. MitM представлява

най – голяма заплаха за безжичните мрежи, за които между точките на

достъп информацията не се криптира1.

Атака от тип човек по средата е успешна само, ако е възможно

подслушващият да имитира напълно и двете потърпевши страни.

Атакуващият се възползва от липсата на удостоверяване самоличността на

участниците при осъществяване на обмена на съобщения.

Криптографските протоколи като SSL (Secure Sockets Layer) използват

потвърждение от двете страни за автентичността на връзката. Всяка такава

система разчита на допълнителен канал за обмен на ключовете, които

разшифроват криптираните съобщения.

В категорията на MitM атаките попадат ARP заразяване, заразяване

на DNS кеша, кражба на портове, разкъсване на пакети и др.. ARP

(address resolution protocol) заразяването представлява мрежова атака,

която се възползва от слабост в преминаването от MAC адрес (Layer 2)

към IP адрес (Layer 3)2. ARP работи, като се изпраща съобщение през

Борис Банков, ф.н. 11704

Page 4: Man-in-the-middle атаки

Man-in-the-middle атаки

4

мрежата, за да се определи MAC адреса на хост с предифиниран IP адрес.

Хоста изпраща отговор, съдържащ MAC адреса си. Устройството, което е

изпратило първоначалното запитване, прихваща ARP отговора и го

използва за насочване на пакети с информация към определен IP адрес.

ARP заразяването е непозволено подправяне на ARP отговорите. Тези

отговори съдържат IP адреса на даден мрежови ресурс (например на

шлюза по подразбиране или на DNS сървъра). Тази атака променя MAC

адреса на съответния мрежови ресурс с MAC адреса на човека по средата.

По този начин всяка информация насочена към легитимен ресурс минава

през атакуващия. Тъй като ARP заразяването става на ниските нива на OSI

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

Заразяването на DNS кеша дава възможност за изпращане на

информация към сървър, който не отговаря на реалния IP адрес. Както

ARP кеша, всяко устройство пази информация за имената и IP адресите на

наскоро посетените хостове. Така например при опит за достъпване на

определена интернет страница потребителят ще изпише името на сайта, а

не IP адреса. В резултат, той ще бъде пренасочен към друга страница,

чиито IP адрес замества реалния адрес на желаната страница в кеша3.

Кражбата на портове е атака, при която човека по средата достъпва

информация насочена към даден порт на интернет суич. Атаката разчита

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

Ако потребител е заявил определена информация и е преместил

компютъра си от един порт на друг, суича трябва да пренасочи отговора

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

на който трябва да бъде получена информацията4.

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

Борис Банков, ф.н. 11704

Page 5: Man-in-the-middle атаки

Man-in-the-middle атаки

5

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

2. Теоретичен пример за MitM Да приемем, че Ана и Елена искат да общуват една с друга в

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

Първо Ана изисква публичния ключ на Елена. Публичния ключ и частния

ключ са част от криптографски алгоритъм. Публичния ключ се използва за

криптиране на обикновено текстово съобщение или за проверка на

цифровия подпис. Частния ключ се използва за декриптиране на

текстовото съобщение или за създаване на цифров подпис. Елена изпраща

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

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

публичния ключ на Елена, за да може в последствие да криптира

съобщенията от Ана към Елена. Той изпраща подправено съобщение до

Ана, имитирайки Елена, но в действителност се предоставя публичния

ключ на Васил. Ана вярва, че това е публичния ключ на Елена, криптира

съобщението си с ключа на Васил и го изпраща на Елена. В

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

ключ и декриптира съобщението. Васил, ако пожелае може да редактира

съобщението. Преди да го изпрати на Елена, той използва нейния

публичен ключ, за да криптира съобщението. Когато Елена получи новото

съобщение, тя вярва че то идва от Ана.

1. Ана изпраща съобщение до Елена, което се пресича от Васил:

2. Васил препраща съобщението до Елена и тя вярва, че то идва от

Ана:

Ана "Здравей, Елена. Ана е. Предостави ми публичния си ключ"Васил Елена

Борис Банков, ф.н. 11704

Page 6: Man-in-the-middle атаки

Man-in-the-middle атаки

6

3. Елена дава отговор с публичния си ключ:

4. Васил заменя ключа на Елена със своя и го праща на Ана,

твърдейки че това е ключът на Елена:

5. Ана криптира съобщение с ключа на Васил, мислейки че това е

ключът на Елена и само тя може да проечете съобщението:

6. Тъй като Ана е криптирала съобщението с ключа на Васил, той

може да декриптира съобщението, да го прочете, редактира и изпрати на

Елена, с нейния публичен ключ:

7. Елена вярва, че съобщението наистина идва от Ана.

Този пример илюстрира нужда от метод за удостоверяване

произхода на публичните ключове на Ана и Елена.

3. Защита срещу MitM атаки Съществуват различни начини за предпазване от MitM атаки.

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

(Pretty Good Privacy) е пример за компютърна програма, която осигурява

т.н. силно криптиране5. Под силно криптиране се разбира всеки метод за

Ана Васил "Здравей, Елена. Ана е. Предостави ми публичния си ключ" Елена

Ана Васил [публичния ключ на Елена] Елена

Ана [публичния ключ на Васил]Васил Елена

Ана „Хайде на обяд в Гранд Мол в 17:00“ [публичния ключ на Васил]Васил Елена

Ана Васил „Хайде на обяд на Севастопол в 15:00“ [публичния ключ на Елена] Елена

Борис Банков, ф.н. 11704

Page 7: Man-in-the-middle атаки

Man-in-the-middle атаки

7

криптиране на данни, които не може да бъде разбит – няма слаби места в

програмната логика. PGP използва хеш функции, компресиране на данни,

симетрична криптосистема и криптиране на публични ключове. На всяка

стъпка от криптирането се използват няколко алгоритъма за повишаване

сложността на процеса. В някои страни има издадени закони против

силното криптиране понеже то представлява трудност за структурите за

национално разузнаване и защита. Например, Съединените Щати издават

закон против използването на криптиграфски методи над определена

сложност (измерваща се в размер на ключа). SSL и по-новата му версия

TLS (Transport Layer Security) също използват силно криптиране. TLS

позволява на клиентски / сървърни приложения да комуникират в мрежата

по начин, предназначен за предотвратяване на подслушване и подправяне.

TLS клиентът и сървърът използват допълнителен канал, където се

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

на данни и предоставя доказателство за самоличността на клиента /

сървъра.

През февруари 2014г. Apple разпространява обновление за iOS 7.0.6.

и iOS 6.1.6.. От компанията разкриват, че има пробив в автентикацията на

SSL връзките, което дава възможност MitM атаки към всички

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

налице за таблети, мобилни и настолни устройства – не се извършва

проверка към хост името и информацията не се криптира6.

Друг начин за борба с MitM е изграждането на инфраструктура за

публичните ключове (Public key infrastructure – PKI). Тя се изразява в

комбинацията от хардуер, софтуер, хора, групови политики и процедури,

които са нужни за създаването, управлението, разпространението,

съхранението и използването на цифрови сертификати в една организация.

Борис Банков, ф.н. 11704

Page 8: Man-in-the-middle атаки

Man-in-the-middle атаки

8

При PKI публичния ключ се обвързва с потребителско име, което е

уникално за организацията.

PKI се състои от:

1. Централизирана сертифицираща единица, която издава и

проверява валидността на цифровите сертификати;

2. Регистрационна единица, която проверява самоличността на

потребителите, които изискват информация от централизираната

сертифицираща единица;

3. Централна директория – защитено място, където се съхраняват

ключовете;

4. Софтуер за управление на сертификатите;

5. Групова политика за използване на сертификатите7.

MitM може да бъде открит и чрез провеждането на тестове върху

скоростта на връзката между участниците в обмена на информация.

Сложните хеш функции изискват понякога десетки секунди за да бъдат

обработени. При MitM времето, което е необходимо за извършване на

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

изчисления – декриптиране и криптиране наново на съобщението.

4. Ettercap - софтуер за извършване на MitM атаки Ettercap е безплатно приложение с отворен код, с което могат да се

правят атаки от тип човек по средата. Може да се използва за анализ на

мрежовите протоколи и тестване на сигурността на мрежата. Работи

успешно под множество Unix системи като Linux, Mac OS X, BSD and

Solaris. Приложението се предлага и за Microsoft Windows, но за

използване на пълния потенциал на Ettercap специалистите предпочитат

Борис Банков, ф.н. 11704

Page 9: Man-in-the-middle атаки

Man-in-the-middle атаки

9

Linux OS – Kali и Back Track 5.

Ettercap предлага активно и пасивно наблюдение на мрежови

протоколи (включително и шифровани). Възможни са 4 начина на работа:

• IP-базирани атаки: пакетите информация се филтрират на база

на началните и крайни IP адреси;

• MAC-базирани атаки: пакетите се филтрират на база на MAC

адреси;

• ARP-базирани атаки: използва се ARP заразяване в локална

мрежа между два хоста (full-duplex);

• PublicARP-базирани атаки: използва се ARP заразяване в

локална мрежа между 1 хост и всички останали хостове (half-

duplex)8.

Следва да демонстрираме някои от функциите на Ettercap. С Ettercap

е възможно подслушването на пароли. Повечето сайтове днес използват

HTTPS (сигурен HTTP), когато искат да предпазят потребителите от

възможна кражба на личните им данни. Ettercap създава фалшив SSL

сертификат, които имитира предоставения такъв от сайта. Потребителите

въвеждат своите име и парола и при опит да влязат в личния си профил на

дадена уеб страница, Ettercap прихваща изпратената заявка. За сайтове

като Abv.bg или zamunda.net не е нужен допълнителен софтуер за

разчитане на информацията. Ettercap директно я извежда в интерфейса си.

Ще проследим стъпките как прихванем парола от Abv.bg. Следва да

използваме два компютъра. Единия се включва към безжичната мрежа и

атакува другия. Атакуващият използва Linux, а потърпевшият - Windows.

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

защитена с парола или директно можем чрез кабел да се включим към

Борис Банков, ф.н. 11704

Page 10: Man-in-the-middle атаки

Man-in-the-middle атаки

10

локалната мрежа.

Ettercap предоставя два начина за прихващане на пакетите по

мрежата. Unified sniffing хваща всички пакети, които преминават през

мрежата, докато Bridged sniffing използва два мрежови интерфейса и

препраща и филтрира трафика от единия интерфейс към другия. Следва да

използваме Unified sniffing тъй като ще се включим към нашата локална

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

атакуваната машина. (вж. Фиг. 1)

Фиг. 1

След това се избира към кой мрежови интерфейс желаем да се

прихванем. (вж. Фиг. 2.)

Фиг. 2

Wlan0 е името на мрежовия интерфейс на безжичната мрежа, която

Борис Банков, ф.н. 11704

Page 11: Man-in-the-middle атаки

Man-in-the-middle атаки

11

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

всички достъпни хостове в тази мрежа. Имаме възможността да заредим

списък с хостове от файл и да запазим откритите след сканирането такива.

(вж. Фиг. 3)

Фиг. 3

След като приключи сканирането извеждаме всички открити хостове чрез

Hosts list. Открити са два хоста – единия е рутера – 192.168.1.1 и Windows

компютъра – 192.168.1.2. В големи мрежи, където едновременно има

повече от два хоста и не можем да разберем кой хост рутера заразяването

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

да бъде мишена 1 (Target 1), а другия – мишена 2 (Target 2). (вж. Фиг. 4)

Фиг. 4

Набелязваме устройствата, които ще атакуваме и започваме ARP

Борис Банков, ф.н. 11704

Page 12: Man-in-the-middle атаки

Man-in-the-middle атаки

12

заразяване. (вж. Фиг. 5)

Фиг. 5

Едностранно заразяване (poison one-way) е параметър, които може

да включим, ако искаме да заразим само обмена между мишена 1 и

мишена 2. (вж. Фиг. 6) Това е полезно, когато искаме да заразим само

потребителското устройство, но не и рутера. За целите на демонстрацията

е нужно заразяване на рутера, защото искаме да подслушваме

информацията, която преминава през рутера.

Фиг. 6

След като заразим хостовете е време да започнем активното

подслушване. Ettercap дава възможност за проверка на статуса на атаката –

дали хостовете са били успешно заразени. Тъй като не сме избрали

определени мишени, всички хостове в списъка са заразени.(вж. Фиг. 7)

Борис Банков, ф.н. 11704

Page 13: Man-in-the-middle атаки

Man-in-the-middle атаки

13

Фиг. 7

Време е да направим тест с електронната поща на Abv.bg и да се

опитаме да откраднем потребителското име и парола. Ние като

потребител, посещаваме интернет адреса на Abv.bg през Windows

компютъра и попълваме потребителско име и парола. Резултата е

изобразен на Фиг. 8.

Използвахме примерни име и парола и друг допълнителен софтуер

за разшифроване получаваме точното име и парола (USER: testabv PASS:

testpass). Какво се случва в действителност: фалшивият SSL сертификат,

които Ettercap използва залъгва защитата на Abv.bg, потребителят не

разбира, че връзката се подслушва от човекът по средата, въвежда своите

потребителско име и парола и се опитва да влезе в профила си. Като

резултат Ettercap прихваща съобщението, което се праща от браузъра на

Windows компютъра. Потребителят получава известие от Abv.bg, че е

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

За обикновения потребител това може да се окаже фатално, тъй като

хората не са свикнали да използват различни пароли за различните

сайтове, с които работят. Нужен е само 1 незащитен сайт, от който да се

Борис Банков, ф.н. 11704

Page 14: Man-in-the-middle атаки

Man-in-the-middle атаки

14

вземе паролата и така да бъдат компрометирани всички потребителски

регистрации.

Фиг. 8

Направен е опит и с формата за вход в системата на zamunda.net.

Резултатът е отново в полза на атакуващия (вж. Фиг. 9). Прихваната са

името и паролата, но за разлика от Abv.bg, zamunda.net не известява

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

тест и с Gmail.com, Facebook.com, CourseSites.com, UE-varna.bg,

VBOX7.com. Тези сайтове не изпращат информацията, която потребителят

въвежда в полетата за име и парола т.е. те разполагат с по-силна защита и

засичат фалшивия SSL сертификат.

Борис Банков, ф.н. 11704

Page 15: Man-in-the-middle атаки

Man-in-the-middle атаки

15

Фиг. 9

За следващите демонстрации изключваме фалшивия SSL

сертификат, тъй като желаем да имаме достъп до сайтове като

YouTube.com, които напълно отказват обмен, ако засекат чужд SSL. С

Ettercap е възможно да подслушване всички връзки между заразените

хостове и отдалечените сървъри. Ако през Windows компютъра заредим

видео от YouTube.com, имаме възможност като човек по средата да

прекратим връзката и клипа да не се зареди. Един от лесните начини е да

имаме предварително списък с определени IP адреси на сървъри на

YouTube.com от където се зареждат видео клиповете. Ако не разполагаме

с такъв е нужно просто да наблюдаваме, които връзки към заразения хост

са активни и изпращат голямо количество пакети. YouTube.com разполага

със система, която се опитва на различни портове да създава нови връзки с

потребителите и да изпраща клиповете, когато възникне проблем с

зареждането на видеото. На Фиг. 10 са показани трите връзки от

YouTube.com към заразения Windows хост – 192.168.1.2 87.126.158.144

(IP адреса на YouTube.com сървъра). Дори и да не знаем кой е адреса на

YouTube.com, количеството байтове е значително по-голямо от всеки друг

обмен в този момент. Избираме съответната връзка и я разкъсваме (kill

connection). За потребителя видеото спира да се тегли и той трябва наново

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

на файл от FTP или торент. Потребителят не разбира каква е причината и

няма как да се предпази от този вид атака.

Борис Банков, ф.н. 11704

Page 16: Man-in-the-middle атаки

Man-in-the-middle атаки

16

Фиг. 10

Заразяването на DNS кеша става също толкова лесно. Избираме

сайт, който да заменим с друг. Този вид атака е ефективна, ако заменим

истинския сайт с такъв, който притежава близък интернет адрес и същото

стилово оформление и функционалност. За целта на следващата

демонстрация следва да заменим IP адреса на www.microsoft.com с IP

адреса на www.linux.com . Първоначално ще пуснем заявка към

www.microsoft.com, за да получим информация за IP адреса преди да

заразим DNS кеша. Адреса е 64.4.11.42. (вж. Фиг. 11)

Фиг. 11

След това правим заявка към www.linux.com за да вземем адреса –

140.221.168.51. (вж. Фиг. 12)

Фиг. 12

Борис Банков, ф.н. 11704

Page 17: Man-in-the-middle атаки

Man-in-the-middle атаки

17

Нужно е да редактираме DNS шаблона на Ettercap и да поставим IP

адреса на www.linux.com на мястото на този на www.microsoft.com . (вж.

Фиг. 13)

Фиг. 13

Следва да сканираме отново хостовете, да ги заразим и да започне

подслушването. В момента, в който потребителят се опита да посети

www.microsoft.com той ще бъде препратен към www.linux.com. Ettercap

уведомява атакуващия, че IP адреса е бил подправен. (вж. Фиг. 14).

Фиг. 14

Може да направим проверка на заразения Windows компютър за

това какъв IP адрес има www.microsoft.com . Можем да видим резултата

след заразяването на DNS кеша на Фиг. 15 – www.microsoft.com използва

IP адреса 140.221.167.51, който зададохме в DNS шаблона на Ettercap.

Фиг. 15

Съществуват широк набор от приложения, които допълват

Борис Банков, ф.н. 11704

Page 18: Man-in-the-middle атаки

Man-in-the-middle атаки

18

функционалността на Ettercap, като например WireShark (за разчитане на

информацията в пакетите, които се обменят в мрежата) и Driftnet (за

изтегляне на всички изображения, които заразените хостове разглеждат в

Интернет). За да се защитят обикновените потребители срещи атаки от тип

човек по средата е важно да не използват публични безжични мрежи, още

повече тези които не са защитени с парола. След като бъде преустановено

заразяването, повечето атаки предизвикват загуба на интернет връзката и е

нужно допитване до рутера за получаване на нов IP адрес. Това е един от

малкото знаци, които могат да подскажат за съществуването на човек по

средата.

За потребител без опит в извършването на хакерски атаки отнема

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

локалните мрежи. Атаките от тип човек по средата представляват сериозна

заплаха за сигурността на лични или фирмени данни. Използването на

сигурни мрежи и различни пароли за различните уеб сайтове остава

единствения начин да се избегне MitM.

Борис Банков, ф.н. 11704

Page 19: Man-in-the-middle атаки

Man-in-the-middle атаки

19

5. Източници

1 Man-in-the-middle attack, http://en.wikipedia.org/wiki/Man-in-the-middle_attack , 30.03.2014 2 ARP Poisoning, http://hakipedia.com/index.php/ARP_Poisoning , 30.03.2014 3 DNS Cache Poisoning, http://hakipedia.com/index.php/DNS_Cache_Poisoning , 30.03.2014 4 What is port stealing?, http://www.quora.com/What-is-port-stealing , 30.03.2014 5 Pretty Good Privacy, http://en.wikipedia.org/wiki/Pretty_Good_Privacy , 30.03.2014 6 Major Apple security flaw: Patch issued, users open to MITM attacks, http://www.zdnet.com/major-

apple-security-flaw-patch-issued-users-open-to-mitm-attacks-7000026624/ , 30.03.2014 7 Public-key infrastructure, http://en.wikipedia.org/wiki/Public-key_infrastructure , 30.03.2014 8 Ettercap, http://www.irongeek.com/i.php?page=backtrack-3-man/ettercap , 30.03.2014

Борис Банков, ф.н. 11704

Б. Банков