정보보안
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>.