주요 기능 1) 호스트 탐지: 네트워크에 연결된 활성 호스트를 식별 2) 포트 스캐닝: 특정 호스트의 열려 있는 포트를 스캔하여 어떤 서비스가 실행되고 있는지 파악 3) 서비스 버전 탐지: 열린 포트에서 실행 중인 서비스의 버전을 확인 4) 운영 체제 탐지: 원격 시스템의 운영 체제를 추측하여 보안 취약점을 평가 5) 스크립트 엔진: Nmap Scripting Engine(NSE)를 사용하여 다양한 스크립트를 실행하고 추가적인 정보를 수집
사용 목적 1) 보안 감사: 네트워크 보안 상태를 평가하고 취약점을 찾아내는 데 도움 2) 네트워크 맵 생성: 네트워크 구조와 장치 연결을 시각적으로 표현하여 관리 3) 서비스 모니터링: 특정 서비스가 정상적으로 작동하는지 확인
✔️ 기본 사용 명령어
nmap www.megabank.store
📎 결과 출력 현재 웹 서버의 열려있는 포트를 확인할 수 있다.
✔️ TCP 연결 스캔
nmap -sT www.megabank.store
📎 결과 출력 → TCP 포트만 확인 (현재는 TCP 포트만 연결되어 있기 때문에 기본 명령어의 결과 출력 값과 동일)
✔️ 운영체제 탐지
nmap -O www.megabank.store
📎 결과 출력
운영 체제 추정
Aggressive OS guesses : Nmap은 여러 Linux 커널 버전에 대해 높은 확률로 추정하였다. - Linux 5.0 ~ 5.4 (98%) - Linux 4.15 ~ 5.8 (94%) - Linux 5.1 (93%) - 이 외의 다른 버전
No exact OS matches for host (test conditions non- ideal) : 조건이 이상적이지 않아 정확한 OS 정보를 얻지 못하였다.
👉 -O 옵션은 대상 시스템의 운영체제 정보 수집, 네트워크 관리나 보안 작업에 필수적인 정보를 제공 이를 통해 시스템 보안을 강화하거나 침투 테스트 시 유리한 정보를 얻을 수 있음
✔️ 스크립트 엔진 활성화하여 스크립트 사용
nmap -sC [web서버 IP]
📎 결과 출력
22/tcp -ssh
SSH 호스트 키가 나와 있음 (SSH 호스트 키: ECDSA / ED25519) 이 키는 서버의 보안 인증 키로 서버에 대한 추가적인 정보를 수집할 수 있음
80/tcp -http
/git 디렉토리가 공개되어 있음 공개된 git 저장소에서는 코드나 서버 설정 정보가 포함되어 있을 가능성이 있음
HTTP 쿠키 설정 정보 확인 httponly 플래그가 설정되어 있지 않음 -> 클라이언트 측 스크립트에서 쿠키가 접근 가능해져 XSS 공격에 취약
👉 서버나 네트워크 보안 점검 수행 시 사용
✔️ 실행 중인 서비스 확인 및 버전 정보 추출. 스크립트 사용
nmap -sV --script=http-enum [web서버 IP]
📎 결과 출력
-sV 옵션으로 각 포트에서 실행되고 있는 서버의 버전 정보 탐지 특정 버전에서 이미 알려진 취약점이 있다면 이를 기반으로 공격하는 것이 가능 --script=http-enum 으로 디렉터리나 파일 리스트를 추출 웹 서버에서 흔히 사용되는 경로나 관리자 페이지, API 엔드포인트 등 잠재적으로 중요한 디렉터리 자동 탐지
/login.php: Possible admin folder
로그인 페이지로 추정, 관리자 디렉터리일 가능성이 있음을 의미
Potentially interesting directory w/ listing on 'apache/2.4.52 (ubuntu)'
디렉터리 목록 표시 기능이 활성화된 경로를 발견했음을 의미
웹 서버나 네트워크 보안 점검 시, 서비스 버전 정보와 HTTP 디렉터리 구조를 파악하기 위해 사용 웹 애플리케이션의 관리자 페이지나 중요한 파일이 외부에 노출되어 있는지 확인하여 보안 취약점을 찾아냄
✔️ 서비스 버전 확인 및 스크립트 사용
nmap -sV --script vulners [web서버 IP]
👇🏻 Exploit : 특정한 소프트웨어나 시스템의 취약점을 이용하여 공격자가 의도한 행동을 유도하는 방법
📎 결과 출력
--script 옵션으로 Nmap의 스크립트 엔진을 사용하여 취약점 탐지를 수행
vulners 로 서비스 버전 정보를 사용하여 알려진 취약점 데이터베이스와 비교. 이를 통해 해당 서비스에 존재할 수 있는 취약점을 탐지