본문 바로가기

Security/Network Hacking

스푸핑(Spoofing)

첨부파일



스푸핑(Spoofing)

- Spoof란 단어의 사전적 의미는 'hoax; trick; swindle 골탕 먹이다.; 속여먹다.; 야바위(치다), 우롱, 사취'이다.

- 즉 해커가 악용하고자 하는 호스트의 IP 어드레스를 바꾸어서 이를 통해 해킹을 하는 것을 IP 스푸핑이다.

- 네트워크 시스템에서 서로 신뢰관계에 있는 A, B 두 시스템간에는 A 시스템의 계정 가지고 B 시스템을 액세스 할 수 있다.

- 이는 네트워크에서 신뢰관계를 형성하는 서비스가 네트워크 주소에 기반하여 이를 인증하기 때문이다. 이로 인해 IP 스푸핑이 가능해 진다.

- IP 스푸핑은 이 신뢰관계에 있는 두 시스템 사이에서 해커의 호스트를 마치 하나의 신뢰관계에 있는 호스트인 것처럼 속이는 것이다.

- 또한 IP 스푸핑과 항상 연동돼 사용되는 공격법으로 TCP sequence number guessing attack을 들 수 있다.

 

※ 내용출처 : http://exerceo.egloos.com/

 

 

 

[실습] fping과 arp명령어를 이용하여 시스템의 IP와 MAC 주소 수집하시오.

1. 일단 공격하고자 하는 네트워크 대역을 fping 명령어를 이용하여 검색한다. (활성화 되어있는 IP 주소들이 나오게 된다)

 

 

2. 위의 과정에서 IP주소를 인식하였으므로 arp명령어를 사용하면 그 IP주소에 상응하는 MAC 주소가 나오게 된다.

 

 

 

ARP 스푸핑

- 공격 대상 컴퓨터와 서버 사이의 트래픽을 해커 자신의 컴퓨터로 우회시킬 수 있다.

- 우회된 트래픽 으로부터 해커는 패스워드 정보 등 유용한 정보를 마음껏 획득할 수 있다.

 

 

 

[실습] ARP 스푸핑을 이용하여 스니핑을 하시오.

- Telnet Server로 사용 할 리눅스 페도라 컴퓨터를 Telnet Server를 구축하고, Telnet Client는 Windows XP를 사용하여 접속한다.

- 공격자는 ARP 스푸핑을 하여 클라이언트가 서버의 MAC 주소를 자신의 MAC주소로 인식하도록 한다.

 

1. 공격자는 프로미스큐어스 모드로 전환하도록 하고 파일 첨부된  fake-1.1.2-1.i386.rpm를 설치하도록 한다.

 

 

2. 공격자는 서버와 클라이언트의 MAC주소를 알아내기 위해 ping 명령어를 사용한다.

 

 

3. 위의 과정에서 ping사용하였으므로 arp -a 명령을 통해 MAC 주소를 알아낼 수 있다.

 

 

4. fragrouter를 실행하여 스니핑한 패킷을 릴레이 가능하도록 한다.

 

 

5. 추가로 tcpdump를 하여 패킷을 확인하도록 한다. 

 

 

6. 별도로 패킷을 상세히 확인하고자 하는 경우 wireshark를 사용하는 것도 좋다.

 

 

7. ARP 스푸핑 명령어가 사용이 안되는 경우가 있는데 eth0 장치에서만 가능한 경우가 있기 때문이다.

    보통 VMware같이 가상으로 실습하는 경우에 eth1이나 eth2로 생성되는 경우가 있다. 그럴경우 다음과 같이 한다.

    /etc/udev/rules.d로 이동하여 70-persistent-net.rules를 수정한다.

 

 

8. 위의 eth0과 eht1을 서로 바꾸도록 한다. (원래는 순차적으로 0, 1, 2... 로 되어있다.)

 

 

9. ifconfig 명령어를 사용하면 eth0으로 변환되어 있음을 알 수 있다(필자의 경우 eth1로 되어있었다.)

    그리고 난 후 arp 스푸핑 명령어를 사용한다.

    명령어 구성으로는 send_arp [텔넷 서버의 IP 주소] [공격자의 MAC주소(위장)] [클라이언트의 IP 주소] [클라이언트의 MAC 주소] 이다.

 

 

10. 일단 Telnet Server로 가서 service xinetd start 를 하여 텔넷 서비스를 시작한다.

 

 

11. 클라이언트 PC에서 서버의 MAC주소를 확인한다 (아직 변하지 않았고, 시간이 조금 걸린다)

 

 

12. 변화가 없을 경우 공격지에서 send_arp를 계속 사용해보도록 한다.

      시간이 지남에 따라 서버의 MAC주소는 공격지의 MAC주소로 변했음을 알 수 있다.

 

 

13. 클라이언트에서 텔넷에 접속하여 본다.

 

 

14. 클라이언트가 서버로 접속하였으므로 공격지에서는 그 패킷을 분석하여 스니핑이 가능하다.

 

 

 

 

DNS 스푸핑

