下面我們看一下IP欺騙攻擊是如何實現的?
建立信任關系
IP欺騙是利用了主機之間的正常信任關系來發動的,所以在介紹IP欺騙攻擊之前,先說明一下什麼是信任關系,信任關系是如何建立的。
在UNIX主機中,存在著一種特殊的信任關系。假設有兩台主機hosta和hostb,上面各有一個帳戶Tomy,在使用中會發現,在 hosta上使時要輸入在hosta上的相應帳戶Tomy,在hostb上使用時必須輸入用hostb的帳戶Tomy,主機hosta和hostb把 Tomy當做兩個互不相關的用戶,這顯然有些不便。為了減少這種不便,可以在主機hosta和hostb中建立起兩個帳戶的相互信任關系。
在hosta和hostb上Tomy的home目錄中創建.rhosts文件。從主機hosta上,在你的home目錄中用命令echo “hostb Tomy”>~/.hosts實現hostaamp;hostb的信任關系,這時,你從主機hostb上,你就能毫無阻礙的使用任何以r開頭的遠程調用命令,如:rlogin、rsh、rcp等,而無需輸入口令驗證就可以直接登錄到hosta上。這些命令將充許以地址為基礎的驗證,允許或者拒絕以 IP地址為基礎的存取服務。這裡的信任關系是基於IP的地址的。
當/etc/hosts.equiv中出現一個 “+”或者$HOME/.rhosts中出現 “++”時,表明任意地址的主機可以無須口令驗證而直接使用r命令登陸此主機,這是十分危險的,而這偏偏又是某些管理員不重視的地方。下面我們看一下rlogin的用法。
rlogin是一個簡單的/服務器程序,它的作用和telnet差不多,不同的是telnet完全依賴口令驗證,而
rlogin是基於信任關系的驗證,其次到才進行口令驗證的,它使用了TCP協議進行傳輸。當用戶從一台主機登陸到另一台主機上,並且,如果目錄主機信任它,rlogin將允許在不應答口令的性況下使用目標主機上的資源,安全驗證完便基於源主機的IP地址。因此,根據以上所舉的例子,我們能利用rlogin來從hostb遠程登陸到hosta,而且不會被提示出入口令!