유용한 NSE스크립트 nmap 사용법, 그리고

 1.nmap 사용법

[ 1 ] Stealth scan で OS 情報 を 抽出 # nmap - sS - O scanme.nmap.org

[2] Ping scan에서 Host가 살아 있는지 확인 #nmap-sp scanme.nmap.org

[3] Ping Scan에서 80번 포트가 열려있는지 확인#nmap-spT80 scanme.nmap.org#nmap-sP-pU80 포트

[4] Stealth Scan에서 대상 열린 포트 탐색(stealth scan은 RST 패킷 이용)#nmap-sS scanme.nmap.org

[5] UDP Scan에서 열려 있는 포트 탐색(시간이 좀 더 걸린다) #nmap-sUscanme.nmap.org

[6]혼란시키기 위해 num 개수만큼 IP 생성하고 패킷 전송 (분석혼란)#nmap-DRND:[num]scanme.nmap.org

[7] 해당 서버에서 사용하는 여러 서비스(SSH, Apache 등) 버전 파악, T5 옵션은 가장 빠른 스캔 속도#nmap-sV-T5 scsanme.nmap.org

[8] 포트 스캔시 요청을 보내는 쪽의 IP와 포트도 변조가 가능 #nmap-sl [sourceIP]scanme.nmap.org #nmap --source-port80 scanme.nmap.org

[9]해당 IP 대역 내 범위를 지정하고 스캔 #nmap -randomize-hosts 192.168.0.2-20

[10] -v를 붙이면 옵션의 세부사항 -vv는 더 자세한 옵션 #nmap-vv scanme.nmap.org

[11] Bypass Firewall - 목적지 포트를 가리고 방화벽을 통과 (첫 번째 패킷은 16바이트, 그 뒤의 패킷은 4바이트) [fragment]#nmap-f-sS scanme.nmap.org

[12] 여러 호스트 목록을 파일로 만들어 읽기 $cat.scanlist.txtscanme.nmap.org 10.0.2.10192.168.0124172.16.0.2-25#nmap-il.scanlist.txt

[ 13 ] 탐색 대상에서 특정한 호스트를 제외 가능 # nmap 192 . 168 . 0 . 0 / 24 -- exclude 192 . 168 . 0 . 1 # nmap - iL . / scanlist . txt -- excludefile . / excludelist . txt

[14]-A 옵션은 운영 체제 탐지, 버전 탐지, script scanning, traceroute 기능 활성화 호스트 탐색을 커스터마이즈하기 위해 여러 가지 옵션을 혼합하여 사용할 수 있다.# nmap - A - v scanme.nmap.org

[15]-sA옵션으로 호스트가 방화벽에 보호되는지 확인가능#nmap-sAscanme.nmap.org

[16] 방화벽에서 보호되는 호스트를 스캔하기(호스트 탐색X바로포트 스캔)#nmap-PN scanme.nmap.org

[17] IPv6 호스트 스캔 #nmap-6 scanme.nmap.org

[18] 각각의 포트가 어떤 이유로 이러한 상태인지 확인#nmap-reasonscanme.nmap.org

[19]열려있는 포트만 확인(open)#nmap --open scanme.nmap.org

[20]패킷 디버깅 옵션을 달아 탐색#nmap --packet-trace scanme.nmap.org

[21]호스트가 어떤 ip 프로토콜(icmp, tcp, igmp 등)을 사용하는지 확인#nmap-sOscanme.nmap.org

[22] 랜덤 MAC 주소를 가지고 Spoofed MAC에 스캔한다 (0은 랜덤 MAC, 지정하면 지정한 MAC로 송신) #nmap-v-sT-PN-spoof-mac 0scanme.nmap.org

[23]nmap 스캔 내용 파일로 저장#nmapscanme.nmap.org > output.txt

[24] 대상이 많을 경우 XML 파일로 따로 정리 저장한다. 저장했다가 엑셀로 작업한다.# nmap - sS - p 80 , 8021 , 8888 192 . 168 . 0 . 1 / 24 - oA Result . xml ----


---- 2 . nmap NSE 스크립트 ( Nmap Script Engine )

- 네트워크 스캔 및 약점 진단에 요긴하게 사용되는 스크립트-Lua로 작성되었으며, nmap에서 포트 스캔, 네트워크 접근 이외에 더 넓은 범위의 체킹 가능-nmap을 사용해도 되나 옵션이 증가할 때마다 침투가 오래 걸리며, 유연성이 부족하기 때문에 nse사용-NSE란 nmap에서 사용되는 스크립트 5개의 카테고리가 존재함


>>> 스크립트 업데이트 <<< # nmap -- script - update # nmap -- script - updatedb

NSE 파일은 다음과 같은 명령으로 알아볼 수 있다. <<< # locate * . nse

이런식으로도검색가능하다(취약점점검관련모듈)<<<locate*vul*.nse

