*스니핑이란??
네트워크상에서
자신을 목적으로 하지않는 패킷을 탐지하는행위
• 프러미스큐어스
모드(Promiscuous mode)
• 랜카드가
자신이 목적지가 아닌 패킷을 상위 레이어로 전송하는 모드
• 유닉스는 OS 레벨에서
제공한다.
• 고가용성 패킷 스니핑 장비는 네트워크 감시와 분석을 위해서 사용된다.
// 투명방화벽은 IP address가 필요가 없다.
*프러미스큐어스 모드(Promiscuous mode)
# ifconfig [장치명] [+/-] promisc
장치의 프러미스큐어스 모드를 활성화 하거나 비활성화 한다.
# ifconfig eth0 promisc
// netstat -rn 으로 인터페이스명 확인가능
*패킷 스니핑 도구
다양한
스니핑 프로그램
• 와이어샤크, TCPDUMP…
GUI
인터페이스의 손쉬운 운영 가능
캡쳐를
위한 필수 라이브러리 : Pcap, WinPcap
• 프러미스큐어스 모드(Promiscuous
mode)에서 패킷에 대한 캡처를 진행한다.
• windows의
경우 OS레벨에서 프러미스큐어스 모드를 지원하지 않는다.
필터링
기능으로 다양한 조건의 패킷을 스니핑 할 수 있다.
*Tcpdump
관리를
위한 툴로 Snort의 기반이 된다.
- 기능
• 이더넷의
모든 패킷을 다양한 형식으로 캡쳐한다.
- 시스템들 사이에 송수신 되는 패킷 헤더 혹은 패킷 전체 캡쳐
- 특정 포트번호 (혹은, 특정 서비스)로 송수신 되는 패킷 헤더 혹은 패킷 전체를 캡쳐
- 캡쳐된 내용을 특정 파일에 저장할 수 있다.
설치
확인
# rpm -qa |
grep tcpdump
tcpdump-3.XXX
명령
#
tcpdump -[옵션 값], …
옵션
- i [장치명]
- tcp port [포트번호]
- host [ip]
- xX : 패킷의 내용전체 캡쳐
- w : 내용을 파일로 저장 (r : 읽기)
ex>
# tcpdump -xX -i eth0 tcp and host 192.168.10.1
# tcpdump -xX -i eth0 arp and dst host 192.168.10.3
# tcpdump -xX -i eth0 tcp port 23 and src host 192.168.10.3
# tcpdump -xX -i eth0 -w dump.cap
//
src dst
*Tcpdump 를 이용한 스니핑
*Tcpdump 를 이용한 스니핑
192.168.11.47(공격자 시스템)에서 tcpdump 실행
# tcpdump
-xX -i eth0 tcp port 23 and host 192.168.11.17 > 11.17
192.168.11.7(클라이언트)에서
192.168.11.17(Telnet) 서버로 접속
접속 후
캡쳐 종료
아이디및 패스워드 확인 (pdf 파일
참조)
*Dsniff
DSniff는 스니핑을
위한 자동화 도구다. 많이 알려진 툴이며, 단순한 스니핑
도구가 아니라 스니핑을 위한 다양한 툴이 패키지처럼 만들어져 있다.
한국계
미국인 송덕준이 개발한 해킹도구.
미국 연방수사국(FBI)의 범죄 용의자 추적용인 카니보어 (carnivore), 이 카니보어에 맞서기 위해 해커들이 개발한 알트보어(altvore)와 함께 대표적인 스니핑(sniffing) 소
프트웨어로
꼽힌다.
Dsniff가 지원하는 프로토콜
• ftp, telnet, http, pop, nntp, imap, snmp,
ldap, rlogin, rip, ospf, pptp, ms-chap, nfs, yp/nis+, socks,
x11, cvs, IRC, ATM,
ICQ, PostageSQL, Citrix ICA,
Symantec pcAnywhere, M.S. SQL, auth, info
CentOS
5,6,7 설치 가능
- epel에서 제공
*Dsniff tool
*Dsniff 설치
Epel에서 제공되지만 Public Key 문제로 설치 되지 않을 수 있다.
• /etc/yum.repos.d/epel.repo 파일내에 설정을 변경한다.
gpgcheck=1 -> gpgcheck=0
*Dsniff를 이용한 스니핑
공격자에서 Dsniff를 실행한 후 192.168.11.7에서 192.168.11.17 서버로 telnet 접속한다.
데이터는
telnet 접속이 종료하면 보인다.
urlsnarf를 이용한
httpd 스니핑
• 웹서비스에
접속만을 스니핑하는 전문 툴
*스위칭 환경에서 스니핑
스위칭 환경에서는 기본적으로 스니핑이 어렵다. 스위치는 2계층 장비다. 2계층 네트워크에서는 원래 허브가 쓰였다. 허브는 랜에서 들어오는 모든 신호를 복사해서 모든 포트에 다시 뿌려주는 역할을 한다. 따라서 브로드캐스트(Broadcast)패킷인지 유니캐스트(Unicast) 패킷인지에 상관없이 모든 포트에 보내주므로
스니퍼에게 스니핑을 이용한 공격은 간단하다.
스위치는 포트별로 MAC 주소 값이 기록하여 브로드캐스트 패킷을 제외한 모든 패킷은 그 패킷이 목적하는 장비에만 보낸다. 스위치는 스니핑을 막기 위해 만들어진 장비는 아니지만 결과적으로 스니퍼를 저지하는 치명적인 장비가 되었다.
*ARP 리다이렉트
ARP
리다이렉트
• ARP 리다이렉트
공격은 기본적으로 2계층에서 실시된다. 공격은 위조된 ARP reply 패킷을
보내는 방법을 사용한다. 자신의
MAC 주소가 라우터라며 브로드캐스트를 주기적으로 하는
것이다.
• ARP 스푸핑는
호스트 대 호스트 공격이며, ARP 리다이렉트는 랜의 모든 호스트 대 라우터라는 것 말고는 큰 차이점이 없다. ARP 스푸핑에서와
마찬가지로 공격자 자신만은 원래 라우터의 MAC 주소를 알고 있어야 하며 받은 모든 패킷은 다시 라우터로 릴레이해 주어야만
한다
*패킷 릴레이를 위한 Fragrouter
fragrouter는 스니핑을 보조하는 도구이다.
스니핑에
의해 패킷이 목적지에 도달하지 못하는 상황을 방지한다.
*Fragrouter 설치및 구동
Fragrouter
설치전 gcc, libnet 패키지와 libpcap 패키지가
설치 되었는지 확인한다.
fragrouter-1.6.tar.gz
소스를 다운 받아 설치한다.
1. # tar xvfz fragrouter-1.6.tar.gz
2. # cd fragrouter-1.6
3. # ./configure
4. # make
5. # make install
- make install 하지 않아도 사용은 가능하다.
설치된 fragrouter를
구동 패킷을 포원딩한다.
# fragrouter
–B1
라이브러리
재구성 후 다시 설치한다.(CentOS 6 이상)
1.
추가 패키지 설치
# yum install byacc flex bison audit
2.
fragroute 하위 Libnet-0.99b 디렉토리에서
# make clean
# ./configure
# make
3.
fragroute 하위 libpcap-0.4 디렉토리에서
# make clean
# ./configure
# make
4.
fragroute 디렉토리에서
# make clean
# ./configure
# make
# make install
*ARP 리다이렉트 공격
1.
공격 대상 시스템의 arp 테이블을
확인한다.
• 192.168.11.1 (라우터)의
MAC주소는 00-50-56-e3-5f-58 이다.
2.
패킷의 포워딩을 위해 fragrouter를
실행한다.
# fragrouter –B1
3.
arpspoof를 이용 arp 리다이렉트
공격을 실행한다.
# arpspoof -i eth0 -t 192.168.11.7 192.168.11.1
4.
공격 대상 시스템의 arp 테이블을
확인한다.
• 192.168.11.1 (라우터)의 MAC주소는 00:50:56:E3:5F:58 에서 00:0C:29:81:F7:0F
으로 바뀌었다.
• ARP 리다이렉트중
공격대상의 인터넷이 정상적으로 작동하는지 확인한다.
• Tcpdump를
이용 공격 대상의 패킷을 스니핑한다.
• arpspoof 프로그램을
종료하면 원래 주소로 돌아온다.
게이트 웨이로 공유기를 사용하는 경우에 일부 제품에서는 지속적으로 ARP 패킷을
발생시키는 기능이 있어서 공격이 정상적으로 이뤄지지 않는 경우도 있다.
*스위치 재밍 공격 (Switch Jamming)
스위치
재밍(Switch Jamming)은 스위치를 직접 공격한다.
스위치
재밍은 MAC 테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시하는 것이라고 생각해도 무리가 없다. MAC테이블이
저장 용량을 넘으면 스위치는 원래의 기능을 잃게되어 더미 허브와 똑같이 작동한다
댓글 없음:
댓글 쓰기