偵測作業系統

2021-10-12 23:30:34 字數 2201 閱讀 7165

主動式協議棧指紋分析技術

針對偵測作業系統活動的防範對策

被動式協議棧指紋分析技術

總結作業系統的資訊對於乙個攻擊者來說很重要,有多種技術可以完成偵測作業系統這個任務。可以使用標語抓取技術,這項技術可以利用ftp、telnet、smtp、http、pop和一些其他服務手機到很多有用的資訊。當然還有一些其他方法

不管使用什麼工具,我們都試圖偵測開放的埠,從中獲得有關作業系統的資訊。例如當開啟了埠445、139和135時,則很有可能說明目標作業系統時windows。幾乎所有基於windows的作業系統都監聽這三個埠。還有一些服務時有些作業系統所特有的,比如tcp3389,該埠用於支援遠端桌面協議,這是windows系統最典型的特徵。所以我們必須對特定埠進行偵測。

就unix系統而言,最好的標誌時tcp22(ssh),但是windows也使用ssh,而且很多網路裝置也使用ssh實現管理功能。比較老的unix伺服器還提供埠對映器(tcp111)、berkeley r服務(tcp512-514)、nfs(tcp2049)以及高編號埠(3277x及以上)監聽等。這些埠的存在通常表示執行的時unix系統。

協議棧指紋分析技術可以幫助你以極高的準確度快速查明每一台主機的作業系統。原理上,不同廠家的ip協議棧實現之間存在者許多細微的差別,各廠家在編寫協議棧時,往往會對特定的rfc文件規定做出不同的解釋,因此通過探查這些差異我們就能對目標系統所使用的作業系統做出判斷。為了提高可靠度,協議棧指紋分析技術通常要求目標系統至少要有乙個監聽埠。

nmap工具的-o選項可以同時使用以上技術(資料報拆分處理和icmp出錯訊息排隊除外)進行探查

通過使用nmap工具的協議棧指紋分析選項,我們可以對目標作業系統做出簡明準確的判斷,準確程度在很大程度上取決於目標上是否至少有乙個處於開啟狀態的埠。但即使目標系統沒有埠處於開啟狀態,nmap工具也可以根據經驗對目標系統的作業系統做出推測。

nmap工具把作業系統的明顯特徵清單儲存在了乙個名為nmap-os-fingerprints的檔案裡。雖然nmap工具的tcp偵測目前看來挺準確的,但這些技術並非完美無缺:它們往往只能提供乙個大概的推測結果

前面的埠掃瞄偵測工具都可以用來監視作業系統偵測活動。它們雖然不能明確指出nmap作業系統偵測掃瞄活動正在發生,但他們都能幫助偵測到具有特定的選項或標誌(如設定了syn標誌)的掃瞄活動

通過修改作業系統的源**或是引數來改變某乙個指紋特徵,雖然很難,而且可能對作業系統的功能造成不利影響。比如freebsd 4.x提供了乙個tcp_drop_synfin核心選項,這個選項可以不對nmap工具在進行指紋分析時發出的syn+fin資料報做出任何響應。啟用這個選項有助於挫敗對作業系統偵測,但同時問煩了rfc 1644號文件中的有關規定

被動式協議棧指紋分析技術與主動式tcp/ip協議棧指紋分析技術在概念上很相似,但是被動式偵測技術並不向目標系統傳送資料報,攻擊者將通過被動地監視網路通訊的方法去推測目標系統的作業系統。被動式偵測技術的成功取決於攻擊者必須位於網路的通訊中樞,以及必須有乙個可以用來捕獲資料報的埠

網路通訊的很多特徵都可以用來識別不同的作業系統。尤其是tcp/ip會話有關的特徵上:

ttl 作業系統給外送資料報設定的ttl(time-to-live,生存時間)值

window size(資料窗長度) 作業系統的資料窗長度值

df位 作業系統是否設定了don』t fragment it(不允許對tcp/ip資料報做進一步拆分)位

被動式指紋分析技術可以被攻擊者用來尋找潛在受害者,攻擊者只需訪問目標**並分析網路通訊或使用工具進行推測。有些軟體可以自行構造資料報,比如nmap,而它們構造出來的資料報與作業系統生成的資料報通常不會有共同特徵。其次你需要能夠捕捉到一些資料報。而且改變一條連線的屬性對遠端主機來說很簡單

確認作業系統無非就是兩種方式:

根據開放埠進行推測

根據探測到的資料報型別進行推測

主動探測和被動探測的最主要的區別是是否主動向目標傳送資料報並且直接接受目標返回的資料報

作業系統 作業系統介面

介面表現為函式呼叫,由作業系統提供,連線作業系統和應用軟體。出於安全性考慮,應用程式不能直接在記憶體中任意訪問 將核心程式和使用者程式隔離 通過比較訪問資料段cpl和rpl的特權級和當前段dpl的特權級之間的關係 應用程式呼叫庫函式printf printf呼叫庫中的write函式 write將函式...

作業系統(作業系統引論)

方便性 方便使用者進行操作計算機 有效性提高系統資源的利用率 提高系統的吞吐量,加速程式的執行 可擴充性 方便地增添新的模組和功能,以及對原有的功能模組進行修改 開放性能夠遵循世界標準規範 os作為使用者和計算機硬體系統之間的介面 使用者能夠通過作業系統來使用計算機系統 os作為計算機資源的管理者 ...

作業系統 作業系統 一 作業系統概述

好好學習,天天向上本文已收錄至我的github倉庫daydayup 歡迎star 之前一直沒有系統地學過作業系統,感覺自己在平時的學習過程中對於某些概念理解得一塌糊塗,比如中斷 記憶體 程序和執行緒等。所以打算系統的學習一下作業系統。一開始我是在b站看哈工大的李治軍老師講的,但是一上來就開始從彙編 ...