歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

了解你的敵人II

  Know Your Enemy: II 跟蹤Blackhat的舉動 Honeynet Project http://project.honeynet.org http://www.xfocus.org Last Modified: July 7, 2000 此文章是系列中的第二篇文章,在第一篇Know Your Enemy, 我們講述了Script kiddie相關的工具和方法,特別是他們是怎樣探測漏洞然後攻擊的。在第三篇Know YourEnemy III中我們將會描述Script kiddie在獲得ROOT的時候將會做的事情,特別是他們是怎樣覆蓋蹤跡和他們下一步做的是什麼。當前這文章,將涉及到有關則怎樣跟蹤他們的行為。我們會講述到通過你的系統記錄來判斷你所需的操作,和你被掃描了以後,你需要了解被探測了以後主要被干什麼用,他們使用了那些工具;這裡的有些例子主要是基於Linux操作系統,但是很容易移植到其他UNIX系統中,記住,沒有絕對的方法能跟蹤敵人的每一步,但是,這文章會是一個好的開始。 加強系統LOG記錄的安全性 這文章沒有主要不是針對入侵檢測進行討論,關於IDS,internet上有很多優秀的源程序供你選擇,如果你對入侵檢測感興趣,我建議你使用如Network Flight Recorder 和snort程序來嘗試。此文主要集中在智力收集信息上,特別是,怎樣通過查看你的系統記錄來獲取攻擊者操作信息,可能你對你能在自己的LOG記錄上能發現多少信息感到很驚訝,但是,在我們講述查看你記錄前,我們首先必須討論下加強你的系統LOG安全性,如果你不能信任你系統記錄的完整性那這些記錄將會一文不值,多數black-aht在進入系統之後第一件事情就是怎樣更改記錄文件,網上非常多類型的Rootkit工具可以清楚記錄文件中他們的留下的蹤跡(如cloak),或者阻止所有系統的記錄(如偽造過的syslogd),因此,要想查看系統記錄,你必須保護好你的記錄文件。 這意味著你需要使用遠程的LOG服務器,先不管你有多少能力保護自己的系統,在一台被入侵的系統中你不能相信你的任何記錄,即使你最好的保護被入侵系統的LOG記錄,black-hat也可以簡單的使用rm -fr /*來完全清理你的硬盤。要保護這些文件,你必須使你所有系統的LOG記錄既有本地記錄也發向遠程LOG服務器中,這裡建立你一個只記錄LOG的服務器來收集其他服務器上的信息,如果牽涉到錢的問題,你可以簡單使用Linux服務器來充當你的LOG服務器,不過這台服務器必須保證非常安全,需要所有服務關閉,只允許控制台訪問(如Armoring Linux所描述),還有必須保證UDP 514口沒有對外連接,這樣可以保護你的LOG服務器不接受從外界來的不好的或者未認證的LOG信息。 由於上述原因,這裡建議你重編譯syslogd程序,並讓syslogd讀取不同的配置文件,如/var/tmp/.conf,此方法能讓black-hat沒有注意到真實的配置文件位置,這項操作你可以簡單的在源代碼中修改"/etc/syslog.conf"條目,接著我們可以設置我們新的配置文件把信息記錄到本地和遠程服務器,如syslog.txt。這裡請你維持一標准的配置文件/etc/syslog.conf指向所有本地LOG,雖然這份配置文件沒有用,但可以讓攻擊者相信記錄沒有發忘遠程記錄。另一個選擇方法就是讓你的系統使用更安全的日志記錄工具,如使用某些有完整性檢查和其他方面安全加強的系統日志記錄工具,如syslog-ng。 把記錄都記錄到遠程服務器中,將想上面提到的,我們可以基本上相信這些LOG的完整性,而且由於所有系統都記錄在單一資源中,就比較容易的判斷這些LOG的樣式。我們可以在一台機器上記錄所有系統記錄,你所做的是對比下本地系統和遠程系統的不一致性。 類型匹配 通過檢查你的記錄條目,你可以用來判斷那些端口被掃描,許多Script kidde掃描整個網絡只為一個漏洞,如你的記錄顯示你多數系統有來自同一遠程系統的連接和同一端口,這就很可能以為著是一次漏洞的掃描,多數LINUX系統中,TCP Wrapper默認安裝的,所以你可以在/var/log/secure裡找到多數連接,在其他UNIX系統中,我們可以通過啟動inetd後增加-t標志就可以記錄所有Inetd連接。下面是一個典型的漏洞掃描,是為了掃描wu-FTPd漏洞: /var/log/secure Apr 10 13:43:48 mozart in.ftpd[6613]: connect from 192.168.11.200 Apr 10 13:43:51 bach in.ftpd[6613]: connect from 192.168.11.200 Apr 10 13:43:54 hadyen in.ftpd[6613]: connect from 192.168.11.200


