溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nmap在pentest box中的掃描及應(yīng)用

發(fā)布時(shí)間:2020-07-23 19:21:06 來源:網(wǎng)絡(luò) 閱讀:1649 作者:simeon2005 欄目:安全技術(shù)

   最近一直在思考,Web***中,正面的***是一種思路,橫向和縱向***也是一種思路,在***過程中,目標(biāo)主站的防護(hù)越來越嚴(yán)格,而子站或者目標(biāo)所在IP地址的C段或者B端的***相對容易,這種***涉及目標(biāo)信息的搜集和設(shè)定,而對這些目標(biāo)信息收集最主要方式是子域名暴力破解和端口掃描。子域名暴力破解,會在下一篇文章中專門介紹,本文主要介紹端口掃描以及應(yīng)用的思路。

 

一.端口掃描準(zhǔn)備工作

1.下載pentestbox

  pentestbox是一款Windows下集成的***測試平臺,其官方網(wǎng)站地址:https://pentestbox.org/,最新版本為2.2版本,可以下載帶有Metasploit和不帶Metasploit的程序,下載地址:

https://sourceforge.net/projects/pentestbox/files/

https://nchc.dl.sourceforge.net/project/pentestbox/PentestBox-with-Metasploit-v2.2.exe

下載完成后將該exe文件解壓以后即可使用。

2.下載nmap最新版本并升級pentestbox

   目前nmap最新的穩(wěn)定版本為7.6版本(https://nmap.org/dist/nmap-7.60-win32.zip),將其下載到本地,解壓后,找到PentestBox 安裝目錄,例如:E:\PentestBox\bin\nmap,將nmap-7.60-win32.zip解壓后的所有文件覆蓋該目錄,升級pentestbox中的nmap到最新版本。

3.整理并確定目標(biāo)信息

    通過子域名暴力破解,獲取目前子域名的IP地址,對這些地址進(jìn)行整理,并形成子域名或者域名地址所在的IP地址C端,例如192.168.1.1-254。如果是單個(gè)目標(biāo)則可以ping或者域名查詢等方法獲取域名的真實(shí)IP地址。

二、使用NMAP進(jìn)行掃描

1.nmap掃描參數(shù)詳解

Usage:nmap [Scan Type(s)] [Options] {target specification}

TARGETSPECIFICATION:

  Can pass hostnames, IP addresses, networks,etc.

  Ex: scanme.nmap.org, microsoft.com/24,192.168.0.1; 10.0.0-255.1-254

  -iL <inputfilename>:輸入主機(jī)或者網(wǎng)絡(luò)的列表,iL參數(shù)后跟輸入文件的名稱,文件內(nèi)容為IP地址、IP地址范圍或者網(wǎng)絡(luò)地址

  -iR <num hosts>:隨機(jī)選擇目標(biāo)進(jìn)行掃描,0表示永遠(yuǎn)掃描。

  --exclude <host1[,host2][,host3],...>: 排除主機(jī)/網(wǎng)絡(luò)

  --excludefile <exclude_file>: 從文件中排出主機(jī)或者網(wǎng)絡(luò)

主機(jī)發(fā)現(xiàn):

  -sL: List Scan -簡單列表掃描,一般很少用,就是發(fā)現(xiàn)主機(jī)的簡單信息,不包含端口等信息。

  -sn: Ping掃描 -不能端口掃描,主要發(fā)現(xiàn)主機(jī)列表,了解主機(jī)運(yùn)行情況。

  -Pn: 在線處理所有主機(jī),略過主機(jī)發(fā)現(xiàn)

  -PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK, UDP 或者SCTP去發(fā)現(xiàn)給出的端口。

  -PE/PP/PM: ICMP回聲,時(shí)間戳,和子網(wǎng)掩碼請求發(fā)現(xiàn)探針

  -PO[protocol list]: IP 協(xié)議Ping,后跟協(xié)議列表

  -n:不用域名解析,永不對它發(fā)現(xiàn)的活動IP地址進(jìn)行反向域名解析。

  -R:告訴Nmap 永遠(yuǎn)對目標(biāo)IP地址作反向域名解析。

  --system-dns:使用系統(tǒng)域名解析器,默認(rèn)情況下,Nmap通過直接發(fā)送查詢到您的主機(jī)上配置的域名服務(wù)器來解析域名。為了提高性能,許多請求 (一般幾十個(gè) ) 并發(fā)執(zhí)行。如果您希望使用系統(tǒng)自帶的解析器,就指定該選項(xiàng)。

  --traceroute: 跟蹤每個(gè)主機(jī)的跳路徑

掃描技術(shù):

  -sS/sT/sA/sW/sM: TCPSYN/Connect()/ACK/Window/Maimon scans

-sS TCP SYN掃描(半開放掃描),SYN掃描作為默認(rèn)最受歡迎的掃描選項(xiàng),它執(zhí)行得很快,在一個(gè)沒有***防火墻的快速網(wǎng)絡(luò)上,每秒鐘可以掃描數(shù)千個(gè)端口。

-sT TCP connect()掃描, TCP連接掃描會留下掃描連接日志。

-sU UDP掃描,它可以和TCP掃描如 SYN掃描(-sS)結(jié)合使用來同時(shí)檢查兩種協(xié)議,UDP掃描速度比較慢。

-sN Null掃描,不設(shè)置任何標(biāo)志位(tcp標(biāo)志頭是0)

-sF FIN掃描,只設(shè)置TCP FIN標(biāo)志位。

-sX Xmas掃描,設(shè)置FIN,PSH,和URG標(biāo)志位。

-sN;-sF; -sX TCP Null,FIN,and Xmas掃描)掃描的關(guān)鍵優(yōu)勢是它們能躲過一些無狀態(tài)防火墻和報(bào)文過濾路由器。另一個(gè)優(yōu)勢是這些掃描類型甚至比SYN掃描還要隱秘一些。

  --scanflags <flags>:定制的TCP掃描,--scanflags選項(xiàng)允許您通過指定任意TCP標(biāo)志位來設(shè)計(jì)您自己的掃描。--scanflags選項(xiàng)可以是一個(gè)數(shù)字標(biāo)記值如9 (PSHFIN),但使用字符名更容易些。只要是URG, ACK,PSH, RST,SYN,and FIN的任何組合就行。

