서비스와 OS 탐지
핑거프린팅
서비스와 OS 탐지은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
열린 포트에서 대상으로
포트가 열려 있다는 사실만으로는 충분하지 않습니다. 어떤 소프트웨어가 수신 대기 중인지와 그 버전을 알아야 합니다. 공격은 특정 버전을 대상으로 하기 때문입니다.
Nmap의 서비스 탐지와 OS 핑거프린팅은 열린 포트 목록을 실제 대응에 활용할 수 있는 정보로 바꿔 줍니다.
서비스 버전 탐지
-sV 플래그는 열린 포트를 프로빙하고 응답을 Nmap 데이터베이스와 대조하여 서비스와 버전을 식별합니다. 예를 들어 'OpenSSH 8.2p1' 또는 'Apache httpd 2.4.41'과 같이 표시됩니다.
nmap -sV 192.168.1.10
# 22/tcp open ssh OpenSSH 8.2p1 Ubuntu버전 탐지 작동 방식
Nmap은 일련의 프로브를 보내고 응답(배너, 동작, 오류 메시지)을 nmap-service-probes에 있는 수천 개의 서명과 비교합니다.
이러한 배너 수집 및 동작 대조를 통해 8000번 포트에서 실행되는 HTTP 서버처럼 표준이 아닌 포트의 서비스도 식별할 수 있습니다.
버전 강도
--version-intensity(0~9)를 사용하여 Nmap이 얼마나 적극적으로 시도할지 조정할 수 있습니다.
- 낮음: 프로브가 적어 빠르지만 버전을 놓칠 수 있습니다.
- 높음: 프로브가 많아 느리지만 더 정확합니다.
단축 옵션: --version-light(강도 2) 및 --version-all(강도 9)
nmap -sV --version-intensity 9 192.168.1.10OS 탐지
-O 플래그는 OS 핑거프린팅을 활성화합니다. Nmap은 TCP/IP 스택이 응답하는 방식의 미세한 차이를 검사하고 이를 OS 서명 데이터베이스와 대조합니다.
가장 가능성 높은 추정 결과와 정확도 백분율을 보고하며, 가능한 경우 장치 유형과 가동 시간 추정치도 표시합니다.
sudo nmap -O 192.168.1.10
# Running: Linux 5.X | OS CPE: cpe:/o:linux:linux_kernel:5TCP/IP 스택 핑거프린팅
각 OS는 TCP/IP를 조금씩 다르게 구현합니다. Nmap은 다음과 같은 특성을 프로빙합니다.
- 초기 TTL 값
- TCP 윈도 크기
- 스택이 특이한 플래그 조합을 처리하는 방식
- TCP 옵션 순서
이러한 미세한 차이가 OS 계열과 버전을 추정할 수 있을 만큼 고유한 지문을 형성합니다.
정확도의 한계
OS 탐지는 확정 결과가 아니라 가장 가능성 높은 추정입니다. 다음과 같은 경우 정확도가 낮아집니다.
- 방화벽이 Nmap이 의존하는 프로브를 필터링하는 경우
- 호스트가 특이하거나 가상화된 스택을 실행하는 경우
- 핑거프린팅에 사용할 수 있는 열린 포트가 몇 개뿐인 경우
--osscan-guess 옵션을 사용하면 확신이 없을 때 Nmap이 더 적극적으로 추정합니다.
플래그 조합
실제로는 여러 탐지 옵션을 조합합니다. -A 플래그는 OS 탐지, 버전 탐지, 기본 스크립트 및 트레이스라우트를 한 번에 활성화하는 단축 옵션입니다.
sudo nmap -A 192.168.1.10
# Equivalent to -O -sV -sC --traceroute버전이 중요한 이유
정확한 버전이 다음 단계를 결정합니다. 'vsftpd 2.3.4'를 보면 유명한 백도어를 바로 떠올릴 수 있고, 'Apache 2.4.49'를 보면 경로 탐색 취약점인 CVE를 생각하게 됩니다.
정확한 버전 정보를 사용하면 공격을 무작정 시도하는 대신 일치하는 공격 코드를 검색할 수 있습니다. 또한 보고서의 취약점 부분에 바로 활용할 수 있습니다.
결과 저장
분석과 보고를 위해 검사 결과를 항상 저장하십시오. Nmap은 여러 형식을 지원합니다.
-oN일반 텍스트-oXXML(도구용)-oG검색 가능한 형식-oA모든 형식을 한 번에 저장
nmap -A -oA scan_results 192.168.1.10Nmap 없이 배너 수집하기
때로는 서비스를 수동으로 확인해야 합니다. 원시 클라이언트로 연결하여 인사말(배너)을 읽으면 소프트웨어와 버전을 직접 확인할 수 있습니다.
netcat과 같은 도구를 사용하면 평문 서비스에서 이 작업을 수행할 수 있습니다. Nmap의 추정이 이상해 보일 때 빠르게 타당성을 확인하는 방법이지만, 오늘날에는 공격자를 속이기 위해 많은 서비스가 배너를 숨기거나 위조합니다.
nc 192.168.1.10 22
# SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5빠른 확인
한 번에 가장 많은 작업을 수행하는 플래그를 식별하십시오.
요약
핑거프린팅을 학습했습니다.
-sV는 프로브와 배너를 대조하여 서비스 버전을 탐지하며,--version-intensity로 강도를 조정할 수 있습니다.-O는 TCP/IP 스택 핑거프린팅을 사용하여 OS 탐지를 수행하며, 결과는 가장 가능성 높은 추정입니다.-A는 OS, 버전, 스크립트 및 트레이스라우트를 한데 묶습니다.- 정확한 버전은 공격 코드 선택의 기준이 되며,
-oA로 결과를 저장할 수 있습니다.
다음 주제: 더 깊은 자동화를 위한 Nmap 스크립팅 엔진
AI 튜터와 함께 Ethical Hacking Academy을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 31
- 레슨
- 111
자주 묻는 질문
“서비스와 OS 탐지” 강의는 무료인가요?
네 — “서비스와 OS 탐지” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“서비스와 OS 탐지”에서 뭘 배우나요?
핑거프린팅 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“서비스와 OS 탐지” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 호스트 탐색
- 포트 스캔 기법
- 서비스와 OS 탐지
- Nmap 스크립팅 엔진