Presentation is loading. Please wait.

Presentation is loading. Please wait.

6 풋프린팅과 스캐닝.

Similar presentations


Presentation on theme: "6 풋프린팅과 스캐닝."— Presentation transcript:

1 6 풋프린팅과 스캐닝

2 학습목표 내용 풋프린팅(footprinting)이 무엇인지 안다. 포트와 서비스의 관계를 이해한다.
다양한 스캔 기술을 이해하고 실행할 수 있다. 방화벽과 IDS를 탐지할 수 있다. 운영체제를 탐지할 수 있다. 내용 풋프린팅(Footprinting) 스캔 운영체제의 탐지 방화벽과 침입 탐지 시스템의 탐지

3 풋프린팅 풋프린트(footprint)는 발자국
풋프린팅(footprinting)은 발자국을 살펴보는 것으로, 공격 대상의 정보를 모으는 방법 중 하나

4 스캔 서비스를 제공하는 서버의 존재 여부와 해당 서버가 제공하고 있는 서비스를 확인하는 것
TCP 기반 프로토콜은 기본적으로 요청(request)을 보내면 응답(response)을 전달. 스캔은 이런 원리를 기반으로, 전화를 걸었을 때 한 쪽에서 ‘여보세요’라고 말하면 다른 쪽도 ‘여보세요’라고 말하며 서로를 확인하는 것

5 ping과 ICMP 스캔 ping ICMP를 이용해 공격 대상 시스템의 활성화 여부를 알아보는 방법
네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티 ICMP를 사용하며, 기본적으로 TCP/IP 네트워크에서 사용 ICMP를 이용해 공격 대상 시스템의 활성화 여부를 알아보는 방법 Echo Request(Type 8)와 Echo Reply(Type 0)를 이용한 방법 Timestamp Request(Type 13)와 Timestamp Reply(Type 14)를 이용한 방법 Information Request(Type 15)와 Information Reply(Type 16)를 이용한 방법 ICMP Address Mask Request(Type 17)와 ICMP Address Mask Reply(Type 18)를 이 용한 방법

6 ping과 ICMP 스캔 윈도우 XP 시스템에서 다른 윈도우 XP 시스템으로 ping 실행     
➋ 공격 대상에서 보내온 ICMP Echo Reply 패킷의 크기다. 공격자가 보낸 패킷과 크기가 같은 패킷이 돌아온다. ➌ Echo Request 패킷을 보낸 후 Reply 패킷을 받기까지의 시간이다. 공격 대상이 같은 네트워 크에 존재하여 시간이 무척 짧다. ➍ TTL(Time To Live) 값으로, 라우팅 정보가 잘못되어 패킷이 네트워크를 무한대로 돌아다니지 않도록 최초 라우터를 제외한 라우터 하나를 지날 때마다 값이 1씩 줄어든다. ➎ Request 패킷의 개수, Reply 패킷의 개수, 손실된 패킷의 개수를 보여준다. ➏ Request 패킷을 보낸 후 Reply 패킷이 오기까지의 시간에 관한 정보를 알려준다.    

7 ping과 ICMP 스캔 운영체제별 TTL 값(표 6-1)

8 ping과 ICMP 스캔 리눅스에서의 ping 실행

9 ping과 ICMP 스캔 라우터나 방화벽 등에서 ICMP Echo Request 패킷을 막는 경우
Timestamp Request 패킷 이용 Timestamp Request는 원격지 시스템의 현재 시각을 알아보기 위한 패킷 Timestamp Request 패킷은 송신자가 패킷을 보낸 시각(Originate Timestamp)과 수신자가 패 킷을 받은 시각(Receive Timestamp), 송신자가 수신자에 전송하는 동안 걸린 시간(Transmit Timestamp)으로 공격 대상의 현재 시스템 시각을 알 수 있게 해줌 하지만 Timestamp Request 패킷에 Reply 패킷을 돌려보내는 시스템이 시간만 알려준다고 생각 할 수는 없음. 상대 시스템의 Reply 패킷이 돌아온다는 것은 상대 시스템이 활성화되어 있음도 말하는 것 Information Request 패킷 이용 Information Request와 Reply는 메인 프레임의 단말기처럼 부팅할 때 자신의 디스크가 없는 시 스템이 스스로 IP를 설정할 수 있도록 하는 패킷으로, 자신의 네트워크를 찾기 위해 개발됨. 기본 목적은 RARP, Bootp, DHCP 같은 프로토콜과 같으나 다른 프로토콜을 이용한 방법에 비해 원시적이라고 할 수 있음 Timestamp Request 패킷처럼 죽은 시스템은Reply 패킷을 보내오지 않을 것 ICMP Address Mask Request와 Reply 패킷 이용 Information Request 패킷처럼 단말기가 부팅될 때 자신이 속한 네트워크의 서브넷 마스크를 알 기 위해 보냄 Reply 패킷이 돌아오는지 확인함으로써 상대 시스템의 활성화 여부를 확인

10 ping과 ICMP 스캔 운영체제별 Non Echo ICMP 패킷의 작동 여부(표 6-2)

