Scanner是壹種自動檢測遠程或本地主機安全弱點的程序。通過使用掃描器,我們可以自動發現系統的安全弱點。不同的掃描器檢查不同的安全漏洞,但通常它們可以分為兩種類型:
主機系統掃描儀;網絡掃描儀。
主機系統掃描器用於掃描本地主機的安全漏洞,這些漏洞通常是不正確的文件權限配置和默認帳戶。cops(computer Oracle and password system)是主機系統掃描器最常用的工具,用於檢查UNIX系統常見的安全配置問題和系統缺陷。網絡掃描器檢查可用的端口號和服務,以找出可能被遠程攻擊者利用的安全缺陷。Satan(系統管理員分析網絡的工具)是壹款著名的網絡掃描器,可以用來發現以下漏洞:
文件傳輸協議漏洞;網絡文件系統漏洞;網絡信息服務的密碼漏洞;遠程外殼訪問漏洞;Sendmail漏洞漏洞;通用文件傳輸協議漏洞;服務器安全和訪問控制。
此外,還有著名的網絡掃描儀,如聖,ISS,NESSUS和NMAP。因為網絡系統中存在新的漏洞,所以掃描器應該不斷更新漏洞數據庫或檢查程序。
工作原理雖然從技術角度來說,主機系統掃描器和網絡掃描器是不同的,但它們有相同的特點。其中,就是掃描儀的檢測機制。大多數掃描儀根據上圖所示的工作流程工作。
以網絡掃描器為例,分析了掃描器的工作原理。網絡掃描器通過連接遠程TCP/IP的不同端口,記錄目標給出的答案(比如匿名登錄是否可以訪問FTP服務,是否有可寫的FTP目錄,是否可以使用Telnet,HTTPD是以Root還是普通用戶運行),可以收集到很多關於目標主機的有用信息。
當目標主機運行Unix操作系統時,通常會提供更多的服務。妳可以掃描這個主機的端口,看看它提供什麽服務。例如,掃描主機192.168.0.68的10和100之間的端口,結果如下:
$ ports can 192.168.0 . 68 10 100
192.168.0 . 68 21已接受
192.168.0.68 23已接受
192.168.0.68 25已接受
192.168.0.68 80已接受
可以看出,主機192.168.0.68在端口21、23、25和80提供服務。對於1024以下的端口,端口號和服務的對應關系是固定的。例如:
21對應FTP服務。
23對應於telnet服務。
25對應於郵件服務。
80對應於壹個Web服務。
在Unix系統中,也有壹些工具可以掃描壹些特定的服務,以查看特定的服務進程是否正在遠程主機上運行。例如,rusers和finger都是Unix命令。通過這兩個命令,您可以收集目標計算機上的用戶信息。使用rusers命令,結果如下:
wh yjb . DCS:ttyp 1 Nov 13 15:42 7:30(遠程)
根yjb . DCS:ttyp 2 Nov 13 14:57 7:21(遠程)
顯示遠程登錄的用戶名,包括上次登錄時間、使用的Shell類型和其他信息。使用手指可以產生類似以下的結果:
用戶S00 PPP PPP-122-pm 1 . wiza Thu Nov 14 21:29:30-仍處於登錄狀態
用戶s 15 PPP PPP-119-pm 1 . wiza Thu Nov 14 22:16:35-仍處於登錄狀態
用戶S04 PPP PPP-121-pm 1 . wiza Fri 11月15日00:03:22 -仍然登錄
用戶S03 PPP PPP-112-pm 1 . wiza Thu Nov 14 22:20:23-仍處於登錄狀態
該命令可以顯示用戶的狀態。該命令基於客戶機/服務模型。用戶通過客戶端軟件向服務器請求信息,然後解釋信息並提供給用戶。妳需要在服務器上運行fingerd程序,根據服務器的配置,妳可以向客戶提供壹些信息。考慮到對這些個人信息的保護,有可能很多服務器不提供這項服務或者只提供壹些無關的信息。
對於壹個功能齊全的掃描器來說,它可以檢測操作系統和服務程序中存在的各種系統漏洞和bug。為了實現該功能,需要檢查各種系統配置文件,例如,
/etc/passwd密碼文件
/etc/hosts主機列表文件
/etc/networks網絡列表文件
/etc/protocols協議列表文件
/etc/services服務列表文件
/etc/hosts.equiv主機信任列表文件
比較成熟的掃描器,比如撒旦,Nessus,ISS等。,可以詳細檢查這些配置文件,並給出完整的報告和建議。