정보보안

OS fingerprinting

yeseong9769 2024. 9. 27. 22:22

OS fingerprinting은 네트워크에서 열결된 장치의 운영제체를 식별하는 기술입니다. 이를 통해 보안 전문가나 해커는 대상 시스템의 취약점을 파악하거나 시스템을 이해할 수 있습니다. OS fingerprinting은 주로 두 가지 방법으로 나뉩니다.

 

Active OS fingerprinting

Active fingerprinting은 정보를 얻어내려고 하는 목표에게 직접 패킷들을 보내고 돌아온 패킷을 분석하는 방식으로 동작합니다. 이 때문에, Active fingerprinting은 passive fingerprinting보다 더 간단하고, 원하는 정보를 얻을 확률은 높지만 IDS, IPS나 방화벽에 탐지될 확률이 더 높습니다. Active fingerprinting은 Nmap을 사용해 할 수 잇습니다.

# nmap -O -sV -T4 -d ip_address_or_domain_name_of_target

 

Passive OS fingerprinting

Passive fingerprinting은 네트워크 트래픽을 분석하여 운영 체제의 특징적인 패턴이나 프로토콜의 동작을 관찰하여 울영체제를 식별합니다. 시스템에 대한 직접적인 접근이 없기 때문에 탐지나 차단을 회피할 수 있습니다.

Kali Linux에는 Passive OS fingerprinting을 위한 p0f 라는 툴이 존재합니다.

┌──(kali㉿kali)-[~]
└─$ p0f -h
--- p0f 3.09b by Michal Zalewski <lcamtuf@coredump.cx> ---

p0f: invalid option -- 'h'
Usage: p0f [ ...options... ] [ 'filter rule' ]

Network interface options:

  -i iface  - listen on the specified network interface
  -r file   - read offline pcap data from a given file
  -p        - put the listening interface in promiscuous mode
  -L        - list all available interfaces

Operating mode and output settings:

  -f file   - read fingerprint database from 'file' (/etc/p0f/p0f.fp)
  -o file   - write information to the specified log file
  -s name   - answer to API queries at a named unix socket
  -u user   - switch to the specified unprivileged account and chroot
  -d        - fork into background (requires -o or -s)

Performance-related options:

  -S limit  - limit number of parallel API connections (20)
  -t c,h    - set connection / host cache age limits (30s,120m)
  -m c,h    - cap the number of active connections / hosts (1000,10000)

Optional filter expressions (man tcpdump) can be specified in the command
line to prevent p0f from looking at incidental network traffic.

Problems? You can reach the author at <lcamtuf@coredump.cx>.