歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 輪番上陣:Linux下查找漏洞的N種兵器

輪番上陣:Linux下查找漏洞的N種兵器

日期:2017/2/27 14:25:18   编辑:更多Linux

  閱讀本文之前,我們還需要對Linux系統的基本安全特性有一定的了解

  Linux操作系統是一個開放源代碼的免費操作系統,它不僅安全、穩定、成本低,而且很少發現有病毒傳播,因此,Linux操作系統一直被認為是微軟Windows系統的勁敵。近年來,隨著Linux操作系統在我國的不斷普及,隨著越來越多的服務器、工作站和個人電腦開始使用Linux軟件,當然,越來越多的安全發燒友也開始對這個操作系統發生了濃厚的興趣。本文的目的是希望用戶以最快的速度對Linux下的精品Hack軟件功能及使用方法有一個比較細致全面的了解。今天我們先了解尋找肉雞的N種兵器。

  漏洞掃描器是一種自動檢測遠程或本地主機安全性弱點的程序。和Windows系統一樣,當黑客得到目標主機的清單後,他就可以用一些Linux掃描器程序尋找這些主機的漏洞。這樣,攻擊者可以發現服務器的各種TCP端口的分配、提供的服務、Web服務軟件版本和這些服務及安全漏洞。而對系統管理員來說,如果能夠及時發現並阻止這些行為,也可以大大減少入侵事件的發生率。按常規標准,可以將漏洞掃描器分為兩種類型:主機漏洞掃描器(Host Scanner)和網絡漏洞掃描器(Network Scanner)。主機漏洞掃描器是指在系統本地運行檢測系統漏洞的程序;網絡漏洞掃描器則是指基於Internet遠程檢測目標網絡和主機系統漏洞的程序,下面,我們選取一些典型的軟件及實例進行介紹。

  1、基於主機的實用掃描軟件

  (1) sXid

  sXid是一個系統監控程序,軟件下載後,使用“make install”命令即可安裝。它可以掃描系統中suid和sgid文件和目錄,因為這些目錄很可能是後門程序,並可以設置通過電子郵件來報告結果。缺省安裝的配置文件為/etc/sxid.conf,這個文件的注釋很容易看懂,它定義了sxid 的工作方式、日志文件的循環次數等;日志文件缺省為/var/log/sxid.log。出於安全方面的考慮,我們可以在配置參數後把sxid.conf 設置為不可改變,使用 chattr 命令把sxid.log文件設置為只可添加。此外,我們還可以隨時用sxid -k加上 -k 選項來進行檢查,這種檢查方式很靈活,既不記入日志,也不發出 email。如圖1所示。

圖1

  (2)LSAT

  Linux Security Auditing Tool (LSAT) 是一款本地安全掃描程序,發現默認配置不安全時,它可以生成報告。LSAT由Triode開發,主要針對基於RPM的Linux發布設計的。軟件下載後,進行如下編譯:

cndes$ tar xzvf last-VERSION.tgzcndes$ cd lsat-VERSIONcndes$ ./configurecndes$ make

  然後以root身份運行:root# ./lsat。默認情況下,它會生成一份名字叫lsat.out的報告。也可以指定一些選項:

-o filename 指定生成報告的文件名 -v 詳細輸出模式 -s 不在屏幕上打印任何信息,只生成報告。 -r 執行RPM校驗和檢查,找出默認內容和權限被改動的文件

  LSAT可以檢查的內容很多,主要有:檢查無用的RPM安裝;檢查inetd和Xinetd和一些系統配置文件;檢查SUID和SGID文件;檢查777的文件;檢查進程和服務;開放端口等。LSAT的常用方法是用cron定期調用,然後用diff比較當前報告和以前報告的區別,就可以發現系統配置發生的變化。下面是一個測試中的報告片斷:

