史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 網路軟硬體架設技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-04-22, 07:18 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 遠端主機探測技術FAQ集 - 掃瞄篇

 1:掃瞄工具究竟是什麼?

訊息收集是入侵及安全狀況分析的基礎,傳統地手動式收集訊息耗時費力,於是掃瞄工具出現了,它能依照程序設定自動探測及發掘規則內的漏洞,是探測系統缺陷的安全工具。
掃瞄器主要分主機掃瞄器及網路掃瞄器兩大檔案類型:
系統掃瞄器用於掃瞄本機主機,搜尋安全漏洞,查殺病毒,木馬,蠕蟲等危害系統安全的惡意程序,此類非本文重點,因此不再詳細分析
網路掃瞄器通過網路來測試主機安全性,它檢測主機當前可用的服務及其開放連接阜,搜尋可能被遠端試圖惡意訪問者攻擊的大量眾所周知的漏洞,隱患及安全脆弱點。甚至許多掃瞄器封裝了簡單的密碼探測,可自設定規則的密碼產生器、後門自動安裝裝置以及其他一些常用的小東西,這樣的工具就可以稱為網路掃瞄工具包,也就是完整的網路主機安全評價工具[比如鼻祖SATAN和國內最負盛名的流光]
另外還有一種相對少見的資料庫掃瞄器,比如ISS公司的 Database Scanner,工作機制類似於網路掃瞄器 ,主要用於檢測資料庫系統的安全漏洞及各種隱患。

2:掃瞄器究竟能幹什麼?

[1] 連接阜及服務檢測 檢測 目標主機上開放連接阜及執行的服務,並提示安全隱患的可能存在與否
[2] 後門程序檢測 檢測 PCANYWAY VNC BO2K 冰河等等遠端控制程序是否有存在於目標主機
[3] 密碼探測 檢測 作業系統用戶密碼,FTP、POP3、Telnet等等登入或管理密碼的脆弱性
[4] 應用程式安全性探測 檢測 CGI漏洞,WEB伺服器[IIS,APACHE等],FTP伺服器等的安全漏洞
[5] D.o.S探測 檢測 各種拒絕服務漏洞是否存在
[6] 系統探測 檢測 系統資訊比如NT 註冊表,用戶和組,網路情況等
[7] 輸出報告 將檢測結果整理出清單報告給用戶,許多掃瞄器也會同時提出安全漏洞解決方案
[8] 用戶自訂接頭 一些掃瞄器允許用戶自己增加掃瞄規則,並為用戶提供一個便利的接頭,比如俄羅斯SSS的Base SDK

3:什麼人經常使用/需要使用這種工具?

以提供安全檢測服務的安全公司的技術員在得到客戶使用權後,需要使用掃瞄工具來對客戶的主機進行漏洞發掘,查點工作,在對主機徹頭徹尾檢查過之後,才能完成他的工作--提交給客戶關於主機完整詳細的安全解決方案
網路上常流竄著許多精力過剩的指令碼小子[Script kiddie],他們的主要工作[當然,也是他們的娛樂]就是在網路上四處搜尋一些公開的exploit訊息,然後通過搜尋引擎等WEB工具,匹配特殊的字串串來搜尋存在這些漏洞的主機,以進行他們的遊戲,在這個程序中掃瞄工具絕對是他們的一大幫兇,沒有掃瞄工具的協助,他們很可能不能如此迅速[對一些指令碼小子來說,沒有了掃瞄工具意味著無法進行入侵行動]地進入你的主機!
可見,存在於網路上的掃瞄工具亦正亦邪,關鍵在於使用它們的人的動機。

4:在進一步瞭解掃瞄技術之前我該知道什麼?

當然,必須有必要的網路基礎知識,我假設看到這篇文章的讀者均已經瞭解了TCP/IP傳輸協定最基礎的一些東西,比如傳輸協定層和其性質等等
下面讓我們來複習一下TCP資料包網封包頭的結構,之後的原理介紹將牽涉到其中的內容,而且這些東西估計許多人都記不住:)

TCP資料包網封包頭有6個位,FIN、SYN、PSH、RST、ACK和URG
ACK 置1,表示驗證號有效;清0,表示資料包中不包含驗證,驗證號域將被忽略
PSH 表示資料包的接受者將收到的資料直接交給應用程式,而不是把它放在緩衝區,等緩衝區滿才交給應用程式。這常用於既時通信。
RST 用來重置一個連接。用於一台主機崩潰或者其他原因引起的通信混亂。它也被用來拒絕接受一個無效的TCP資料包,或者用來拒絕一個建立連接的企圖。當得到一個置RST位的TCP資料包時,通常說明本機機器有點問題。
SYN 用來建立一個連接。在請求連接的資料包中,SYN=1、ACK=0 指明驗證域沒有使用,對連接請求需要回應,所以,在回應的TCP資料包中SYN=1、ACK=1。SYN通常被用來指明請求連接和請求被接受。而用ACK來區分這兩種情況。
FIN 用來解壓縮一個連接。它指出傳送者已無資料要傳送。不過關閉一個連接後,工作還可以繼續接收資料。SYN和FIN的TCP資料包都有序列號。因此這樣可保證資料按正確的順序被接收並處理。


