您好,登錄后才能下訂單哦!
很多工具都提供遠程對操作系統(tǒng)進行檢測的功能,你可以使用Nmap在網(wǎng)絡(luò)上找到那些已經(jīng)過時的系統(tǒng)或未經(jīng)授權(quán)的系統(tǒng)。
但是并沒有一種工具可以提供絕對精準的遠程操作系統(tǒng)信息。幾乎所有的工具都使用猜解的方法,通過向目標發(fā)送探針,然后根據(jù)目標的回應(yīng)來進行猜測系統(tǒng)。這個探針大多都是以TCP和UDP數(shù)據(jù)包的形式,檢查的細節(jié)包括初始序列號(ISN),TCO選項,IP標識符(ID),數(shù)字時間戳等。每個系統(tǒng)都會對這些探針做出不同的響應(yīng),這些工具就提取這些響應(yīng)中的特征部分,然后記錄在一個數(shù)據(jù)庫中,Nmap也是如此。
在Nmap中操作系統(tǒng)檢測還提供了關(guān)于系統(tǒng)運行時間和TCP序列可預(yù)測性信息的分類,使用-O參數(shù)通過端口掃描來完成對操作系統(tǒng)的掃描。
nmap -O 192.168.126.1
這個命令將會使用Nmap默認的SYN的掃描方式進行端口檢測,不過操作系統(tǒng)檢測選項可以和別的檢測技術(shù)結(jié)合使用。使用--osscan-limit參數(shù)的時候,Nmap只會對滿足“同時具有狀態(tài)open和closed的端口”條件的主機進行操作系統(tǒng)檢測。
遠程判斷目標計算機操作系統(tǒng)的方法可以分為兩類。
主動式方法:指客戶端主動向遠程主機發(fā)送信息,遠程主機一般要對這些信息作出反應(yīng),會回復(fù)一些信息,發(fā)送者對這些信息進行分析,就有可能會得知遠程主機的操作系統(tǒng)類型。
被動式方法:并不向目標操作系統(tǒng)發(fā)送任何數(shù)據(jù)包,而是通過各種抓包工具來搜集流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)報文,再從這些報文中得到目標計算機的操作系統(tǒng)信息。
Nmap并不使用被動方式,Nmap的主動方式中采用多達15個探針的操作系統(tǒng)指紋掃描包。指紋是計算機作為身份認證的一種機制,每種操作系統(tǒng)都有不一樣的特征,通過向計算機發(fā)送探針來查看目標主機的響應(yīng)數(shù)據(jù),這個過程就是操作系統(tǒng)指紋分析的過程。探針利用了TCP,UDP,ICMP等協(xié)議。這些經(jīng)過巧妙設(shè)計的探針可以發(fā)現(xiàn)目標操作系統(tǒng)細微的差別。
在Nmap中我們可以搭配使用-O參數(shù)
nmap -O -F 192.168.126.1
隨著我們不斷增加參數(shù),可能會為系統(tǒng)帶來更大的負擔(dān),同時也會泄露我們更多信息,更容易被IPS/IDS檢測出來。
nmap同樣可以作為網(wǎng)絡(luò)管理者的一個利器。利用這款工具,網(wǎng)絡(luò)管理者可以節(jié)省大量的時間和精力,我們使用下面這個指令來看一下有什么效果。
nmap -sV -F --fuzzy --osscan-guess 192.168.0.103
這里我是掃描的是我自己的物理機,開著防火墻的情況下,檢測出我的虛擬機版本是vmware15。
我再用這個指令來試一下虛擬機,掃描的結(jié)果是沒毛病的嗷
如果我們希望通過nmap準確檢測遠程操作系統(tǒng)是比較困難的,所有這里我們使用到了-osscan-guess這個具有猜測功能的參數(shù),它會猜測最為接近目標的操作系統(tǒng)類型,我們可以利用這條指令就可以簡單的發(fā)現(xiàn)目標網(wǎng)絡(luò)中那些不安全的系統(tǒng),還可以快速獲取目標上不安全的應(yīng)用,我們做為維護者可以使用這個盡早來完善系統(tǒng)的安全性。
我們一直在說nmap無法百分之百的確定目標系統(tǒng),只能依靠猜測。在nmap無法確定目標操作系統(tǒng)的時候,nmap會輸出系統(tǒng)的TCP/IP指紋文件,并給出各個系統(tǒng)類型的可能性。nmap也希望我們可以提交這個指紋文件和最終驗證的該系統(tǒng)的真實類型,從而幫助nmap更新操作系統(tǒng)指紋數(shù)據(jù)庫。這里我們就不掃描網(wǎng)站了,還是使用自己的虛擬機。
通過掃描結(jié)果我們發(fā)現(xiàn),在這次掃描中,并沒有得到目標系統(tǒng)的準確值,但是可以看出結(jié)果給出了一個TCP/IP fingerprint的值,也就是OS后面的內(nèi)容。
這個輸出結(jié)果并非一次的掃描結(jié)果,而是多次掃描的結(jié)果,這些掃描包括SCAN、SEQ、OPS、WIN、ECN、T1~T7、U1和IE。每次的掃描結(jié)果都是用%作為分隔符,有的掃描結(jié)果可能為空(RD=0,就代表RD的結(jié)果沒有得到什么實際內(nèi)容),測試結(jié)果必須完全匹配操作系統(tǒng)指紋的定義,這樣才能與指紋數(shù)據(jù)庫中的條目進行匹配。例如 T1(R =N)則代表這次測試沒有任何返回結(jié)果。
我們將第一個SCAN的結(jié)果拿出來分析一下
SCAN(V=7.80%E=4%D=11/3%OT=80%CT=7%CU=40895%PV=Y%DS=1%DC=D%G=Y%M=000C29%TM=5DBE8A64%P=i686-pc-windows-windows)
這一行代表當(dāng)前進行掃描使用的nmap版本以及一些其他的相關(guān)本地信息。
V=7.80表示當(dāng)前使用的nmap版本
D=11/3表示的掃描的日期
OT=80%CT=7表示在指紋識別過程中使用的TCP端口
CU=40895表示在指紋識別過程中使用的UDP端口
PV=Y表示目標IP地址是否屬于私有IP地址(Y=yes N=no)
DS=1表示從nmap所在主機到目標主機的距離跳數(shù)
G=Y表示這次掃描結(jié)果較好,可以提交給iNSEcure.Org(也就是nmap的網(wǎng)站)
TM=5DBE8A64表示掃描所消耗的時間
p=i686-pc-windows-windows指出nmap所在主機的操作系統(tǒng)類型
下面的這些測試結(jié)果(SEQ、OPS、WIN、T1),這些測試的結(jié)果是通過向目標上開放的TCP端口發(fā)送一組非常巧妙的探針得到的。
SEQ(SP=FD%GCD=1%ISR=10D%TI=I%CI=I%II=I%SS=S%TS=U)
SP=FD表示TCP的初始序列號(ISN)
GCD=1表示TCP的增量
ISR=10D表示ISN的速率
TI=I表示SEQ探針回應(yīng)數(shù)據(jù)包中IP頭部的ID值
II=I表示ICMP探針回應(yīng)數(shù)據(jù)包中的IP頭部的ID值
TS=U表示TCP數(shù)據(jù)包的時間戳信息
OPS測試結(jié)果
OPS(O1=M5B4NW8NNS%O2=M5B4NW8NNS%O3=M5B4NW8%O4=M5B4NW8NNS%O5=M5B4NW8NNS%O6=M5B4NNS)
O1=M5B4表示TCP數(shù)據(jù)包每次能夠傳輸?shù)淖畲髷?shù)據(jù)分段
ST11表示ACK的可選信息和數(shù)據(jù)包的時間戳內(nèi)容
N表示為空操作
w0指出了窗口大小
O2、O3....O6的意義均和O1相同。
WIN測試結(jié)果
WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FF70)
這個測試結(jié)果給出了6個探針返回值的初始窗口大小
W1=2DA0
W2=2DA0
W3=2DA0
W4=2DA0
W5=2DA0
W6=2DA0
ECN測試結(jié)果
ECN(R=Y%DF=Y%T=40%W=FFFF%O=M5B4NW8NNS%CC=N%Q=)
R=Y表示目標是否對我們進行了響應(yīng)
DF=Y表示IP數(shù)據(jù)包的分段標志位是否被設(shè)置
T=40表示回應(yīng)數(shù)據(jù)包IP中的TT1值 W=FFFF表示TCP初始化窗口的大小信息
O=M5B4NNS表示TCP選項的信息
CC=Y表示目標的擁塞控制控制能力。Y表示目標支持ECN
第一個探針回應(yīng)。第二個探針是一個設(shè)置了DF位內(nèi)容的為空的數(shù)據(jù)包,這個數(shù)據(jù)包的窗口大小為128。
第三個探針是一個設(shè)置了FIN、URG、PSH以及SYN標識的數(shù)據(jù)包,這個數(shù)據(jù)包的大小為256。第四個探針是一個設(shè)置了ACK位的TCP數(shù)據(jù)包,這個包同樣設(shè)置了DF位,大小為1024。第五個探針是一個窗口大小為31337的數(shù)據(jù)包。第六個數(shù)據(jù)包是一個窗口大小為32768,這個數(shù)據(jù)包通常是發(fā)往關(guān)閉的端口。第七個數(shù)據(jù)包設(shè)置了FIN、URG、PSH標志位,這個探針同樣發(fā)往一個關(guān)閉端口,窗口大小為65535。
U1的結(jié)果是根據(jù)UDP數(shù)據(jù)包探針返的結(jié)果,這個探針的數(shù)據(jù)部分是300個C字符
IE探針基于ICMP協(xié)議,由兩個探針組成。
新的操作系統(tǒng)指紋信息提交地址 http://iNSEcure.org/Nmap/submit/
Nmap提供更精確的服務(wù)及版本檢測選項,可通過添加選項-sV進行服務(wù)和版本檢測。服務(wù)和版本檢測還有更多的選項。
--allports(掃描全部端口)
通常我們在使用nmap進行版本探測的時候不會對目標的全部端口進行掃描,而是會跳過一些端口。如果確實有必要的話可以對全部端口進行掃描。
-version-intensity 0-9(設(shè)置版本掃描強度)
當(dāng)進行版本掃描-sV的時候,nmap發(fā)送一系列的報文,每個報文都被賦予一個1-9之間的值。數(shù)字越高,服務(wù)越有可能被正確識別。強度越高掃描時間也越長。強度值在0-9之間,默認是7。
--version-light(輕量級模式)
--versiom-light其實相當(dāng)于上面說的強度值為2的掃描。這種輕量級模式掃描速度更快,不過使用這種模式對服務(wù)進行掃描的成功幾率也小了許多。
--version-trace(跟蹤版本掃描活動)
這將會是nmap打印出關(guān)于正在進行掃描的詳細調(diào)試信息。它是用--packet-trace所得到的信息的子集。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。