Difference between revisions of "SslStrip"
(→Задачи) |
(→Задачи) |
||
(16 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 48: | Line 49: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Устройсвто !!интерфейс 1 !! интерфейс 2 | + | ! Устройсвто !!интерфейс 1 !! интерфейс 2 !! Gateway !! DNS |
|- | |- | ||
− | | WebServer || 10.0.0.2/8 || --- | + | | 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 | + | | Router || 10.0.0.1/8 || 192.168.0.1/24 || --||8.8.8.8 |
|- | |- | ||
− | | Attacker || 192.168.0.99/24 || -- | + | | Attacker || 192.168.0.99/24 || --|| 192.168.0.1 ||8.8.8.8 |
|- | |- | ||
− | | Victim ||192.168.0.2 || -- | + | | Victim ||192.168.0.2 || --|| 192.168.0.1||8.8.8.8 |
|} | |} | ||
== Задачи == | == Задачи == | ||
#Да се създадат 4 виртуални машини, три с Linux (Web Server, Attacker, Router) и една с Windows (Victim) | #Да се създадат 4 виртуални машини, три с Linux (Web Server, Attacker, Router) и една с Windows (Victim) | ||
− | #[[ | + | #[[Apache SSL|Да се конфигурира уеб предоставящ http и https връзка.]] |
#[[Apache Redirection|Да се конфигурира автоматично пренасочване на http заявките към https.]] [[Apache Password Protected Directory|Сървърът да съдържа защитена директория достъпна с парола.]] | #[[Apache Redirection|Да се конфигурира автоматично пренасочване на http заявките към https.]] [[Apache Password Protected Directory|Сървърът да съдържа защитена директория достъпна с парола.]] | ||
− | #[[Да се конфигурират рутер съгласно опитната постановка.]] | + | #[[VirtualBox, Връзка между два компютъра|Да се конфигурират рутер съгласно опитната постановка.]] |
− | #Да се пренасочи трафика на жертвата през атакуващata машина чрез | + | #Да се пренасочи трафика на жертвата през атакуващata машина чрез [[Spoofing|arp spoofing]] |
#Да се актвира sslStrip | #Да се актвира sslStrip | ||
#Да се прихване паролата на защитената директория | #Да се прихване паролата на защитената директория | ||
#Рутера да се конфигурира да предоставя връзка към Интернет. | #Рутера да се конфигурира да предоставя връзка към Интернет. | ||
− | #Да се | + | #Да се прихванe парола от gmail |
== Упътване == | == Упътване == | ||
1.Задача | 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