Difference between revisions of "SslStrip"
(→МIТМ) |
(→Задачи) |
||
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Мрежова сигурност]] | ||
==TLS (SSL)== | ==TLS (SSL)== | ||
TLS (Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография. | TLS (Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография. | ||
Line 10: | Line 11: | ||
TLS клиентът и сървърът договарят динамична връзка чрез процедура на ръкостискане (handshaking) процедура. Процедурата започва, когато клиентът се свързва с TLS-сървър, изисква защитена връзка и представя на сървъра списък на поддържаните криптирания и хаш функции (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението. | TLS клиентът и сървърът договарят динамична връзка чрез процедура на ръкостискане (handshaking) процедура. Процедурата започва, когато клиентът се свързва с TLS-сървър, изисква защитена връзка и представя на сървъра списък на поддържаните криптирания и хаш функции (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението. | ||
− | ===Свързване=== | + | ===TSL (SSL) Свързване=== |
Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, неговият издател (certificate authority (CA) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата и да потвърди валидността на сертификата, преди да продължи нататък. | Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, неговият издател (certificate authority (CA) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата и да потвърди валидността на сертификата, преди да продължи нататък. | ||
Line 34: | Line 35: | ||
− | Опитна постановка: | + | ==Опитна постановка== |
− | [[Image:sslStrip.jpg| | + | Опитната постановка ще бъде реализирана с три работни станции, маршрутизатор и комутатор със следните означения и роли: |
+ | *WebServer - ще предоставя уеб услуги по http или https; | ||
+ | *Router - Ще свързва външната мрежа с тази на жертвата; | ||
+ | *Switch - ще предоставя възможност за включване на абонати към вътрешната мрежа; | ||
+ | *Attacker - Ще прихваща и модифицира връзката между уеб сървъра и жертвата; | ||
+ | *Victim - Ще достъпва уеб сървъра | ||
+ | |||
+ | |||
+ | [[Image:sslStrip.jpg|none|thumb|400px|Опитна постановка за SSL атака]] | ||
+ | |||
+ | ===Адресна схема=== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Устройсвто !!интерфейс 1 !! интерфейс 2 !! Gateway !! DNS | ||
+ | |- | ||
+ | | WebServer || 10.0.0.2/8 || --- || 10.0.0.1 || 8.8.8.8 | ||
+ | |- | ||
+ | | Router || 10.0.0.1/8 || 192.168.0.1/24 || --||8.8.8.8 | ||
+ | |- | ||
+ | | Attacker || 192.168.0.99/24 || --|| 192.168.0.1 ||8.8.8.8 | ||
+ | |- | ||
+ | | Victim ||192.168.0.2 || --|| 192.168.0.1||8.8.8.8 | ||
+ | |} | ||
+ | |||
+ | == Задачи == | ||
+ | #Да се създадат 4 виртуални машини, три с Linux (Web Server, Attacker, Router) и една с Windows (Victim) | ||
+ | #[[Apache SSL|Да се конфигурира уеб предоставящ http и https връзка.]] | ||
+ | #[[Apache Redirection|Да се конфигурира автоматично пренасочване на http заявките към https.]] [[Apache Password Protected Directory|Сървърът да съдържа защитена директория достъпна с парола.]] | ||
+ | #[[VirtualBox, Връзка между два компютъра|Да се конфигурират рутер съгласно опитната постановка.]] | ||
+ | #Да се пренасочи трафика на жертвата през атакуващata машина чрез [[Spoofing|arp spoofing]] | ||
+ | #Да се актвира sslStrip | ||
+ | #Да се прихване паролата на защитената директория | ||
+ | #Рутера да се конфигурира да предоставя връзка към Интернет. | ||
+ | #Да се прихванe парола от gmail | ||
+ | |||
+ | == Упътване == | ||
+ | |||
+ | 1.Задача | ||
+ | *Да се [[VirtualBox|импортира виртулна машина]] с Linux OS | ||
+ | **Смяна на MAC адрес | ||
+ | **Включване към външната мрежа (Bridge Adapter) | ||
+ | **Включване на виртуалната машина | ||
+ | *Да се зададат [[Static_routing#Настройка мрежови интерфейси|IP мрежови настройки]],[[Linux DNS#Linux смяна DNS|Настройки DNS]] | ||
+ | *проверка има ли Интернет връзка | ||
+ | ping google.com | ||
+ | |||
+ | 4.задача | ||
+ | echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | iptables -A POSTROUTING -t nat -j MASQUERADE | ||
+ | |||
+ | 6.Задача: | ||
+ | Сваля се sslStrip | ||
+ | :~$ wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz | ||
+ | разкомпресира се: | ||
+ | :~$ gzip -d sslstrip-0.9.tar.gz | ||
+ | :~$ tar -xf sslstrip-0.9.tar | ||
+ | |||
+ | Инсталиране се | ||
+ | :~$ apt-get install python-twisted-web | ||
+ | :~$ cd sslstrip-0.9 | ||
+ | :~$ python setup.py install | ||
+ | :~$ iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port <yourListenPort> | ||
+ | |||
+ | :~$sslstrip -L ''port'' |
Latest revision as of 14:17, 20 October 2015
Contents
TLS (SSL)
TLS (Transport Layer Security) и неговият предшественик SSL (на английски: Secure Sockets Layer) са криптографски протоколи, които осигуряват сигурност на комуникацията по Интернет. TLS и SSL криптиране са сегменти на мрежови връзки над Transport Layer, използвайки асиметрична криптография.
Няколко версии на протоколите се използват широко при уеб, електрон поща, гласова комуникация (VoIP) и др.
TLS се описва в5246 и се основава на по-ранните SSL спецификации, разработен от Netscape Communications.
TLS позволява на клиентски / сървърски приложения да комуникират в мрежата по начин, предназначен за предотвратяване на подслушване и подправяне.
TLS клиентът и сървърът договарят динамична връзка чрез процедура на ръкостискане (handshaking) процедура. Процедурата започва, когато клиентът се свързва с TLS-сървър, изисква защитена връзка и представя на сървъра списък на поддържаните криптирания и хаш функции (ciphers and hash functions). От този списък сървърът избира най-силния шифър и хеш функция и уведомява клиента за решението.
TSL (SSL) Свързване
Сървърът изпраща обратно идентификацията си под формата на цифров сертификат. Сертификатът обикновено съдържа името на сървъра, неговият издател (certificate authority (CA) и публичен ключ за криптиране на сървъра. Клиентът може да се свърже със сървъра, който е издал сертификата и да потвърди валидността на сертификата, преди да продължи нататък.
За да се генерират сесийните ключове, използвани за сигурна връзка, клиентът криптира случайно число с публичния ключ на сървъра и му изпраща резултата. Само сървърът може да го дешифрира с неговия личен ключ. Така завършва процесът ръкостискане и започва защитена шифрована връзка.
Ако някой от по-горните стъпки, се провали, TLS ръкостискането не успява и връзката не се създава.
МIТМ
Man-in-the-middle(човек по средата) е набор от атаки, при които има атакуващ, който провежда „активно“ подслушване. Атакуващият комуникира с всички машини имащи осъществена връзка. Целта е да накара пакетите, чрез които си комуникират дадени машини да преминават през него, като същевременно машините си мислят, че говорят без посредник между тях, а всъщност цялата комуникация се управлявана от атакуващия.
SSLStrip
SSLStrip е инструмент представен през 2009 година на конференцията BlackHat DC от Moxie Marlinspike. Целта на този инструмент е да направи видими потребителските имена и пароли пренасяни през SSL.
SSLStrip е MITM (Man in the middle) атака. Идеята на SSLStrip е да прекъсне заявката за превключване към сигурна връзка идваща от жертвата и да го я да комуникира по нормалния http протокол. По такъв начин данните от жертвата до атакуващия биват предавани в текстов вид.
Например: Когато сe проверява пощата в Gmail, потребителят написва в уеб клиента "mail.google.com" и не се интересува дали страницата се доставя през http:// или https://. Това е така, защото уеб клиента инициира криптирана връзка от сървъра автоматично. Превключването към сигурна връзка се осъществява посредством нормалния http протокол, който не е криптиран и превключването може да бъде прекъснато.
Опитна постановка
Опитната постановка ще бъде реализирана с три работни станции, маршрутизатор и комутатор със следните означения и роли:
- WebServer - ще предоставя уеб услуги по http или https;
- Router - Ще свързва външната мрежа с тази на жертвата;
- Switch - ще предоставя възможност за включване на абонати към вътрешната мрежа;
- Attacker - Ще прихваща и модифицира връзката между уеб сървъра и жертвата;
- Victim - Ще достъпва уеб сървъра
Адресна схема
Устройсвто | интерфейс 1 | интерфейс 2 | Gateway | DNS |
---|---|---|---|---|
WebServer | 10.0.0.2/8 | --- | 10.0.0.1 | 8.8.8.8 |
Router | 10.0.0.1/8 | 192.168.0.1/24 | -- | 8.8.8.8 |
Attacker | 192.168.0.99/24 | -- | 192.168.0.1 | 8.8.8.8 |
Victim | 192.168.0.2 | -- | 192.168.0.1 | 8.8.8.8 |
Задачи
- Да се създадат 4 виртуални машини, три с Linux (Web Server, Attacker, Router) и една с Windows (Victim)
- Да се конфигурира уеб предоставящ http и https връзка.
- Да се конфигурира автоматично пренасочване на http заявките към https. Сървърът да съдържа защитена директория достъпна с парола.
- Да се конфигурират рутер съгласно опитната постановка.
- Да се пренасочи трафика на жертвата през атакуващata машина чрез arp spoofing
- Да се актвира sslStrip
- Да се прихване паролата на защитената директория
- Рутера да се конфигурира да предоставя връзка към Интернет.
- Да се прихванe парола от gmail
Упътване
1.Задача
- Да се импортира виртулна машина с Linux OS
- Смяна на MAC адрес
- Включване към външната мрежа (Bridge Adapter)
- Включване на виртуалната машина
- Да се зададат IP мрежови настройки,Настройки DNS
- проверка има ли Интернет връзка
ping google.com
4.задача
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A POSTROUTING -t nat -j MASQUERADE
6.Задача: Сваля се sslStrip
:~$ wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
разкомпресира се:
:~$ gzip -d sslstrip-0.9.tar.gz :~$ tar -xf sslstrip-0.9.tar
Инсталиране се
:~$ apt-get install python-twisted-web :~$ cd sslstrip-0.9 :~$ python setup.py install :~$ iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port <yourListenPort>
:~$sslstrip -L port