본문으로 바로가기

[정보 보안] Scan(fping, nmap)

category Security/네트워크 보안 2025. 9. 13. 18:19
728x90

 

2025.04.24 - [전공수업/정보보안] - [정보보안] 네트워크 보안 (3) - 스캐닝, 스니핑, 스푸핑, 세션 하이재킹

 

[정보보안] 네트워크 보안 (3) - 스캐닝, 스니핑, 스푸핑, 세션 하이재킹

2025.04.21 - [전공수업/정보보안] - [정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격 [정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격* 서비스 거부(DoS) 공격- 특정한 시스템이나 네트워크, 웹 서비

djjin02.tistory.com

 

 

네트워크 보안에서 네트워크 내에 어떤 장비와 서비스가 동작 중인지 파악하는 것은 가장 기본적이며 중요한 작업이다.
이번 실습에서는 주요 네트워크 스캐닝 도구인 fping과 nmap을 활용해 네트워크 내 서비스를 탐지해 보았다.

 

fping은 ping 명령어를 확장한 도구로, 여러 IP를 동시에 핑 테스트할 수 있다.

일반 ping은 하나의 대상만 확인 가능하지만, fping은 IP 범위를 지정해 전체 네트워크를 빠르게 스캔할 수 있다는 장점이 있다.

주로 네트워크에서 살아있는 호스트(alive hosts)를 확인할 때 사용한다.

 

nmap은 Network Mapper의 약자로, 단순한 호스트 확인뿐만 아니라 열린 포트, 실행 중인 서비스, 운영체제 버전까지 탐지가 가능하다.

보안 점검, 모의 해킹, 네트워크 관리 등에서 표준 툴로 널리 사용된다.

 


 

* 스캔(Scan)이란 무엇인가

1. 스캔의 개념

  • 네트워크를 통한 정보 수집
  • 서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하기 위한 작업
  • 요청을 보내면 응답을 전달해주는 원리를 기반으로 한다. (예: 전화)
  • 방화벽과 IDS를 우회하기 위해 발전

 

2. 스캔의 종류

1) ping

  • 서버의 동작 여부를 알아보는 가장 기본적인 스캔
  • 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 툴
  • ICMP 사용

 

2) ICMP 스캔

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) 이용하기

 

3. TCP와 UDP를 이용한 스캔

1) TCP Open 스캔

열린 포트에 대해 완전한 세션을 성립시킴으로써 포트의 활성화 상태를 파악한다.

 

 

  • (a) 처럼 Open 스캔은 3웨이 핸드셰이킹 과정을 모두 거쳐 상대방 시스템에 로그가 남는다.
  • (b) 처럼 포트가 닫혀 있는 경우에는 공격자가 SYN 패킷을 보내면 RST+ACK 패킷이 돌아오고 공격자는 패킷을 보내지 않는다.

 

(1) Reverse Ident 스캔

TCP Open Ident 스캔(열린 포트)

  • 세션을 성립한 상태에서 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하는 방법
  • 세션을 성립한 후에 113번 포트를 열고, 113번 포트는 사용자 인증을 위해 사용되지만 이 서비스는 보통 중지되어 있다.

 

2) 스탤스(Stealth) 스캔

  • 공격 대상 시스템에 로그가 남지 않는다.
  • 공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭
  • 예: TCP Half Open 스캔

TCP Half Open 스캔

  • (a)처럼 포트가 열린 경우 서버는 SYN+ACK 패킷을 보내고 공격자는 즉시 연결을 끊는 RST 패킷을 보냈다.
  • (b)처럼 포트가 닫힌 경우 Open 스캔과 같이 공격자가 SYN 패킷을 보내면 RST+ACK 패킷이 돌아오고 공격자는 패킷을 보내지 않는다.

 

(1) FIN, NULL, XMAX 스캔

  • FIN은 플래그 값이 FIN인 스캔으로, 포트가 열린 경우에는 응답이 없고 포트가 닫힌 경우에만 RST 패킷이 되돌아온다.
  • NULL은 플래그 값을 설정하지 않고 보낸 패킷
  • XMAS는 ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷

 

(2) ACK 스캔

  • ACK 패킷을 받은 시스템은 이에 대한 RST 패킷을 보내고 공격자는 RST 패킷의 TTL 값과 윈도우의 크기를 분석

 

(3) TCP 단편화 스캔

  • TCP 해더를 두 패킷으로 나누어 보내 방화벽을 통과시키는 방법

 

(4) 시간차를 이용한 스캔

  • 아주 짧은 시간 동안 많은 패킷을 보내는 방법과 아주 긴 시간 동안 패킷을 보내는 방법
  • 시간차에 의한 공격

 

(5) FTP 바운스 스캔

  • 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부를 확인 가능
  • 이는 방화벽에 취약한 FTP 서버가 있을 때 유용

 

3) UDP 스캔

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

 


 

* 다양한 방법으로 스캔하기

1. fping을 이용한 스캔

1) fping 설치

sudo apt-get update

→ 패키지 목록 업데이트

 

 

sudo apt-cache search fping

→ fping 패키지 정보 확인, 패키지가 정확히 어떤 이름인지 확인 가능

 

 

sudo apt-get install -y fping

→ fping 설치

 

 

apt-get 사용법

apt-get 주요 사용법은 위와 같다.

 

 

2) fping 스캔 실행

fping -q -a -s -g 192.168.111.0/24

  • -q (quiet): 불필요한 메시지를 숨기고 결과만 출력
  • -a (alive): 응답이 있는 호스트만 출력
  • -s (stats): 스캔이 끝난 후 통계 정보를 요약해서 보여줌
  • -g (generate): IP 범위 지정 (CIDR 표기법 사용 가능, 예: /24)
  • 결과: 254개의 타겟 중 8개의 호스트가 살아 있음(alive)

fping은 스캔 전에 네트워크의 시스템 목록을 확인할 때 사용한다.

 

2. nmap을 이용한 스캔

1) nmap 설치

sudo apt-get install -y nmap

 

 

2) nmap Open 스캔

nmap -sT 192.168.111.100

  • 결과: SSH(22), SMTP(25), HTTP(80), POP3(110), IMAP(143) 등 여러 서비스 확인

 

 

3) nmap TCP SYN 스캔

sudo nmap -sS 192.168.111.100

 

 

4) nmap FIN 스캔

sudo nmap -sF -p 80,139 192.168.111.0/24

 

 

5) nmap fragmentation 스캔

sudo nmap -f -sS 192.168.111.0/24

 

 

nmap 스캔 옵션

nmap 스캔 옵션은 위와 같다.

 

 

728x90
LIST