SSL Strip을 이용한 네트워크 모의해킹 실습
해당 글은 VM Ware로 실습한 내용이며, IP 또한 가상으로 할당하였기 때문에 아무 의미 없습니다.
또한 이 기술은 실제 적용이 가능할 수도 있으니, 절대 악의적인 목적이나 호기심으로 진행하지 마시길 바랍니다.
실습을 위한 환경을 구성할때 반드시 본인 컴퓨터와 인터넷으로 구성하고 진행하세요!
악용시 현행 정보통신망 이용촉진 및 정보보호 등에 관한 법률로 처벌 받을 수 있습니다.
정보통신망에 관한 법률 아니더라도 처벌 받습니다 아무튼 그냥 본인 컴퓨터 외에는 하지마세요 !
1 개요
1.1 개요 및 목적
현재 대한민국 스마트폰 사용을 안하는 사람을 찾기 힘들 정도로 보급률이 높아져있습니다. 사용자가 증가함에 따라 무료 인터넷을 사용할 수 있도록 도와주는 무선 인터넷 환경(WI-FI)도 손쉽게 찾아 볼 수 있습니다. 많은 사람들이 데이터가 부족하거나, 아끼기 위해 비밀번호가 안걸려져있는 WI-FI에 접속하여 무료로 인터넷을 사용할 것입니다. 하지만 악의적 의도를 가진 해커가 사람들의 정보를 훔치기 위해 설치해놓은 WI-FI라면 ? 본인도 모르는 사이에 사용자가 전송한 정보를 해커는 Sniffing 할 수 있기 때문에 WI-FI 사용자들은 항상 제공자를 모르는 WI-FI 사용을 자제하고 의심해봐야 합니다.
해킹 도구 사용으로 네트워크 공격 기법을 통해 실제 공격 행위의 시뮬레이션을 수행해보며 특정 장소의 내부 네트워크상의 서비스와 서버에 대해 침투가능성을 능동적으로 판단하여 취약점에 대한 대응방안을 마련하여 네트워크 보안사고를 미연에 방지하는 것에 그 목적이 있습니다.
1.2 실습 환경
- 가상환경 OS (피해자 - Windows Xp, 공격자 - KaliLinux)
- 사용 도구 : SSLStrip
- 적용 기술 (ARP Spoofing, SSL Sniffing, M IT M)
- 무선 WI – FI
1.3 수행 항목
- 피해자가 게이트웨이로 보내는 패킷을 공격자에게 전달하게하고, 게이트웨이
에서 피해자에게 보내는 패킷을 공격자에게 전달하도록 ARP Spoofing을 진행
하여 중간자 공격이 이루어지도록 설정
- SSLStrip을 통해 피해자에게 https를 해제하여 전달하여 Sniffing 공격
- 피해자 로그인 시도할 때 입력한 ID, PASSWORD 정보 탈취
- Log 파일을 통해 탈취한 정보 확인
2 시나리오
2.1 실습 시나리오
3 수행결과
3.1 Spoofing
Spoofing이란 사전적 의미로 ‘ 속이다 ‘ 입니다. MAC주소, IP주소, Port 등 네트워크 통신과 관련된 요소
들을 속여 공격하는 것을 말합니다.
이번 모의해킹 진행과정에서 필요한 Spoofing 기법은 ARP Spoofing입니다.
ARP Spoofing은 MAC주소를 속여 통신간에 흐름을 우회하고 왜곡시키는 공격입니다.
3.1.1 취약점 이해
로컬 네트워크에서 사용하는 ARP 프로토콜의 허점을 이용하여 자신의 MAC주소를 다른 컴퓨터의
MAC주소인 것처럼 속입니다.
네트워크 트래픽이 이동할 때 MAC 주소를 기반으로 전송하는데, 공격자는 같은 네트워크상에서
ARP Request BroadCasting을 통해 모든 호스트 IP/MAC주소를 알아 낼 수 있습니다.
ARP 프로토콜은 인증을 요구하지 않기 때문에 이러한 취약점을 이용하여 ARP Reply 패킷을
호스트에게 보내주면서 쉽게 ARP Cache Table을 업데이트 시킬 수 있습니다.
공격자가 위조한 MAC 주소를 각 호스트들의 ARP Cache Table에 업데이트 시키게 되면, 통신이 이루어지는 GateWay에서는 공격자의 MAC 주소와 포트 매핑정보가 Table에 등록되어 호스트가 서버로 보내는 정보가 담긴 트래픽은 공격자에게 전달하고 서버에서도 피해자 호스트에 대한 트래픽을 공격자에게 전달하게 됩니다.
3.1.2 상세분석
[Step #1] ARP Spoofing 진행 전
[Step #2] ARP Spoofing 공격을 위한 Shell 작성
[Step #3] ARP Spoofing을 위한 Shell 실행
[Step #4] 공격 진행 후 ARP Cache Table 변경된 것을 확인
공격자 IP가 추가되고 물리적 주소가 GateWay와 같게 변경 된 것을 확인 할 수 있다.
3.1.3 보안대책
1) 사용중인 공유기의 펌웨어를 항상 업데이트하여 최신 버전으로 유지
2) ARP Virus 방어 기능을 지원하는 공유기 사용
3) ARP Spoofing 공격 탐지 툴 설치 (XArp, ARPWatch 등)
4) MAC주소 정보를 정적으로 설정하여 관리
3.2 Sniffing
Sniffing이란 사전적 의미로 ‘ 킁킁거리다, 냄새를 맡다 ‘ 뜻이 존재합니다. 이와 같이 네트워크상에서
다른 상대방들간에 또는 서버와 통신할 때 전달되는 패킷 교환을 몰래 훔쳐보는 것을 의미합니다.
예시로 군에서 통신이 이루어질 때 제3자가 도청하는 행위가 유사하다 볼 수 있습니다.
3.2.1 취약점 이해
SSL을 사용하여 암호화 통신을 하는 경우 일반적으로 공격자는 해당 정보를 Sniffing 할 수 없습니다. 하지만, 암호화된 데이터는 Client와 Server 인증 과정에서 발생된 패킷들에 의해 부하를 늘리게 되어
많은 웹 페이지에서 전체적으로 SSL을 적용시키지 않고 본인확인 또는 로그인과 같이 특정 주요정보가전송되는 구간에만 부분적으로 SSL을 적용하여 운영하는 경우가 많습니다. 이렇게 부분적으로 SSL을 적용시킨다는 취약점을 이용하여 피해자와 서버간에 통신이 이루어질 때 중간에서 개입하여 SSL Strip을 통해 HTTPS를 HTTP로 변경하여 피해자를 속여 정보를 탈취할 수 있습니다.
3.2.2 상세분석
[Step #1] Iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080
명령어를 입력시켜 http 요청을 SslStrip를 통해 8080번 Port로 Redirect
그 후 NAT 설정이 올바르게 되었는지 확인
[Step #2] 피해자 PC와 연결을 위한 IP Forwarding 및 확인 (1 = 활성화, 0 = 비활성화)
[Step #3] SSLStrip 실행
[Step #4] Port 상태 확인 (응답 받을 8080번이 정상적으로 열려있는지)
[Step #5] 피해자 PC : 로그인 페이지로 정상접속시 https:// 로 시작하여 암호화작업이 이루어
지지만 (그림-①), 공격을 진행한 후에 접속하게 되면 (그림-②) 와 같이 http로 접속시켜
암호화 작업이 이루어지지 않도록 만듬
[ 그림-① ] [ 그림-② ]
[Step #6] 피해자 PC에서 로그인 시도가 발생하면 로그인 정보를 담은 패킷이 공격자에게 전달
>> 공격자는 sslstrip.log 파일을 통해 피해자가 로그인 시도한 정보를 확인 할 수 있음
3.2.3 보안대책
1. HTTP://로 시작하는 웹 페이지 사용 자제
2. 신뢰할 수 없는 Wi-Fi 사용 지양
3. 무선인터넷 제공자/관리자는 쉽게 유추하지 못하는 패스워드 사용 및 IP/MAC 인증과 같이 인증 과정을 추가하여 보안 수준 향상
4. 관리자는 Web에 부분적인 SSL 서비스 적용이 아닌 전체에 SSL을 적용시켜 필수적으로 HTTPS를 사용하도록 적용
'네트워크' 카테고리의 다른 글
Spoofing(스푸핑) & Sniffing(스니핑)의 이해 (0) | 2020.10.08 |
---|---|
Port Scanning (포트 스캐닝) (0) | 2020.09.19 |