Tổng hợp cấu hình Honeypot s:

Một phần của tài liệu Nghiên cứu, tìm hiểu về honeyd để thiết lập hệ thống honeypots (Trang 26)

Phần trên đã cho thấy cách cấu hình và thiết lập topology mạng sử dụng Honeyd. Bằng cách dùng một số lệnh kết hợp với nhau ta đã giả lập các mạng phức tạp và mô hình hoạt động của mạng.

Mạng thiết lập bao gồm các tính năng sau: o Nhiều điểm vào

o Nhiều trạm để đưa tới đích

o Liên kết với trễ truyền, tổn thất và băng thông o Tích hợp máy vật lý bên ngoài vào topo mạng o Thiết lập Honeyd phân tán với đường hầm GRE

Với mỗi phiên bản mới của Honeyd, càng ngày càng có thêm các chức năng mới và hữu ích được phát triển thêm.

#################################################

#tập tin: honeyd.config for a sample network

#a virtual network step-by-step. The network we simulate

#has multiple hops, two entry points, a GRE tunnel to a remote location # and integrates external physical hosts to the virtual network.

################################################# #To create the router at the entry point, use the

#route entry command and specify the IP address of #the router and the network reachable through it.

route entry 10.0.0.100 network 10.0.0.0/16

#To specify the IP addresses directly reachable from #a router, use the route link configuration. In the #example below, we specify that the 10.0.1.0/24

#network is directly reachable from the 10.0.0.100 router.

route 10.0.0.100 link 10.0.1.0/24

# Add a new router connected to an existing router #in the network by using the route add net

#directive. Specify the network range that can be #reached by the new router and the IP address of the #new router. In the example below, we add

#10.1.0.0/16 network and connected to the first #router 10.0.0.100

route 10.0.0.100 add net 10.1.0.0/16 10.0.1.100

#Specify the range of IP addresses that are directly #reachable from the new router with the route link #configuration. Here, we indicate that 10.1.0.0/16 #is directly accessible from the router 10.0.1.100 we #newly added

route 10.0.1.100 link 10.1.0.0/16

#Here we add another router connected to 10.0.1.100 #that can reach the 10.1.1.0/24 network. The new #router takes the IP 10.1.0.100. Additionally, we #also specify the network characteristics of that #link using the latency, loss and bandwidth keywords.

route 10.0.1.100 add net 10.1.1.0/24 10.1.0.100 latency 50ms loss 0.1 bandwidth 1Mbps

#With the route link configuration, we next #specify that the 10.1.1.0/24 network is directly #accessible from the 10.1.0.100 router.

route 10.1.0.100 link 10.1.1.0/24

#External physical machines can be integrated into the #virtual network topology of the honeynet. The bind #to interface configuration is used to attach external #machines into the network. In our example here, #the external machine at 10.1.1.53 is integrated #into the virtual network through eth0.

bind 10.1.1.53 to eth0

#Multiple entry points may be defined in Honeyd for the #virtual network by using additional route entry

#configurations. Here we add 10.0.0.200 as a new entry #router and then define an entire network behind it.

route entry 10.0.0.200 network 10.2.0.0/16 route 10.0.0.200 link 10.2.0.0/24

route 10.0.0.200 add net 10.2.1.0/24 10.2.0.100 route 10.2.0.100 link 10.2.1.0/24 (adsbygoogle = window.adsbygoogle || []).push({});

# We can setup GRE tunnels to other networks located across #a WAN or the Internet by using the tunnel keyword.

#for the GRE tunneling. The 10.3.2.0/24 network containing Honeypots #is directly connected to this virtual router.

#To setup a tunnel to the 10.3.1.0/24 network

#located across the WAN, we setup a tunnel with 172.20.254.1 and # 172.30.254.1 as the two points of termination. The destination #router should know how to decapsulate the GRE packets and #route them to the 10.3.1.0/24 network. The source and

#destination are specified after the tunnel keyword of the #route add net configuration line as follows.

route entry 172.20.254.1 network 10.3.2.0/24 route 172.20.254.1 link 10.3.2.0/24

route 172.20.254.1 add net 10.3.1.0/24 tunnel 172.20.254.1 172.30.254.1

