Tải bản đầy đủ (.docx) (11 trang)

Hướng dẫn cài đặt honeyd

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (273.19 KB, 11 trang )

Mục lục

1


I.

Mô hình bài Lab:

Trong đó:
Máy ảo
Địa chỉ
Hệ điều hành
Server
192.168.20.20/24
CentOS 6.9
Attacker
192.168.10.10/24
Kali linux
Honeyd Server
192.168.20.10/24
CentOS 6.9
Honeypot
192.168.20.199/24
Xây dựng hệ thống Honeypot giả lập các dịch vụ trên Server.
II.
Các thiết lập ban đầu:
- Dựng lab trên EVE hoặc GNS3, kết nối với các máy ảo như mô hình.
- Đặt IP các interface trên các thiết bị.
- Trên R1, cấu hình NAT để đi được internet.
III.


Cài đặt Honeyd Server:
Honeyd dựa vào một số thư viện:
libevent: thông báo các event
libdnet: tạo các package
libpcap: package sniffing
libpcre: thư viện perl regular expression (tùy chọn)
III.1. Cài đặt Honeyd 1.5c trên CentOS 6.x:
Bài lab sử dụng Honeyd phiên bản 1.5c, sử dụng các thư viện có phiên bản thấp hơn, nên cần
gỡ bỏ các thư viện các phiên bản mới và cài đặt các thư viện có phiên bản phù hợp.
2


yum remove libevent libevent-devel libdnet libdnet-devel

III.1.1.Cài đặt các package và lib cần thiết:
yum install pcre pcre-devel libpcap libpcap-devel rrdtool gcc gcc-c++
libtool readline-devel zlib-devel python-devel wget nano

III.1.2.Cài đặt libdnet 1.11:
cd /tmp/
wget />tar –xvf libdnet-1.11.tar.gz
cd libdnet-1.11
./configure
make
make install

III.1.3.Cài đặt libevent 1.3a:
cd /tmp/
wget />tar –xvf libevent-1.3a.tar.gz
cd libevent-1.3a

./configure
make
make install

III.1.4.Cài đặt arpd 0.2:
Arpd là một dịch vụ lắng nghe các ARP request và trả lời các địa chỉ IP chưa được gán. Sử
dụng Arpd kết hợp với Honeyd, có thể xác định được không gian địa chỉ chứa được gán trong
mạng với các Honeypot ảo. Với các địa chỉ IP được DHCP cấp, arpd có thể can thiệp vào
DHCP server bằng cách làm cho Honeyd trả lời các gói Ping mà DHCP server sử dụng để xác
định xem địa chỉ nào free.

3


cd /tmp/
wget />tar –xvf arpd-0.2.tar.gz
cd arpd-0.2
./configure
make
make install

III.1.5.Cài đặt Honeyd 1.5c:
cd /tmp/
wget />tar –xvf honeyd-1.5c.tar.gz
cd honeyd-1.5c
./configure
make
make install

III.2. Cấu hình Honeyd:

Honeyd được cấu hình theo dạng script. Honeyd dựa vào script này để tạo ra các honeypot.
Script này viết theo mẫu:
CREATE <template name>
Tạo ra một template.
SET <template name> ETHERNET "<Ethernet name>"
Đặt giá trị MAC cho Ethernet ra ngoài Internet.
SET <template name> PERSONALITY “
Đặt tên cho thiết bị dùng làm Honeypot. Tên này dựa vào file nmap.assoc.
SET <template name> DEFAULT TCP ACTION <action>
SET <template name> DEFAULT UDP ACTION <action>
SET <template name> DEFAULT ICMP ACTION <action>
Thiết lập các action khi hệ thống gặp các protocol TCP, UDP, ICMP. Có các
action:
open: port ở trạng thái listening.
4


reset: port ở trạng thái close.
block: drop tất cả các packet.
ADD <template name> PORT <number> <action>
Thêm action cho một dịch vụ có protocol và port cụ thể.
ADD <template name> PORT <number> "

