安全掃描
安全掃描以各種各樣的方式進行。你將利用Ping和端口掃描程序來偵查網絡,你當然也可以使用客戶端/服務器程序,如Telnet和SNMP等,來偵查網絡泄漏的有用信息。你應當利用一些工具來了解網絡。有些工具很簡單,便于安裝和使用。有時,審計人員和黑客利用程序語言如Perl, C,C++和Java自己編制一些工具,這是因為他們找不到現成的針對某種漏洞的工具。
另外一些工具功能更全面,但是在使用前需要認真地配置。專門從事網絡管理和安全的公司出售這些工具。你將在本課中學習使用這些工具。好的網絡級和主機級掃描器會試圖監聽和隔離進出網絡和主機的所有會話包。在學習這些“Hacker-in-a-box”的解決方案前,你應當先接觸一些當前黑客常常使用的技巧。
Whois 命令
Whois〔類似于finger〕是一種internet的目錄服務,whois 提供了在Internet上一臺主機或某個域的所有者的信息,如管理員的姓名、通信地址、電話號碼和Email地址等信息,這些信息是在官方網站whois server上注冊的,如保存在InterNIC的數據庫內。Whois命令通常是安全審計人員了解網絡情況的開始。一旦你得到了Whois記錄,從查詢的結果還可得知primary和secondary域名服務器的信息。
nslookup
使用DNS的排錯工具nslookup,你可以利用從whois查詢到的信息偵查更多的網絡情況。例如,使用nslookup命令把你的主機偽裝成secondary DNS服務器,如果成功便可以要求從主DNS服務器進行區域傳送。要是傳送成功的話,你將獲得大量有用信息,包括:
·使用此DNS服務器做域名解析到所有主機名和IP地址的映射情況
·公司使用的網絡和子網情況
·主機在網絡中的用途。許多公司使用帶有描述性的主機名。
使用nslookup實現區域傳送的過程
(1)使用whois命令查詢目標網絡,例如在Linux提示符下輸入 whois webmaster.com.cn
(2)你會得到目標網絡的primary和slave DNS服務器的信息。例如,假設主DNS服務器的名字是ns.webmaster.com.cn
(3)使用交互查詢方式,缺省情況下nslookup會使用缺省的DNS服務器作域名解析。鍵入命令server ns.webmaster.com.cn 定位目標網絡的DNS服務器;
(4)列出目標網絡DNS服務器的內容,如ls webmaster.com.cn。此時DNS服務器會把數據傳送給你,當然,管理員可以禁止DNS服務器進行區域傳送,目前很多公司將DNS服務器至于防火墻的保護之下并嚴格設定了只能向某些主機進行區域傳送。
一旦你從區域傳送中獲得了有用信息,你便可以對每臺主機實施端口掃描以確定它們提供了那些服務。如果你不能實現區域傳送,你還可以借助ping和端口掃描工具,當然還有traceroute。
host
Host命令是UNIX提供的有關Internet域名查詢的命令,可實現主機名到IP地址的映射,反之亦然。用host命令可實現以下功能:
·實現區域傳送
·獲得名稱解析信息
·得知域中郵件服務器的信息
參數-v可顯示更多的信息,參數-l實現區域傳送,參數-t允許你查詢特定的DNS記錄。例如,要查詢ciwcertified.com域的郵件服務器的記錄,你需要鍵入命令:
host -t mx ciwcertified.com 你可以參考UNIX命令幫助獲得更多信息。
Traceroute(tracert)
Traceroute 用于路由追蹤,如判斷從你的主機到目標主機經過哪些路由器、跳計數、響應時間如何、是否有路由器當掉等。大多數操作系統,包括UNIX,Novell和Windows NT,若配置了TCP/IP協議的話都會有自己版本的traceroute程序。當然我們也可以使用其它一些第三方的路由追蹤軟件,在后面我們會接觸到這些工具。
使用traceroute,你可以推測出網絡的物理布局,包括該網絡連接Internet所使用的路由器。traceroute還可以判斷出響應較慢的節點和數據包在路由過程中的跳計數。
Ping 掃描作用及工具
Ping一個公司的Web服務器可幫助你獲得該公司所使用的IP地址范圍。一旦你得知了HTTP服務器的IP地址,你可以使用Ping掃描工具Ping該子網的所有IP地址,這可以幫助你得到該網絡的地址圖。
Ping掃描程序將自動掃描你所指定的IP地址范圍。WS_Ping ProPack工具包中集成有Ping掃描程序,單獨的Ping工具有許多,Rhino9 Pinger是比較流行的程序。
端口掃描
端口掃描與ping掃描相似,不同的是端口掃描不僅可以返回IP地址,還可以發現目標系統上活動的UDP和TCP端口。
在本例中,地址192.168.1.10正在運行SMTP和Telnet服務,地址192.168.1.12正在運行FTP服務,主機192.168.1.14未運行任何可辨別的服務,而主機192.168.1.16運行著SMTP服務。最后一臺主機屬于Microsoft網絡,因為該網絡使用UDP137和TCP138、139端口。
端口掃描軟件
端口掃描器是黑客最常使用的工具。一些單獨使用的端口掃描工具象Port Scanner1.1,定義好IP地址范圍和端口后便可開始實施掃描。還有許多單獨使用的端口掃描器,如UltraScan等。像Ping掃描器,許多工具也集成了端口掃描器。NetScan、Ping Pro和其它一些程序包集成了盡可能多的相關程序。你將發現許多企業級的網絡產品也將ping和端口掃描集成起來。
網絡偵查和服務器偵查程序
使用簡單的程序如Ping Pro,你可以偵查出Microsoft的網絡上開啟的端口。Ping Pro的工作是通過監測遠程過程調用服務所使用的TCP、UDP135端口,和Microsoft 網絡會話所使用的UDP137,138,和139端口來實現的。其它的網絡掃描工具允許你監測UNIX,Novell,AppleTalk的網絡。雖然Ping Pro只能工作在其安裝的特定子網,但還有更多更復雜的工具,這些工具的設計者把它們設計成為可以識別更多的網絡和服務類型的程序。
例如,NMAP是UNIX下的掃描工具,它可以識別不同操作系統在處理TCP/IP協議上細微的差別。其它類似的程序還包括checkos,queso和SATAN。
堆棧指紋
許多本課中介紹的程序都利用堆棧指紋技術,這種技術允許你利用TCP/IP來識別不同的操作系統和服務。因為大多數的系統管理員注意到信息的泄露而且屏蔽了系統標志,所以應用堆棧指紋的技術十分必要。但是,各個廠商和系統處理TCP/IP協議的特征是管理員所難以更改的。許多審計人員和黑客記錄下這些TCP/IP應用的細微差別,并針對各種系統構建了堆棧指紋表。
要想了解操作系統間處理TCP/IP協議的差異需要向這些系統的IP和端口發送各種特殊的包。根據這些系統對包的回應的差別,你可以推斷出操作系統的種類。例如,你可以向主機發送FIN包(或任何不含有ACK或SYN標志的包),你會從下列操作系統獲得回應:
·Microsoft Windows NT,98,95,和3.11
·FreeBSD
·CISCO
·HP/UX
大多數其它系統不會回應。雖然你只不過縮小了一點范圍,但這至少開始了你對目標系統的了解。如果你向目標系統發送的報文頭有未定義標志的TCP包的話,2.0.35版本以前的LINUX系統會在回應中加入這個未定義的標志。這種特定的行為使你可以判斷出目標主機上是否運行該種LINUX操作系統。
下列是堆棧指紋程序利用的部分特征,許多操作系統對它們的處理方式不同:
·ICMP錯誤信息抑制
·服務類型值(TOS)
·TCP/IP選項
·對SYN FLOOD的抵抗力
·TCP初始窗口:只要TCP開始進行三次握手,總是先發出一個SYN包。像NMAP這樣的程序會發出一個SYN包欺騙操作系統作回應。堆棧指紋程序可以從回應報文的格式中推論出目標操作系統的一些情況。