Honeyd的安裝方法很簡單,本文不再贅述。這里以創(chuàng)建兩臺虛擬蜜罐主機(jī)為例,來說明如何使用 Honeyd。 進(jìn) 入“/usr/local/share/honeyd” 目錄,其中保存有Honeyd的配置文件信息。執(zhí)行“vim honeyd.conf”命令,在初始狀態(tài)下,該文件內(nèi)容為空。輸 入“create default”、“set default default tcp action block”、“set default default udp action block”、“set default default icmp action block”行,作用是丟棄所有發(fā)送來的TCP/UDP/ICMP數(shù)據(jù)包,這起到啟動屏蔽Ping探測或黑客掃描的作用,用來模擬防火墻的功能。
輸 入“create honeydtemplate”、“set honeydtemplate ethernet "xxxx-xx-xx-xx-xx"”行,創(chuàng)建名為“honeyd-template”的模式,并對其進(jìn)行屬性設(shè)定,設(shè)置該虛擬蜜罐機(jī)的MAC地址,這里“xx-xx-xx-xx-xxxx”代表具體的MAC地址,主要用來迷惑黑客。輸入“set honeydpot-template personality "Microsoft Windows NT 40 SP3"” 行,用來設(shè)置指紋信息,模擬出一臺Windows服務(wù)器。輸入“set honeydpot-template uptime 1234567” 行, 來模擬時間戳信息。輸入“set honeydpot-template default tcp action reset”、“set honeydpottemplate default udp action reset”命令,設(shè)置該蜜罐用來應(yīng)答TCP掃描時回答RST信息。這里的“reset”表示默認(rèn)狀態(tài)下關(guān)閉所有的接口。
輸 入“set honeydpottemplate default icmp action reset”行,作用是響應(yīng)黑客針對該蜜罐的Ping探測。輸入“add honeydpottemplate tcp port 135 open”、“add honeydpottemplate tcp port 139 open”、“add honeydpottemplate tcp port 445 open”、“add honeydpottemplate tcp port 3389 block”、“add honeydpottemplate tcp port 53 proxy 221.9.71.99:53”行,分別為該蜜罐開啟TCP 135/139/445/53端 口,同時使其模擬DNS代理信息,并屏蔽TCP3389端口。輸入“bind 192.168.1.100 honeyd-template”、“bind 192.168.1.101 honeydtemplate”行,分別使用空閑的IP來綁定兩臺蜜罐主機(jī)。
當(dāng)然,可以綁定更多的蜜罐主機(jī)。之后保存 該 文 件,進(jìn) 入“/usr/localbin/” 目 錄, 執(zhí)行“arpd 192.168.100-192.168.1.101”命令,來虛擬出這兩個空閑的IP。執(zhí)行“honeyd -d -f /usr/local/share/honeyd/honeyd.conf 192.168.1.100-192.168.1.101”命令,使用預(yù)設(shè)的配置文件來啟動上述兩臺蜜罐主機(jī)。如果有黑客對上述虛擬蜜罐主機(jī)進(jìn)行Ping探測,Honeyd就會顯示這些探測信息,并顯示其來源IP。當(dāng)黑客使用掃描工具對蜜罐進(jìn)行探測時,Honeyd就會對其做出動態(tài)響應(yīng),并顯示黑客的源IP信息。按照上面的介紹,可以創(chuàng)建虛擬蜜罐來迷惑和追蹤黑客,但是這些方法對于小型網(wǎng)絡(luò)比較適合,對于大中型網(wǎng)絡(luò)來說,這種手工設(shè)置Honeyd蜜罐的方法就顯得有些不太適合。因為在大中型網(wǎng)絡(luò)中,主機(jī)的數(shù)量很多,而且一般采用通過DHCP服務(wù)的方法來獲取IP,如果采用手工方法為虛擬蜜罐綁定IP,就很容易出現(xiàn)IP沖突的情況。
雖然Honeyd提供了復(fù)雜的方法來響應(yīng)網(wǎng)絡(luò)流量。但對于成熟的蜜罐來說,往往需要和攻擊者進(jìn)行對話。利用Honeyd服務(wù),可以實現(xiàn)該功能。執(zhí)行“sudo gedit /usr/share/honeyd/scripts/hello.sh”命 令,編輯該腳本,輸入“#!/bin/sh”,“echo "hello you!"”、“while read data”、“do”、“echo "$data"”、“done”等行,設(shè)計一個簡單的腳本,其功能是將輸入的內(nèi)容進(jìn)行回顯。執(zhí)行“sudo chmod 777 /usr/share/honeyd/scripts/hello.sh”命令,為其設(shè)置最大的訪問權(quán)限。
執(zhí)行“sudo gedit /etc/test.conf”命令,然后在編輯窗口中逐行輸入“create default”、“set default default tcp action block”、“set default default udp action block”、“set default default icmp action block”、“create linuxtemplate”、“set linuxtemplate personality"Linux 2.4.20"”、“set linux-template ethernet"cisco"”、“set linuxtemplate default tcp action reset”、“add linuxtemplate tcp 23 "usr/share/honeyd/scripts/web.sh"”、“dhcp linuxtemplate on eth1”,其功能與上述基本一致,所不同的是開啟了TCP 20端口,來模擬Telnet服務(wù)。執(zhí)行“sudo honeyd -d -f /etc/honeyd.conf”命令,來啟動 Honeyd。其中的“-d”參數(shù)表示回顯檢測信息,“-f”參數(shù)表示使用指定的配置文件。
這樣,當(dāng)攻擊者對其進(jìn)行Telnet連接時,會在屏幕上自動回顯其輸入的內(nèi)容。當(dāng)然,這是一種簡單的交互,在實際操作時,可以設(shè)計更加復(fù)雜的腳本,來對黑客進(jìn)行迷惑和跟蹤。
當(dāng)使用Honeyd創(chuàng)建虛擬蜜罐后,對攻擊者來說是可以對其掃描的。但對網(wǎng)管員來說,在掃描時是不希望看到這些蜜罐的。使用Honeyd動態(tài)模版可實現(xiàn)該功能。按照上述方法編寫Honeyd配置文件,在“create linux-template”行的前面添 加“create invisible”、“set invisible tcp action block”、“set invisible udp action block”、“set insivible icmp action block” 行,創(chuàng) 建 名 為“invisible”的模版,用來屏蔽所有連接。該“insivible”模版其實就是一臺蜜罐,只是對外界是不可見的。
在“create linuxtemplate”模版中添加“add linux-template tcp port 21 open”、“add linux-template tcp port 80 open”等行來開放指定端口。這里的“l(fā)inuxtemplate”模式是一臺蜜罐,對外界是可見的。之后添加“dynamic magichost”行。創(chuàng)建名為“magichost”的動態(tài)模版,添加“set magichost personality "CentOS 6.5"”行,為虛擬CentOS 6.5的主機(jī)。 添 加“set magichost ethernet "cisco"”、“add magichost use invisible if source ip=xxx.xxx.xxx.xxx”行表示調(diào)用“invisible”模版應(yīng)答。
這實際上是不允許指定IP的主機(jī)掃描到該蜜罐主 機(jī),“xxx.xxx.xxx.xxx”為該機(jī)的IP。添加“add magichost otherwise use linux-template”行,是 對其余主機(jī)訪問,使用上述“l(fā)inux-template”模版來應(yīng)答。添加“dhcp magichost on eth1”行,來自動獲取IP。執(zhí)行“sudo honeyd -d -f /etc/honeyd.conf”命令啟動Honeyd。這樣,當(dāng)擁有指定IP的主機(jī)對“invisible”模版的蜜罐主機(jī)進(jìn)行掃描時,該蜜罐不會響應(yīng)。
使用Honeyd動態(tài)模版可實現(xiàn)定時開關(guān)機(jī)功能,實現(xiàn)更逼真模擬。在上一個Honeyd配置文件的基礎(chǔ)上進(jìn)行改進(jìn),在文件尾部添加“dynamic magichost2”行,創(chuàng)建名為“magichost2”的模版,添加“set magichost personality"FreeBSD 4.6"” 行 模擬FreeBSD主 機(jī)。 添 加“set magichost2 ethernet"dell"”、“add magichost2 use invisible if time betwween "23:00:00pm"-"23:59:59pm"”、“add magichost2 use invisible if time between "00:00:00am"-"8:00:00amm"行表示在指定時間段內(nèi),使用“invisible”模版屏蔽所有連接,來模擬關(guān)機(jī)的作用。添加“add magichost otherwise use linux-template”、“dhcp magichost2 on eth1”行,在其余時間段內(nèi)使用“Linuxtemplate”模版來正常響應(yīng)外界掃描。執(zhí)行“sudo honeyd-d -f /etc/honeyd.conf”命令來啟動Honeyd。這樣,在指定時間段內(nèi),當(dāng)黑客對其進(jìn)行掃描時,該蜜罐不會響應(yīng),而在其余時間段則可以正常響應(yīng)。
除使用蜜罐對付黑客外,還可誘捕蠕蟲。蠕蟲通常只對特定系統(tǒng)進(jìn)行破壞。使用Honeyd動態(tài)模版可以實現(xiàn)模擬行為。這里繼續(xù)在上面的Honeyd配置文件上進(jìn)行修改,在其尾部添加“create winsrv”、“set winsrv personality "Microsoft Windows NT 4.0 SP3"”、“set winsrv ethernet "dell"”、“set winsrv default tcp action reset”、“add winsrv tcp 21 open”、“add winsrv tcp 25 open”、“add winsrv tcp 80 open”、“dhcp winsrv on eth1”等行,創(chuàng)建名為“winsrv”的模版,實際上就是一臺虛擬蜜罐主機(jī)。
另起一行添加“dynamic wormhost”、“set wormhost ethernet "Microsoft"”、“add wormhost use winsrv if source os ="windows"”行,創(chuàng)建名為“wormhost”的動態(tài)模版,如果來源主機(jī)IP采用的是Windows系統(tǒng),則使用上述“winsrv”模版應(yīng)答。 添 加“add wormhost use linux if source os="linux-template"”、“add wormhost other use default”、“ahcp wormhost on eth1”行,當(dāng) Linux系統(tǒng)主機(jī)訪問時,使用名為“l(fā)inux-template”的模版應(yīng)答,其他類型主機(jī)訪問時使用名為“default”模版應(yīng)答。
執(zhí) 行“sudo honeyd -d-f /etc/honeyd.conf”命令來啟動Honeyd。這樣,Honeyd會根據(jù)攻擊者使用的系統(tǒng)來調(diào)用不同的虛擬蜜罐來應(yīng)答。注意,對于蜜罐所模擬的系統(tǒng)來說,其指紋信息不是隨意設(shè)置的,例如“Microsoft Windows NT 4.0 SP3”等就是模版指紋信息。
Honeyd的日志分為數(shù)據(jù)包級和服務(wù)級日志兩種類型,例如執(zhí)行“sudo honeyd-d -f /etc/ceshi.conf”命令,當(dāng)黑客執(zhí)行掃描時,就會在Honeyd主機(jī)上顯示檢測到的信息,這就是數(shù)據(jù)包級的日志。如果在啟動Honeyd時,不使用“-d”參數(shù),則會將日志信息存儲到“/var/log/message”文件中。執(zhí)行“sudu cat /var/log/message”命令,可以查看該文件信息,注意該文件中還保存著其他的日志信息。
為便于集中管理Honeyd日 志,可 以 執(zhí) 行“sudo honeyd -l /etc/honeyd.log-f /etc/ceshi.conf”之類的命令來啟動Honeyd,并將其日志信息單獨導(dǎo)出到指定文件。當(dāng)然,該文件必須讓用戶擁有讀寫權(quán)限。執(zhí)行“sudo touch /etc/honeyd.log”命令,創(chuàng)建該日志文件。執(zhí) 行“sudo chmod 777 /etc/honeyd.log”命令,設(shè)置最高訪問權(quán)限。打開該日志文件,可以查看捕獲的黑客掃描數(shù)據(jù)包信息。對于服務(wù)級的日志來說,運(yùn)行的格式為“sudo honeyd -s /etc/honeydsrv.log -f /etc/ceshi.conf”,其中的“/etc/honeydsrv.log”為具體的日志文件路徑。在該日志文件中包含日期、協(xié)議、源IP和端口、目標(biāo)IP和端口以及數(shù)據(jù)信息。