#IP addresses are assigned to virtual hosts that we #want to simulate within Honeyd with the bind #configuration. Here, we bind the Honeypots IPs #to a template called windows that we have defined

create windows

set windows personality "Windows NT 4.0 Server SP5-SP6" add windows tcp port 80 "perl scripts/iis-0.95/iisemul8.pl" add windows tcp port 139 open

add windows tcp port 137 open add windows udp port 137 open add windows udp port 135 open set windows default tcp action reset set windows default udp action reset bind 10.0.1.51 windows bind 10.0.1.52 windows bind 10.1.0.51 windows bind 10.1.0.52 windows bind 10.1.1.51 windows bind 10.1.1.52 windows bind 10.2.0.51 windows bind 10.2.0.52 windows bind 10.2.1.51 windows bind 10.2.1.52 windows bind 10.3.2.51 windows bind 10.3.2.52 windows

#also need to be bound to templates to model their #behavior. We have created a template called router #and bound the router IP addresses to that template create router

set router personality "Cisco IOS 11.3 - 12.0(11)" set router default tcp action reset

set router default udp action reset

add router tcp port 23 "perl scripts/router-telnet.pl" set router uid 32767 gid 32767

set router uptime 1327650 bind 10.0.0.100 router bind 10.0.1.100 router bind 10.1.0.100 router bind 10.0.0.200 router bind 10.2.0.100 router bind 172.20.254.1 router 4.2 Cấu hình hệ thống Honeypots : Mô hình mạng giả lập Hình 5.1 : Sơ đồ mạng giả lập

Các router: R1 với IP 10.0.0.100 R2 với IP 10.0.1.100 R3 với IP 10.0.1.200 R4 với IP 10.1.0.100 R5 với IP 10.2.0.100

Trong đó tất cả các router đều chạy hệ điều hành “Cisco 7200 router running IOS 12.1(14)E6” và riêng router R1 thì mở port 23 và có dịch vụ telnet đang chạy thông qua script, các router còn lại thì bình thường các port đều đóng.

Các máy server và client:

pc1 với IP 10.0.1.51 pc2 với IP 10.0.1.52 pc3 với IP 10.1.0.51 pc4 với IP 10.1.0.52 pc5 với IP 10.1.1.51 pc6 với IP 10.1.1.52 pc7 với IP 10.2.1.51

Các pc1 và pc7 là server chạy hệ điều hành “Microsoft Windows 2003 Server Enterprise Edition” đồng thời mở port 23,80 cho dịch vụ Telnet, IIS chạy thông qua script. Pc2 và pc4 chạy hệ điều hành “Linux 2.6.8 (Ubuntu)” và đang mở port 21, 80 cho dịch vụ FTP, IIS chạy thông qua script. Pc3 chạy hệ điều hành “Microsoft Windows 2003 Server Enterprise Edition” và đang mở port 25, 110 cho dịch vụ SMPT, POP3 chạy thông qua script. Pc5 và pc6 là client chạy hệ điều hành “Microsoft Windows XP Home Edition”, cả 2 đều đang mở port 138, 139, 445.

#annotate "Cisco 7200 router running IOS 12.1(14)E6" #annotate "Linux 2.6.8 (Ubuntu)"

#annotate "Microsoft Windows 2003 Server Enterprise Edition" #annotate "Microsoft Windows XP Home Edition"

route entry 10.0.0.100 network 10.0.1.0/24 route 10.0.0.100 link 10.0.1.0/24

route 10.0.0.100 link 10.0.0.100/32

route 10.0.0.100 add net 10.1.0.0/24 10.0.1.100 route 10.0.0.100 add net 10.1.1.0/24 10.0.1.100 route 10.0.0.100 add net 10.2.0.0/24 10.0.1.200 route 10.0.0.100 add net 10.2.1.0/24 10.0.1.200 route 10.0.1.100 link 10.1.0.0/24

route 10.0.1.100 link 10.0.1.100/32

route 10.0.1.200 link 10.2.0.0/24 route 10.0.1.200 link 10.0.1.200/32

route 10.0.1.200 add net 10.2.1.0/24 10.2.0.100 route 10.1.0.100 link 10.1.1.0/24