**************************************** This is a list of SUID files on the system: /bin/ping /bin/mount /bin/umount /bin/su /sbin/pam_timestamp_check /sbin/pwdb_chkpwd /sbin/unix_chkpwd **************************************** This is a list of SGID files/Directories on the system: /root/sendmail.bak /root/mta.bak /sbin/netreport **************************************** List of normal files in /dev. MAKEDEV is ok, but there should be no other files: /dev/MAKEDEV /dev/MAKEDEV.afa **************************************** This is a list of world writable files /etc/cron.daily/backup.sh /etc/cron.daily/update_CDV.sh /etc/megamonitor/monitor /root/e /root/pl/outfile

  (3)GNU Tiger

  這是掃描軟件可以檢測本機安全性,源自TAMU的Tiger(一個老牌掃描軟件)。Tiger程序可以檢查的項目有:系統配置錯誤;不安全的權限設置;所有用戶可寫的文件;SUID和SGID文件;Crontab條目;Sendmail和FTP設置;脆弱的口令或者空口令;系統文件的改動。另外,它還能暴露各種弱點並產生詳細報告。

  (4)Nabou

  Nabou是一個可以用來監視系統變化的Perl 程序,它提供文件完整性和用戶賬號等檢查,並將所有數據保存在數據庫裡。此外,用戶也可以在配置文件中嵌入Perl代碼來定義自己的函數,執行自定義測試,操作其實十分方便。

  (5)COPS

  COPS是可以報告系統的配置錯誤以及其他信息,對linux系統進行安全檢查。其檢測目標有:文件、目錄和設備文件的權限檢查;重要系統文件的內容、格式和權限;是否存在所有者為root的SUID 文件;對重要系統二進制文件進行CRC校驗和檢查,看其是否被修改過;對匿名FTP、Sendmai等網絡應用進行檢查。需要指出的是,COPS只是監測工具,並不做實際的修復。這個軟件比較適合配合其他工具使用,其優點在於比較擅長找到潛在的漏洞。

  (6)strobe

  Strobe是一個TCP端口掃描器,它可以記錄指定的機器的所有開放端口,運行速度非常快。它最初用於掃描局域網中公開的電子郵件,從而得到郵件用戶信息。Strobe的另一個重要特點是它能快速識別指定機器上正在運行什麼服務,不足之處是這類信息量比較有限。

  (7)SATAN

  SATAN可以用來幫助系統管理員檢測安全,也能被基於網絡的攻擊者用來搜索脆弱的系統。SATAN是為系統和管理員設計的一個安全工具。然而,由於它的廣泛性,易用性和掃描遠程網絡的能力,SATAN也可能因為好奇而被用來定位有弱點的主機。SATAN包括一個有關網絡安全問題的檢測表,經過網絡查找特定的系統或者子網,並報告它的發現。它能搜索以下的弱點:

NFS——由無權限的程序或端口導出。NIS-——口令文件訪問。 Rexd——是否被防火牆阻止。Sendmail——各種弱點。ftp——ftp、wu-ftpd或tftp配置問題。遠程Shell的訪問——它是否被禁止或者隱藏。X windows——主機是否提供無限制的訪問。Modem——經過tcp沒有限制撥號訪問。

  (8)IdentTCPscan

  IdentTCPscan是一個比較專業的掃描器,可以在各種平台上運行。軟件加入了識別指定TCP端口進程的所有者的功能,也就是說,它能測定該進程的UID。這個程序具有很重要的功能就是通過發現進程的UID,很快識別出錯誤配置。它的運行速度非常快,可以稱得上是入侵者的寵物,是一個強大、銳利的工具。

  2、基於網絡的實用掃描工具

  (1)Nmap

  Nmap即Network Mapper,它是在免費軟件基金會的GNU General Public License (GPL)下發布的。其基本功能有:探測一組主機是否在線;掃描主機端口,嗅探提供的網絡服務;判斷主機的操作系統。軟件下載後,執行configure、make和make install三個命令,將nmap二進制碼安裝到系統上,就可以執行nmap了。

  Nmap的語法很簡單,但功能十分強大。比如:Ping-scan命令就是“-sP”,在確定了目標主機和網絡之後,即可進行掃描。如果以root來運行Nmap,Nmap的功能會更加增強,因為超級用戶可以創建便於Nmap利用的定制數據包。使用Nmap進行單機掃描或是整個網絡的掃描很簡單,只要將帶有“/mask”的目標地址指定給Nmap即可。另外,Nmap允許使用各類指定的網絡地址,比如192.168.100.*,是對所選子網下的主機進行掃描。

  Ping掃描。入侵者使用Nmap掃描整個網絡尋找目標。通過使用“-sP”命令,缺省情況下,Nmap給每個掃描到的主機發送一個ICMP echo和一個TCP ACK,主機對任何一種的響應都會被Nmap得到。如圖2所示。

圖2

  Nmap支持不同類別的端口掃描,TCP連接掃描可以使用“-sT”命令,具體如圖3所示:

圖3

  隱蔽掃描(Stealth Scanning) 。在掃描時,如果攻擊者不想使其信息被記錄在目標系統日志上,TCP SYN掃描可幫你的忙。使用“-sS”命令,就可以發送一個SYN掃描探測主機或網絡。如圖4所示。

圖4

  如果一個攻擊者想進行UDP掃描,即可知哪些端口對UDP是開放的。Nmap將發送一個O字節的UDP包到每個端口。如果主機返回端口不可達,則表示端口是關閉的。如圖5所示。

圖5

  操作系統識別。通過使用“-O”選項,就可以探測遠程操作系統的類型。Nmap通過向主機發送不同類型的探測信號,縮小查找的操作系統系統的范圍。如圖6所示。

