ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Nmap NSE 사용법
    Tools 2024. 3. 13. 08:38
    반응형

    1. Nmap NSE 설명

    Nmap nse(Nmap Scripting Engine)는 nmap의 기능을 확장하기 위해 제공되는 스크립트이다. nse는 nmap에서 실행할 수 있는 스크립트의 집합으로, 인터넷상의 컴퓨터에 대한 정보를 수집하고, 취약점을 검색하거나 서비스를 구분하는 등의 작업을 수행하는 데 사용할 수 있다. nse는 nmap을 사용한 컴퓨터 네트워크 정보 수집과 취약점 검색에 있어서 아주 유용한 도구이다.

    2. Nmap NSE 기초 사용법

    nse를 사용하려면 nmap이 설치되어 있어야 한다. nmap을 설치한 후, 다음과 같은 구조로 nse 스크립트를 실행할 수 있다.

    nmap --script [script-name] [target]

    예를 들어, http-title 스크립트를 사용해 www.example.com 웹 서버의 웹 타이틀을 가져오려면 다음과 같이 입력한다.

    nmap --script http-title www.example.com

    위 명령어를 실행하면 다음과 같은 결과 화면이 나오게 된다.

    Starting Nmap 7.80 ( https://nmap.org ) at 2022-12-23 13:34 KST
    Nmap scan report for www.example.com (192.0.2.1)
    Host is up (0.052s latency).
    rDNS record for 192.0.2.1: example.com
    | http-title: Example Domain
    |_  (title of www.example.com web page)
    
    Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds

    http-title 스크립트를 실행해 www.example.com 웹 서버의 웹 타이틀인 "Example Domain"이 결과로 확인되었다. 이처럼 nse를 사용하면 nmap의 기능을 확장하여 여러 가지 작업을 수행할 수 있으며, 보안진단, 모의해킹 시 많은 도움이 된다.

    3. Nmap NSE 추가 사용법 예시

    nse로 할 수 있는 작업은 매우 다양한데. 아래와 같이 활용할 수 있다.

    • http-title : 웹 서버의 타이틀 및 웹 서버 정보 수집
    • vulners : 취약점 스캐닝을 수행
    • banner : 컴퓨터가 제공하는 서비스 식별
    • geoip : 컴퓨터의 인터넷 위치 정보 수집
    • http-vuln-cve : 웹 서버의 취약점 스캔

     

    추가로 네트워크상의 공유폴더 목록, Anonoymous FTP 사용 여부를 조사하는데 Nmap NSE를 사용해 빠르게 내부에서 유출 가능성이 있는 정보들을 조사할 수 있다.

     

    먼저 nse 공유폴더 목록 조사는 smb-enum-shares 스크립트를 사용한다. 다음과 같은 명령어로 실행할 수 있다.

    nmap --script smb-enum-shares [target]

    예를 들어, 192.0.2.1 컴퓨터의 공유폴더 목록을 조사하려면 다음과 같이 입력한다.

    nmap --script smb-enum-shares 192.0.2.1

    결과 화면은 다음과 같다.

    Starting Nmap 7.80 ( https://nmap.org ) at 2022-12-23 13:34 KST
    Nmap scan report for 192.0.2.1
    Host is up (0.052s latency).
    rDNS record for 192.0.2.1: example.com
    | smb-enum-shares: 
    |   account_used: guest
    |   \\192.0.2.1\IPC$:
    |     Type: STYPE_IPC_HIDDEN
    |     Comment: IPC Service (example server (Samba, Ubuntu))
    |   \\192.0.2.1\print$:
    |     Type: STYPE_DISKTREE
    |     Comment: Printer Drivers
    |   \\192.0.2.1\tmp:
    |     Type: STYPE_DISKTREE
    |     Comment: 
    |   \\192.0.2.1\Users:
    |     Type: STYPE_DISKTREE
    |     Comment: 
    |_  \\192.0.2.1\public:
    |     Type: STYPE_DISKTREE
    |     Comment: 
    
    Nmap done: 1 IP address (1 host up) scanned in 2.60 seconds

    결과에서 컴퓨터가 공유하고 있는 폴더의 목록과 타입이 출력된다. 이처럼 nse를 사용해 공유폴더 목록을 조사할 수 있다.

     

    다음으로 nse를 사용해 anonymous FTP를 조사하려면 ftp-anon 스크립트를 사용한다. 명령어는 다음과 같다. 위와 동일하게 192.0.2.1 컴퓨터의 anonymous FTP 접근 가능 여부를 조사한다면 다음과 같이 입력한다.

    nmap --script ftp-anon 192.0.2.1

    위의 명령어를 실행하면 다음과 같은 결과 화면이 나온다.

    Starting Nmap 7.80 ( https://nmap.org ) at 2022-12-23 13:34 KST
    Nmap scan report for 192.0.2.1
    Host is up (0.052s latency).
    rDNS record for 192.0.2.1: example.com
    | ftp-anon: Anonymous FTP login allowed (FTP code 230)
    |_Can't get directory listing: PASV IP 192.0.2.1 is different than server IP
    
    Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds

    4. Nmap NSE 참고 페이지

    nmap의 nse 스크립트에 대한 자세한 정보는 아래 nmap 사이트의 NSE 페이지에서 찾아볼 수 있다.

     

    NSEDoc Reference Portal — Nmap Scripting Engine documentation

    NSEDoc Reference Portal For more information about NSE, see the "Nmap Scripting Engine" chapter in the Nmap documentation. Browse the list of 604 NSE scripts or read up on the 139 NSE libraries.

    nmap.org

    nmap 사이트의 NSE 페이지에서는 nse 스크립트에 대한 자세한 정보를 제공하고 있는데, 스크립트별로 사용법, 옵션, 예제, 출력 예시 등이 제공된다. nmap 사이트의 NSE 페이지에서 스크립트를 찾는 방법은 아래와 같다.

    • 스크립트 카테고리 목록 참고 : 스크립트 카테고리 목록에서 원하는 카테고리를 선택해 해당 카테고리에 속한 스크립트 목록 확인
    • 검색 기능 사용 : 검색창에 스크립트 이름을 입력하여 원하는 스크립트를 검색

    위처럼 Nmap NSE의 구조와 사용법에 대해 알아보고 간단한 예시를 통해 실제 보안진단이나 모의해킹에서 어떻게 사용할 수 있는지 알아보았다. Github에도 개인이 개발한 NSE가 많이 있으니 한 번쯤 참고해 보면 좋을 것으로 생각된다.

    반응형

    댓글

Designed by Tistory.