route 10.1.0.100 link 10.1.0.100/32 (adsbygoogle = window.adsbygoogle || []).push({});

route 10.2.0.100 link 10.2.1.0/24 route 10.2.0.100 link 10.2.0.100/32 create linux

set linux ethernet "vmware"

set linux personality "Linux 2.6.8 (Ubuntu)" set linux default icmp action reset

set linux default tcp action reset set linux default udp action reset

add linux tcp port 21 "sh scripts\ftp.sh"

add linux tcp port 80 "perl scripts\iisemulator-0.95\iisemul8.pl" create router1

set router1 ethernet "vmware"

set router1 personality "Cisco 7200 router running IOS 12.1(14)E6" set router1 default icmp action reset

set router1 default tcp action reset set router1 default udp action reset

add router1 tcp port 23 "perl scripts\router-telnet.pl" create router2

set router2 ethernet "vmware"

set router2 personality " Cisco 4000 Series running IOS 12.0(10.3" set router2 default icmp action reset

set router2 default tcp action reset set router2 default udp action reset create win2k3_1

set win2k3_1 ethernet "vmware"

set win2k3_1 personality "Microsoft Windows 2003 Server Enterprise Edition" set win2k3_1 default icmp action block

set win2k3_1 default tcp action reset set win2k3_1 default udp action reset

add win2k3_1 tcp port 23 "perl scripts\faketelnet.pl"

add win2k3_1 tcp port 80 "perl scripts\iisemulator-0.95\iisemul8.pl" create win2k3_2

set win2k3_2 ethernet "vmware"

set win2k3_2 default icmp action reset set win2k3_2 default tcp action reset set win2k3_2 default udp action reset

add win2k3_2 tcp port 25 "perl scripts\smtp.pl" add win2k3_2 tcp port 110 "sh scripts\pop3.sh" create winxp

set winxp ethernet "vmware"

set winxp personality "Microsoft Windows XP Home Edition" set winxp default icmp action reset

set winxp default tcp action reset set winxp default udp action reset add winxp udp port 138 open add winxp tcp port 139 open add winxp tcp port 445 open

set winxp uptime 2230938 set winxp droprate in 0.005 set winxp uid 202909 gid 1389090

bind 10.0.0.100 router1 bind 10.0.1.100 router2 bind 10.0.1.200 router2 bind 10.0.1.51 win2k3_1 bind 10.0.1.52 linux bind 10.1.0.100 router2 bind 10.1.0.51 win2k3_2 bind 10.1.0.52 linux bind 10.1.1.51 winxp bind 10.1.1.52 winxp bind 10.2.0.100 router2 bind 10.2.1.51 win2k3_1

Lệnh thực thi file cấu hình trên:

C:\winhoneyd-1.5c\WinHoneyd_1.5c.exe –d –p nmap.prints –a nmap.assoc –x xprobe2.conf –i 2 -f

C:\winhoneyd-1.5c\demo_honeyd.config –l

C:\winhoneyd-1.5c\log\honeyd 10.0.0.100 10.0.1.100 10.0.1.200 10.0.1.51 10.0.1.52 10.1.0.100 10.1.0.51 10.1.0.52 10.1.1.51 10.1.1.52 10.2.0.100 10.2.1.51 (adsbygoogle = window.adsbygoogle || []).push({});

Sau khi chạy lệnh trên máy honeyd sẽ tạo ra một hệ thống máy tính giả lập các dịch vụ, các port được open. Dùng máy client chạy win XP với địa chỉ 10.0.0.14 cài đặt các phần mềm để Scan. Đầu tiên ta sẽ chứng minh là hệ thống mạng ảo đã được tạo ra bằng cách dùng các tool như Net tools, Friendly Pinger, SolarWinds LANsurveyor

trong đó SolarWinds LANsurveyor là tool dùng để scan và vẽ lại sơ đồ mạng của toàn bộ hệ thống nhưng do tool này scan từng địa chỉ IP không phù hợp với mạng có quá nhiều mạng con và các dãy IP khác nhau vì vậy sẽ tạm thay thế bằng Friendly Finger tool này không sử dụng cách scan IP mà dùng để thiết lập sơ đồ mạng do ta tự cấu hình giống với mô hình mạng mà ta tạo ra từ Honeyd, chúng ta sẽ add các router, computer, line và tương ứng với các địa chỉ IP rồi sau đó dùng các tiện ích của chính tool này để chứng minh là hệ thống mạng ảo đã tồn tại. hình 5.1 sẽ mô tả điều này

