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