11 TCP와 UDP를 이용한 스캔 시스템 자체의 활성화 여부가 아닌 포트 스캔(port scan)을 함 TCP Open 스캔(1)
포트가 열려 있으면 해당 시스템은 활성화되어 있는 것 TCP Open 스캔(1) 열린 포트에 대해 완전한 세션을 성립시킴으로써 포트의 활성화 상태를 파악하는 것 작동하리라고 예상하는 포트에 세션을 생성하기 위한 SYN 패킷을 보내면, 포트가 열린 경우 서버에서 SYN+ACK 패킷이 돌아오고 공격자는 다시ACK 패킷을 보냄. 포트가 닫 혀 있는 경우에는 RST +ACK 패킷이 돌아오고 공격자는 아무 패킷도 보내지 않음

12 TCP와 UDP를 이용한 스캔 TCP Open 스캔(2)
Open 스캔 중에는 세션을 성립한 상태에서 원격지 서버에서 데몬을 실행하고 있는 프로 세스의 소유권자를 확인하기 위한 Reverse Ident라는 스캔 방법이 있음. Reverse Ident 스캔은 세션을 성립한 후에 113번 포트를 염. 113번 포트는 사용자 인 증을 위해 사용되는 포트지만, 이 서비스는 보통 중지되어 있음

13 TCP와 UDP를 이용한 스캔 스텔스 스캔 세션을 완전히 성립하지 않고, 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 공격 대상 시스템에 로그가 남지 않음 TCP Half Open 스캔 SYN 패킷을 보내면, 포트가 열린 경우 서버는 SYN+ACK 패킷을 보내고 공격자는 즉시 연결을 끊는 RST(Reset) 패킷을 보냄. 포트가 닫힌 경우는 RST+ACK 패킷이 돌아오고 공격자는 아무 패킷도 보내지 않음

14 TCP와 UDP를 이용한 스캔 FIN, NULL, XMAS 스캔
FIN(Finish) 패킷을 보내 포트가 열린 경우에는 응답이 없고, 포트가 닫힌 경우에만RST 패킷이 되돌아옴 NULL과 XMAS 패킷을 보내도 같은 결과를 얻을 수 있음. NULL은 플래그(flag)값을 설정하지 않고 보낸 패킷, XMAS는 ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷

15 TCP와 UDP를 이용한 스캔 ASK 패킷 스캔 TCP 단편화 스캔 시간차 스캔
ACK 패킷을 포트 하나가 아니라 모든 포트에 보내고, ACK 패킷을 받은 시스템은 이에 대한 RST 패킷을 보냄 공격자는 RST 패킷의 TTL 값과 윈도우 크기 분석 포트가 열린 경우 TTL 값이 64 이하인 RST 패킷이 돌아오고, 윈도우가 0이 아닌 임의의 값을 가 진 RST 패킷이 돌아옴. 포트가 닫힌 경우에는 TTL 값이 운영체제에 따라 일정하게 큰 값이며, 윈도우의 크기가 0인 RST 패킷이 돌아옴 TCP 단편화 스캔 크기가 20바이트인TCP 헤더를 패킷 두 개로 나누어 보내는 것 첫 번째 패킷에 출발지 IP 주소와 도착지 IP 주소를, 두 번째 패킷에 스캔하고자 하는 포트 번호가 있는 부분을 보냄 첫 번째 패킷은 TCP 포트에 대한 정보가 없기 때문에 방화벽을 통과하고, 두 번째 패킷은 출발지 주소와 목적지 주소가 없어 방화벽을 지날 수 있음 시간차 스캔 아주 짧은 시간 동안 많은 패킷을 보내는 방법과 아주 긴 시간 동안 패킷을 보내는 방법이 있음 아주 짧은 시간 동안 많은 패킷을 보내는 방법은 방화벽과 IDS의 처리 용량의 한계를 넘김 긴 시간 동안에 걸쳐서 패킷을 보내는 방법은 방화벽과 IDS가 패킷 패턴에 대한 정보를 얻기 힘 들기 때문에 공격자의 스캔을 확인하기 힘들게 함

16 TCP와 UDP를 이용한 스캔 UDP 스캔 UDP 패킷이 네트워크를 통해 전달되는 동안 라우터나 방화벽에 의해 손실될 수 있기 때문에 신뢰하기 어려움

17 실습 6-1 다양한 방법으로 스캔하기    실습환경 관련 툴 설치와 사용법 익히기 1-0 관련 명령어 사용법
관련 툴 설치와 사용법 익히기 1-0 관련 명령어 사용법 yum list [패키지 명칭, * 사용 가능] yum install [패키지 명칭, * 사용 가능] yum erase [패키지 명칭, * 사용 가능] 1-1 fping 설치 ➊ yum list fping* ➋ fping.i686 패키지 확인 ➌ yum install fping.i686 • 공격자 시스템 : 윈도우 XP와 리눅스 페도라 12 • 공격 대상 시스템 : 윈도우 서버 2003 • 필요 프로그램 : fping, hping3, sing, nmap 실습환경 1

