klaus

NMAP(feat. 포트 스캐닝 SW, NSE 실습) 본문

모의해킹/Tools

NMAP(feat. 포트 스캐닝 SW, NSE 실습)

klus! 2022. 11. 5. 20:01

1. NMAP 개념

nmap로고

 

 

NMAP은 Network Mapper의 약자로 오픈소스 기반 네트워크 스캐닝 툴로 오래전부터 사용되고 있는 소프트웨어입니다.

대표적으로 포트 스캐닝, 호스트의 정보 수집, 방화벽 등을 확인할 수 있는 기능이 있습니다.

 

설치방법

https://nmap.org

사이트를 접속하여 자신의 컴퓨터 OS에 맞은 버전을 다운로드하여 사용 가능합니다.

※칼리 리눅스의 경우 기본으로 설치되어 있음.

 

메인페이지

2. NMAP 사용방법

nmap [옵션] [호스트 주소(IP)]

 

자주 사용되는 유형 및 옵션

CLI 설명
nmap [IP] 대표적으로 사용되는 포트를 검사하여 확인
nmap [IP] -[포트번호] 특정 포트번호만 스캔하는 방법
nmap [IP] -p- 전체 포트 스캔 (시간이 오래 걸림)
nmap -sV [IP] 배너 그래빙 확인 (포트의 실행중인 프로세스의 버전 확인 가능)
nmap -O [IP] 해당 호스트의 OS 유형과 버전을 대략적으로 확인 가능 
nmap -sU [IP] UDP 스캔 (열려있는 포트 탐색)

 

주요 서비스 포트 번호

서비스 포트번호 서비스 포트번호
FTP(데이터 채널) 20 HTTP 80
FTP(제어 채널) 21 Kerberos 88
SSH 22 POP2 109
Telnet(텔넷) 23 POP3 110
SMTP 25 IMAP 143
DNS 53 SNMP 161
DHCP 67 HTTPS 443
TFTP 69 SMTP 465
Gopher 70 rlogin 513
Finger 79 rsh 514

 

3. NSE (NMAP Scripting Engine)

사용자가 Lua 프로그래밍 언어를 사용하여 스크립트를 작성 및 공유할 수 있는 기능

 

Lua 프로그래밍 언어?? (사용 이유는 빠르기 때문)

1993년 개발된 프로그램으로 파이썬과 비슷한 언어라고 할 수 있으며 가벼운 명령형/절차적 언어로 사용됩니다.(확장자. nse) 

와이어 샤크 자동화, 게임 해킹(게임 핵) 등에 주로 게임분야에 사용됩니다.(로블록스 관련 언어)

 

nmap -h 명령을 통해 nmap도움말 확인해보면 아래와 같이 스크립트 스캔 옵션 방법이 있습니다.

 

nmap -h 실행시(중간부분에 위치)

 

대표적인 방법은 -sC를 사용하면 스크립트 디폴트 값의 스크립트를 사용할 수 있습니다.

디폴트 스크립트에는 대부분 네트워크의 정보 정도 가지고 오는 스크립트들로 이루어져 있습니다.

 

 

4. NMAP 실습

우분투(uBunun)에서 실습 진행

nmap -V 명령을 통해 설치가 되어있는지 확인하고 apt-get install nmap을 사용하여 설치

 

nmap 설치 화면
설치 버전 확인

 

5. 기본 CLI 실습

실습 시 사용한 IP는 로컬 주소인 127.0.0.1을 사용하여 공부하였습니다.

기본적인 사용방법(스캔은 로컬인 127.0.0.1 사용

6. NSE 스크립트 실습

 

기본적으로 NSE 스크립트 위치는  /usr/share/namp/scripts 디렉터리 안에 있습니다.

파일명은 *. nse

기본 nmap사용법에서 확인된 3306/tcp mysql의 DB 서비스가 되고 있다는 정보를 확인하였습니다.

이 정보를 통해 mysql의 구성 및 버전 정보를 스크립트를 사용하여 확인해보겠습니다.

 

nmap --script "mysql-info" 를 사용

mysql의 버전과 하단의 salt로 처리된 패스워드 그리고 어떤 해시함수(sha2)로 되어있는지 확인도 가능합니다.

이런 여러 가지의 점을 보면 정말 nmap은 대단한 것 같습니다.

 

'모의해킹 > Tools' 카테고리의 다른 글

버프 스위트(burp Suite)설치 (feat. 패킷 조작 툴)  (0) 2022.10.21
Comments