nmap的理解與利用(初級)

stage/發表於2021-01-24

在命令視窗下輸入命令等待,可以用回車來檢視進度

image-20210123185945423

nmap進行探測之前要把域名通過dns伺服器解析為ip地址,我們也可以使用指定的dns伺服器進行解析。

nmap --dns-servers 主機地址 需要掃描的目標地址

對於已經知道主機存活或者防火牆開啟,可以使用-Pn引數來停止探測之前的icmp的請求。已達到觸不到防火牆安全機制

nmap -Pn www.baidu.com

image-20210123191045109

nmap列舉遠端機器開放埠

對於預設埠範圍,並不能滿足日常工作需要。可以使用-p m-n 來指定探測埠範圍為m到n之間的所有埠可以在具體某個範圍用

埠狀態

open、close不解釋了,主要是filtered是過濾狀態

nmap掃描技術檢視

nmap -h檢視幫助資訊

image-20210123191827573

主要幫助裡的SCAN TECHNIQUES

服務指紋

為了確保有一個成功的滲透測試或網路裝置監控,需要我們知道目標系統中服務資訊指紋。服務指紋資訊包含服務埠、服務名和版本等。

通過分析目標往nmap傳送的資料包中的某些協議標記、選項和資料,我們可以推斷這些資料包的作業系統。

nmap通過向目標主機傳送多個udp和tcp資料包並分析響應來進行系統指紋工作。

nmap識別服務指紋

nmap -sV IP地址來自目標機器的服務資訊

就用虛擬機器的kali吧。。。。當實驗吧。。

B9A1A9DB9EF27DB3ACF1B5DB29CEA5CA

真的很慢。。。

image-20210123195030429

通過掃描知道我用的是vmware,竟然還有個漏洞埠,445可以通過埠溢位進行攻擊

nmap侵略性探測

nmap -A -v -T4 IP地址

-A表示使用侵略的方式,嗯。。可以理解為英文單詞attack其中包括操做系統識別,埠服務、指紋識別等

-v表示持續輸出返回的解析的詳略程度。

-T4是加速(數字範圍是1到5)

可以掃到目標機器的開機時間,MAC地址,系統版本等。。。

nmap -sC -sV -O(是o不是0) IP地址

sC參數列示使用nmap指令碼進行探測,sV表示探測目標機器上的服務資訊,O表示探測目標機器的作業系統

主機發現

區域網有許多裝置,如何獲取開機狀態

1.ping

2.使用工具批量探測

明白CIDR含義:

無類別域間路由,(class inter-domain routing)可以快速地表示一個網路

舉例:

172.16.1.1/24 表示172.16.1.1到172.16.1.255之間的所有ip地址

nmap主機發現

nmap -sP CIDR 

對該網路的所有主機進行ping掃描,以探測主機存活性。掃描中用了tcp syn掃描、icmp echo request 來探測主機存活。

也可以使用

nmap -sn CIDR 

對該網路中的所有主機進行ping掃描,以探測主機的存活性。

nmap主機發現輸出結果

nmap -sn CIDR -oX 檔名.xml 

對該網路中的所有主機進行ping掃描,以探測主機的存活性。同時結果以檔名.xml輸出,以便後記使用

ps:注意路徑

埠探測技巧

nmap -p80 目標

image-20210123205347000

把網站解析成IP地址,厲害。我們也可以看到狀態是開放的

多個埠以逗號隔開

範圍埠

nmap -p1-100 目標地址

所有埠

nmap -p- 目標地址

指定協議探測埠

nmap -p T:埠,U:埠 目標地址

通過協議名來掃描埠

nmap -p 協議名字 目標地址

這個牛逼

通過名稱範圍掃描

nmap -p s* 目標地址

這裡的s*值得是所有以s開頭的協議

掃描百度會有許多過濾

image-20210123210902361

掃描註冊在nmap中的埠

nmap -p [1-65535] 目標地址

NSE介紹

nse就是nmap script engine )nmap指令碼引擎,內建很多可以用來掃描的、針對特定任務的指令碼。通過nse可以不斷地擴充nmap的掃描策略,加強nmap的功能

image-20210124103843454

nse使用

使用nmap探測web服務的title資訊。

nmap --script http-title 目標主機

image-20210124104221176

nmap --script http-headers 目標主機

可以獲得目標的使用版本資訊等

nse分類使用

對於目標使用多個分類指令碼進行探測,可以更快的找到目標資訊和弱點

nmap -sV --script vuln 目標

不展示。。

使用下面的命令可以發現版本資訊分類進行探測

nmap -sV --script="version,discovery" 目標

使用nmap可以進行篩選掃描檢測

nmap -sV --script="not exploit" 目標 

還有更詳細的。。

要使用http*的指令碼,除了http-brute和http-slowers

nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 目標

nse除錯功能的使用

使用nmap中的exploit,但是在與此同時開啟除錯模式。

nmap -sV --script ecploit -d 3 --script-trace 目標

-d(debug範圍0到9)

--script-trace可以隨時看到掃描過程

nse引數的使用

使用nmap的http-title指令碼,並且指定使用對應的user-agent

nmap -sV --script http-title --script-args http.useragent="mozilla 999" 目標

此程式碼使用可以突破某些網站的限制裝置登陸

nse更新

nmap --script-updatedb

nse指令碼分類

在nmap的script的目錄下。

或者官網https://nmap.org/nsedoc/

有具體解釋和內容,不過得翻牆,我進不去。。

nmap指定特定網路卡進行探測

使用場景

這種功能需要網路卡支援混雜模式,或者當計算機上有兩張卡,並且兩張卡對應不同的網路

指定網路卡進行探測

nmap -e 網路卡資訊 CIDR 

切換使用特定網路卡進行探測的引數 -e

kali中操作

image-20210124113800330

ndiff

對之前的資料引數進行二次比較,減少了人工的比較,節省大量時間

image-20210124114327335

上我們最愛的百度翻譯

用法:ndiff[option]FILE1 FILE2

比較兩個Nmap XML檔案並顯示它們的差異列表。

不同之處包括主機狀態更改、埠狀態更改和

服務和作業系統檢測。



-h、 --幫助顯示此幫助

-v、 --verbose還顯示未更改的主機和埠。

--文字格式的文字顯示輸出(預設)

--xml格式的xml顯示輸出

指定檔案輸出加侵略性檢視

nmap -A -v -T4 目標地址 -oX 檔案輸出名.xml

然後對kali輸入命令

service apache2 start

來開啟阿帕奇服務

nmap上面的命令

image-20210124115306700

然後用工具nidff

ndiff 檔案 檔案 

image-20210124115731117

首行加+表示第二個比較的檔案的不同

-表示第一個檔案的不同

之前開啟服務,apache,所以會有不同。

視覺化nmap的使用

使用zenmap

在配置中設定指令碼,從而在視覺化程式中快速指定配置進行掃描

image-20210124122720624

也可以使用自帶策略

image-20210124122902799

ping scan來驗證主機的存活性

等等等

window下網路卡

通過命令ipconfig /all 與nmap irlist比較知道是哪些網路卡名稱從而進行探測。

不指定網路卡,直接探測也可以,首先依次嘗試這些網路卡傳送資料包,如果連通,才會繼續探測,否則就換下一個網路卡。直到網路卡都被嘗試後,才算結束。

相關文章