- DNS 프로토콜은 인터넷 연결시 도메인 주소를 실제 IP 주소로 대응시켜 주는 프로토콜이다.

- 인터넷 연결시 사용하는 DNS 서버가 IP 주소를 찾아달라는 요청을 받았을 때, 자기 자신의 도메인이 아닌 주소에 대해서는 보다 상위 단의

   DNS 서버로부터 재귀적(recursive)인 방식으로 IP 주소를 찾아 알려준다.

- 만약 해커가 어떤 도메인의 DNS 컴퓨터를 장악하여 통제하고 있다면 최종적으로 얻어진 IP 주소는 원래 사용자가 찾아가고자 하였던 홈페이지가

   아닌 다른 홈페이지로 연결되게 된다.

- 이는 요청을 발송했던 DNS와 응답을 주는 DNS 사이의 트래픽을 해커가 스니퍼링함으로써 Query ID라는 값을 통해 해커의 사이트 IP를 최종 응답으로

   넘겨주도록 하는 것이다.

- 사용자가 쇼핑몰을 이용하고자 하였다면 해커에 의해 조작된 홈페이지 내에서 자신의 아이디와 필드, 신용 카드 정보를 기입함으로써 개인 정보를

   탈취당할 수 있다.

- 위와 같은 스니핑 공격들은 실제로 인터넷 상의 툴로써 공개가 되어 있으며 여러가지 다른 복합적인 공격과 같이 사용될 수 있다.

 

 

 

 

[실습] 페도라와 XP OS를 각각 준비하여 DNS 스푸핑을 하시오.

 

 

1. 공격지 컴퓨터에서 웹 서버 구축을 하고 서비스를 시작한다.

 

 

2. 공격지 웹 서버의 기본 홈페이지가 정상적으로 동작하는 것을 알 수 있다.

 

 

3. 웹의 내용을 수정하고, 피공격자가 자주 이용하는 사이트를 Webzip과 같은 프로그램을 통해 위장하여 계정과 패스워드를 갈취할 수도 있다.

    필자는 간단하게 홈페이지를 수정하여 보았다. (이렇게 만들어진 홈페이지를 피공격지에서 www.naver.com에 접속하면 이 페이지에 접속하게 된다)

 

 

4. 공격지의 dsniff파일을 수정하도록 한다.

 

 

5. 피공격자가 자주 들어가는 사이트 중 하나인 naver.com의 홈페이지를 자신의 웹 서버 홈페이지로 우회시키도록 할 것이다.

 

 

6. arpspoof를 사용하여 피공격지의 게이트웨이를 자신으로 향하도록 설정한다.

 

 

7. fragrouter를 사용하여 스니핑한 패킷을 릴레이 가능하도록 한다.

 

 

8. dsniff의 기능 중 하나인 dnsspoof를 사용하여 피공격지가 dnsspoof.hosts파일에 등록된 설정으로 접속하도록 한다.(위에서 설정)

 

 

9. 피공격지에서 www.naver.com에 접속하면 공격지에서 생성한 웹 서버의 홈페이지에 접속하게 된다.

 

 

 

 

IP 스푸핑

- IP 스푸핑은 말 그대로 IP 정보를 속여서 다른 시스템을 공격하는 것이다.

- IP 스푸핑을 통해 서비스 거부 공격(TCP Syn flooding, UDP flooding, ICMP flooding)을 수행할 수도 있다.

- 또한, 공격대상 컴퓨터와 서버 사이의 연결된 세션에 대해서 세션 끊기도 가능하다.

 

 

 

E-mail 스푸핑

- 이메일 발송시 송신자의 주소를 위조하는 것이다.

- 요즘 들어서 극성인 대량의 스팸 메일과 바이러스 감염 메일은 송신자의 주소가 아예 존재하지 않는 이메일 주소를 사용한다.

- 또한 이메일을 발송한 메일 서버 또한 직접적인 메일 발송 서버가 아닌 중계 서버이므로 메일을 발송한 자를 추적하기란 쉽지 않다.

 

 

 

 

스푸핑을 막기 위한 대책 
암호화된 Protocol을 사용

- 속도가 느려지고 사용이 아직 보편화되어 있지 않다.

 

 

IP로 인증하는 서비스는 사용하지 않음

- 사용이 상당히 불편해 진다.

 


Router에서 source routing을 허용하지 않음

- 내부 사용자끼리의 IP Spoofing은 막을 수 없다.

 


Sequence number를 Random하게 발생시키도록 함

- Sequence number를 sniff할 수 있는 경우에는 막을 수 없다.

 


DoS가 발생하지 않도록 함

- IP Spoofing의 시작은 DoS이다.

[출처] 스푸핑(Spoofing)|작성자 Stein

'Security > Network Hacking' 카테고리의 다른 글

스니핑(Sniffing) - Part 2  (0) 2012.07.13
스니핑(Sniffing) - Part 1  (0) 2012.07.13
목록화(Enumeration)  (0) 2012.07.13
풋프린팅(Footprinting)과 스캔(Scan)  (0) 2012.07.13
[무선해킹] 802.11 WPA 크랙  (0) 2012.07.12