Network Hacking

네트워크 스캐닝 공격

박연준 2023. 7. 2. 14:35

네트워크 스캐닝 개요

정의

  • 스캐닝은 네트워크를 통해 제공하고 있는 서비스, 포트, Host 정보 등을 알아내는 것을 의미
  • TCP 기반의 프로토콜의 질의(Request) 응답(Response) 메커니즘
  • 대표적인 스캔 프로그램으로는 nmap이 있음

목적

  • 열려 있는 포트 확인
  • 제공하는 서비스 확인
  • 동작중인 Daemon의 버전
  • 운영체제 종류 및 버전
  • 취약점

→ Scanning 시 시용 프로토콜: ICMP, TCP, UDP

 

풋 프린팅은 시스템의 상세 내용을 확인하기 전 공개되어 있는 정보를 기반으로 특정 사이트의 정보를 조사하는 단계이다. 풋 프린팅은 아래와 같이 단계별로 구분할 수 있다.

 

활동 범위 결정

  • 회사에 대한 정보: 위치, 네트워크 주소 등
  • 직원에 대한 정보: 연락처, Email 등
  • 협력사에 관한 정보: 업무 연계 정보 등

네트워크 목록 수집

  • 서비스를 제공하는 네트워크 대역: Web Server, DB Server
  • 내부 네트워크 대역: 내부에서 사용중인 IP 대역, 인트라넷 주소
  • Nmap: 대표적인 스캐닝 도구

DNS 질의

  • DNS Query를 통한 정보 수집: 관리자 정보, 레코드 업데이트 시기, DNS 정보
  • DNS 역 질의: 서버 리다이렉트 여부
  • nslookup: 네입 서버를 통해 원하는 도메인의 IP를 찾아주는 명령어
  • dig: nslookup 에 대비 유연성 및 편의성, 출력의 명료성을 가진 DNS 쿼리 도구, 하지만 별도로 설치해야 함.
  • Whois.co.kr: 등록자 및 도메인 이름, 관리자 연락처, 레코드 생성시기와 업데이트 시기 등 알 수 있음.
  • dnshistory.com: 도메인 레코드 정보 조희, MX SOA, NS 등 확인, DNS 변경 이력 정보 확인

네트워크 정찰

  • 경로 추적: 보안장비 존재 여부
  • 도달 가능한 네트워크
  • 경로 추적 명령어: Tracert(Windows), Traceroute(Unix/Linux) - 7계층이지만 이 안에서 사용하는 명령어 안에서 사용하는 프로토콜은 ICMP 3계층임

네트워크 스캐닝 종류

Ping & ICMP 스캔

  • Ping은 네트워크와 시스템이 정상적으로 작동하는지 확인
  • Echo Request와 Echo Reply를 이용한 방법
  • ICMP를 사용

오픈 스캔(Open Scan)

  • TCP 3-Way-Handshake를 이용해 정상적인 연결을 바탕으로 오픈 된 포트 정보를 추출
  • TCP connect 스캔 : Open된 포트의 경우 타겟 시스템에서 SYN/ACK 패킷 응답이 오고 Close 되어있는 포트의 경우 타겟 시스템에서 RST/ACK 패킷이 응답된다.

하프-오픈 스캔(Half-Open Scan)

  • TCP 3-Way-Handshake 방식의 연결을 비정상적으로 종료 하는 방식
  • 표적 시스템 로그에 기록되는 것을 피할 수 있으나 방화벽이나 IDS에는 탐지
  • SYN을 보낸 후 표적에서 SYN/ACK 응답이 오면 표적 HOST가 살아있다고 추측
  • 응답으로 ACK를 보내는 대신 RST를 보내 세션을 성립하지 않아 로그를 남기지 않음

스텔스 스캔(Stealth Scan)

  • 세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내는 스캔
  • 시스템 세션 연결 관련된 로그가 남지 않음
  • ACK, NULL, X-MAS 스캔 등이 존재
  • X-MAS 스캔: 모든 flag를 보내거나 FIN, PSH, URG 플래그를 보내는 스캔
  • ACK or FIN 스캔: ACK 또는 FIN 플래그만 보내는 스캔
  • NULL 스캔: flag를 하나도 포함하지 않는 패킷을 보내는 스캔

UDP 스캔

  • 대상 HOST에 UDP 패킷을 보냈을 때 닫힌 포트는 ICMP_PORT_UNREACHABLE 응답
  • 열린 포트는 아무 응답이 없는 방법을 이용

TCP UDP 차이

TCP는 연결지향적, UDP는 비연결지향적이기 때문에 TCP는 신뢰성이 좋지만 느리고 UDP는 신뢰성이 없지만 빠르다.

 

QUIC 프로토콜

