2011年6月5日 星期日

Honeyd 安裝與設定檔調校

這個是2007年的期末報告,整理了一下就放上來,希望讓需要的人可以參考。

簡單說明Honeyd如下:
Honeyd 可以在網路上產生虛擬的機器(甚至是產生一個虛擬的網路),不限定為PC或Server,也可以是路由器、交換器等。
這些機器可以用來執行各項服務,並且可以做調整,讓他們看起來像是運行在某些作業系統上。
在同一部機器上,可以同時模擬65535個IP的運作。


How to insall:我那個時候似乎在試各種軟體上安裝機便利性,因此在各種常見平台上都安裝過。要特別小心的是arpd。我當時遇到了一點小麻煩,原因是Fedora平台提供的不是arpd,而是另一種arpd(名字很接近,但是不一樣),因此使用時要小心,要記得自己裝arpd。
在安裝時最便利的還是Ubuntu,我使用的版本是8.04,幾乎是一鍵安裝了。

In FreeBSD(with ports install):
cd /usr/ports/net/arpd ; make intall
cd /usr/ports/net/honeyd ; make install

In Ubuntu、Debian:
apt-get install honeyd

In Fedora:
yum install libpcap
yum install libpcap-devel
yum install libdnet
yum install libdnet-devel
yum install libevent
yum install libevent-deve
yum install honeyd

Install use tar ball:
1、download libpcap、libdnet、libevent、honeyd
2、uncompress and install
eg: tar xvzf libpcacp* ; cd ibpcap ; ./configure ; make ; make install

Install in MS Windows:

1、download from: http://www.citi.umich.edu/u/provos/honeyd/honeyd-0.5a-win32.zip
2、安裝winpcap

LAB架構圖:















所模擬的IP及服務平台對應表















Setup Tips 這邊是講設定時需注意的部份。由於年代有點久遠,我憑記憶大概寫一下。

How to get personality
grep "^Fingerprint" /usr/local/share/honeyd/nmap.prints
這邊應該是要找出攻擊的特徵,之後可以用來比對。例如說,我們要設定honeyd的設定檔時,如果要設定Cisco Router的話,可以找到Cisco 之類的關鍵字,然後套用在設定檔中,例如:
set router2 personality "Cisco 801/1720 router running IOS 12.2.8"

測試時可在同一個lan測試(使用同ip網段),或從Internet測試
首先一定要執行arpd,arpd的用意是讓honeyd可藉由arpd這個程式提供proxy arp的功能,來收集這些virtual honeypots的封包。這個部份是初學者常常忽略的。(我一開始吃了不少苦頭)

log file:要產生對應的檔案,讓honeyd可以將log寫進去。
touch server.log、packet.log

How to start it
簡單說明一下程式的相關參數:
arpd 192.168.1.0/24 192.168.2.0/24 172.16.1.0/30
這面要是指定arpd 去模擬(listen)的網段,這邊包含了三個網段(包含了WAN IP,資料及架構請參考架構圖及規劃表)

honeyd –d –f honeyd.conf –l packet.log –s server.log 192.168.1.1 192.168.1.100 192.168.1.135 192.168.2.1 192.168.2.100 172.16.1.1 172.16.1.2 &
-d: run as daemon
-f: config file
-l : packet log
-s: server log
IP address:maps to config file
這邊就很單純的指定honeyd以daemon執行,將packet log寫入packet.log及server log寫入server.log,以及模擬後面的幾個IP,最後的&代表在背景執行 (其實有加-d應該就不用加這個了)

configuration file
以下是設定的範例:
create openbsd
set openbsd personality "OpenBSD 3.3“
add openbsd tcp port 21 "/etc/honeyd/scripts/ftp.sh"
set openbsd default tcp action reset
set openbsd uid 32767 gid 32767
bind 192.168.1.135 openbsd
create router1
set router1 personality "Cisco 1601R router running IOS 12.1(5)"
set router1 default tcp action reset
add router1 tcp port 23 "scripts/router-telnet.pl"
bind 192.168.1.1 router1
bind 172.16.1.1 router1
create router2
set router2 personality "Cisco 801/1720 router running IOS 12.2.8"
set router2 default tcp action reset
add router2 tcp port 513 "scripts/router-telnet.pl"
bind 192.168.2.1 router2
bind 172.16.1.2 router2
route 192.168.1.1 add net 192.168.2.0/24 192.168.2.1
create linux
set linux personality "Linux 2.4.7 (X86)"
add linux tcp port 25 "scripts/smtp.pl"
add linux tcp port 110 "scripts/pop3.sh"
set linux default tcp action reset
set linux uid 32767 gid 32767
bind 192.168.1.100 linux
create windows
set windows personality "Microsoft Windows 2000 SP3"
#add windows tcp port 80 "perl scripts/win2k/iisemulator-0.95/iisemul8.pl"
#add windows tcp port 80 "python scripts/webserver/htdocs/index.py"
add windows tcp port 80 "scripts/web.sh"
add windows tcp port 135 open
set windows default tcp action reset
set windows default udp action block
set windows uid 32767 gid 32767
bind 192.168.2.100 windows

執行之後要測試一下,我們用nmap來測試:
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
80/tcp open http
110/tcp open pop3
135/tcp filtered msrpc
445/tcp filtered microsoft-ds
513/tcp open login
1900/tcp open UPnP
31337/tcp filtered Elite
Device type: broadband router|firewall|general purpose
Running: Belkin embedded, Checkpoint Windows NT/2K/XP, Linux 2.4.X|2.6.X

讓它跑個幾天幾夜,就可以去看它的log檔,應該有滿多好玩的東西。

當時寫的後續可以再研究的方向:(我如果哪天想起來會再來試試。)
使用Honeycomb來分析Log檔
使用Honeyview來分析Log檔及繪圖

沒有留言:

張貼留言