쟝이의 세상
Nmap을 활용하여 취약점 진단 본문
📌 Nmap
: 네트워크 탐지 및 보안 감사 도구
주요 기능
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
📎 결과 출력
👉 -O 옵션은 대상 시스템의 운영체제 정보 수집, 네트워크 관리나 보안 작업에 필수적인 정보를 제공
운영 체제 추정
- 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 정보를 얻지 못하였다.
이를 통해 시스템 보안을 강화하거나 침투 테스트 시 유리한 정보를 얻을 수 있음
✔️ 스크립트 엔진 활성화하여 스크립트 사용
nmap -sC [web서버 IP]
📎 결과 출력
👉 서버나 네트워크 보안 점검 수행 시 사용
22/tcp -ssh
80/tcp -http
- SSH 호스트 키가 나와 있음 (SSH 호스트 키: ECDSA / ED25519)
이 키는 서버의 보안 인증 키로 서버에 대한 추가적인 정보를 수집할 수 있음
- /git 디렉토리가 공개되어 있음
공개된 git 저장소에서는 코드나 서버 설정 정보가 포함되어 있을 가능성이 있음- HTTP 쿠키 설정 정보 확인
httponly 플래그가 설정되어 있지 않음 -> 클라이언트 측 스크립트에서 쿠키가 접근 가능해져 XSS 공격에 취약
✔️ 실행 중인 서비스 확인 및 버전 정보 추출. 스크립트 사용
nmap -sV --script=http-enum [web서버 IP]
📎 결과 출력
웹 서버나 네트워크 보안 점검 시, 서비스 버전 정보와 HTTP 디렉터리 구조를 파악하기 위해 사용
-sV 옵션으로 각 포트에서 실행되고 있는 서버의 버전 정보 탐지
특정 버전에서 이미 알려진 취약점이 있다면 이를 기반으로 공격하는 것이 가능
--script=http-enum 으로 디렉터리나 파일 리스트를 추출
웹 서버에서 흔히 사용되는 경로나 관리자 페이지, API 엔드포인트 등 잠재적으로 중요한 디렉터리 자동 탐지/login.php: Possible admin folder
Potentially interesting directory w/ listing on 'apache/2.4.52 (ubuntu)'
- 로그인 페이지로 추정, 관리자 디렉터리일 가능성이 있음을 의미
- 디렉터리 목록 표시 기능이 활성화된 경로를 발견했음을 의미
웹 애플리케이션의 관리자 페이지나 중요한 파일이 외부에 노출되어 있는지 확인하여 보안 취약점을 찾아냄
✔️ 서비스 버전 확인 및 스크립트 사용
nmap -sV --script vulners [web서버 IP]
👇🏻 Exploit : 특정한 소프트웨어나 시스템의 취약점을 이용하여 공격자가 의도한 행동을 유도하는 방법
📎 결과 출력
네트워크 및 서버의 보안 상태 점검, 취약점 식별하는 데 사용
--script 옵션으로 Nmap의 스크립트 엔진을 사용하여 취약점 탐지를 수행
vulners 로 서비스 버전 정보를 사용하여 알려진 취약점 데이터베이스와 비교.
이를 통해 해당 서비스에 존재할 수 있는 취약점을 탐지cpe:/a:openbsd:openssh:9.6p1 발견된 취약점 리스트
- OpenSSH 9.6p1 버전을 나타낸다. 이 버전에서 여러 취약점이 발견되었다.
https://vulners.com/githubexploit/95499236-C9FE-56A6-9D7D-E943A24B633A
- 95499236-C9FE-56A6-9D7D-E943A24B633A - 위험도: 10.0 (Critical)
2C119FFA-ECE0-5E14-A4A4-354A2C38071A - 위험도: 10.0 (Critical)
5E6968B4-DBD6-57FA-BF6E-D9B2219DB27A - 위험도: 9.8 (Critical)
- 해당 exploit에 대한 상세정보 제공 URL
exploit의 작동 원리, 취약점 설명, 공격 방법 등에 대한 자세한 정보 확인 가능
취약점을 악용할 수 있는 가능성 평가
침투 테스트 및 패치 관리
'자료' 카테고리의 다른 글
SQLMap을 활용하여 모의해킹 (0) | 2024.10.15 |
---|---|
Nikto를 활용하여 취약점 진단 (0) | 2024.10.11 |
Ubuntu 에서 DNS 서버 구축 (0) | 2024.10.08 |
mac OS homebrew (DNS 서버 구축) (0) | 2024.10.06 |
mac OS homebrew (Apache 80포트 변경하기) (0) | 2024.10.04 |