-sI<zombie host[:probeport]> (Idlescan),這種高級的掃描方法允許對目標(biāo)進(jìn)行真正的TCP端口盲掃描 (意味著沒有報(bào)文從您的真實(shí)IP地址發(fā)送到目標(biāo))。相反,side-channel***利用zombie主機(jī)上已知的IP分段ID序列生成算法來窺探目標(biāo)上開放端口的信息。 IDS系統(tǒng)將顯示掃描來自您指定的zombie機(jī)。除了極端隱蔽(由于它不從真實(shí)IP地址發(fā)送任何報(bào)文),該掃描類型可以建立機(jī)器間的基于IP的信任關(guān)系。端口列表從zombie主機(jī)的角度。顯示開放的端口。

  -sY/sZ: SCTP INIT/COOKIE-ECHO scans

  -sO: IP協(xié)議掃描,確定目標(biāo)機(jī)支持哪些IP協(xié)議 (TCP,ICMP,IGMP,等等)。協(xié)議掃描以和UDP掃描類似的方式工作。它不是在UDP報(bào)文的端口域上循環(huán),而是在IP協(xié)議域的8位上循環(huán),發(fā)送IP報(bào)文頭。報(bào)文頭通常是空的,不包含數(shù)據(jù),甚至不包含所申明的協(xié)議的正確報(bào)文頭TCP,UDP,和ICMP是三個(gè)例外。它們?nèi)齻€(gè)會使用正常的協(xié)議頭,因?yàn)榉駝t某些系統(tǒng)拒絕發(fā)送,而且Nmap有函數(shù)創(chuàng)建它們。