5:掃瞄工具的掃瞄原理和它們的隱蔽性如何?

TCP connect : 這種檔案類型就是最傳統的掃瞄技術,程序使用connect()套接頭函數連線到目標連接阜,形成一次完整的TCP三次握手程序,顯然能連接得上的目標連接阜就是開放的。在UNIX下使用這種掃瞄方式不需要任何權限。還有一個特點,它的掃瞄速度非常快,可以同時使用多個socket來加快掃瞄速度,使用一個非阻塞的I/O使用即可以監視多個 socket. 不過由於它不存在隱蔽性,所以不可避免的要被目標主機記錄下連接訊息和錯誤訊息或者被防護系統拒絕

TCP SYN : 這種檔案類型也稱為半開放式掃瞄[half-open scanning] 原理是往目標連接阜傳送一個SYN包,若得到來自目標連接阜返回的SYN/ACK回應包,則目標連接阜開放,若得到RST則未開放。在UNIX下執行這種掃瞄必須擁有ROOT權限。由於它並未建立完整的TCP三次握手程序,很少會有作業系統記錄到,因此比起 TCP connect 掃瞄隱蔽得多,但是若你認為這種掃瞄方式足夠隱秘,那可就錯了,有些防火牆將監視TCP SYN掃瞄,還有一些工具比如synlogger和courtney也能夠檢測到它。為什麼?因為這種秘密掃瞄方法違反了通例,在網路流量中相當醒目,正是它的刻意追求隱蔽特性留下了狐狸尾巴!

TCP FIN : 原理:根據RFC 793我的文件 程序向一個連接阜傳送FIN,若連接阜開放則此包將被忽略,否則將返回RST,這個是某些作業系統TCP實現存在的BUG,並不是所有的作業系統都存在這個BUG,所以它的準確率不高,而且此方法往往只能在UNIX上成功地工作,因此這個方法不算特別流行。不過它的好處在於足夠隱蔽,如果你判斷在使用TCP SYN 掃瞄時可能暴露自身的話可以一試這種方法。

TCP reverse ident 掃瞄:1996年 Dave Goldsmith 指出 ,根據RFC1413我的文件,ident傳輸協定允許通過TCP連接得到工作所有者的用戶名,即使該工作不是連接發起方。此方法可用於得到FTP所有者訊息,以及其他需要的訊息等等。

TCP Xmas Tree 掃瞄 :根據RFC 793我的文件,程序往目標連接阜傳送一個FIN 、URG和PUSH包,若其關閉,應該返回一個RST包

TCP NULL 掃瞄 :根據RFC 793我的文件,程序傳送一個沒有任何標誌位的TCP包,關著的連接阜將返回一個RST資料包。

TCP ACK 掃瞄 : 這種掃瞄技術往往用來探測防火牆的檔案類型,根據ACK位的設定情況可以確定該防火牆是簡單的包過濾還是狀態檢測機制的防火牆

TCP 視窗掃瞄 : 由於TCP視窗大小報告方式不規則,這種掃瞄方法可以檢測一些類UNIX系統[AIX , FreeBSD等] 開啟的以及是否過濾的連接阜。

TCP RPC 掃瞄 : 這個方式是UNIX系統特有的,可以用於檢測和定位遠端程序使用[RPC]連接阜及其相關程序與版本標號。


UDP ICMP連接阜不可達掃瞄:此方法是利用UDP本身是無連接的傳輸協定,所以一個開啟的UDP連接阜並不會給我們返回任何回應包,不過如果連接阜關閉,某些系統將返回ICMP_PORT_UNREACH訊息。但是由於UDP是不可靠的非面向連接傳輸協定,所以這種掃瞄方法也容易出現錯誤,而且還比較慢。

UDP recvfrom() 和 write() 掃瞄: 由於UNIX下非ROOT用戶是不可以讀到連接阜不可達訊息,所以NMAP提供了這個僅在LINUX下才有效的方式。在LINUX下,若一個UDP連接阜關閉,則第二次write()操作會失敗。並且,當我們使用recvfrom()的時候,若未收到ICMP錯誤訊息,一個非阻塞的UDP 套接字一般返回EAGAIN("Try Again",error=13),如果收到ICMP的錯誤訊息,套接字返回ECONNREFUSED("Connectionrefused",error=111)。通過這種方式,NMAP將得知目標連接阜是否開啟 [By the way: Fyodor 先生真是偉大!]

