1. 程式人生 > >10款Linux下常用安全工具詳細介紹

10款Linux下常用安全工具詳細介紹

先說明下這類工具的安裝,安裝準備--Linux下一些壓縮檔案的解壓命令:
  
  tar xvf *.tar(tar壓縮的軟體包)
  
  tar zxvf *.tar.gz (tar和gzip壓縮的軟體包)
  
  unrar x *.rar unpack_path (rar壓縮的軟體包 unpack_path為解壓後的存放路徑 unrar解壓命令需要安裝Linux下的rar工具才可使用)
  
  rpm -vhU *.rpm(RPM軟體包的安裝)
  
  工具的一般安裝步驟:
  
  (1)轉到解壓目錄執行 ./configure;
  
  (2)執行make all;
  
  (3)執行make install。
  
  在安裝過程中部分工具還需要安裝特定的Lib庫,在工具的使用介紹中會進行特別說明。
  
  一、Hping2---

網路探測工具
  工具名稱:Hping2
  應用環境:Linux
  
  工具介紹:hping是一個基於命令列的TCP/IP工具,它在UNIX上得到很好的應用,不過它並非僅僅一個ICMP請求/響應工具,它還支援TCP、UDP、ICMP;RAW-IP協議,以及一個路由模型HPING一直被用作安全工具,可以用來測試網路及主機的安全,它有以下功能:
  
  1.防火牆探測(通過ping的返回碼進行判斷,比如在Cisco之類的防火牆阻斷ICMP包時返回狀態13的目標不可達資訊,針對此可以判斷探測目標被Cisco防火牆保護)
  
  2.高階埠掃描(2-7的功能主要是根據對TCP/IP的理解,通過檢視發出的包的返回情況進行分析和測試實現)
  
  3.
網路
測試;(可以用不同的協議,TOS,資料包碎片來實現此功能)
  
  4.手工MTU發掘
  
  5.高階路由(在任何協議下都可以實現)
  
  6.OS指紋判斷
  
  7.細微UPTIME猜測
  
  示例:
  
  穿透防火牆的掃描利用的ICMP不可達的返回值進行確定,不同的防火牆的返回值不相同,如Cisco的狀態值為13;其他測試需理解TCP/IP的包頭結構
  
  簡單的類ping操作(-c計數) hping2 192.168.0.1 -c 2
  
  設定時間間隔,資料包傳送的頻率(-i uX X為微秒) hping2 192.168.0.1 -c 2 -i u1000
  
  一種類ping攻擊測試(-d 資料包的大小) hping2 192.168.0.1 -d 20000 -i u1
  
  探測外網 hping2 -A/F/S -p 80 www.my.com;具體執行參見圖1(先使用ping測試,無返回,再使用hping2進行測試):
  

 
圖1


  二、Nbtscan---從Windows網路上收集NetBIOS資訊
  工具名稱:nbtscan-1.5.1a
  
  應用環境:Linux
  
  工具介紹:這是一款用於掃描Windows網路上NetBIOS名字資訊的程式。該程式對給出範圍內的每一個地址傳送NetBIOS狀態查詢,並且以易讀的表格列出接收到的資訊,對於每個響應的主機,NBTScan列出它的IP地址、NetBIOS計算機名、登入使用者名稱和MAC地址。
  
  示例:
  
  這個比較簡單,不過只能掃描內網
  
  掃描192.168.0.0的網段:" nbtscan 172.16.15.0/24 ,測試操作見圖2:
  

 
圖2


  三、Xprobe2---主動作業系統指紋識別工具
  工具名稱:Xprobe2
  
  應用環境:Linux
  
  工具介紹:Xprobe2" 是一款主動作業系統指紋識別工具,和其它作業系統指紋識別不同,它依靠與一個簽名庫的模糊匹配,以及合理的推測來共同確定遠端作業系統的型別。
  
  示例:
  
  簡單內網探測: xprobe2 192.168.0.1
  
  探測外網(目標主機開啟Web服務): xprobe2 -p tcp:80:open/tcp:25:open www.my.com;探測目標主機的作業系統如圖3所示:
  

 
圖3


  四、nmap---網路掃描和嗅探工具包
  工具名稱:nmap-3.50
  
  應用環境:Linux
  
  工具介紹:NMap是Linux下的網路掃描和嗅探工具包。可以幫助網管人員深入探測UDP或者TCP埠,直至主機所使用的作業系統;還可以將所有" 探測結果記錄到各種格式的日誌中,為系統安全服務。NMap,也就是Network Mapper,是Linux下的網路掃描和嗅探工具包,其基本功能有三個,一是探測一組主機是否線上;其次是掃描 主機埠,嗅探所提供的網路服務;還可以推斷主機所用的作業系統 。Nmap可用於掃描僅有兩個節點的LAN,直至500個節點以上的網路。Nmap 還允許使用者定製掃描技巧。通常,一個簡單的使用ICMP協議的ping操 作可以滿足一般需求;也可以深入探測UDP或者TCP埠,直至主機所 使用的作業系統;還可以將所有探測結果記錄到各種格式的日誌中, 供進一步分析操作。但了nmap被發現存在DOS攻擊, 針對這類攻擊,可採取如下措施:安裝系統賣方的最新補丁;用未受影響的系統做防火牆。
  
  示例:
  
  適用於內外網的探測,以內網操作為示例(外網引數同)
  
  簡單埠掃描: nmap -vv -sT(sS、sF、sU、sA) 192.168.0.1 -D 127.0.0.1(-D偽造的地址)
  
  OS檢測: nmap -vv -sS -O 192.168.0.1
  
  RPC鑑別: nmap -sS -sR 192.168.0.1 Linux上的portmap就是一個簡單的RPC服務,監聽埠為111(預設),測試見圖4
  

 