-b<ftp relay host>FTP彈跳掃描,FTP協(xié)議的一個(gè)有趣特征是支持所謂代理ftp連接。它允許用戶連接到一臺FTP服務(wù)器,然后要求文件送到一臺第三方服務(wù)器。這個(gè)特性在很多層次上被濫用,所以許多服務(wù)器已經(jīng)停止支持它了。其中一種就是導(dǎo)致FTP服務(wù)器對其它主機(jī)端口掃描。只要請求FTP服務(wù)器輪流發(fā)送一個(gè)文件到目標(biāo)主機(jī)上的所感興趣的端口。錯(cuò)誤消息會描述端口是開放還是關(guān)閉的。這是繞過防火墻的好方法,因?yàn)?/span>FTP服務(wù)器常常被置于可以訪問比Web主機(jī)更多其它內(nèi)部主機(jī)的位置。Nmap-b選項(xiàng)支持ftp彈跳掃描。參數(shù)格式是 <username>:<password>@<server>:<port>。<Server>是某個(gè)脆弱的FTP服務(wù)器的名字或者IP地址。您也許可以省略<username>:<password>, 如果服務(wù)器上開放了匿名用戶(user:anonymouspassword:-wwwuser@)。端口號(以及前面的冒號) 也可以省略,如果<server>使用默認(rèn)的FTP端口(21)。

端口說明和掃描順序:

  -p <port ranges>:僅僅掃描指定的端口,例如-p22;-p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9

  --exclude-ports <port ranges>:從掃描端口范圍中排除掃描端口。

  -F:快速掃描(有限的端口)

  -r: 不要按隨機(jī)順序掃描端口,順序?qū)Χ丝谶M(jìn)行掃描

  --top-ports <number>: 掃描number個(gè)最常見的端口

服務(wù)和版本信息探測:

  -sV:打開版本和服務(wù)探測,可以用-A同時(shí)打開操作系統(tǒng)探測和版本探測

  --version-intensity <level>:設(shè)置版本掃描強(qiáng)度,設(shè)置從09,默認(rèn)是7,值越高越精確,但掃描時(shí)間越長

  --version-light:打開輕量級模式,掃描快,但它識別服務(wù)的可能性也略微小一點(diǎn)。

  --version-all:  保證對每個(gè)端口嘗試每個(gè)探測報(bào)文(強(qiáng)度 9)

  --version-trace: 跟蹤版本掃描活動,打印出詳細(xì)的關(guān)于正在進(jìn)行的掃描的調(diào)試信息

腳本掃描:

  -sC: 相當(dāng)于--script=default

  --script=<Lua scripts>: <Luascripts> 是一個(gè)逗號分隔的目錄、腳本文件或腳本類別列表,nmap常見的腳本在scripts目錄下,例如ftp暴力破解腳本“ftp-brute.nse

  --script-args=<n1=v1,[n2=v2,...]>: 提高掃描的參數(shù)

  --script-args-file=filename: 在文件中提供NSE 腳本參數(shù)

  --script-trace: 顯示所有發(fā)送和接收的數(shù)據(jù)

  --script-updatedb: 在線更新腳本數(shù)據(jù)庫.

  --script-help=<Lua scripts>:顯示腳本的幫助信息。

  服務(wù)器版本探測:

  -O: 啟用操作系統(tǒng)檢測,也可以使用-A來同時(shí)啟用操作系統(tǒng)檢測和版本檢測

  --osscan-limit: 針對指定的目標(biāo)進(jìn)行操作系統(tǒng)檢測

  --osscan-guess: 推測操作系統(tǒng)檢測結(jié)果