Hình 5.2: Tracert 10.2.1.51 minh họa mô hình mạng chạy

Một cách nữa là dùng Net tools nhưng tool này thì ko cho thấy được sơ đồ mạng mà chỉ scan IP xem địa chỉ nào alive. Với việc sử dụng các tool cơ bản trên đã cho thấy một hệ thống mạng ảo được tạo ra, bước tiếp theo là dò tìm xem mạng có những dịch vụ nào và port nào đang mở. Để thực hiện việc này dùng tool nmap. nmap là một tool scan port rất mạnh và đã nổi danh từ lâu được giới hacker tin dùng cũng như các nhà quản trị mạng. Nó hỗ trợ toàn bộ các phương thức scan port, scan OS (operating system)…, ngoài ra nó còn hỗ trợ các phương thức scan hostname, service chạy trên hệ thống đó.

Nmap hiện giờ có cả giao diện đồ hoạ và giao diện command line cho người dùng, chạy trên cả môi trường. NIX và Windows. Phần mềm nmap miễn phí download tại địa chỉ: http://nmap.org/download.html

Dưới đây là cách sử dụng nmap để scan.

Hình 5.4: Tùy chọn chạy nmap

Các dạng Scan Nmap hỗ trợ.

nmap –sT: trong đó chữ -s là Scan, còn chữ T là dạng TCP scan nmap –sU: đó là sử dụng UDP Scan

nmap –sP: sử dụng Ping để scan nmap –sF: sử dụng FIN Scan

nmap –sX: sử dụng phương thức XMAS Scan nmap –sN: sử dụng phương thức NULL Scan

nmap –sV: sử dụng để Scan tên các ứng dụng và version của nó nmap –SR /I RPC sử dụng để scan RPC

Các option cao cấp kết hợp với các dạng scan trong Nmap :

-O : sử dụng để biết hệ điều hành chạy trên máy chủ ví như dùng Nmap sử dụng phương thức scan là XMAS Scan và đoán biết hệ điều hành của:

http://www.stsi.com.vn/ dùng câu lệnh: nmap –sX –O

http://www.stsi.com.vn/.

- p: giải port sử dụng để scan: nmap –p 1-1024 10.0.0.1 sẽ scan từ port 1 đến 1024 hoặc nmap –p 80 10.0.0.0/24 chỉ scan port 80 ngoài ra còn dùng tùy chọn này kết hợp với service như ftp, http để scan trực tiếp: nmap –p ftp,http 10.0.0.0/24.

Hình 5.5: Scan port và services - F: Chỉ những port trong danh sách scan của Nmap

- v: Sử dụng Scan hai lần nhằm tăng độ tin cậy và hiệu quả của phương thức scan nào đang được sử dụng.

- P0: không sử dụng ping để Scan nhằm mục đích giảm thiểu các quá trình quét ngăn chặn scan trên các trang web hay máy chủ.

Ví dụ muốn Scan trang web http://www.stsi.com.vn/ bằng phương thức UDP Scan số port sử dụng là từ 1 tới 1024 và sử dụng hai lần để nâng cao hiệu quả, khi scan sẽ không ping tới trang này:

Nmap –sU –p 1-1024 –v –P0 http://www.stsi.com.vn/

Ngoài ra nmap còn hỗ trợ tính năng scan ẩn nhằm tránh những quá trình quét trên server như sử dụng:

-Ddecoy_host1, decoy2… để sử ẩn quá trình Scan. -6: Scan IPv6

Ngoài ra Nmap còn có những options để output kết quả ra nhiều định dạng file khác nhau

Hình 5.6: Scan tcp

Hình 5.7: Scan udp

Sau khi phát hiện ra các dịch vụ, các port được mở trên router và server, sẽ lần lượt thử tìm cách xâm nhập vào, đồng thời chạy Snort để ghi log và alert.

