관리 메뉴

FU11M00N

[Nmap]Nmap NSE의 이해 및 스크립트 실습 본문

Penetration testing/Information collection

[Nmap]Nmap NSE의 이해 및 스크립트 실습

호IT 2020. 11. 1. 03:25

* 허락을 받지 않은 스캐닝은 불법입니다.

* 절대로 공개되어 있는 IP/도메인에 대해 스캐닝을 하시면 안 됩니다.

* 다음은 정보통신망법의 일부 내용입니다.

제48조(정보통신망 침해행위 등의 금지)

① 누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다. 

② 누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램 등을 훼손ㆍ멸실ㆍ변경ㆍ위조하거나 그 운용을 방해할 수 있는 프로그램(이하 "악성프로그램"이라 한다)을 전달 또는 유포하여서는 아니 된다. 

③ 누구든지 정보통신망의 안정적 운영을 방해할 목적으로 대량의 신호 또는 데이터를 보내거나 부정한 명령을 처리하도록 하는 등의 방법으로 정보통신망에 장애가 발생하게 하여서는 아니 된다.

[전문개정 2008. 6. 13.]

----------------------------------------------------------------------------------------------------

실습 환경: VMware 16 Pro, Kali Linux 2020(공격자 192.168.10.220/22) , Metasploitable2(희생자 192.168.11.171/22)

 

- Nmap NSE 이해

Nmap을 써도 되긴 하나, 옵션마다 시간이 오래 걸리거나 유연성이 부족하다.Nmap NSE는 네트워크 스캔을 진행하거나 취약점 진단 시 많이 쓰이는 스크립트이다.

Lua Language 로 작성 되어있고 nmap을 통해 포트스캔, 네트워크 접근 등 더 넓은 범위에서 스캔이 가능하다.

NSE에는 카테고리란 개념이 있는데 아래의 표와 같다.

카테고리명

설명

auth

타겟에서 인증 자격 증명 또는 인증 자격 우회를 처리한다.

broadcast

로컬 네트워크에서 브로드캐스팅 결과로 나오지 않은 호스트를 탐색한다.

brute

무차별 대입 공격을 해 원격 서버의 인증 자격 증명을 추측한다.

discovery

public registries, SNMP-enabled device, directory service 와 같은 것을 쿼리하여 네트워크에 대한 더 많은 것을 탐색한다.

dos

dos 공격에 대한 취약성 테스트를 위해 수행되는 카테고리이다.

exploit

취약점을 exploit 하는 것을 목표로 한다.

fuzzer

패킷의 예기치 못하거나 랜덤 한 필드를 서버소프트웨어로 보낸다. 소프트웨어의 취약점과 미 발견 버그를 찾는데 유용하다.

intrusive

타겟을 손상시키거나 타겟의 중요 자원 사용 등의 위험요소가 많은 카테고리이다.

malware

타겟 플랫폼이 malware 또는 backdoor에 감염되었는지 테스트하는 카테고리이다.

safe

서비스 중단, 네트워크 대역폭이나 다른 리소스의 다량 사용, 보안 취약점 exploit 등을 하지 않는 카테고리이다.

vuln

알려진 취약점을 체크하고, 찾은 결과만을 보고한다.

default

-sC와 같으며 기본값이다.

- Nmap NSE 스크립트실습

locate *.nse

“nmap *.nse” 명령어를 수행하면 NSE 파일을 찾을 수 있다.

 

 

 

 

*vul*.nse

“locate *vul*.nse” 명령어를 수행하여 취약점 점검과 관련된 모듈들만 찾아볼 수 있다.

 

 

 

 

 

- http-enum

http-enum

“nmap –script http-enum IP” 명령어를 수행하여 http 페이지를 스캔 한다.

http-enum 결괏 값

http-enum 명령어의 결괏 값이다. http의 페이지들이 노출된 모습을 확인할 수 있다.

 

 

 

 

 

 

- NSE Vulscan

 

Vul Scan은 취약점 점검 스크립트이다.

 

잘 알려진 취약점 DB 사이트들에 쿼리를 날려서 관련 버전이나 서비스에 해당하는 취약점 정보를 받아와 표현해준다.

 

실질적인 유효 취약점을 찾는다는 느낌보단 보안적으로 미흡한 구간을 찾는데 있어서 도움이 된다.

 

아래 9개의 사이트는 Vul Scan이 지원하는 사이트 들이다. Vulners.com을 제외하곤 모두 vulscan에서 사용하는 사이트이다.

 

scipvuldb.csv

https://vuldb.com

cve.csv

https://cve.mitre.org

securityfocus.csv

https://www.securityfocus.com

xforce.csv

https://exchange.xforce.ibmcloud.com

exploitdb.csv

https://www.exploit-db.com

openvas.csv

http://www.openvas.org

securitytracker.csv

https://www.securitytracker.com

osvdb.csv

http://www.osvdb.org

vulners.com

https://vulners.com

 

 nmap vulscan.nse

“nmap -sV -T5 –script=Vulscan/Vulscan.nse IP > VulScan_Result.txt” 명령어를 수행하여 취약점 분석 스크립트 스캔을 한다. 결괏 값의 양이 많기 때문에 txt 파일을 첨부한다.

VulScan_Result.txt
3.41MB

 

 

 

 

 

 

NSE banner-plus

nmap banner-plus

“nmap --script=banner-plus IP” 명령어를 수행하여 오픈 된 포트에서 어떤 서비스를 사용하는 지 배너그래빙(Banner Grabbing)하여 출력 값을 본다.

 

배너그래빙 (Banner Grabbing) :공격 대상 시스템의 운영체제를 탐지하는 가장 기본적인 방법이다배너 확인함으로써 상대방 시스템의 운영체제를 탐지할 있다.

 

 

ref blog.naver.com/PostView.nhn?blogId=tkdldjs35&logNo=222065966682&categoryNo=0&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

Comments