時(shí)間和性能:

  選項(xiàng)<time> 設(shè)置秒,也可以追加到毫秒,s-秒,ms-毫秒,m-分鐘,h-小時(shí)

  -T<0-5>: 設(shè)置時(shí)間掃描模板,T 0-5分別為paranoid(0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)insane (5)。T0,T1用于IDS躲避,Polite模式降低了掃描速度以使用更少的帶寬和目標(biāo)主機(jī)資源,默認(rèn)為T3,Aggressive模式假設(shè)用戶具有合適及可靠的網(wǎng)絡(luò)從而加速掃描。Insane模式假設(shè)用戶具有特別快的網(wǎng)絡(luò)或者愿意為獲得速度而犧牲準(zhǔn)確性。

  --min-hostgroup/max-hostgroup <size>: 調(diào)整并行掃描組的大小

  --min-parallelism/max-parallelism<numprobes>: 調(diào)整探測報(bào)文的并行度

 --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>:調(diào)整探測報(bào)文超時(shí)  --max-retries <tries>:掃描探針重發(fā)的端口數(shù)

  --host-timeout <time>: 多少時(shí)間放棄目標(biāo)掃描

  --scan-delay/--max-scan-delay <time>: 在探測中調(diào)整延遲時(shí)間

  --min-rate <number>:每秒發(fā)送數(shù)據(jù)包不少于<數(shù)字>

  --max-rate <number>: 每秒發(fā)送數(shù)據(jù)包不超過<數(shù)字>

防火墻/ IDS逃避和欺騙:

  -f; --mtu <val>:報(bào)文包,使用指定的MTU (optionallyw/given MTU)使用小的IP包分段。其思路是將TCP頭分段在幾個(gè)包中,使得包過濾器、 IDS以及其它工具的檢測更加困難

  -D <decoy1,decoy2[,ME],...>: 使用誘餌隱蔽掃描

  -S <IP_Address>:源地址哄騙

  -e <iface>:使用指定的接口

  -g/--source-port <portnum>:源端口哄騙

  --proxies <url1,[url2],...>:通過HTTP /Socks4代理傳遞連接

  --data <hex string>:向發(fā)送的包追加一個(gè)自定義有效負(fù)載

  --data-string <string>:向發(fā)送的數(shù)據(jù)包追加自定義ASCII字符串

  --data-length <num>:將隨機(jī)數(shù)據(jù)追加到發(fā)送的數(shù)據(jù)包

  --ip-options <options>:用指定的IP選項(xiàng)發(fā)送數(shù)據(jù)包

  --ttl <val>: 設(shè)置IPttl

  --spoof-mac <mac address/prefix/vendorname>:欺騙你的MAC地址

  --badsum: 發(fā)送數(shù)據(jù)包偽造TCP/UDP/SCTP校驗(yàn)

輸出:

  -oN/-oX/-oS/-oG <file>: 輸出正常掃描結(jié)果,XML, 腳本小子,Grep輸出格式,指定定輸出文件名

  -oA <basename>:一次輸出三種主要格式

  -v: 增量水平(使用 -vv ormore效果更好)

  -d: 提高調(diào)試水平(使用 -dd ormore 效果更好)

  --reason: 顯示端口處于某一特定狀態(tài)的原因。

  --open: 只顯示打開(或可能打開)端口

  --packet-trace: 顯示所有數(shù)據(jù)包的發(fā)送和接收

  --iflist: 打印主機(jī)接口和路由(用于調(diào)試)

  --append-output: 附加到指定的輸出文件,而不是亂碼

  --resume <filename>:恢復(fù)中止掃描

  --stylesheet <path/URL>:設(shè)置XSL樣式表,轉(zhuǎn)換XML輸出

  --webxml:  參考更便攜的XML Nmap.org樣式。

  --no-stylesheet:忽略XML聲明的XSL樣式表,使用該選項(xiàng)禁止NmapXML輸出關(guān)聯(lián)任何XSL樣式表

其它選項(xiàng):

  -6: 啟用IPv6掃描

  -A: 激烈掃描模式選項(xiàng),啟用OS、版本,腳本掃描和跟蹤路由

  --datadir <dirname>:說明用戶Nmap數(shù)據(jù)文件位置

  --send-eth/--send-ip: 使用原以太網(wǎng)幀或在原IP層發(fā)送

  --privileged: 假定用戶具有全部權(quán)限

  --unprivileged: 假設(shè)用戶沒有原始套接字特權(quán)

  -V: 打印版本號

  -h: 使用幫助信息

2.使用實(shí)例

1nmap -vscanme.nmap.org