18 실습 6-1 다양한 방법으로 스캔하기 1-2 sing와 nmap 설치 ➊ yum list sing*
➋ yum install sing.i686 ➌ yum list nmap* ➍ yum install nmap.i686 fping을 이용해 스캔하기 : fping 실행 fping -g /24 2

19 실습 6-1 다양한 방법으로 스캔하기 sing을 이용해 스캔하기 : sing 실행 3
sing -c 1 -tstamp 3

20 실습 6-1 다양한 방법으로 스캔하기 nmap 이용해 스캔하기 4-1 nmap Open 스캔 nmap -sT 4

21 실습 6-1 다양한 방법으로 스캔하기 4-2 nmap TCP SYN 스캔 nmap -sS

22 실습 6-1 다양한 방법으로 스캔하기 4-3 nmap FIN 스캔 nmap -sF -p 21,

23 실습 6-1 다양한 방법으로 스캔하기 4-4 nmap fragmentation 스캔 nmap -f -sS

24 실습 6-1 다양한 방법으로 스캔하기 4-5 윈도우용 nmap 실행

25 실습 6-1 다양한 방법으로 스캔하기 nmap 스캔 옵션(표 6-3)

26 실습 6-1 다양한 방법으로 스캔하기 nmap 실행 옵션(표 6-4)

27 운영체제의 탐지 운영체제별로 ping과 TCP, UDP에 대해 각각 조금씩 다른 프로토콜 특성을 보인다. 이러한 특성을 이용하여 운영체제를 탐지 가능 배너 그래빙(banner grabbing) 배너(banner)는 텔넷처럼 원격지 시스템에 로그인하면 뜨는 안내문과 비슷한 것이고배 너 그래빙은 배너를 확인하는 기술 텔넷 배너 그래빙(그림 6-19)  텔넷으로 접속한 시스템이 페도라 12, 커널 버전은 방화벽과 IDS에도 이러한 배너가 있으며, 21, 25, 110, 143번 포트에도 ‘telnet [공격 대상 IP] [공격 포트 번호]’와 같이 입력하여 배너 그래빙을 할 수 있음

28 운영체제의 탐지 TCP/IP에 대한 반응 확인
FIN 스캔을 이용한다. FIN 스캔은 모든 운영체제에 적용되는 것은 아니다. 적용되는 운영체제는 윈도우, BSD, Cisco, IRIS 등이다. 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성을 관찰한다. - 윈도우 : 시간에 따른 시퀀스 넘버 생성 - 리눅스 : 완전한 랜덤 - FreeBSD, Digital-Unix, IRIX, 솔라리스 : 시간에 따른 랜덤한 증분

29 운영체제의 탐지 Netcraft(넷크래프트)의 웹 사이트 이용
시스템 재부팅 주기, 시스템 갱신 주기, 현재 운영체제 버전, 웹 서비스 데몬의 종류와 버전, 마지막으로 갱신 날짜와 IP 주소, 네트워크 소유자를 보여줌

30 실습 6-2 배너 그래빙하기 FTP에 대해 배너 그래빙하기 FTP 포트에 대한 텔넷 telnet 1-2 FTP 포트 접속 ftp • 공격자 시스템 : 리눅스 페도라 12 • 스캔 대상 시스템 : 리눅스 페도라 12 실습환경 1

31 실습 6-1 다양한 방법으로 스캔하기 SMTP 포트에 대해 배너 그래빙하기 SMTP 포트에 대해 배너 그래빙하기 SSH(22), POP3(110)나 IMAP4(143) 등에 대한 배너 그래빙 ➊ telnet ➋ telnet ➌ telnet 2

32 방화벽과 침입 탐지 시스템의 탐지 방화벽은 접속의 허용과 차단 결정. 침입 탐지 시스템(IDS)은 방화벽이 막을 수 없거나 차단에 실패한 공격을 탐지하여 관리자에게 알려줌 방화벽은 traceroute를 이용해 위치 확인 가능 방화벽이 있는 경우 traceroute 결과 traceroute를 수행할 때 VisualRoute를 이용해 패킷의 전달 경로와 서버의 위치처럼 더 많은 정보를 얻을 수 있음

33 방화벽과 침입 탐지 시스템의 탐지 방화벽과 침입 탐지 시스템마다 포트가 달라 고유 포트를 알면 포트 스캔을 통해 종류 파악 가능

34 방화벽과 침입 탐지 시스템의 탐지 방화벽의 ACL(Access Control List)을 알아내는 방법으로 firewalk가 있음 firewalk 원리 ① 방화벽이 탐지되면 방화벽까지의 TTL보다 1만큼 더 큰 TTL 값을 생성하여 보낸다. ② 방화벽이 패킷을 차단할 경우 아무 패킷도 돌아오지 않는다. ③ 방화벽이 패킷을 그대로 보낼 경우 패킷은 다음 라우터에서 사라지며, 라우터는 traceroute 과정처럼 ICMP Time Exceeded 메시지(Type 11)를 보낸다. ④ 공격자는 ICMP Time Exceeded 메시지의 여부를 받은 포트에 대해 열린 포트임을 추 측할 수 있다.

35


Download ppt "6 풋프린팅과 스캐닝."

Similar presentations


Ads by Google