class="152962">
攻入Linux系統後,很多入侵者往往就開始得意忘形了。這其中還有一個原因,就是技術性也要求更高了。下面,我們來看看一些常用的經典工具。
1、從這裡延伸:後門和連接工具 (1)Httptunnel
Tunnel的意思是隧道,通常HTTPTunnel被稱之為HTTP暗道,它的原理就是將數據偽裝成HTTP的數據形式來穿過防火牆,實際上,它是在HTTP請求中創建了一個雙向的虛擬數據連接來穿透防火牆。說得簡單點,就是說在防火牆兩邊都設立一個轉換程序,將原來需要發送或接受的數據包封裝成HTTP請求的格式騙過防火牆,所以它不需要別的代理服務器而直接穿透防火牆。
HTTPTunnel包括兩個程序:htc和hts,其中htc是客戶端,而hts是服務器端,我們現在來看看我是如何用它們的。比如開了FTP的機器的IP是192.168.10.231,本地機器IP是192.168.10.226,因為防火牆的原因,本地機器無法連接到FTP上。怎麼辦?現在就可以考慮使用HTTPTunnel了。過程如下:
第一步:在本地機器上啟動HTTPTunnel客戶端。用Netstat看一下本機現在開放的端口,會發現8888端口已在偵聽。
第二步:在對方機器上啟動HTTPTunnel的服務器端,並執行命令“hts -f localhost:21 80”,這個命令的意思是說,把本機的21端口發出去的數據全部通過80端口中轉一下,並且開放80端口作為偵聽端口,再用Neststat看一下他的機器,就會發現80端口現在也在偵聽狀態。
第三步:在本地機器上用FTP連接本機的8888端口,會發現已經連上對方的機器了。那麼,為什麼人家看到的是127.0.0.1,而不是192.168.10.231呢?因為我們現在是連接本機的8888端口,防火牆肯定不會有反應,如果沒往外發包,局域網的防火牆肯定就不知道了。現在連接上本機的8888端口以後,FTP的數據包不管是控制信息還是數據信息,都被htc偽裝成HTTP數據包然後發過去,在防火牆看來,這都是正常數據,相當於欺騙了防火牆。
需要說明的是,這一招的使用需要其他機器的配合,就是說要在他的機器上啟動一個hts,把他所提供的服務,如FTP等重定向到防火牆所允許的80端口上,這樣才可以成功繞過防火牆!肯定有人會問,如果對方的機器上本身就有WWW服務,也就是說他的80端口在偵聽,這麼做會不會沖突?HTTPTunnel的優點就在於,即使他的機器以前80端口開著,現在也不會出現什麼問題,重定向的隧道服務將暢通無阻!
(2)Tcp_wrapper
Tcp_wrapper是Wietse Venema開發的一個免費軟件。Tcp_wrapper的誕生有個小小的故事,大約1990年,作者所在大學的服務器屢屢受到一個外來安全侵入,因為受害主機的硬盤數據屢次被rm -rf/命令整個抹掉,所以找尋線索極為困難,直到有一天晚上作者在工作的過程中無意中發現這個安全在不斷的finger 受害主機、偷窺受害者的工作。於是,一個想法誕生了:設計一個軟件,使它可以截獲發起finger請求的IP,用戶名等資料。Venema很快投入了工作,而Tcp_wrapper也由此誕生!此後,Tcp_wrapper隨著廣泛的應用逐漸成為一種標准的安全工具。通過它,管理員實現了對inetd提供的各種服務進行監控和過濾。
Tcp_wrapper編譯安裝成功後,會生成一個tcpd程序,它可以在inetd.conf這個控制文件中取代in.telnetd的位置,這樣,每當有telnet的連接請求時,tcpd即會截獲請求,先讀取管理員所設置的訪問控制文件,合乎要求,則會把這次連接原封不動的轉給真正的in.telnetd程序,由in.telnetd完成後續工作。如果這次連接發起的ip不符合訪問控制文件中的設置,則會中斷連接請求,拒絕提供telnet服務。Tcp_wrapper訪問控制的實現是依靠兩個文件:hosts.allow,hosts.deny來實現的。如果我們編輯/etc/syslog.conf文件時,加入了日志紀錄功能,即:
#tcp wrapper log
local3.info /var/log/tcplog
編輯結束後,保存文件,在/var/log下會生成tcplog文件,注意這個文件的讀寫屬性, 應該只對root有讀寫權限。然後ps -ef | grep syslogd,找出syslogd的進程號,kill -HUP 重啟syslogd進程使改動生效。 在這裡,我們可以預先看一看以後生成的tcplog文件內容,如下:
Jul 31 22:00:52 www.test.org in.telnetd[4365]: connect from 10.68.32.1
Jul 31 22:02:10 www.test.org in.telnetd[4389]: connect from 10.68.32.5
Jul 31 22:04:58 www.test.org in.ftpd[4429]: connect from 10.68.32.3
Aug 2 02:11:07 www.test.org in.rshd[13660]: connect from 10.68.32.5
Aug 2 02:11:07 www.test.org in.rlogind[13659]: connect from 10.68.32.1
從上面我們可以看到,在安裝了Tcp_wrapper的主機上,系統的每一次連接,Tcp_wrapper都做了紀錄,它的內容包括時間、服務、狀態、ip等,對攻擊這有很大的參考價值,不過,一定要記得清除日志了。