Firewalk:高級路由跟蹤工具(Linux)
Firewalk使用類似traceroute的技術來分析IP包的響應,從而測定網關的訪問控制列表和繪制網絡圖的工具。Firewalk使用類似于路由跟蹤(traceroute-like)的IP數據包分析方法,來測定一個特殊的數據包是否能夠從攻擊者的主機傳送到位于數據包過濾設備后的目標主機。這種技術能夠用于探測網關上打開(‘open’)或允許通過(‘pass through’)的端口。更進一步地,它能夠測定帶有各種控制信息的數據包是否能通過給定網關。要理解這種技術的工作原理,首先理解路由跟蹤(traceroute)是如何工作的。
下載鏈接:http://down.51cto.com/data/149274
Traceroute的基本工作原理是發送UDP或ICMP echo數據包到目標主機,同時在每輪(缺省是三個數據包)成功的探測后將IP包頭中的TTL(Time To Live,生存期)域遞增1。如果路由跟蹤使用UDP數據包,則目標端口在每個數據包中都遞增1。IP數據包頭的TTL域用于限制數據包在網絡中傳輸的生存期,其值在每臺路由器轉發數據包前減1。如果TTL為0或更小,則路由器會向源主機回送一個ICMP錯誤消息(time to live exceeded in transit)數據包。這樣源主機就能夠知道數據包在哪臺路由器上過期。通過將TTL從開始時設置為1,且依次遞增1,并監視ICMP響應信息來獲得主機間的所有路由器(這里假設數據包均未被過濾或丟失)。為了確保能夠從最終的目標主機獲得正確的響應(ICMP port unreachable或ICMP echo reply),traceroute或者使用極少被其它程序使用的高端UDP端口,或者使用ping數據包。
traceroute(路由跟蹤)工作在IP層(網絡層),其上的任何傳輸協議(UDP、TCP和ICMP)均能被使用。Traceroute的這個特性使得其能利用任何位于IP層上層的協議。如果我們試圖探測位于防火墻后的主機,而到達該防火墻的數據包被ACL所禁止,則該數據包會(在大多數情況下)被丟棄。通過這種探測,我們能夠確定該路由上的最后一臺網關(如防火墻)。如果我們再使用其它不同類型的traceroute探測,并得到正常響應時,說明了兩點:
1)該防火墻允許這種類型的網絡通信通過;
2)探測到位于該防火墻后的一臺主機。如果以這些結果為依據,我們會知道防火墻的過濾規則是基于通信類型的。這就是firewalk的基本原理。
Firewalk是一種利用上述技術的網絡審核工具,也就是說它是一個高級的traceroute工具。2002年10月,這個一流的工具在原來的基礎上進行了重新開發。
Firewalk的探測工作包括了兩個階段:一個是網絡探測階段,另一個是掃描階段。最初,為了得到正確的IP TTL值,我們需要得到到達網關的跳數(hop)。通過依次遞增數據包的TTL值(即traceroute的工作原理),向目標主機連接發送這些探測包。一旦得到了到達網關的跳數,將進入下一階段:實際的掃描。這些掃描是很簡單的,Firewalk向目標主機發送帶有超時設置的TCP或UDP數據包。如果能夠在傳輸超時前監聽到響應,則可以認為該端口是打開的,否則就是關閉的。
二、下載軟件。
首先在軟件的主頁下載源代碼。http://www.packetfactory.net/firewalk/dist/firewalk-1.0.tar.gz 和運行Firewalk所需的相關軟件。
1. libnet :http://www.packetfactory.net/libnet/dist/libnet.tar.gz
2. Libpcap :http://www.tcpdump.org/release/libpcap-0.7.1.tar.gz
3. Libdnet :http://ftp.netsw.org/system/libs/network/libdnet/libdnet-1.4.tar.gz
三、安裝軟件。
1、 以根權限登陸Linux
#gunzip firewalk-1.0.tar.gz#tar vxf firewalk-1.0.tar#cd firewalk-1.0
2、然后將三個輔助軟件拷貝到Firewalk文件夾中編譯。這里以libdnet-1.4.tar.gz 為例其他兩個軟件: libnet.tar.、gzlibpcp-0.7.1.tar.gz安裝過程相同。
#gunzip libdnet-1.4.tar.gz#tar vxf libdnet-1.4.tar#cd libdnet-1.4#./configure#make#make install
3、三個輔助軟件安裝后退回Firewalk目錄:
#./configure#make#make install
最后需要說明的是一定要先安裝編譯三個輔助軟件,最后編譯Firewalk。
四、運行軟件
Firewalk的格式是 Firewalk 5.0 [gateway ACL scanner]
總結:Firewalk是一個網關審計工具。目前版本的Firewalk只是處理了數據包頭,而沒有填入任何數據段內容。后續版本將能夠模擬各種服務和數據通信,甚至隨機化探測掃描的次序和次數,其隱蔽性和功能將更強。
2003年nmap-hackers郵件列表中發起了最佳安全工具的評選活動,1854個用戶參與了此次活動,每個用戶最多可以選擇8個最佳工具,這次評選出的最佳安全工具為75個(結果在http://www.insecure.org/ )。這次評選出來的75個最佳安全工具在網絡安全領域都是一些很有代表性的軟件。Firwalk也在其中排名34位,是網管員應當掌握的安全工具。
參考文章:http://www.packetfactory.net/projects/firewalk/firewalk-final.pdf