스캐닝이란?
- 특정 시스템 또는 인프라에서 어떤 단말 또는 서비스가 존재하는지 확인하기 위한 단계
- 침투를 하기 위한 사전 단계로서 주로 활용
- ATT&CK 메트릭스에서 Discovery 전략 단계로 구분
- 네트워크를 기반한 정보 수집이기 때문에 정보 내용이 선명하지 않음
> 단말의 전원 꺼짐, 네트워크 요청과 응답으로부터 오는 정보의 부족으로 인해 100% 정확한 정보 수집은 어려움
1. 공격자 관점에서의 스캐닝
- 공격의 범위를 산정
- 공격 대상을 식별
- 사용할 공격 도구 또는 취약점을 사전에 파악하여 준비하는 단계
2. 방어자 관점에서의 스캐닝
- 진단의 기능
> 취약점 진단, 모의해킹 등의 기술적 진단 업무 중에서 업무를 수행하기 전에 자산이나 취약점 진단 대상을 파악하기 위한 단계
> 지단 업무 수행 전 도구의 준비 등을 수행하기 위한 단계로 활용
- 점검의 기능
> 사내 부서, 협업 부서 등 사내 여러 부서의 보안 수준이 제대로 되어 있는지 확인
> 사내에서 규정에 어긋나는 행위 등을 파악하기 위한 단계로 활용
- 감사의 기능
> 타 사의 보안 수준과 실제 보안 규정과 절차를 잘 이행하고 있는지 확인
> 보안 감사의 다양한 단계 중 하나로 내부 또는 외부 규정에 어긋난 행위를 파악하는 단계로 활용
3. 도구를 활용한 스캐닝
- 대표적인 스캐닝 도구로 nmap이 존재
- 보통 네트워크를 통해 제공하고 있는 서비스, 포트, HOST 정보 등을 수집
- TCP 기반의 프로토콜의 질의(Request) 응답(Reponse) 메커니즘을 기반한 스캐닝 수행
- 도구의 기능
> 열려 있는 포트 확인
> 제공하는 서비스 확인
> 동작중인 Daemon의 버전
> 운영체제 종류 및 버전
> 취약점 점검 등의 역할
정보 수집
정보 수집을 위한 기술
1. 공개 소스 기반 정보 수집
- 회사 홈페이지, 뉴스, 블로그, 트위터 등을 통해 수집하고자 하는 대상의 정보를 수집
- OSINT(Open Source Intelligence)으로도 불리며, 공개되어 있는 사이트를 기반으로 정보 수집
- 획득 가능 정보 : 위치, 전화번호, 네트워크 주소, 내부 정책, 직원 이름, E-mail, 부서, 기업 현황 등
- 관련 도구 : Shodan, Censys 등
2. 사회 공학적 기법 정보 수집
- 채팅 또는 휴대폰을 이용한 소통과 E-mail 스푸핑 공격을 통해 정보 수집
- 사람 심리의 약점을 이용해 공격하는 기법
3. 도메인을 통한 정보 수집
- 도메인 질의를 이용하여 정보를 수집
- 획득 가능 정보 : 등록된 조직, 담당자, 개인 정보, 도메인 정보, 프로젝트, 서비스, 기술 등
- 관련 사이트 : whois.com, ipvoid.com, archive.org 등
- 관련 도구 : dig, maltego 등
4. 네트워크 정찰 기반 정보 수집
- 스캐닝 도구, 정보 수집 도구 등을 활용해서 현재 활성화되어 있는 네트워크 또는 인프라 정보를 수집
- 정확한 정보를 수집하기는 어렵지만 공격의 대상을 식별하고 결정하는데 주요 역할을 수행
- 획득 가능 정보 : 네트워크 흐름 정보, IP주소 또는 대역, 단말, 통신 장비 등
- 관련 도구 : Nmap, Unicornscan, traceroute/tracert, DMitry 등
네트워크 스캐닝
스캔 종류
Ping & ICMP 스캔
- Ping은 네트워크와 시스템이 정상적으로 작동하는지 확인
- Echo Request와 Echo Reply를 이용한 방법
- ICMP(internet Control Messaging Protocol)를 사용
오픈 스캔
전통적인 TCP 3-way Handshake를 이용해 정상적인 연결을 바탕으로 Open 된 포트 정보를 추출
- TCP connect 스캔
> Open 된 포트의 경우 target 시스템에서 SYN/ACK 패킷이 응답
> Close된 포트의 경우 target 시스템에서 RST/ACK 패킷이 응답
- 하프-오픈 스캔
> TCP 3-way Handshake 방식의 연결을 비정상적으로 종료하는 방식
>> 표적 시스템 로그에 기록되는 것을 피할 수 있으나 방화벽이나 IDS에는 탐지
- TCP 하프 오픈 스캔
> SYN을 보낸 후 표적에서 SYN/ACK 응답이 오면 표적 HOST가 살아있다고 추측
> 출발지에서 목적지로 ACK를 보내는 대신 RST를 보내 세션을 성립하지 않고 로그를 남기지 않음
스텔스 스캔
세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내는 스캔
시스템 세션 연결 관련된 로그가 남지 않음
ACK, NULL, X-MAS 스캔 등이 존재
- X-MAS 스캔
> 모든 flag를 보내거나 FIN, PSH, URG 플래그를 보내는 스캔
- ACK or FIN 스캔
> ACK 또는 FIN 플래그만 보내는 스캔
- NULL 스캔
> flag를 하나도 보내지 않는 스캔
UDP 스캔
대상 HOST에 UDP 패킷을 보냈을 때 닫힌 포트는 ICMP_PORT_UNREACH를 보내고 열린 포트는 아무 응답이 없는 방법을 이용
TCP 스캔
* 네트워크 스캐닝 실습 시, TTL 값을 이용하여 운영체제 추측할 수 있다. ( 운영체제마다 고유 TTL 값을 가지고 있음 )
* Telnet과 같이 원격지의 시스템에 로그인을 시도하였을 때 나타나는 안내문을 배너라고 하는데, 기본적으로 이러한 배너는 애플리케이션 버전 등을 나타낸다. 이를 통하여 정보 수집이 가능하다.
- Banner Grabbing - 운영체제 버전과 커널 버전 확인 가능
[Network] 7. 근거리 네트워크 내 MITM 유형 공격