SSLsplit - это инструмент для тестирования на проникновение, способный выполнять атаки типа «злоумышленник в середине» против зашифрованных сетевых соединений SSL / TLS.
SSLsplit предназначен для прозрачного завершения соединений, которые перенаправляются на него с помощью механизма преобразования сетевых адресов. Затем SSLsplit завершает SSL / TLS и инициирует новое соединение SSL / TLS с исходным адресом назначения, при этом регистрируя все переданные данные.
Помимо работы на основе NAT, SSLsplit также поддерживает статические пункты назначения и использование имени сервера, указанного SNI, в качестве пункта назначения восходящего потока. SSLsplit - это чисто прозрачный прокси и не может действовать как прокси HTTP или SOCKS, настроенный в браузере.
SSLsplit поддерживает соединения TCP, SSL, HTTP и HTTPS как по IPv4, так и по IPv6. SSLsplit полностью поддерживает указание имени сервера (SNI) и может работать с ключами RSA, DSA и ECDSA, а также с наборами шифров DHE и ECDHE. В зависимости от версии OpenSSL, на основе которой построен, SSLsplit поддерживает SSL 3.0, TLS 1.0, TLS 1.1 и TLS 1.2, а также, необязательно, SSL 2.0.
Для соединений SSL и HTTPS SSLsplit генерирует и подписывает поддельные сертификаты X509v3 на лету, имитируя DN субъекта исходного сертификата сервера, расширение subjectAltName и другие характеристики. SSLsplit может использовать существующие сертификаты, закрытый ключ которых доступен, вместо создания поддельных. SSLsplit поддерживает сертификаты CN с нулевым префиксом, но в остальном не реализует эксплойты против определенных уязвимостей проверки сертификатов в стеках SSL / TLS.
SSLsplit реализует ряд средств защиты от механизмов, которые обычно предотвращают атаки MitM или делают их более сложными. SSLsplit может отклонять запросы OCSP обычным способом. Для соединений HTTP и HTTPS SSLsplit удаляет заголовки ответов для HPKP, чтобы предотвратить закрепление открытого ключа, для HSTS, чтобы пользователь мог принимать ненадежные сертификаты, и для альтернативных протоколов, чтобы предотвратить переключение на QUIC / SPDY. Сжатие HTTP, кодирование и проверка активности отключены, чтобы журналы были более удобочитаемыми.
В качестве экспериментальной функции SSLsplit поддерживает STARTTLS и аналогичные механизмы, в которых протокол запускается с обычного текстового TCP-соединения и позже обновляется до SSL / TLS с помощью специфических для протокола средств, таких как команда STARTTLS в SMTP. SSLsplit поддерживает стандартное обновление TCP-соединений до SSL.
SSLsplit в настоящее время поддерживает следующие операционные системы и механизмы NAT:
- FreeBSD: pf rdr and divert-to, ipfw fwd, ipfilter rdr
- OpenBSD: pf rdr-to and divert-to
- Linux: netfilter REDIRECT and TPROXY
- Mac OS X: pf rdr and ipfw fwd
Использование:
Просмотр скрытого контента доступен для зарегистрированных пользователей!
Последнее редактирование: