6 풋프린팅과 스캐닝.

Slides:



Advertisements
Similar presentations
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
Advertisements

11. 해킹기술 (1) - hacking & security -
Chapter 06 풋프린팅과 스캔 류재민.

정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
DDoS 3조 권영락.
풋프린팅과 스캔 오가경 서금.
Network Lab. Young-Chul Hwang
제 7장 정적 라우팅 프로토콜.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
풋 프린팅과 스캔 윤상호 홍길동.
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
18장. 방화벽 컴퓨터를 만들자.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Hping을 이용한 공격기법과 패킷분석 중부대학교 정보보호학과 심 규 열, 정 성 윤.
Vsftpd 를 이용한 FTP service 와 samba 서버 구축
ARP의 실험 발표자 : 이직수
제 14장 Multicast & Broadcast
5 IP 주소 추적.
Internet Control Message Protocol Version 4 (ICMPv4)
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Chapter 05 목록화.
Network Security Footprint & Scan.
정보보호 실습 #2 네트워크 스캐닝 Choong Seon Hong Networking Lab.
8장. 원격지 시스템 관리하기.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
13 DoS와 DDoS 공격.
Chapter 06. UDP 서버/클라이언트.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Chapter 5 UDP Socket 소켓 프로그래밍.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Network Security WireShark를 활용한 프로토콜 분석 I.
Chapter 03 Whois와 DNS 조사.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
5 IP 주소 추적.
ACL(Access Control List)
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
네트워크 프로토콜.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Network 네트워크 이론 및 실습 TCP / IP 4장.
10 장 데이터 링크 제어(Data Link Control)
01. 라우팅 및 원격 액세스의 개요 라우팅은 패킷을 송신지부터 수신지까지 어떠한 경로를 통해 보낼 것인지를 결정하는 방법
Chapter 26 IP over ATM.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
제 19 장 TCP 대화식 데이터 흐름.
Ping Test.
Addressing the Network – IPv4
Chapter 27 Mobile IP.
라우터의 이해 (보충자료) TCP/IP구성 Ping명령어를 이용한 연결검사 비트와 바이트 10진수/2진수/16진수
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
제 13 장 인터넷 그룹 관리 프로토콜 정보통신연구실.
Information Security - Network Scanning.
제 6 장 IP 패킷 전달과 라우팅 6.1 연결형 서비스와 비연결형 서비스 6.2 직접 전달과 간접 전달 6.3 라우팅 방법
D H C P 김민섭 박영운.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
ARP.
Presentation transcript:

6 풋프린팅과 스캐닝

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

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

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

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)를 이 용한 방법

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

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

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

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 패킷이 돌아오는지 확인함으로써 상대 시스템의 활성화 여부를 확인

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

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

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

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

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

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가 패킷 패턴에 대한 정보를 얻기 힘 들기 때문에 공격자의 스캔을 확인하기 힘들게 함

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

실습 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   

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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