掃描主機(jī)scanme.nmap.org中所有的保留TCP端口(1000端口)。選項(xiàng)-v啟用細(xì)節(jié)模式。

2nmap -sS -Oscanme.nmap.org/24

  進(jìn)行秘密SYN掃描,對象為主機(jī)Saznme所在的“C類”網(wǎng)段 255臺主機(jī)。同時(shí)嘗試確定每臺工作主機(jī)的操作系統(tǒng)類型。因?yàn)檫M(jìn)行SYN掃描和操作系統(tǒng)檢測,這個(gè)掃描需要有根權(quán)限。

3nmap -sV -p22,53,110,143,4564 198.116.0-255.1-127

  進(jìn)行主機(jī)列舉和TCP掃描,對象為B188.116網(wǎng)段中255個(gè)8位子網(wǎng)。這 個(gè)測試用于確定系統(tǒng)是否運(yùn)行了sshd、DNS、imapd4564端口。如果這些端口 打開,將使用版本檢測來確定哪種應(yīng)用在運(yùn)行。

4nmap -v -iR100000 -P0 -p 80

   隨機(jī)選擇100000臺主機(jī)掃描是否運(yùn)行Web服務(wù)器(80端口)。由起始階段發(fā)送探測報(bào)文來確定主機(jī)是否工作非常浪費(fèi)時(shí)間,而且只需探測主機(jī)的一個(gè)端口,因此使用-P0禁止對主機(jī)列表。

5nmap -P0-p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

掃描4096個(gè)IP地址,查找Web服務(wù)器(ping),將結(jié)果以GrepXML格式保存。

6host -lcompany.com | cut -d -f 4 | nmap -v -iL -

進(jìn)行DNS區(qū)域傳輸,以發(fā)現(xiàn)company.com中的主機(jī),然后將IP地址提供給 Nmap。上述命令用于GNU/Linux-- 其它系統(tǒng)進(jìn)行區(qū)域傳輸時(shí)有不同的命令。

3.常用掃描

(1)nmap -p 1-65535 -T4 -A -v 47.91.163.1-254  -oX 47.91.163.1-254.xml

掃描47.91.163.1-254IP地址使用快速掃描模式,輸出47.91.163.1-254.xml

2nmap  -v  47.91.163.1-254

  掃描C端常見TCP端口

(3)nmap  -O  47.91.163.1

   探測47.91.163.1服務(wù)器OS版本和TCP端口開放情況

(4)nmap  -sn 10.0.1.161-166

掃描存活主機(jī)

(5)nmap -e eth0 10.0.1.161 -S 10.0.1.168 -Pn

   使用偽裝地址10.0.1.168對10.0.1.161進(jìn)行掃描

(6)nmap     -iflist

查看本地路由和接口

(7)nmap --script smb-vuln-ms17-010.nse -p 445 192.168.1.1

nmapscript=samba-vuln-cve-2012-1182-p 139 192.168.1.3

對主機(jī)192.168.1.1使用漏洞腳本smb-vuln-ms17-010.nse進(jìn)行檢測。

(8)nmap --script whois-domain.nse www.secbang.com

   獲取secbang.com的域名注冊情況,該腳本對國外域名支持較好。

9nmap--script ftp-brute -p 21 127.0.0.1

暴力破解127.0.0.1的ftp賬號

10nmap -sV–script=http-enum 127.0.0.1

枚舉127.0.0.1的目錄

4.實(shí)戰(zhàn)掃描

    對整理的IP地址段或者IP實(shí)施掃描:

(1)單一IP地址段掃描

nmap -p 1-65535 -T4 -A -v 47.91.163.1-254  -oX 47.91.163.1-254.xml

(2)IP地址段掃描

nmap -p 1-65535 -T4 -A -v -iLmytarget.txt -oX mytarget.xml

三.掃描結(jié)果分析及處理

1.查看掃描文件

  有些情況,掃描是在服務(wù)器上進(jìn)行,掃描結(jié)束后,將掃描結(jié)果下載到本地進(jìn)行查看,如圖1所示,又有XSL樣式表解析導(dǎo)致出錯(cuò)。通常原因是由于nmap中的nmap.xsl文件位置不對,如圖2所示,將正確的文件位置設(shè)置好即可。例如原nmap地址為:

