Transcript 스니핑

스니핑
-스니핑 공격
-스니핑 공격 툴
-스위칭 환경에서의 스니핑
-스니핑 공격의 대응책
-스니핑 공격스니핑 : 가장 많이 사용되는 해킹(HACKING) 수법으로, 이더넷(ETHERNET) 상에서 전달되
는 모든 패킷(PACKET)을 분석하여 사용자의 계정과 암호를 알아내는 것.
스니핑을 하려면 랜 카드를 스니핑이 가능한 모드로 변경 해야 한다
이것을 프러미스큐어스 모드(PROMISCUOUS MODE)라고 한다.
프러미스큐어스(PROMISCUOUS MODE)
-각 호스트가 통신을 할 때 케이블의 전기 신호를 이용하여 통신을 하는데 이 신호를 받아
MAC 주소를 확인하는 것이 랜카드이다.
랜카드는 자신의 주소로 온 패킷일 경우 상위 계층으로 올려주지만 자신의 주소로 오지 않
은 패킷은 폐기한다.
랜 카드가 프러미스큐어스 모드라는 얘기는 자신의 주소 값을 무시하고 모든 패킷을 받아
들이는 상태를 의미한다.
인터페이스를 프러미스큐어스 모드와 일반 모드로 전환하기
#ifconfig eth0 promisc ---- #ifconfig eth0 -promisc
-스니핑 공격 툴TCP DUMP(티씨피 덤프)
Lawrence Berkley Nation Lab의 Network Research
Group에서 만든 것으로 네트워크의 패킷을 출력해주는 프
로그램이다.
주어진 조건식을 만족하는 네트워크 인터페이스를 거치는
패킷들의 헤더들을 출력해 주는 프로그램이다.
주로 쓰임은 지정된 상대방 호스트로부터 들어오는 패킷을
체크하는데 있다.
명령어 형식
#tcpdump [option] [expression]
옵션
-c count : count 수만큼 패킷을 받음
-e : MAC 주소 형태로 출력
-F filename : file에 expression을 입력
-i interface : 특정 인터페이스 지정
-q quickout : 간결하게 표시
-w filename : Packet을 파일로 저장
-r filename : 저장한 파일을 읽음
-t timestamp : 생략
-v verbose : 자세하게 표시
-x : hex 값으로 표시
-X : hex와 ascii 값으로 표시
표현
type: host, net, port
Ex) host ABC, net 192.168.10.0, port 80
direction: src, dst, src or dst, src, and dst
protocol: ether, fddi, ip, ip6, arp, rarp, tcp, udp, icmp
Ex) ether src XXX
less size:size보다 작은 패킷만 검출
Greater size:size보다 큰 패킷만 검출
Fragrouter(프래그라우터)
스니핑 과정에 있어 받은 패킷을 릴레이해주기 위한 툴이며, 보조 도구로서의 성격이 강
하다.
스니핑을 하거나 세션을 가로채었을때 공격자에게 온 패킷을 정상적으로 전달해주려면
패킷 릴레이가 반드시 필요하다.
공격대상의 세션이 끊어지면 계속 사용할 수 없게 되므로 공격자 역시 스니핑을 계속할
수 없다.
따라서 fragrouter는 스니핑한 세션을 마치 정상적인 것처럼 돌려주기 위해 필요한 것
이다.
Dsniff(디스니프)
Dsniff는 스니핑을 위한 자동화 툴이다. 이것은 단순한 스니핑 툴이 아니라 스니핑을 위
한 다양한 툴이 패키지처럼 묶여져 있다.
SSL과 같은 암호화를 쓰는 통신이 안전하다고 생각하나, Dsniff는 이렇게 암호화된 계
정과 패스워드 까지 읽어내는 능력을 하고 있다
Dsniff가 읽어낼 수 있는 패킷
ftp, telnet, http, pop, nntp, imap, snmp, idap, rlogin, rip, ospf, pptp
ms-chap, nts, yp/nis+, socks, x11, cvs, IRC, ATM, ICQ, PostageSQL, MS SQL등
스위칭 환경에서의 스니핑
Switch 환경에서는 기본적으로 Sniffing이 어려움
허브는 LAN에서 들어오는 모든 신호를 복사해 모든 포트에 브로드캐
스트 패킷인지 유니캐스트 패킷인지에 상관없이 보내준다.
따라서 허브 환경에서의 Sniffing 공격은 간단함
Switch는 포트별로 MAC주소 값을 테이블에 기록하여 브로드캐스트
패킷을 제외한 모든 패킷은 목적하는 장비에만 보내므로 스위치는
Sniffer를 저지하는 것이 가능
ARP Redirect
2계층에서 실시되며 공격은 위조된 ARP Reply 패킷을 보내는 방법을 사용
자신의 MAC주소가 라우터라고 브로드캐스트를 주기적으로 하는 방법
ARP Spoofing: 호스트 vs 호스트 공격
ARP Redirect: LAN의 모든 호스트 VS 라우터
ARP Spoofing에서와 마찬가지로 공격자는 원래 라우터의 MAC주소를 알고 있어야 하
고 받은 패킷은 라우터로 릴레이 해 주어야 함
ICMP Redirect
보통의 네트워크는 라우터나 게이트웨이를 두 개 이상 운영해서 로드밸런싱을 사용
ICMP 공격은 이러한 경우를 강제적으로 만들어 공격하는 방법
공격자가 네트워크에 존재하는 또 다른 라우터임을 각 호스트에게 알림
-ARP Spoofing과의 차이점
ARP Spoofing은 모든 트래픽에 대한 리다이렉트를 가능하게 함
ICMP Redirect는 특정 목적지 주소를 가진 패킷만을 리다이렉트 함
-ICMP Redirect 작동 원리
1.Host가 외부 웹 서버 접속을 요청하기 위해 Routing Table 확인 후 Router에 패킷 전송
2.Router는 외부 웹 서버 접속에 대한 패킷을 확인 후 효율적인 처리를 위해 다른 Router에게 패킷을 전송하도록 Host에
게 ICMP Redirect 패킷을 전송하고 Host는 ICMP Redirect 패킷을 수신 수 Routhing Table의 내용을 추가 또는 변경한
다.
3.Host는 Routing Table에 외부 웹 서버에 해당하는 Routhing Table Entry를 확인 후 패킷 전송
-ICMP Redirect를 이용한 Sniffing
ICMP Redirect를 이용하여 목적지가 168.126.63.1에 해당하는 요청은 실제 라우터가 아닌 해커시스템으로 패킷이 전송
되도록 한다.
스위치 재밍(MACOF)
-스위치를 직접 공격하는것
-해킹 공격 중에 버퍼오버플로우 공격은 버퍼를 공격해서 시스템을 다운 시키거나 오작동을 유방
함
-루트(Root)권한을 얻어내는데 쓰이기도 함
-스위치도 하나의 시스템으로 생각할 수 있다. CPU와 같은 연산자가 있으며 MAC Table을 저장
하기 위한 저장 공간이 존재함.
-스위치 재밍은 MAC Table을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시하는 것과 같다.
-MAC Table이 저장 용량을 넘으면 스위치는 원래의 기능을 잃게 되어 더미 허브와 똑같이 작동한
다.
SPAN 포트 태핑(Tapping)
Span 포트 태핑은 포트 미러링(Port Mirroring)을 이용한 것이다.
포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것이다.
침입탐지 시스템이나 네트워크 모니터링 또는 로그 시스템을 설치할 때 많이 사용한다.
스위치에서 스니핑을 하기 위해 특별히 설정하고 장치한다.
스니핑 공격의 대응책
1.스니퍼 탐지
※ ping을 이용한 방법
※ ARP를 이용하는 방법
※ DNS 방법
※ 유인(Decoy)방법
※ ARP watch
2.암호화
※ SSL(Secure Socket Layer)
※ PGP(Pretty Good Privacy)와 PEM(Privacy Enhanced Mail),, S/MIME
※ SSH(Secure Shell)
※ VPN(Virtual Private Network)
※스니퍼를 탐지 한다.
Ping을 이용한 방법 : 자신에 해당하지 않는 ping에도 ICMP Echo Reply를 되돌려 보낸다.
ARP를 이용한 방법 : 위조된 ARP Request를 보냈을 때 ARP Response를 되돌려 보낸다.
DNS방법 : 일반적으로 스니핑 프로그램은 스니핑한 시스템의 IP주소에 대한 운 이름 해석을 수행
한다.
유인방법 : 가짜 계정과 패스워드를 네트워크에 뿌린 후 이 계정과 패스워드를 이용하여 접속을 시
도하는 공격자 시스템을 탐지한다.
ARP watch : 초기에 MAC주소와 IP주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를
변하게 하는 ARP패킷을 탐지한다.
※ 웹 도는 네트워크에서는 다음과 같이 암호화하는 것이 좋다.
SSL : 암호화된 웹 서핑을 가능하게 해주며, 40비트와 128비트 두 가지 암호화키 사용
PGP와 PEM, S/MIME : 이메일을 전송할 때 사용하는 암호화
SSH : 텔넷과 같은 서비스의 암호화
VPN : 공용 회선을 이용한 사설 암호화 망