Nmap NSE(Nmap Scripting Engine)
Nmap은 네트워크 대역의 모든 호스트 정보 및 서비스 정보를 파악하고 지속적인 모니터링을 할 시 유용
스크립트를 활용하게 되면 NFS, SMB등 상세한 서비스 정보들을 수집 가능하며, 취약점 여부, whois 검색 등 많은 작업을 수행할 수 있다.
주요 스크립트 | 내용 |
nmap --script "default or safe" | nmap --script "default, safe"와 같은 표현이고 default 혹은 safe의 카테고리 검색 |
nmap --script "default and safe" | default와 safe의 카테고리 검색 |
nmap --script "default and not http-*" | default이면서 http-*의 파일이 아닌 카테고리 검색 |
--script-args=,={=},={,} | 작성자가 스크립트를 직접 정의 |
nmap --script "http-*" | http-로 시작하는 모든 파일을 스캔, 위의 예제처럼 and, or 연산자도 사용 가능 |
nmap --script "not intrusive" | intrusive만 제외하고 검색 |
--script-trace: | --packet-trace와 같이 사용 |
--script-updatedb | scripts/script.db의 정보를 업데이트 |
http-enum.nse
http-enum.nse를 이용하여 외부에서 접근 가능한 디렉터리 및 파일 정보들을 확인할 수 있다.
그림과 같이 노출되는 정보를 통해 '192.168.178.130/test'를 주소에 입력하여 해당 디렉토리에 접속할 수 있는 것을 확인할 수 있다(디렉토리 리스트 노출 취약점)
Vulscan.nse
Vulscan은 취약점 표준을 관리하고 있는 CVE(Common Vulnerabilities and Exposures)의 데이터베이스를 비롯하여 다양한 취약점 데이터베이스를 비교한 결과를 스캔한 정보와 결합을 하여 출력하는 종합 취약점 관리 스크립트이다.
(설치 경로 : git clone https://github.com/scipag/vulscan)
그림과 같이 일반적으로 vulscan을 하면 여러 db에서 정보를 가져오기때문에 출력되는 정보가 많다 그래서 옵션 뒤에 txt로 만들어주는 명령어를 써서 txt 파일로 받을 수 있다.
ex) nmap -sV -script=vulscan/vulscan.nse domain > vulscan_result.txt
Banner-plus.nse
Banner-plus는 오픈 된 포트에서 어떤 서비스를 사용하는지 배너그래빙을 통해 사용자에게 재공해 준다. 이때 배너그래빙은 텔넷으로 로그인하여 처음에 출력되는 메시지를 파악하여 시스템 정보를 스캔하는 방식을 말한다.
http-methods
PUT 메소드를 활용하여 웹쉘 업로드 및 실행 → 해당 경로 내에 웹쉘 업로드 가능함 확인
dns-brute.nse
nmap 자체의 기능이랑 같이 사용할 수 있기 때문에 한번에 여러가지 작업을 하는데 있어서 유용
스크립트 이름대로 bruteforece를 통해 대상 도메인의 하위 서브 도메인을 찾아준다.
이외에도 ftp 익명 계정을 확인하는 ftp-anon.nse, 패스워드 설정되지 않은 데이터베이스 검색 mysql-empty-password.nse등 많은 nse들이 알려져 있으니 필요한 부분에 대해서는 확인 후 업무에 적용할 수 있는 방안에 대해 알아보아야 할꺼 같다.
참고
https://www.hahwul.com/2019/05/12/nmap-nse-4/
'기술보안 > Web' 카테고리의 다른 글
[JWT] 2장. JWT(JSON Web Token) 취약점 (0) | 2022.08.31 |
---|---|
Wordpress 계정 확인 취약점 (0) | 2022.08.30 |
Shodan(feat. 포트 스캔) (0) | 2022.07.31 |
[JWT] 1장. JWT(JSON Web Token)란 무엇인가? (0) | 2022.07.31 |
IE 취약점이 Edge에서 동작할까? (0) | 2022.07.31 |