分片掃瞄: 這是其他掃瞄方式的變形體,可以在傳送一個掃瞄資料包時,將資料包分成許多的IP分片,通過將TCP網封包頭分為幾段,放入不同的IP包中,將使得一些包過濾程序難以對其過濾 ,因此這個辦法能繞過一些包過濾程序。不過某些程序是不能正確處理這些被人為分割的IP分片,從而導致系統崩潰,這一嚴重後果將暴露掃瞄者的行為!

FTP跳轉掃瞄 : 根據RFC 959我的文件,FTP傳輸協定支持代理 [PROXY], 形象的比喻:我們可以連上提供FTP服務的機器A,然後讓A向我們的目標主機B傳送資料,當然,一般的FTP主機不支持這個功能。我們若需要掃瞄B的連接阜,可以使用PORT指令,宣告B的某個連接阜是開放的,若此連接阜確實開放,FTP 伺服器A將返回150和226訊息,否則返回錯誤訊息 :"425 Can't build data connection: Connection refused".這種方式的隱蔽性很不錯,在某些條件下也可以突破防火牆進行訊息採集,缺點是速度比較慢。

ICMP 掃射 不算是連接阜掃瞄,因為ICMP中無抽像的連接阜概念,這個主要是利用PING指令快速驗證一個網段中有多少活躍著的主機。

6. 哪些掃瞄工具比較優秀?

nMAP :世界上最受黑客歡迎的掃瞄器,能實現秘密掃瞄、動態延遲、重發與平行掃瞄、欺騙掃瞄、連接阜過濾探測、RPC直接掃瞄、分佈掃瞄等,靈活性非常好,功能強大 。 官方主頁:http://www.insecure.org/nmap/

SATAN 掃瞄器的鼻祖,它採用Perl寫的內核,通過PERL使用大量的C語言的檢測工具對目標網站進行分析,因此可以嵌入瀏覽器中使用。

X-scan 國內著名網路安全站點-安全焦點的高手 glacier [冰河作者,也是知名女黑客wollf的好老公~~:P] 的作品,個人認為作為純粹的掃瞄器來說此物勝於小榕的流光。隨著版本號提升,效能也越來越優秀,頗有實力和發展潛力的寶貝
流光 不得不承認這個程序是國內頂尖的掃瞄工具,整和了強大的破解和攻擊成份。不過由於它的封裝性太高,不適合教學技術.

ISS ISS公司開發和維護商業性質的漏洞掃瞄程序,第一個可公開得到的多層次掃瞄器[雖然不免費],可移植性和靈活性都很好。

其他還有易於使用的CIS[Cerberus Internet Scanner],17歲天才少年開發的關於UNIX的掃瞄器-Nessus ;俄羅斯程序員開發的SSS, 還有其他各類有特色的掃瞄器,種類繁多,在此不一一介紹了。


7. 怎樣發現和檢測掃瞄?

TCP connect 掃瞄將直接被主機日誌系統記錄,後來發展出一些 TCP SYN 等所謂隱秘的掃瞄手段,但是由於這些隱秘掃瞄方法實際上是非常規地利用傳輸協定,與正常的訪問有很大差別,在網路流量中特別醒目,只要安裝了對應防護程序,也容易被記錄這些掃瞄,於是事實上還是不夠隱秘。目前幾乎所有的IDS都能比較準確地檢測到系統遭受了網路掃瞄,因為在網路探測手段中,掃瞄是最簡單粗暴而嘈雜的方法,無異於大搖大擺從正門破門而入的愚蠢的小偷一般。普遍認為,掃瞄者需要足夠的耐心,對同一主機使用緩慢的分佈式掃瞄方法,間隔時間足夠讓入侵檢測系統忽略,不按順序掃瞄整個網段,將探測步驟分散在幾個會話中,不應該導致系統或網路出現明顯異常,不導致日誌系統快速增加記錄,那麼這種掃瞄將是比較隱秘的。不過早期的IDS是預先定義一個時間段,在這個時間段內如發現了超過某一預訂值的連接次數,就認為是連接阜掃瞄。對這些比較原始的IDS,緩慢及分佈式的掃瞄隱秘性尚且不錯,但若IDS能對收集到的長期資料進行系統分析分析[搭配專家系統],這樣即使
緩慢且分佈式的掃瞄也難逃被檢測的命運,畢竟掃瞄是一種主動探測手段,從理論上是無法絕對隱秘的.
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 05:24 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1