프로젝트 개요
이번 학기 수강하고 있는 '침입탐지와 차단시스템'과목의 기말 프로젝트로, KT 파로스 프록시 해킹 사건을 레퍼런스 하여 실습을 진행하였습니다.
KT 파로스 프록시 해킹 사건은 웹 프록시 툴인 "Paros Proxy"를 토대로 프로그램을 개발하여, 브루스 포스(Bruth Force, 무차별 대입 공격) 공격을 진행, 개인정보를 탈취한 사건입니다. Paros Proxy는 웹 사이트의 취약점을 점검하는 보안 도구이지만, 웹 해킹의 도구로서도 사용됩니다.
저희 팀은 이 사례에서 두 가지 포인트를 잡았습니다.
- Man-in-the-Middle Attack (중간자 공격)
- Bruth Force (무차별 대입 공격)
팀원분과 각자 다른 포인트에서 공격 및 방어 실습을 진행하기로 하였고, 저는 1번 중간자 공격에 초점을 맞춰 실습을 진행하였습니다.
공격 방식 선정
중간자 공격도 종류와 방법이 다양하지만 위 사례에서는 '프록시를 사용한 개인정보 탈취'가 이루어졌으므로 적합한 공격 방식으로 'ARP 스푸핑 공격'을 선정하였습니다.
ARP 스푸핑 공격이란 공격자가 ARP(Address Resolution Protocol) 프로토콜을 사용하여 자신의 MAC주소를 공격 대상자 PC의 IP주소와 매핑하여 마치 공격 피해자의 MAC주소인 것 처럼 속여 패킷을 가로채는 공격입니다.
ARP프로토콜은 IP 주소를 가지고 해당 IP의 MAC주소를 찾는 프로토콜 입니다. 송신자가 ARP Request 패킷을 브로드캐스트로 요청하면, 해당되는 수신자는 자신의 MAC주소를 담아 ARP Reply 패킷을 유니캐스트로 송신자에게 전송합니다.
구체적으로는 공격자인 kali에서 게이트웨이와 주분투에 대하여 ARP스푸핑 공격을 시행, 피해자인 주분투가 외부와 통신하는 패킷을 도청하는 과정을 진행하였습니다. 또한 이 과정에서 iptables를 이용하여 현재 패킷이 도청의 위험이 있다고 판단되면 로그를 띄우도록 하였습니다.
더 나아가, IDPS를 활용한 것은 아니지만 ARP table을 직접 정적으로 설정하여 ARP스푸핑 공격을 막고자 하였습니다.
실습 환경
VMWare를 사용하여 Kali Linux와 Xbuntu Linux를 설치하였고, Kali Linux에서 Ettercap이라는 도구를 사용하여 Xubuntu와 Gateway에 대해 ARP스푸핑 공격을 진행하였습니다. 더 나아가 Xubuntu에서 ARP 스푸핑 공격 의심 패킷이 감지되면 로그를 띄우는 침임탐지시스템(IDS)를 구축하였습니다.