BIND <IP address(es)> <template name>
Gán template vào honeypot với địa chỉ IP ảo.
Theo mô hình bài lab, ta có script tạo honeypot như sau:
create honeypot
set honeypot ethernet "00:0C:29:7A:54:25"
set honeypot personality "IBM OS/400 V4R2M0"
set honeypot uptime 2592000
set honeypot default tcp action reset
set honeypot default udp action reset
set honeypot default icmp action open
add honeypot tcp port 135 open
add honeypot tcp port 139 open
add honeypot tcp port 445 open
add honeypot tcp port 3389 open
add honeypot tcp port 80 open
add honeypot tcp port 53 proxy 8.8.8.8:53
bind 192.168.20.199 honeypot

Lưu script thành file để dễ dàng thực thi và chỉnh sửa.
III.3. Thực thi Honeyd:
Thiết lập Firewall:

5


iptables -A INPUT -d 192.168.20.199 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Thực thi arpd để lắng nghe các gói ARP Request.
/usr/local/sbin/arpd ‘192.168.20.19’


Khởi động Honeyd:
Chạy Honeyd với một số option:
Option
-d
-f <file>
-l <logfile>
-i <interface>
-N


Chức năng
cho Honeyd chạy hiển thị trên console.
đọc cấu hình từ file.
ghi log các packet và các kết nối vào logfile.
lắng nghe trên một interface cụ thể.
in ra các interface đang có.

Đối với bài lab, cho honeyd chạy nền, sử dụng file cấu hình honeyd.conf, các log được lưu
trong honeyd.log.
honeyd –f /usr/local/share/honeyd/honeyd.conf –l /tmp/log/honeyd.log

Sau khi khởi chạy Honeyd, máy Attacker dùng công cụ nmap để kiểm tra.
nmap –T4 –A –v 192.168.20.199

6


Trên Honeyd Server phân tích file log sinh ra từ honeyd.


Trong file log có thể tìm được địa chỉ IP của attacker, thời gian thực hiện và các dịch vụ bị tấn
công.
III.4. Khắc phục một số lỗi khi cài đặt Honeyd:
III.4.1.Lỗi khi cài đặt arpd:
Khi thực hiện lệnh make trong quá trình cài đặt arpd
7


Cách khắc phục:
Ghi thêm vào file arpd.c
#define __FUNCTION__ ""

Sau đó, thực hiện cài đặt lại arpd.
III.4.2.Không tìm thấy thư viện libevent-1.3a.so.1:
Khi dùng arpd, một số trường hợp là không tìm thấy thư viện libevent-1.3a.so.1 mặc dù
libevent đã được cài đặt.
[root@centos ~]# /usr/local/sbin/arpd '192.168.20.199'
/usr/local/sbin/arpd: error while loading shared libraries: libevent1.3a.so.1: cannot open shared object file: No such file or directory

8


Cách khắc phục:
Thực chất, libevent-1.3a.so.1 đang nằm ở /usr/local/lib/. Để sửa lỗi này, cần tạo link cho
libevent-1.3a.so.1 đến /usr/lib/.
ln -s /usr/local/lib/libevent-1.3a.so.1 /usr/lib/libevent-1.3a.so.1

III.4.3.Lỗi permission denied khi ghi log cho honeyd:
honeyd[24903]: Demoting process privileges to uid 99, gid 99
honeyd[24903]: honeyd_logstart: fopen("/tmp/log/honeyd.log"): Permission

denied

Cách khắc phục:
Đổi owner-user và owner-group cho file honeyd.log tương ứng với honeyd.
chown nobody:nobody /tmp/log/honeyd.log

III.5. Cài đặt Honeyd 1.6 trên Ubuntu 16.04:
Cài đặt các package và lib cần thiết:
apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev
libedit-dev bison flex libtool automake git libdnet

Clone git về máy:
git clone />
Cài đặt bằng các lệnh:

9


cd Honeyd/
./autogen.sh
./configure
make
make install

Lưu ý:
Khi chạy Honeyd sẽ có trường hợp xảy ra lỗi không tìm thấy thư viện libdnet.1.
Cách khắc phục:
ln -s /usr/local/lib/libdnet.1.0.1 /usr/lib/libdnet.1

10



IV.
Tài liệu tham khảo:
/> /> />
11



×