C:/Program Files (x86)/Nmap/nmap.xsl

新的地址為:

E:\Tools\測試平臺\PentestBox-with-Metasploit-v2.2\bin\nmap\nmap.xsl

在掃描結(jié)果的xml文件中進(jìn)行替換即可,切記需要更換路徑符號“\”為“/”。

Nmap在pentest box中的掃描及應(yīng)用

圖1查看xml顯示錯(cuò)誤

Nmap在pentest box中的掃描及應(yīng)用

圖2修改文件位置

2.分析并處理掃描結(jié)果

(1)從概覽中查看端口開放主機(jī)

    如圖3所示,打開xml文件后,在文件最上端顯示掃描總結(jié),有底色的結(jié)果表示端口開放,黑色字體顯示的IP表示未開放端口或者防火墻進(jìn)行了攔截和過濾。

Nmap在pentest box中的掃描及應(yīng)用

圖3查看掃描概覽

(2)逐個(gè)查看掃描結(jié)果

   對淺綠色底的IP地址逐個(gè)進(jìn)行查看,例如查看47.91.163.219,如圖4所示,打開后可以看到IP地址以及端口開放等掃描結(jié)果情況,在open中會顯示一些詳細(xì)信息。

Nmap在pentest box中的掃描及應(yīng)用

圖4查看掃描結(jié)果具體掃描情況

3)測試掃描端口開放情況

    使用http://ip:port進(jìn)行訪問測試,查看網(wǎng)頁是否可以正常訪問,例如本例中http://47.91.163.174:8080/可以正常訪問,系統(tǒng)使用tomcat,如圖5所示。

Nmap在pentest box中的掃描及應(yīng)用

5訪問掃描結(jié)果

4)技巧

    在瀏覽器中使用Ctrl+F快捷鍵可以對想查看的關(guān)鍵字進(jìn)行檢索。對所有的測試結(jié)果要記錄,便于后期選擇***方法。

3.進(jìn)一步***

   通過對掃描結(jié)果進(jìn)行分析整理,對服務(wù)器開放的服務(wù)以及可能存在的漏洞進(jìn)行直接或者間接測試,例如對Java平臺,可以測試是否存在struts系列漏洞,如圖6所示。有的目標(biāo)還需要進(jìn)行暴力破解,工具掃描等工作,直到發(fā)現(xiàn)漏洞,獲取權(quán)限為止。

Nmap在pentest box中的掃描及應(yīng)用

6直接測試是否存在漏洞

  在進(jìn)一步***中需要結(jié)合多個(gè)知識點(diǎn),需要針對出現(xiàn)的問題進(jìn)行相應(yīng)的檢索。其可供參考思路如下:

1)整理目標(biāo)的架構(gòu)情況,針對架構(gòu)出現(xiàn)的漏洞進(jìn)行嘗試。

2)如果有登錄管理界面,嘗試弱口令登錄后暴力破解。

3)使用wvs等掃描器對站點(diǎn)進(jìn)行漏洞掃描

4)使用burpsuite對站點(diǎn)進(jìn)行漏洞分析和測試。

5)如果是陌生的系統(tǒng),可以通過百度等搜索引擎進(jìn)行搜索查看,網(wǎng)上是否曾經(jīng)出現(xiàn)漏洞和利用方法。

6)下載同類源代碼搭建環(huán)境進(jìn)行測試,了解系統(tǒng)存在漏洞,對存在漏洞進(jìn)行測試總結(jié)和再現(xiàn),并對實(shí)際系統(tǒng)進(jìn)行測試。

7)挖掘系統(tǒng)可能存在的漏洞

8)利用XSS來獲取管理員的密碼等信息。

9)若掌握郵箱,可以通過msf生成***/apk等進(jìn)行社工***。

10)所有方法不行,就等等,重新整理思路。

參考文章:

https://nmap.org/man/zh/

http://www.nmap.com.cn/doc/manual.shtm


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI