Nmap繞過防火牆

 http://www.verycheck.net/blog/?p=140

Nmap是用於端口掃描,服務檢測,甚至是漏洞掃描等多種功能的強大工具。Nmap從入門到高級覆蓋了許多基礎的概念和命令,在這篇文章的第二部分,我將提及Nmap一些高級的技術。
 
防火牆和***檢測系統(IDS)從安全的視角來講,它們在對拒絕遠程目標起到了非常重要的作用。因爲這些硬件和軟件阻塞***非常有效果,所以,在***測試過程中,你需要繞過這些工具來獲得正確的結果,否則,你可能會走錯方向。Nmap能夠對遠程目標計算機防火牆和其他的***檢測系統進行掃描,因爲它使用不同的技術來對抗這些軟件,並且這些技術依賴於遠程軟件。目標計算機中所安全裝的防火牆可能有兩種:
 
1.      基於主機的防火牆(一個運行在單獨目標計算機上的防火牆,比如,你的計算機中現在運行的防火牆)
 
2.      基於網絡的防火牆(一個用於保護整個網絡,並且被部署在網絡節點上的防火牆)
 
有兩種IDS/IPS也可能被安裝在目標機器中,這也是在***測試過程中需要解決的情況。有很多不同的Nmap技術用於處理這種情況,例如:
 
 
入門篇
TCP ACK Scan (-sA)
 
使用這個命令將發送ACK包,而不是SYN包,因爲如果遠程計算機中有防火牆在工作的話,ACK包是不會被防火牆記錄的,而且防火牆對待ACK包和對待SYN包的響應是一樣的。TCP ACK掃描開始時需要root權限(Nmap啓動時使用root權限啓動),並且他對於對付無狀態的防火牆和IDS有很好的效果。作爲一個***測試人員,你需要檢查防火牆的響應:有可能有四種類型的響應:
 
1.Open port(防火牆允許少數端口打開)
2.Closed Port(由於防火牆的緣故,大部分的端口被關閉)
3.Filtered(Nmap不確定端口是否打開或者關閉)
4.Unfiltered(Nmap能夠訪問這個端口,但是不清楚這個端口打開的狀態)
 
這些重要的響應都有肯能是你在***測試期間獲得的。ACK掃描和其他的掃描技術有一點不同,它不能有計劃地發現打開的端口,但是他可以有效的banding過濾和未過濾響應。讓我們來比較下ACK掃描的兩種結果:

160F94164-0

現在可以很容易的發現目標的計算機是否啓用了防火牆,因爲一個簡單的ACK掃描意味着***者只有較低的概率檢測到受害機,但是有較高的機率發現防火牆。下面我們來看下一個SYN掃描在防火牆開啓和未開啓的時候,掃描的結果:
 
TCP Window Scan(-sW)
 
與ACK掃描非常相似,但是有一點不同,TCP window掃描可以區分未被過濾端口的打開或者關閉。它也需要root權限執行。讓我們看下TCP window掃描的不同響應。
  
這類掃描不能打開目標計算機任何活動會話,所以不會被受害機記錄。它的工作原理很簡單,就是發送ACK包,然後在響應中接受單獨的RST包。
Fragment Packets (-f)
 
這是一個非常通用的概念,並且可以被用在許多不同的情況下,例如:如果目標機器沒有能力處理大量的包,那麼碎片技術可以有效的繞過防火牆。這個技術的參數是-f,它將提交分成小段的IP包,這些小的包被稱爲碎片IP包。如果你想機一部的打散IP頭的話,可以使用雙-f(即:-ff)。
  
Spoof MAC Address
 
這是個更簡單的技術,你可以僞造你的MAC(***者的MAC)地址。MAC地址欺騙造成了受害者檢測提交來源困難的局面。Nmap可以每個掃描選擇一個完整的隨機MAC地址,並且這些MAC地址都是基於不同廠商的,另外的設置是手工的指定MAC地址(通過這樣,***者能夠在相同網絡中僞造一臺計算機地址)。Nmap有一個叫做namp-mac-prefixes的數據庫,當把廠商的名字提供給這個數據庫時,它會從中找到滿足條件的MAC地址。
 
 
高級篇
 