圖6

  Ident掃描。攻擊者都喜歡尋找一台對於某些進程存在漏洞的電腦,比如一個以root運行的WEB服務器。如果目標機運行了identd,攻擊者就可以通過“-I”選項的TCP連接發現哪個用戶擁有http守護進程。我們以掃描一個Linux WEB服務器為例,使用如下命令即可:

  # nmap -sT -p 80 -I -O www.yourserver.com

  除了以上這些掃描,Nmap還提供了很多選項,這是很多Linux攻擊者的必備法寶之一,通過這個軟件,我們就可以對系統了如指掌,從而為下面的攻擊打下良好的基礎。

  (2)p0f

  p0f對於網絡攻擊非常有用,它利用SYN數據包實現操作系統被動檢測技術,能夠正確地識別目標系統類型。和其他掃描軟件不同,它不向目標系統發送任何的數據,只是被動地接受來自目標系統的數據進行分析。因此,一個很大的優點是:幾乎無法被檢測到,而且p0f是專門系統識別工具,其指紋數據庫非常詳盡,更新也比較快,特別適合於安裝在網關中。軟件下載後,執行如下命令編譯並安裝p0f:

#tar zxvf p0f-1.8.2.tgz #make&& make install

  p0f的使用非常簡單,使用如下命令可以在系統啟動時,自動啟動p0f進行系統識別:

#cp p0f.init /etc/init.d/p0f #chkconfig p0f on

  然後,每隔一段時間對p0f的日志進行分析即可。為了便於使用,p0f軟件包提供了一個簡單的分析腳本p0frep,通過它,攻擊者可以很方便找到運行某類系統的遠程主機地址。P0f還可以檢測如下內容:防火牆的存在或偽裝;到遠程系統的距離以及它啟動的時間;其他網絡連接以及ISP。

  (3)ISS

  ISS Internet Scanner是全球網絡安全市場的頂尖產品,通過對網絡安全弱點全面和自主地檢測與分析並檢查它們的弱點,將風險分為高中低三個等級,並且可以生成大范圍的有意義的報表。現在,這個軟件的收費版本提供了更多的攻擊方式,並逐漸朝著商業化的方向發展。

  (4)Nessus

  Nessus是一款功能強大的遠程安全掃描器,它具有強大的報告輸出能力,可以產生Html、XML、LaTeX和ASCII文本等格式的安全報告,並能為每個安全問題提出建議。軟件系統為client/sever模式,服務器端負責進行安全檢查,客戶端用來配置管理服務器端。在服務端還采用了plug-in的體系,允許用戶加入執行特定功能的插件,可以進行更快速和更復雜的安全檢查。除了插件外,Nessus還為用戶提供了描述攻擊類型的腳本語言,來進行附加的安全測試。

  軟件下載後,解壓並完成安裝。安裝完畢,確認在/etc/ld.so.conf文件加入安裝已安裝庫文件的路徑:/usr/local/lib。如果沒有,只需在該文件中加入這個路徑,然後執行ldconfig,這樣Nessus在運行時就可以找到運行庫了。Nessus的配置文件為Nessusd.conf,位於/usr/local/etc/Nessus/目錄下。一般情況下,不建議改動其中的內容。注意,使用時要創建一個nessusd 帳號,以便將來登陸掃描時使用。完成上面的准備工作後,以root用戶的身份用下面的命令啟動服務端:Nessusd –d。

  在客戶端,用戶可以指定運行Nessus服務的機器、使用的端口掃描器及測試的內容及測試的ip地址范圍。Nessus本身是工作在多線程基礎上的,所以用戶還可以設置系統同時工作的線程數。這樣用戶在遠端就可以設置Nessus的工作配置了。設置完畢,點擊start就可以開始進行掃描。當掃描結束後,會生成報表,窗口的左邊列出了所有被掃描的主機,只要用鼠標點擊主機名稱,在窗口右邊就列出了經掃描發現的該主機的安全漏洞。再單擊安全漏洞的小圖標,會列出該問題的嚴重等級及問題的產生原因及解決方法。

  (5)Nikto

  Nikto是一款能對web服務器多種安全項目進行測試的掃描軟件,能在200多種服務器上掃描出2000多種有潛在危險的文件、CGI及其他問題。它也使用Whiske庫,但通常比Whisker更新的更為頻繁。

  (6)Whisker

  Whisker是一款非常好的HTTP服務器缺陷掃描軟件,能掃描出大量的已知安全漏洞,特別是些危險的CGI漏洞,它使用perl編寫程序庫,我們可以通過它創建自己HTTP掃描器。

  (7)XProbe

  XProbe是一款主動操作系統指紋識別工具,它可以測定遠程主機操作系統的類型。XProbe依靠與一個簽名數據庫的模糊匹配以及合理的推測來確定遠程操作系統的類型,利用ICMP協議進行操作系統指紋識別是它的獨到之處。使用時,它假設某個端口沒有被使用,它會向目標主機的較高端口發送UDP包,目標主機就會回應ICMP包,然後,XProbe會發送其他的包來分辨目標主機系統,有了這個軟件,判斷對方的操作系統就很容易了。




Copyright © Linux教程網 All Rights Reserved