圖4


  Ping掃射:" nmap -sP 172.16.15.0/24,測試結果見圖5
  

 
圖5


  五、tcpdump---專業的網路管理工具
  工具名稱:tcpdump-3.8.1
  
  應用環境:Linux
  
  工具介紹:Tcpdump是著名的sniffer,是一個被很多UNIX高手認為是一個專業的網路管理工具,記得以前TsutomuShimomura(應該叫下村侵吧)就是使用他自己修改過的TCPDUMP版本來記錄了KEVINMITNICK攻擊他系統的記錄,後來就配合FBI抓住了KEVINMITNICK。你能夠利用這個工具檢查訪問你伺服器中的檔案包資訊,監測你網路中的問題所在。
  
  示例:
  
  截獲所有192.168.0.1的主機收到的和發出的所有的資料包:
  
  tcpdump" host 192.168.0.1 (測試以圖中地址為準,見圖6):
  

 
圖6


  截獲主機192.168.0.1和主機192.168.0.2或192.168.0.3的通訊,使用命令(在命令列中適用括號時,一定要):
  
  tcpdump" host 192.168.0.1 and \ (192.168.0.2 or 192.168.0.3 \)
  
  獲取主機192.168.0.1除了和主機192.168.0.2之外所有主機通訊的ip包,使用命令:
  
  tcpdump ip host 192.168.0.1 and ! 192.168.0.2
  
  獲取主機192.168.0.1接收或發出的telnet包,使用如下命令:
  
  tcpdump tcp port 23 host 192.168.0.1
  
  安裝備註:該工具安裝前需要先安裝libpcap。
  
  六、hunt---包嗅探和會話劫持工具
  工具名稱:hunt1.5
  
  應用環境:Linux
  
  工具介紹:Linux平臺上高階的包嗅探和會話劫持工,Hunt能監視、劫持、重設網路上的TCP連線,在乙太網上使用才有作用,並且含有監視交換連線的主動機制,以及包括可選的ARP轉播和劫持成功後的連線同步等高階特徵。防範嗅探類工具的注意點:使黑客不能在最初獲得系統的訪問許可權是最佳的嗅探器對策;使用交換網路代替集線器,對於集線器,網路流量對區域網內的每個系統都是可見的,在交換網路中,只有MAC地址相對應的網絡卡才能見到自己的幀;傳送敏感資料時不要使用明文方式。防範嗅探類工具的注意點:使黑客不能在最初獲得系統的訪問許可權是最佳的嗅探器對策;使用交換網路代替集線器,對於集線器,網路流量對區域網內的每個系統都是可見的,在交換網路中,只有MAC地址相對應的網絡卡才能見到自己的幀;傳送敏感資料時不要使用明文方式。
  
  示例:
  
  高階嗅探功能,hunt利用ARP欺騙或ARP強制的方法欺騙系統,使之在快取中新增新的MAC到IP對映。 (操作可參照以下步驟:進入守護程序,輸入a進行新增,通過l列舉設定的情況。用arp -a檢視修改情況。)該功能可以嗅探交換網路裡的資料。 另外hunt提供的嗅探還能捕獲使用者名稱和口令,該功能依賴於字典庫。 hunt執行如圖7所示,有簡單的選單操作:
  

 
圖7


  七、Hydra---網路認證的破解工具
  工具名稱:Hydra3.0
  
  應用環境:Linux
  
  工具介紹:THC-Hydra" 是世界第一款 parallized 協議登入的黑客工具。可以用來對需要網路登入的系統進行快速的字典攻擊,包括Samba、FTP、POP3、IMAP、Telnet、HTTP Auth、LDAP、NNTP、MySQL、VNC、ICQ、Socks5、PCNFS、Cisco等,支援SSL加密。包括了對 Socks5 和 SSL 支援。
  
  示例(需要字典庫支援):
  
  hydra -l login -P /tmp/passlist 192.168.0.1 ftp login為要破解的使用者名稱,passlist為密碼字典庫
  
  hydra -l login -P passfile 192.168.0.1 smb login為要破解的登入名,passfile為密碼字典庫,smb作業系統登入密碼破解,測試示例如圖8所示:
  

 
