溫馨提示×

溫馨提示×

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

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

遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

發(fā)布時間:2020-08-03 20:03:46 來源:網(wǎng)絡(luò) 閱讀:695 作者:JachinLi 欄目:安全技術(shù)

Nmap網(wǎng)絡(luò)安全審計(四)

遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

遠程操作系統(tǒng)檢測

很多工具都提供遠程對操作系統(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

遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

這個命令將會使用Nmap默認的SYN的掃描方式進行端口檢測,不過操作系統(tǒng)檢測選項可以和別的檢測技術(shù)結(jié)合使用。使用--osscan-limit參數(shù)的時候,Nmap只會對滿足“同時具有狀態(tài)open和closed的端口”條件的主機進行操作系統(tǒng)檢測。

操作系統(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

遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

隨著我們不斷增加參數(shù),可能會為系統(tǒng)帶來更大的負擔(dān),同時也會泄露我們更多信息,更容易被IPS/IDS檢測出來。

操作系統(tǒng)指紋掃描作為管理工具

nmap同樣可以作為網(wǎng)絡(luò)管理者的一個利器。利用這款工具,網(wǎng)絡(luò)管理者可以節(jié)省大量的時間和精力,我們使用下面這個指令來看一下有什么效果。

nmap -sV -F --fuzzy  --osscan-guess 192.168.0.103

這里我是掃描的是我自己的物理機,開著防火墻的情況下,檢測出我的虛擬機版本是vmware15。
遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

我再用這個指令來試一下虛擬機,掃描的結(jié)果是沒毛病的嗷
遠程操作系統(tǒng)與服務(wù)檢測技術(shù)
遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

如果我們希望通過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)站了,還是使用自己的虛擬機。
遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

通過掃描結(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é)果。
遠程操作系統(tǒng)與服務(wù)檢測技術(shù)

我們將第一個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ù)發(fā)現(xiàn)

Nmap提供更精確的服務(wù)及版本檢測選項,可通過添加選項-sV進行服務(wù)和版本檢測。服務(wù)和版本檢測還有更多的選項。

  • -sV(版本檢測)
    也可以使用-A同時打開操作系統(tǒng)探測和服務(wù)發(fā)現(xiàn)
  • --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-all(嘗試每個探測)
      --version-all相當(dāng)于強度值為9的掃描。保證對每個端口嘗試所有探測報文。
  • --version-trace(跟蹤版本掃描活動)
    這將會是nmap打印出關(guān)于正在進行掃描的詳細調(diào)試信息。它是用--packet-trace所得到的信息的子集。

  • -sR(RPC掃描)
    這種方法和許多端口掃描方法結(jié)合使用。它對所有被發(fā)現(xiàn)開放的TCP/UDP端口執(zhí)行SunRPC程序和NULL命令,試圖確定它們是否為RPC端口,如果是的話,可以確定是什么程序和版本號。(如果你是新版本的nmap的話會提示你如下內(nèi)容: -sR is now an alias for -sV and activates version detection as well as RPC scan,翻譯一下大意就是說-SR是-sV的別名,所以這個指令和-sV是一樣的)
向AI問一下細節(jié)

免責(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)容。

AI