구글의 짐 로스킨드가 처음 설계하였고 UDP와 TCP의 장점을 합친 프로토콜이며 HTTP/3으로 호칭한다. 대표적으로는 유튜브가 QUIC 프로토콜을 사용한다.

Nmap

스캐닝에 있어 대표적인 도구 중 하나이다. 각 옵션들은 사용자에게 여러 가지 이점을 주며 옵션 활용에 따라 사용자가 획득할 수 있는 정보의 질이 달라진다. 또한, 각 옵션은 대소문자를 구분한다.

 

Nmap으로 -sP 옵션 사용 시, 검색하고자 하는 대역대의 시스템 중 활성화 된 시스템을 확인할 수 있다.

 

활성화 된 host 검색

  • 옵션 : -sP
  • ex) nmap -sP 192.168.0.0/24

 

가장 많이 쓰는 상위 N개의 포트 스캐닝

  • 옵션 : --top-ports N(개수)
  • Ex) nmap --top-ports 5 [IP]

 

-- script 옵션 사용 시 Nmap 에서 제공하는 스크립트를 이용한 스캐닝 공격이 가능하며, 스크립트는 Nmap이 설치된 위치의 scripts 폴더에 존재한다.

 

Scripts를 이용한 스캐닝

  • 옵션 : --script
  • Ex) nmap -p 139, 445 --script=smb-vuln-ms17-010 [IP]
  • smb-vuln-ms17-010 스크립트를 이용한 MS17-010 취약점 및 Eternalblue 감염 여부 확인

 

Nmap으로 --packet-trace 옵션 사용 시 , 스캐닝을 수행하는 동안 주고 받는 모든 패킷을 표시한다.

보내고 받은 모든 패킷 표시하며 스캐닝 수행

  • 옵션 : --packet-trace

 

Telnet과 같이 원격지의 시스템에 로그인을 시도하였을 때 나타나는 안내문을 배너라고 하는데, 기본적으로 이러한 배너는 애플리케이션 버전 등을 나타낸다. 이를 통하여 정보 수집이 가능하다.

→ Banner Grabbing

  • 운영체제 버전과 커널 버전 확인 가능
  • 21, 35, 25, 110, 143 포트에서도 가능

centOS 7.6버전에서 칼리리눅스를 배너그래빙 하였고 OS 운영체제나 버전 등을 확인할 수 있다.

 

Naver와 같은 홈페이지의 경우 보안상의 이유로 ICMP 패킷을 차단하는 경우가 존재한다. 이러한 경우 서버가 구동이 되고 있는지 확인하기 위해서는 활성화 된 서비스가 있는 포트를 대상으로 서버가 존재하고 실행되고 있는지 스캔할 수 있다.

  • hping3 명령어를 이용하여 명령어를 입력
  • -c : 보낼 패킷 수 / -p : 포트 / -S : SYN 패킷 Flag

 

 

SYN 스캔은 Wireshark 툴을 이용해 스캔 결과를 확인할 수 있다.

Wireshark에 처음 접속하면 다음과 같은 화면이 뜨는데 eth0만 네트워크가 잡히므로 저기에 접속한다.

 

7.6 버전에서 http 포트를 열고 칼리 리눅스에서 다음과 같은 SYN 패킷을 보낸다.

 

다음과 같이 SYN, ACK 응답을 받아서 포트가 열린 것을 확인하였으며 RST 패킷을 보내면서 half-open 방식을 사용한 것이 확인되었다.

 

hping3 명령어를 이용해 포트 번호를 하나씩 증가 시키면서 어떤 포트가 탐색되는지 확인할 수 있다.

  • -8 이라는 옵션을 사용해 Scanmode를 통해 확인한다.

 

flags 란에 SYN, ACK 패킷이 있는 것을 확인할 수 있으며 20번 포트는 ssh와 80번 포트인 http 포트가 확인되었다.

 

Wireshark를 통해서도 확인해볼 수 있다.

 

네트워크 스캐닝 대응방안

  • 네트워크 장비에 의한 필터링
  • → Router/Switch에서 ACL을 이용하여 허용하지 않은 사용자의 네트워크 접근 차단
  • 서버에서 실행중이 불필요한 서비스 중지
  • → 불필요한 Port 닫기
  • 침입탐지시스템(IDS)및 침입차단시스템(IPS) 연동
  • → syslog를 점검하더라도 스캔이 끝난 상황이라면 대응이 늦어질 수 있기 때문에 침입탐지시스템을 이용하여 침입자를 감지하고 침입탐지시스템에서 공격자의 IP를 차단

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

Nmap 옵션 총정리  (0) 2023.07.02
근거리 네트워크 위협  (0) 2023.07.02