440 likes | 682 Views
ettercap. ettercap. A multipurpose Hacking Tool for MITM . 보증팀 김광연 , 원작 이삼일. 2006-12-02. 목차. 선행연구 (ARP 프로토콜 , DNS Recursion, sniffing) ettercap 개요 화면별 내용 설명 Man in the middle redirect ( 경로 재설정 ) Plugins - 해킹관련 개략 설명 부록 참고 사이트. 선행연구 (ARP 프로토콜 , Sniffing). TCP/IP 와 OSI 모델.
E N D
ettercap ettercap A multipurpose Hacking Tool for MITM 보증팀 김광연, 원작 이삼일 2006-12-02
목차 • 선행연구 (ARP 프로토콜, DNS Recursion, sniffing) • ettercap 개요 • 화면별 내용 설명 • Man in the middle redirect (경로 재설정) • Plugins - 해킹관련 개략 설명 • 부록 • 참고 사이트
ARP 프로토콜(1) • ARP • Address Resolution Protocol • IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜 • ARP cache • IP주소 및 그에 대응하는 MAC주소가 들어 있는 테이블이 저장되는 메모리 영역. • ARP 캐쉬 시간은 라우터는 통산 4시간.
ARP 프로토콜(2) ARP Request ARP Response
ARP 프로토콜(3) • ARP 프로토콜 필드 • Hard type : 하드웨어 종류 이더넷, FDDI, 토큰링등 • Proto type : 프로토콜 종류 ARP 프로토콜의 경우 0806 • Hard size : 하드웨어 주소의 길이 • Proto size : 프로토콜 주소의 길이 • OP : ARP 패킷의 작동 값 1: ARP 요청 2: ARP 응답 • Sender Ethernet Addr : 송신자 MAC • Sender IP Addr : 송신자 IP Addr • Target Ethernet Addr : 수신자 MAC • Target IP Addr : 수신자 IP Addr
ARP 프로토콜(4) • ARP 작동 원리 • 라우터를 통해 외부로부터 A 서버로 접속하려는 요청이 들어옴 • 라우터에 ARP cache 에 A 서버에 대한 IP & MAC 의 매핑이없으면 ARP 패킷을 Broadcast (ARP Request) 한다. • B서버, C서버는 자신의 IP가 아니므로 패킷을 drop • A서버는 자신의 MAC을 적은 패킷을 Unicast(ARP Response)한다. • 라우터와 A서버는 서로의 MAC주소 공유 • 통신이 가능한 상태가 됨
DNS Recursion(1) www.yahoo.co.kr kr co yahoo
DNS Recursion(2) • DNS Recursion • 로컬 호스트에서 www.yahoo.co.kr요청 • 로컬 호스트에 설정된 DNS SERVER (DNS Client 로 명칭)로 IP 요청 • 요청된 도메인에 대한 캐싱이 없으면 ROOT DNS 서버로 요청 • ROOT DNS 서버는 .kr 을 관장하는 DNS 서버로 요청하라는 답을 줌 • DNS Client 는 다시 .kr 을 관장하는 DNS 서버로 요청 • 위와 같은 과정을 RECURSION 하여 해당 도메인의 IP를 얻어내면 DNS Client는 실제 요청한 PC에게 IP를 전달한다. • PC 는 자신의 Gateway (Router)로 이 요구를 전달하여 www.yahoo.co.kr로 접속을 시도함
스니핑(Sniffing) • 네트워크상의 데이터를 몰래 캡쳐하는 행위 • 스니퍼 사용 : Ethereal, ettercap • Promiscuous mode : 네트웍 상의 모든 패킷 탐지 • 동일 네트워크 세그먼트
스니퍼(Sniffer) 192.168.0.1 192.168.0.2 Packet목적지 192.168.0.3 <Sniffer> NIC을 Promiscuous mode 로 세팅 192.168.0.3
공격자 B IP : 10.0.0.4 MAC 주소 : CC Host A IP : 10.0.0.2 MAC 주소 : AA Host C IP : 10.0.0.3 MAC 주소 : BB 스니핑 기법(1) • MAC Flooding 공격 (switch 환경하에서 sniffing) • 위조된 MAC을 지속적으로 발생시켜 스위치의 ARP테이블을Flooding • Dummy 허브와 같이 모든 port에 Broadcasting (Fail open) • ARP Spoofing 공격 • 내부 네트워크내의 Spoofing 하려는 Hosts 의 arp cache 변경 • 공격자 B -> Host A (IP:10.0.0.3 은 MAC(공격자) 주소 CC) • 공격자 B -> Host C (IP:10.0.0.2 는 MAC(공격자) 주소 CC)
스니핑 기법(2) • ARP Redirect 공격 • 공격자가 게이트웨이인 것처럼 위조된 MAC을 네트웍 상에Broadcast한다. • LAN 상의 모든 호스트들은 공격자의 ARP Cashe 정보를 갱신 • 게이트웨이로 가는 모든 패킷을 공격자를 거처가게 된다.
스니핑 기법(4) • ICMP • 네트웍 에러 메시지 및 네트웍 흐름을 통제하기 위한 프로토콜 • ICMP Redirect • 하나의 네트웍에 여러 개의 라우터가 있을 경우 호스트가 패킷을 올바른최적 경로의 라우터에게 보내도록 알려주는 역할 • ICMP Redirect 공격 • 다른 세그먼트에 있는 호스트에게 위조된 ICMP Redirect 메시지를보내 공격자의 호스트로 패킷을 보내도록 하여 패킷을 스니핑하는 방법
스니핑 방지 대책 • 암호화 • SSL, SSH, VPN • 스위칭 환경의 네트워크 구성 • 상용 스니퍼를 사용하여 탐지
ettercap 개요 ettercap.sourceforge.net • Man in the middle attack 공격을 위한 종합 선물세트 툴 • MITM : ARP poisoning, icmp redirection, dhcp poisoning, port stealing • SSH1, SSL 암호화 sniffing. • 연결된 세션에 data, character injection. • Packet filtering 또는 dropping. • Password 수집 • Passive OS fingerprint • Sniffing 하는 동안 연결 된 호스트들간의 Connection 을 kill 가능 • 프리웨어, 오픈 소스
Ettercap 주요 프로그램 구성 etter.conf 등 설정 파일 etterlog 바이너리 로그파일 ettercap Text editor 노트패드 등등 텍스트 주요정보파일 바이너리 필더설정파일 텍스트 로컬 호스트정보파일 etterfilter 텍스트 필터설정파일
필요 라이브러리 • 리눅스/유닉스에서 컴파일 및 실행 하는 경우 • 필수: libpcap >= 0.8.1, libnet >= 1.1.2.1, Libpthread, zlib • 옵션libltdl (plugin 지원), libpcre (perl regexp 지원), openssl 0.9.7 (SSH, SSL 지원), ncurses 5.3 이상 (cursed GUI)GTK+ GUI pkgconfig 0.15.0 이상, Glib 2.4.x 이상, Gtk+ 2.4.x 이상, Atk 1.6.x 이상, Pango 1.4.x 이상 • 윈도우에서 실행 하는 경우 • 필수: winpcap • 실행 파일: ettercap-NG-0.7.3-win32.exe
UI • -T Text only • -C Ncurses 기반 GUI • -G GTK2기반 GUI
스니핑 모드 - Unified, Bridged Unified - 단일 NIC에서 스니핑 Bridged - Inline 방식으로 분석 후 전달
호스트 - 로컬 호스트 의미 세부 정보 없음
프로파일 - 탐지된 호스트 정보 세부 정보: 감지된 호스트 IP, MAC, OS, 서비스, 암호 (컬럼에 X 경우)
탐지된 연결 정보 세부 정보: 감지된 호스트 IP, MAC, OS, 서비스, 암호 (컬럼에 * 경우)
연결 트래픽 데이터 흐름에 따라 보기, 호스트에 따라 개별적으로 보기
MITM - 해킹위해 Redirect (경로 재설정) Target - 대상관계 깊음 • ARP poisoning • 특정 타겟의 ARP cache를 망침ettercap으로 트래픽을 redirect 가능해짐 • ICMP redirect • 더 좋은 라우팅 경로라고 속임 • ettercap으로 트래픽을 redirect 가능해짐 • Port stealing <- 스위치의 포트 • 스위치 환경에서 ARP 포이즈닝이 효과 없을 경우 스니핑에 유용 • ARP 패킷 대량 발생 시킴 • DHCP spoofing • 게이트웨이 주소 조작하여 IP 설정 정보 제공
외장 툴: etterfilter, etterlog • etterfilter : 내용 필터링 엔진을 위한 필터 컴파일러 • 바이너리 형태로 필터 파일 생성 • 필터 내용은 순차적이며 if 조건 가능, loop 지원 않음 • C와 유사 • etterlog : ettercap에서 생성한 로그 보기 프로그램 • 콘솔 커맨드
시나리오(1) • Live connections 이용 • Live connections 를 계속적으로 탐지 • 호스트별 Profile 이 업데이트되는 것을 확인한다. • Resolve IP Address를 선택하여 IP Address를 도메인으로 전환
시나리오(2) • ID, PW 스니핑 (http) • www.daum.net에 접속 • ID/PW를 입력하고 로그인한다. • Ettercap 창에 ID/PW 정보가 뜨는 것을 확인한다. • ID, PW 스니핑 (ftp) • ftp superuser.co.kr 에 접속 • ID/PW를 입력하고 로그인한다. • Ettercap 창에 ID/PW 정보가 뜨는 것을 확인한다. • ID, PW 스니핑 (telnet) • telnet 10.3.254.36 에 접속 • ID/PW를 입력하고 로그인한다. • Ettercap 창에 ID/PW 정보가 뜨는 것을 확인한다
시나리오(3) • Nmap 스케닝 • nmap –sS –O 10.3.xxx.xx –p 1-1024 • Ettercap 의 [view]-[connections]에서 패킷이 탐지되는 것을확인한다.
시나리오(4) • Passive OS Fingerprinting • Sniffing 후 View -> Profiles 선택 (Etter) • Localhost 에서 www.empas.com로 접속을 시도한다. (Local) • Host name => www.empas.com란을 Double Click!! 한다. (Etter) • Profile details 창이 뜨면서 해당 사이트의 다양한 서버 정보를 확인하다. (Etter) • MITM Attack (ARP Poisoning) • 내부 host <-> gateway, ARP Poisoning 후 • 내부 host -> 외부 telnet 연결 • ID/PW sniffing, data (character) injection, kill connection
시나리오(5) • MITM Attack (DNS Spoofing) • /share/etter.dns 에서 특정 사이트에 대한 ip 를 다르게 세팅한다. • cmd(win) 창에서 nslookup 으로 www.empas.com확인 (세팅 전) • Ettercap 을 실행 후 sniffing 모드에서 DNS_spoof 플러그인 적용 • cmd(win) 창에서 nslookup 으로 www.empas.com확인 (세팅 후)
참고 사이트 • ettercap.sourceforge.net • http://www.milw0rm.org/