정의
•
스캐닝은 네트워크를 통해 제공하고 있는 서비스, 포트, HOST 정보 등을 알아내는 것
•
TCP 기반의 프로토콜 질의(Request) 응답 (Response) 메커니즘
•
대표적인 스캔 프로그램으로는 nmap이 있음
목적
•
열려 있는 포트 확인
•
제공하는 서비스 확인
•
동작중인 Daemon의 버전
•
운영체제 종류 및 버전
•
취약점
⇒ Scanning 시 사용 Protocols : ICMP, TCP, UDP
절차
1.
활동 범위 결정
•
회사에 대한 정보
•
직원데 대한 정보
•
협력사에 관한 정보
2.
네트워크 목록 수집
•
서비스를 제공하는 네트워크 대역
◦
Web Server
◦
DB Server
•
내부 네트워크 대역
더 써야함
3.
DNS 질의
4.
네트워크 정찰
1. 활동 범위 결정
공개 소스 검색을 통해 획득 가능한 정보
•
위치 및 관련 회사들과 부서, 인수 또는 합병 관련 뉴스 등
•
담당자 이름과 전화번호, 전자우편 주소 등
•
프라이버시 정책과 보안 정책 등
•
목표와 관련이 있는 다른 웹 서버로의 링크
•
OSINT(공개된 출처에서 얻은 정보) 와 휴신트 (사람한테 얻은 정보)
2. 네트워크 목록수집
•
Nmap을 이용해 네트워크 정보 수집
3. DNS 질의 (Whois Service, archive.org)
획득 가능 정보
•
등록자 및 도메인 이름
•
관리자 연락처
•
레코드 생성시기와 업데이트 시기
•
4. 네트워크 정찰
경로 추적
•
Tracert(windows)
•
Traceroute(Unix/Linux)
⇒ TTL 을 1씩 증가하면서 오류메세지를 출력하는 형식으로 구성됨
스캔 종류
Ping & ICMP 스캔
•
Ping은 네트워크와 시스템이 정상적으로 작동하는지 확인
•
Echo Request와 Echo Reply를 이용한 방법
•
ICMP 이용
오픈 스캔
•
전통적인 TCP 3-WAY-Handshake를 이용해 정상적인 연결을 바탕으로 Open 된 포트 정보 추출
•
TCP connect 스캔
◦
Open 된 포트의 경우 target 시스템에서 SYN/ACK 패킷이 응답
◦
Close 된 포트의 경우 target 시스템에서 RST/ACK 패킷이 응답
하프-오픈 스캔 (Half-Open Scan)
•
TCP 3-WAY-Handshake 방식의 연결을 비정상적으로 종료하는 방식
◦
표적 시스템 로그에 기록되는 것을 피할 수 있으나 방화벽이나 IDS 에는 탐지
•
SYN을 보낸 후 표적에서 SYN/ACK 응답이 오면 표적 HOST가 살이있다고 추측
•
출발지에서 목적지로 ACK를 보내는 대신 RST를 보내 세션을 성립하지 않고 로그를 남기지 않음
스텔스 스캔
•
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내는 스캔
•
시스템 세션 연결 관련된 로그가 남지 않음
•
X-MAS 스캔
◦
모든 flag를 보내거나 FIN, PSH, URG 플래그를 보내는 스캔
•
ACK or FIN 스캔
◦
ACK 또는 FIN 플래그만 보내는 스캔
•
NULL 스캔
◦
flag 를 하나도 보내지 않는 스캔
UDP 스캔
•
대상 HOST 에 UDP 패킷을 보냈을 때 닫힌 포트는 ICMP_PORT_UNREACH를 응답
•
열린 포트는 아무 응답이 없는 방법을 이용