SSLsplit
Описание SSLsplit
SSLsplit — это инструмент для атаки человек-посередине против сетевых подключений, зашифрованных SSL/TLS. Соединения прозрачно перехватываются через движок трансляции адресов и перенаправляются на SSLsplit. SSLsplit прекращает SSL/TLS и инициализирует новые SSL/TLS подключения на первоначальный адрес назначения, при этом записывая все передаваемые данные. SSLsplit предназначена быть полезной для сетевых криминалистов и тестеров на проникновение.
SSLsplit поддерживает простой TCP, простой SSL, HTTP и HTTPS подключения через IPv4 и IPv6. Для SSL и HTTPS подключений SSLsplit генерирует и подписывает на лету сфабрикованные X509v3 сертификаты, основанные на оригинальных объектах сервера DN и расширении subjectAltName. SSLsplit полностью поддерживает Server Name Indication (SNI) и способна работать с ключами RSA, DSA и ECDSA и наборами шифров DHE и ECDHE. В зависимости от версии OpenSSL, SSLsplit поддерживает SSL 3.0, TLS 1.0, TLS 1.1 и TLS 1.2, а также опционально SSL 2.0. SSLsplit также может использовать существующие сертификаты для которых доступны частные ключе, вместо того, чтобы генерировать поддельные. SSLsplit поддерживает NULL-префикс CN сертификаты и может отклонять OCSP запросы обычным образом. Для HTTP и HTTPS подключений SSLsplit удаляет заголовки ответов для HPKP, чтобы предотвратить пиннинг публичного ключа, для HSTS, позволяет пользователям принимать ненадёжные сертификаты, и Alternate Protocols для предотвращения переключения на QUIC/SPDY. В качестве экспериментальной возможности, SSLsplit поддерживает механизм STARTTLS в общем виде.
Домашняя страница: http://www.roe.ch/SSLsplit
Автор: Daniel Roethlisberger
Лицензия: BSD
Справка по SSLsplit
Использование:
sslsplit [опции...] [proxyspecs...]
Примечание:
Leaf certificate (листовой сертификат) — первый сертификат в цепочке сертификатов.
-c pemfile использовать CA сертификат (и ключ) из pemfile для подписи сфабрикованных сертификатов -k pemfile использовать CA ключ (и сертификат) и pemfile для подписи сфабрикованных сертификатов -C pemfile использовать CA цепь из pemfile (промежуточный и корневой CA сертификаты) -K pemfile использовать ключ из pemfile для листовых сертификатов (по умолчанию: генерировать) -t certdir использовать сертификат+цепль+ключ PEM файлов из директории certdir для цели на все сайты соответствующие общим названиям (не соответствующие: генерировать если CA) -w gendir записать листовой ключ и только сгенерированные сертификаты в директорию gendir -W gendir записать листовой ключ и все сертификаты в директорию gendir -O отклонить все OCSP запросы на все прокси -P пропустить SSL подключения, если они не могут быть расщеплены из-за авторизации клиентского сертификата или не соответствующего сертификата и нет CA (по умолчанию: отбросить) -g pemfile использовать DH группу параметров из pemfile (по умолчанию: ключевые файлы или автоматически) -G curve использовать ECDH названные curve (по умолчанию: prime256v1) -Z отключить SSL/TLS сжатие на всех соединениях -r proto поддерживать только tls10 tls11 tls12 (по умолчанию: allвсе -R proto отключить один из tls10 tls11 tls12 (по умолчанию: ни одного) -s шифры использовать данный набор спецификации шрифтов OpenSSL (по умолчанию: ALL:-aNULL) -e движок указать дефолтный для использования NAT движок (по умолчанию: netfilter) -E вывести список доступных NAT движков и выйти -u user отбросить привилегии до пользователя (по умолчанию если запущено как root: nobody) -m группа при использовании -u, переписать группу (по умолчанию: главная группа пользователя) -j jaildir chroot() в директории jaildir (оказывает влияние на спецификацию прокси sni, смотрите мануал ниже) -p pidfile записать pid в pidfile (по умолчанию: без pid файла) -l logfile лог подключений: записать одну строку краткого содержания на подключение в logfile -L logfile лог подключений: полные данные в файл или названную pipe (за исключением -S/-F) -S dir лог подключений: полные данные в отдельные файлв в директории dir (за исключением -L/-F) -F pathspec лог содержимого: формат данных определяется следующими значениями с % (вкл. -L/-S): %T - время первоначального подключения в виде метки времени ISO 8601 UTC %d - хост и порт назначения %D - хост назначения %p - плоь назначения %s - исходный хост и порт %S - исходный хост %q - исходный порт %% - буквальный '%' к примеру "/var/log/sslsplit/%T-%s-%d.log" -d режим демона: запустить в фоне, писать сообщения об ошибках в syslog -D отладочный режим: запустить на переднем плане, писать отладочные сообщения в stderr -V напечатать информацию о версии и выйти -h напечатать информацию об использовании и выйти proxyspec (параметры прокси) = тип прослушиваемого адреса+порт [довижок nat|целевой адрес+порт|"sni"+порт] примеры http 0.0.0.0 8080 www.roe.ch 80 # http/4; статичный хост назначения https ::1 8443 2001:db8::1 443 # https/6; статичный адрес назначения https 127.0.0.1 9443 sni 443 # https/4; SNI DNS запросы tcp 127.0.0.1 10025 # tcp/4; движок NAT по умолчанию ssl 2001:db8::2 9999 pf # ssl/6; движок NAT 'pf' autossl ::1 10025 # autossl/6; STARTTLS et al Пример: sslsplit -k ca.key -c ca.pem -P https 127.0.0.1 8443 https ::1 8443
Руководство по SSLsplit
ИМЯ
sslsplit — прозрачный перехват SSL/TLS
СИНОПСИС
sslsplit [-kCKwWOPZdDgGsrReumjplLSFi] -c pem proxyspecs [...] sslsplit [-kCKwWOPZdDgGsrReumjplLSFi] -c pem -t dir proxyspecs [...] sslsplit [-OPZwWdDgGsrReumjplLSFi] -t dir proxyspecs [...] sslsplit -E sslsplit -V sslsplit -h
ОПИСАНИЕ
[В ПРОЦЕССЕ ПОДГОТОВКИ]
Примеры запуска SSLsplit
Запуск в отладочном режиме (-D), вести лог подключений (-l connections.log), установить chroot jail (-j /tmp/sslsplit/), сохранить файлы на диск (-S /tmp/), указать ключ (-k ca.key), указать сертификат (-c ca.crt), указать ssl (ssl) и настроить прокси (0.0.0.0 8443 tcp 0.0.0.0 8080):
sslsplit -D -l connections.log -j /tmp/sslsplit/ -S /tmp/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080 Generated RSA key for leaf certs. SSLsplit 0.4.6 (built 2013-06-06) Copyright (c) 2009-2013, Daniel Roethlisberger <daniel@roe.ch> http://www.roe.ch/SSLsplit Features: -DDISABLE_SSLV2_SESSION_CACHE -DHAVE_NETFILTER NAT engines: netfilter* tproxy netfilter: IP_TRANSPARENT SOL_IPV6 !IPV6_ORIGINAL_DST compiled against OpenSSL 1.0.1e 11 Feb 2013 (1000105f) rtlinked against OpenSSL 1.0.1e 11 Feb 2013 (1000105f) TLS Server Name Indication (SNI) supported OpenSSL is thread-safe with THREADID
Установка SSLsplit
Программа предустановлена в Kali Linux.
Установка в BlackArch
Программа предустановлена в BlackArch.
sudo pacman -S sslsplit
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты SSLsplit
Это утилита командной строки.
Инструкции по SSLsplit
Ссылки на инструкции будут добавлены позже.
Comments are Closed