Nmap Timing Option
 
時間參數是Nmap的一個非常重要和有趣的功能,因爲,有時你需要在兩次提交之間有一定的延時。這樣的情況有很多原因,但是最重要的原因是網絡;有時,受害者的計算機和實際網絡不能處理大量的提交。作爲一個***測試人員,你需要確定你的掃描不會造成拒絕服務***(DoS),所以適時的響應和提交在掃描中是非常重要的。Nmap有非常多的功能和參數,對適時的掃描目標是非常有幫助的,碎片技術(-f)對於拆分你的提交也是一個非常有用的技術。下面討論其他的重要參數:
 
Delay (–scan_delay)
 
這是用戶控制每次提交之間時間的做好參數,因爲你可以使用整數形式控制你每次探查所需要的間隔,不過不要忘記時間的單位:
 
毫秒e.g. 5ms
秒  e.g. 5s
分  e.g. 5m
時  e.g. 5h
讓我們看一個例子:
 
  
Host Timeout Option (–host-timeout)
 
當你掃描一個局域網絡時,有時會有一個主機要很長時間才響應,等待着單獨以的一臺是很痛苦的。有很多原因造成響應緩慢,像網絡連通性或者防火牆,如果你不想浪費他多時間在這上面的話,可以設置一個時間限制。
 
  
Nmap Scripting
 
Nmap Scripting是Nmap最好的功能之一。Nmap的腳本對***測試者是非常有用的,因爲他們可以節省喝多的時間與操作。在寫這篇文章時,Nmap Scripting引擎已經超過了400個腳本,並且你也可以構造你自己的腳本,而且每個人都可以構造腳本,提交到腳本引擎中來幫助社區中的***測試人員。
Nmap腳本實現許多不同的功能,從漏洞掃描到利用,從惡意軟件檢測到暴力破解,無所不包。在這小節中,我們將討論一些好用的Nmap腳本和他們的用法:
 
smb-check-vulns 
 
這是一個用於檢測以下漏洞的重要腳本:
 
1.MS08-067 Windows vulnerability that can be exploited
2.Conficker malware on the target machine
3.Denial of service vulnerability of Windows 2000
4.MS06-025 Windows vulnerability
5.MS07-029 Windows vulnerability
 
  
它可以非常容易的在目標機器發現以上漏洞,並且你可以通過Metasploit很容易的利用這些漏洞。
 
Http-enum
 
如果你想在web server中枚舉出web站點的目錄,這個Nmap腳本可以幫你很好的達到這個目的。http-enum腳本也可以發現打開的端口和每個端口軟件的版本。
  
samba-vuln-cve-2012-1182
 
這個腳本可以用於查看目標機器是否存在Samba堆溢出CVE-2012-1187。
  
smtp-strangeport
 
許多機構在運行SMTP服務時,考慮到安全的因素,沒有使用默認端口。Smtp-strangeport是一個可以判斷SMTP是否運行在默認端口的腳本
  
http-php-version
 
顧名思義,這個腳本可以從web server獲得PHP版本信息。這個軟件版本信息對於***測試人員發現漏洞很重要,所以這個腳本對於web應用程序***測試非常有幫助。
 
  
Nmap腳本引擎包含很多你實際中遇到的軟件平臺的測試腳本。例如:如果你想對一個基於WordPress的web站點進行***測試,那麼你可以使用以下Nmap腳本。
 
1.http-wordpress-plugins
2.http-wordpress-enum
3.http-wordpress-brute
 
dns-blacklist
 
這是我所見過的用戶發現IP地址黑名單的最好的腳本。你需要做的只是提供IP地址,然後腳本會檢查DNS反垃圾郵件和代理黑名單
 
 
這篇文章極可能的去覆蓋Nmap從入門到高級的重要部分,以便於沒有相關知識的人也可以從中學到東西。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章