Snort –dve –i2 –l c:/snort/log –c c:/snort/rules/demo.rules –h 10.0.0.0/24

Chạy câu lệnh trên máy Honeyd dựng Honeypors thì snort bắt đầu lắng nghe. Tại máy client địa chỉ IP là 10.0.0.14 sẽ dùng các câu lệnh đơn giản như ping, telnet, ftp tới các Honeypots kết quả của các lệnh này sẽ được snort ghi log lại và đưa ra các alerts. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 5.8: Kết thúc việc theo dõi phát hiện xâm nhập

Hình 5.10: Nội dung của file alert.ids

Hình 5.11: Log file thể hiện kết nối ftp

Hình 5.12: Log file thể hiện kết nối telnet Tiếp tục với file demo1.rules có nội dung:

alert tcp any any -> any 23 (msg: "Telnet Connection => Attempt";) alert tcp any any -> any any (msg: "ACK => scan detected"; flags: SA;) alert tcp any any -> any any (msg: "SYN => scan detected"; flags: SS;) alert tcp any any -> any any (msg: "NULL scan ???detected"; flags: 0;)

alert tcp any any -> any any (msg: "O/S Fingerprint => detected"; flags: S12;)

Chạy file này với lệnh:

Snort –dve –i2 –l c:/snort/alert –c c:/snort/rules/demo1.rules –h 10.0.0.0/24

Sau khi chạy xong thì snort sẽ lắng nghe, tại máy client dùng Nmap để scan

Nmap –sA 10.0.0.1, nmap –sS 10.0.0.1, quay lại máy chủ Honeyd dựng Honeypots theo dõi folder c:\snort\alert sẽ thấy file alert.ids trong đó có những cảnh báo và file log :

Hình 5.13: Thư mục cảnh báo và chứa folder log

Hình 5.15: Nội dung file cảnh báo

Các hình minh họa ở “Chương IV” đã thể hiện đầy đủ một hệ thống mạng giả lập cùng với các dịch vụ, đồng thời cũng đưa ra được những cảnh báo nhằm phát hiện ra các xâm nhập.

KẾT LUẬN

Sau quá trình nghiên cứu, tìm hiểu về Honeyd để thiết lập hệ thống Honeypots cùng với việc hiện thực em đã rút ra được một số nhận xét:

Những kiến thức đạt được.

Honeypots chính là một lựa chọn tốt cho việc bẫy hacker và tìm ra nhưng phương pháp tấn công cũng như bảo vệ hệ thống mạng thiệt cho doanh nghiệp cũng như các tổ chức. Việc tạo ra hệ thống mạng máy tính ảo cùng với các dịch vụ giả lập là một trong những phần quan trọng của Honeypots.

Một số tính năng Honeyd cung cấp để thiết lập mạng Honeypots đã được hiện thực trong đồ án:

o Giả lập các topology mạng phức tạp.

o Giả lập các dịch vụ trên mạng đó thông qua scripts.

o Cấu hình các thông số của mạng như độ trễ, tỉ lệ thất thoát và băng thông. o Hỗ trợ nhiều router đầu vào để phục vụ nhiều mạng.

Thông qua việc demo đã cho thấy hệ thống Honeypots được tạo ra, dựng được các dịch vụ, quét được các dịch vụ, các port cũng như phát hiện cảnh báo các xâm nhập vào mạng.

Cài đặt và sử dụng Honeyd. Honeypots được chia thành nhiều loại có những tool thì miễn phí cũng có những tool thì phải mua bằng tiền. Bù lại có một thuận lợi là cấu hình để setup hệ thống Honeypots yêu cầu cấu hình không cao và có thể chạy trên nhiều hệ điều hành khác nhau.

Những mặt hạn chế.

Việc chuyển đổi cài đặt hệ thống Honeypots thiết lập trên Linux sang Windows gây ra không ít khó khăn, đồng thời cũng không thể khai thác hết chức năng và hoạt động của Honeyd khi tạo ra Honeypots

Trong phần nghiên cứu trên dừng lại ở Honeyd một dạng tương tác của Honeypots

Một phần của tài liệu Nghiên cứu, tìm hiểu về honeyd để thiết lập hệ thống honeypots (Trang 26)