圖8


  八、John---雜湊口令破解器
  工具名稱:john-1.6
  
  應用環境:Linux
  
  工具介紹:John" the ripper是一個高效的易於使用的密碼猜測程式,這個軟體由著名的黑客組織--UCF出品的網路密碼破解軟體,它支援Unix、Dos、Windows,方便好用速度超快、可以說是目前同類中最傑出的作品。對於老式的passwd檔(就是沒shadow的那種,任何人能看的都可以把passwd密文存下來),John可以直接讀取並用字典窮舉擊破。對於現代的passwd+shadow的方式,John提供了UNSHADOW程式直接把兩者合成出老式passwd檔案。 John 的 crypt() 函式在快速作業的模式之下進行了最佳化, 這可以讓 John 在破解的時候跑得比其它的破解工具快, 這個函式同時套用了組合語言及可轉平臺式 C 語言兩個語言所寫出來的程式碼。John 支援了以下幾種的破解方式:
  
  1. 有規則及不規則的字典檔破解模式;
  2. "Single Crack", 用最簡單的資訊來進行破解的工作, 速度最快.
  3. 增強破解模式(我們稱暴力法), 嘗試所有可能的字元組合;
  
  4.外部破解模式, 讓你可以定義你的破解模式. 防範密碼破解工具的注意點:自己執行口令破解程式,找到機器中存在的那些脆弱口令;確保口令檔案不是可讀的;經常檢查日誌檔案;使用陰影口令(Linux下的口令保護方式,檔案見 /etc/shadow 命令 pwconv);使用MD5取代DES。
  
  示例:
  
  先在Apache安裝目錄bin目錄下的執行命令: htpasswd -cb passfile usr passwd
  
  利用john來破解passfile中的使用者名稱和passwd的操作命令如下: john -single passfile,測試結果見圖9
  

 
圖9


  九、Fragroute---破壞入侵檢測系統最強大的工具
  工具名稱:Fragroute1.2" "殺傷路徑")
  
  應用環境:Linux
  
  工具介紹:一種新的黑客工具,它的偽裝性極高,能夠輕而易舉地騙過大多數防火牆。fragroute能夠擷取、修改和重寫向外傳送的報文,實現大部分IDS欺騙技術,包括IP、TCP層的資料包碎片以及資料包資料重疊等。可以測出一些防火牆和入侵監控系統或其他一些應用過濾軟體的相同弱點。利用了入侵監控系統,與伺服器軟體相比,這種系統不太注重監測進入資料的正確性,而伺服器軟體是黑客的典型攻擊目標。在另一版本的插入攻擊中,非法資料可以被偽裝成送入伺服器的指令,被攻擊的伺服器將遮蔽所有不良資料,在伺服器上留下有效的惡意程式碼。 從實現的技術來看,fragroute和fragrouter差不多。fragrouter是一個具有路由器功能的應用程式,它能夠對攻擊者傳送的攻擊流量進行分片處理之後,向攻擊目標轉發。其原理如圖10所示:
  

 
圖10


  如果入侵檢測系統不能進行IP和TCP分片重組或者重組功能不太完善,將不能發現針對victim攻擊。和fragroute不同的是,它只處理本地主機發送到遠端主機的資料流量,不支援資料包的轉發,因此不會在本地主機開啟IP轉發功能。安全專家稱之" "雙料"黑客工具,因為它既可以助紂為虐從事黑客活動,也可以用來幫助網路管理員排查系統漏洞。Snort可以避免Fragroute的大部分攻擊,但是仍然有某些漏洞需要修補。
  
  示例:
  
  需3臺機器 控制端A(執行fragroute);目標機B(執行wu-ftpd);分析機C(執行running Tcpdump, Snort, and Ethereal); 操作步驟:A先不執行fragroute,通過C的流量資料分析檢視A與B的流量資料,接著在A執行fragroute,再次通過C檢視A、B間的資料流量資訊;比較兩次流量中資料包的格式。(注,該過程還用到[CVE-1999-0082]提及的關於FTP的一個溢位漏洞。
  
  安裝備註:該工具安裝前需要先安裝libpcap、libevent、libdnet。
  
  十、Snort---網路入侵檢測系統
  工具名稱:snort-2.1.1
  
  應用環境:Linux
  
  工具介紹:Snort是一個輕便的網路入侵檢測系統,可以完成實時流量分析和對網路上的IP包登入進行測試等功能,能完成協議分析,內容查詢/匹配,能用來探測多種攻擊和嗅探(如緩衝區溢位、祕密斷口掃描、CGI攻擊、SMB嗅探、拇紋採集嘗試等)。
  
  示例:
  
  執行Snort和顯示IP和TCP/UDP/ICMP頭資訊: snort -v
  
  使Snort把ethernet頭資訊和應用層資料記錄到./log目錄總去了,並記錄的是關於192.168.0.1 CLASS C的資訊,記錄過程如圖11,統計資料如圖12所示:
  

 
圖11
圖12


  snort" -dev -l ./log -h 192.168.0.1/24 
  
  把日誌記錄在你規則檔案中所定義的LOG檔案中,而不是預設的alert.ids中: 
  
  snort -d -h 192.168.1.0/24 -l ./log -c snort-lib -s 
  
  安裝備註:該工具安裝前需要先安裝libpcap、libpcre。