Apr 10 13:43:57 vivaldi in.ftpd[6613]: connect from 192.168.11.200 Apr 10 13:43:58 brahms in.ftpd[6613]: connect from 192.168.11.200 上面我們可以看到源主機192.168.11.200在掃描我們的網絡,注意為何源主機連續掃描每個IP,這些記錄就歸功於LOG服務器,你可以方便的判斷每個類型,連續的連接端口21,FTP,就暗示著攻擊者在尋找wu-ftpd漏洞。一般來說,掃描是傾向於階段性的,某些人發布了一個imap漏洞的利用代碼,你就會發現記錄裡有imap掃描突然增多,下一個月如果有FTP利用程序發布,記錄就會轉向ftp突然增多,你可以在這個地址http://www.cert.org/advisories/獲得當前最新的漏洞建議。有時,一個工具也會在同一時間裡掃描多種漏洞,因此你也會看到一個源主機連接多個端口。 記住,如果你沒有記錄這些服務,你就不會知道你被掃描,例如,多數RPC連接沒有被記錄,但是服務記錄是一件簡單的事情,你可以通過在/etc/inetd.conf增加條目來讓TCP WRAPPER進行記錄,如你在/etc/inetd.conf裡增加NetBus條目,你就可以通過定義TCP Wrapper來安全的拒絕和記錄NETBUS的連接(更多信息請查看ids). 判斷使用工具 有些時候你可以判斷什麼樣的工具在掃描你的系統,因為一般工具都是掃描特殊的漏洞,如ftp-scan.c,如果你發現只是一個端口被掃描,一般他們使用的是單任務工具,但是也存在很多工具掃描多種系統漏洞和薄弱處,舉兩個非常有用的工具如jsbach寫的sscan和Fyodor寫的nmap,我只所以選擇了這兩個工具是因為他們能代表兩種類別的掃描工具,這裡強烈建議你用這些工具掃描下你自己的網絡,或許你會得到讓你吃驚的結果。 注:sscan工具是一個比較老的工具了,在這裡只是把sscan拿來討論,要掃描你網絡系統的漏洞,這裡建議使用Nessus。 sscan代表著以"所有目標"為目的的Script kiddie掃描工具,它掃描網絡一套的網絡漏洞,它可以讓你定制規則來對新漏洞的增加,你只要傳遞工具一個網絡和網絡掩碼,其他的事情它來做,不過這個工具需要有ROOT權利才能使用,它的輸出很容易理解,它會提供一個簡潔的對漏洞服務的描述,所有你要做的就是讓sscan掃描網絡,然後你提取"VULN"的值,然後運行"eXPloit du jour",下面是sscan對系統mozart (172.17.6.30)的掃描: otto #./sscan -o 172.17.6.30 --------------------------<[ * report for host mozart * <[ tcp port: 80 (http) ]> <[ tcp port: 23 (telnet) ]> <[ tcp port: 143 (imap) ]> <[ tcp port: 110 (pop-3) ]> <[ tcp port: 111 (sunrpc) ]> <[ tcp port: 79 (finger) ]> <[ tcp port: 53 (domain) ]> <[ tcp port: 25 (smtp) ]> <[ tcp port: 21 (ftp) ]> --<[ *OS*: mozart: os detected: redhat linux 5.1 mozart: VULN: linux box vulnerable to named overflow. <[ *CGI*: 172.17.6.30: tried to redirect a /cgi-bin/phf request. <[ *FINGER*: mozart: root: account exists. <[ *VULN*: mozart: sendmail will 'expn' accounts for us <[ *VULN*: mozart: linux bind/iquery remote buffer overflow <[ *VULN*: mozart: linux mountd remote buffer overflow ---------------------------<[ * scan of mozart completed * Nmap代表"原始數據"工具集,它不告訴你系統有什麼漏洞存在,相反,它告訴你系統有什麼端口打開,你必須自己判斷安全問題,Nmap很快變成掃描端口的首選,它是能很好的端口掃描工具並集合多種功能的工具包括OS探測,有多種端口組合選擇,包括UDP和TCP掃描,不過這個工具需要你有一定的網絡技能來使用這個工具並解析這些數據,下面是nmap對同一系統掃描的結果: otto #nmap -sS -O 172.17.6.30 Starting nmap V. 2.08 by Fyodor ([email protected], www.insecure.org/nmap/) Interesting ports on mozart (172.17.6.30): Port State Protocol Service 21 open tcp ftp 23 open tcp telnet 25 open tcp smtp 37 open tcp time 53 open tcp domain 70 open tcp gopher

79 open tcp finger 80 open tcp http 109 open tcp pop-2 110 open tcp pop-3 111 open tcp sunrpc 143 open tcp imap2 513 open tcp login 514 open tcp shell 635 open tcp unknown 2049 open tcp nfs TCP Sequence Prediction: Class=truly random Difficulty=9999999 (Good lUCk!) Remote operating system guess: Linux 2.0.35-36 Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds 通過檢查你的LOG記錄,你可以判斷那個工具在掃描你,不過你需要理解這些工具是如何工作的你才能判斷出掃描你的工具,第一,sscan會在記錄中留下下面的記錄(這個是



Remote operating system guess: Linux 2.0.35-36 Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds 通過檢查你的LOG記錄,你可以判斷那個工具在掃描你,不過你需要理解這些工具是如何工作的你才能判斷出掃描你的工具,第一,sscan會在記錄中留下下面的記錄(這個是



Copyright © Linux教程網 All Rights Reserved