스크립트의 종류 <<<<>dns-brute.nse 대상 도메인의 하위 서브도메인 탐색 #nmap-p80 --> scriptdns-brute.nsescanme.nmap.org

2 ) http - enum & http - titlehttp 페이지를 식별 # nmap -- script htp - enum 127 . 0 . 0 . 1

3 ) vulscan & vulners 취약점 점검 스크립트 # nmap - sV - p -- script = vulscan / vulscan . nse 127 . 0 . 0 . 1 $ wget https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/vulners.nse$ cp vulners . nse / usr / share / nmap / scripts /

4) banner-plus 열려있는 포트에서 어떤 서비스를 사용할지 배너그래빙하여 제공 #nmap 127.0.1 -- script=banner-pluswget https://raw.githubusercontent.com/hdm/scan-tools/master/nse banner-plus.nse usrsharenmapscripts


5 ) ssh - brute . nse - SSH Service password brute force

# nmap - n - p22 -- script ssh - brute -- script - args userdb = usernames . lst , passdb = passwords . lst 192 . 168 . 0 . 58


6) smb-enum-users.nse-MS-RPC 프로토콜과 LSA 그리고 SAMR 를 이용해 이용 가능한 Windows 시스템 사용자를 탐색한다.

7 ) firewalk . nse - 방화벽에 적 용된 룰을 확인하는 NSE # nmap -- script firewalk -- traceroute scanme.nmap.org

8 ) mysql - info . nse - mysql 정보와 버전 상태와 password salt 까지 출력 # nmap -- script = mysql - info . nse - sV - sC 192 . 168 . 0 . 2

----

-- 3. 복수의 스크립트를 통합해서 제공하는 카테고리가 있다. (#nmap --script="카테고리명") 하나하나 스크립트를 쓰는 것이 번거롭다면 통합해서 사용해도 된다.

1)brute-remote 서버의 인증 정보를 얻기 위한 스크립트 모음이 있다.- http - brute / oracle - brute / snmp - brute 등등

2) default (nmap-sC scanme.nmap.org 와 동일) - 타깃 도메인의 전반적인 항목에 대한 스캔 (-sC-A와 동일한 옵션이라고 생각하면 됨) - default 고려 요소 (속도, 유용성, 간결성, 신뢰성, 프라이버시)

3) discovery-html-title(웹사이트 경로), smb-enum-shares(윈도우 공유), snmp-sysdescr(SNMP 를 이용해 상세하게 찾는다)- public registries, snmp-enable device, directory.

4) malware - 플랫폼이 악성코드나 백도어가 심어져 있는지 확인 가능 -smtp-strangeport, auth-spoof 스크립트 사용

5 ) safe - 서비스를 중단하거나 많은 대역폭을 사용하거나 exploit 을 하지 않는 안전한 네트워크 탐색 스크립트입니다 . - " Scripts in the version category are not categorized by safety , but any other scripts which aren ' t in safe should be placed in intrusive " - ssh - hotkey / html - title

6) version-sV가 요청되었을 경우에만 실행되며 버전 탐지 확장형-skype v2-version pptp-version iax2-version



스크립트를 이용하여 다양한 스크립트를 실행할 수 있다.nmap --script "http-*" http-로 시작되는 스크립트를 로딩합니다.

nmap --script "not intrusive" intrusive를 제외한 카테고리의 스크립트를 로드합니다.

nmap -- script "default or safe" default 또는 safe 카테고리를 로드합니다.

nmap -- script " default and safe " default 와 safe 카테고리를 로드합니다 .

nmap -- script"(default or safe or intrusive) and not http-*" default 또는 safe 또는 intrusive 카테고리를 로드하는데 http-로 시작되는 스크립트 또는 intrusive 카테고리를 로드합니다.

nmap --script-trace스크립트 추적 가능한--packet-trace 기능을 합니다.

nmap -- script-updatedbscript, scriptdb를 업데이트하여 사용할 수 있는 스크립트를 업데이트합니다.


출처 1. https://choraengyi.tistory.com# 명령어 사용 및 연습 시에는 확실하게 허가된 테스트 환경에서 실시해야 하며 허가받지 않은 장소에서 실시하며, 피해 발생 시 완전히 자신의 책임이 있습니다. NSE는 Nmap Scripting Engine의 약자로 nmap을 잘 활용할 수 있다.choraengyi . tistory . com 2 . https://www.hahwul.com/2016/03/27/hacking-nmap-part2-nsenmap-script/Security engineer , Bugbounty hunter , Developer and ... H4ckerwww.hahwul.com

이 블로그의 인기 게시물

트라이탄 젖병으로 정착 했어요! 우리 둥이들 레이퀸 신생아

학급, 사업가의 운명 [예술과 운명] 이태원

제작 TIP 공지합니다) 느티나무도마 제작후기(