Difference between revisions of "SslStrip"
(→Задачи) |
|||
Line 64: | Line 64: | ||
#[[Конфигуриране на SSL|Да се конфигурира уеб предоставящ http и https връзка.]] | #[[Конфигуриране на SSL|Да се конфигурира уеб предоставящ http и https връзка.]] | ||
#[[Apache Redirection|Да се конфигурира автоматично пренасочване на http заявките към https.]] [[Apache Password Protected Directory|Сървърът да съдържа защитена директория достъпна с парола.]] | #[[Apache Redirection|Да се конфигурира автоматично пренасочване на http заявките към https.]] [[Apache Password Protected Directory|Сървърът да съдържа защитена директория достъпна с парола.]] | ||
− | #[[Да се конфигурират рутер съгласно опитната постановка.]] | + | #[[VirtualBox, Връзка между два компютъра|Да се конфигурират рутер съгласно опитната постановка.]] |
#Да се пренасочи трафика на жертвата през атакуващata машина чрез arpspoofing | #Да се пренасочи трафика на жертвата през атакуващata машина чрез arpspoofing | ||
#Да се актвира sslStrip | #Да се актвира sslStrip |
Revision as of 19:59, 13 October 2013
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 |
---|---|---|
WebServer | 10.0.0.2/8 | --- |
Router | 10.0.0.1/8 | 192.168.0.1/24 |
Attacker | 192.168.0.99/24 | -- |
Victim | 192.168.0.2 | -- |
Задачи
- Да се създадат 4 виртуални машини, три с Linux (Web Server, Attacker, Router) и една с Windows (Victim)
- Да се конфигурира уеб предоставящ http и https връзка.
- Да се конфигурира автоматично пренасочване на http заявките към https. Сървърът да съдържа защитена директория достъпна с парола.
- Да се конфигурират рутер съгласно опитната постановка.
- Да се пренасочи трафика на жертвата през атакуващata машина чрез arpspoofing
- Да се актвира sslStrip
- Да се прихване паролата на защитената директория
- Рутера да се конфигурира да предоставя връзка към Интернет.
- Да се прихвани парола от gmail
Упътване
1.Задача виж упр. Конфигуриране на SSL
2.задача
<VirtualHost *:80>
ServerAdmin contact@yourwebsite.com
DocumentRoot /var/www/public
<Directory />
… to something resembling the following:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<VirtualHost *:80>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin contact@yourwebsite.com
DocumentRoot /var/www/public
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/mycert.pem
SSLCertificateKeyFile /etc/apache2/ssl/mycert.key
<Directory />