Tải bản đầy đủ (.pdf) (40 trang)

IPSIDS Snort Trên Firewall Pfsense, Kỹ Thuật Tạo Đường Hầm Bằng DNSCat2

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 (5.38 MB, 40 trang )

Trường Đại học Công nghiệp Thực phẩm TP.HCM

Khoa Công nghệ thơng tin

TIỂU LUẬN GIỮA KÌ

HỆ THỐNG TÌM KIẾM, NGĂN NGỪA
VÀ PHÁT HIỆN XÂM NHẬP
“ĐỀ TÀI 14”


Giảng viên hướng dẫn

Nhóm thực hiện

ThS Bùi Duy Cương

07


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM
KHOA CƠNG NGHỆ THƠNG TIN


ĐỀ TÀI 14:
PHÂN TÍNH GIẢI PHÁP ỨNG


ĐỀ PHÓ
TÀI KỸ
14: THUẬT TRÁNH NÉ MÃ HÓA
VÀ TẠO ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING)
TRIỂN KHAI HỆ THỐNG SNORT IDS/IPS KẾT HỢP VỚI FIREWALL
PFSENSE ĐỂ BẢO VỆ HỆ THỐNG MẠNG DOANH NGHIỆP

DANH SÁCH THÀNH VIÊN NHÓM 7
Họ và Tên
MSSV
Quách Vũ Thường
2033207469
Nguyễn Anh Tuấn
2033207472
Nguyễn Văn Linh
2033204745
Đoàn Đặng Anh Khoa
2033207506

GVHD: Ths. Bùi Duy Cương
Thành phố Hồ Chí Minh, tháng 04 năm 2023


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Mục lục
PHẦN 1: PHÂN TÍNH GIẢI PHÁP ỨNG PHÓ KỸ THUẬT TRÁNH NÉ
MÃ HÓA VÀ TẠO ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING) . 1

1.1. Kỹ thuật tránh né (Evasion techniques) ....................................................... 1
1.1.1. Khái quát: ..................................................................................................... 1
1.1.2. Các kỹ thuật tránh né: .................................................................................. 1
1.2. Kỹ thuật mã hóa (encryption) ...................................................................... 2
1.3. Kỹ thuật tạo đường hầm (tunneling)............................................................ 4
1.3.1. Remote Access VPN:................................................................................... 4
1.3.2. Site – to – Site VPN ..................................................................................... 5
1.3.3. Sử dụng các công cụ khác: .......................................................................... 6
1.4. Giải pháp ứng phó........................................................................................ 6
PHẦN 2: THỰC NGHIỆM KỸ THUẬT TRÁNH NÉ MÃ HĨA VÀ TẠO
ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING) BẰNG CƠNG CỤ
DNSCAT2............................................................................................................. 8
2.1. Cơ sở lí thuyết .............................................................................................. 8
2.1.1. Giới thiệu dnscat2: ....................................................................................... 8
2.1.2. Cách hoạt động: ........................................................................................... 9
2.1.3. Cách phòng chống: .................................................................................... 10
2.2. Thực nghiệm dnscat2 ................................................................................. 11
PHẦN 3: TRIỂN KHAI HỆ THỐNG SNORT IDS/IPS KẾT HỢP VỚI
FIREWALL PFSENSE ĐỂ BẢO VỆ HỆ THỐNG MẠNG DOANH
NGHIỆP 17
3.1. Cơ sở lí thuyết:........................................................................................... 17
NHÓM 07

i


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14


3.1.1. Firewall Pfsense: ........................................................................................ 17
3.1.2. Snort: .......................................................................................................... 18
3.2. Thực nghiệm triển khai hệ thống snort ids/ips kết hợp với firewall pfsense20
3.2.1. Cài firewall pfsense trên vmware: ............................................................. 20
3.2.2. Cài snort trên pfsense................................................................................. 25
3.2.3. Tấn công đơn giản: .................................................................................... 29
PHẦN 4: VIDEO DEMO.................................................................................. 33
TÀI LIỆU THAM KHẢO ................................................................................ 34

NHÓM 07

ii


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Mục Lục Hình Ảnh

Hình 1: Remote Access VPN ..........................................................................................4
Hình 2: Site – to – Site VPN ...........................................................................................5
Hình 3: Mô hình sử dụng dnscat2 bypass firewall ........................................................11
Hình 4: Cài đặt dnscat2 server trên máy attacker (kali linux) .......................................12
Hình 5: di chuyển đến folder vừa cài, chạy lệnh ruby ./dnscat2.rd. Server sẽ lắng nghe
trên port 53, lắng nghe phản hồi từ dnscat2 client từ nạn nhân. New window: 0 (chưa
có nạn nhân nào kết nối) ................................................................................................12
Hình 6: Trên máy nạn nhân tải dnscat2 client, sau đó chạy file exe, kết nối với dnscat2
server bằng địa chỉ ip máy server ..................................................................................13
Hình 7: Lúc này trên dnscat2 server (máy attacker) đã nhận được kết nối từ nạn nhân

và hiển thị thông báo .....................................................................................................13
Hình 8: Dnscat2 hỗ trợ một số lệnh để thực thi đến máy nạn nhân ..............................14
Hình 9: Attacker tiến hành ping đến máy nạn nhân ......................................................14
Hình 10: Trên máy nạn nhân, mở wireshark bắt gói tin, nhưng khơng phát hiện gói
ICMP chỉ có gói DNS. Tuy nhiên, gói DNS có một lưu lượng không bình thường. ....15
Hình 11: Mở firewall pfsense có snort ta thấy khơng có cảnh báo từ rule ping nào máy
attacker (IP: 192.168.105.137) ......................................................................................15
Hình 12: Ngoài ra, có thể mở notepad từ attacker.........................................................16
Hình 13: Cửa sổ notepad máy nạn nhận bị điều khiển bởi attacker ..............................16
Hình 14: Mô hình ..........................................................................................................20
Hình 15: Cài đặt 3 đường mạng (VMnet0: bridged, VMnet1: Host-only) ...................20
Hình 16: Trên máy pfsnese cài 3 card mạng .................................................................21
Hình 17: Máy nạn nhân kết nối VMnet1 và có địa chỉ ip 192.168.10.1 .......................21
Hình 18: Máy attacker với card mạng vnet0 với ip 192.168.105.117 ...........................22
Hình 19: Chèn file iso và chạy pfsense .........................................................................22
Hình 20: Cài đặt ip cho các card mạng..........................................................................23
NHÓM 07

iii


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Hình 21: Đây là ipv4 của card Lan cũng là địa chỉ để máy client truy cập pfsense trên
web.................................................................................................................................23
Hình 22: Trên máy client truy cập vào địa chỉ ip trên, tiến hành đăng nhập pfsense (mk
ban đầu là admin) ..........................................................................................................24
Hình 23: Cài đặt một số thông tin cho pfsense ..............................................................24

Hình 24: Cài đặt thành công ..........................................................................................25
Hình 25: Chọn gói snort và install .................................................................................25
Hình 26: Cài thành cơng ................................................................................................26
Hình 27: Update các rule cho snort ...............................................................................26
Hình 28: Trên firewall pfsense ta add Rules cho card wan ...........................................27
Hình 29: Attacker đã có thể ping tới firewall ................................................................27
Hình 30: Trên snort tự viết một số rule .........................................................................28
Hình 31: Thử truy cập 1 trang web................................................................................28
Hình 32: Hệ thống phát hiện và đưa ra cảnh báo rule web ...........................................29
Hình 33: Trên snort viết 1 rule dos ................................................................................29
Hình 34: Attacker trên máy kali dùng hping3 tấn công ................................................30
Hình 35: Tài nguyên nạn nhân tăng vượt ngưỡng .........................................................30
Hình 36: Snort phát hiện và đưa ra cảnh báo ................................................................31
Hình 37: Attacker dừng lại ............................................................................................31
Hình 38: Hệ thống ngừng cảnh báo dos ........................................................................32

NHÓM 07

iv


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

PHẦN 1: PHÂN TÍNH GIẢI PHÁP ỨNG PHĨ KỸ
THUẬT TRÁNH NÉ MÃ HÓA VÀ TẠO ĐƯỜNG HẦM
(ENCRYPTION AND TUNNELING)

1.1. Kỹ thuật tránh né (Evasion techniques)

1.1.1. Khái quát:
"Evasion techniques" là các phương pháp hoặc kỹ thuật được sử dụng để tránh hoặc
đối phó với các biện pháp bảo mật hoặc kiểm soát của một hệ thống, chẳng hạn như
phần mềm chống virus, tường lửa, hay các biện pháp an ninh mạng khác. Các kỹ thuật
này thường được sử dụng bởi các kẻ tấn công hoặc hacker để phá vỡ hoặc tránh qua
mặt các biện pháp bảo mật nhằm mục đích truy cập trái phép vào hệ thống hoặc thực
hiện các hoạt động độc hại.

1.1.2. Các kỹ thuật tránh né:
Mã hóa và tạo đường hầm (encryption and tunneling): Các gói dữ liệu được mã hóa
hoặc được đưa vào đường hầm bảo mật (secure tunnel). NIPS chỉ có thể bắt được các
gói tin đã mã hóa, nhưng khơng có khả năng giải mã và phân tích chúng.
Ví dụ:
Kết nối SSH đến SSH server.
Đường hầm VPN ở chế độ remote access.
Đường hầm VPN ở chế độ site-to-site.
Kết nối SSL (Secure Socket Layer) tới một website.
Có các loại đóng gói khác mà cảm biến khơng thể phân tích và giải nén mà những kẻ
tấn công thường sử dụng trong một cuộc tấn công trốn tránh. Ví dụ, các đường hầm
GRE (Generic Route Encapsulation) thường được sử dụng có hoặc khơng có mã hóa.
Tấn cơng định thì (timing attacks): Kẻ tấn cơng có thể né tránh phát hiện của NIPS
bằng cách thực hiện các hành động của chúng chậm hơn bình thường, không vượt quá
NHÓM 07

1


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14


mức ngưỡng bên trong các cửa sổ thời gian (time windows) mà các dấu hiệu
(signature) dùng để tương quan các gói tin khác nhau lại với nhau.
Ví dụ: Trong tấn công do thám mạng, kẻ tấn công sẽ làm chậm lại việc gởi các gói tin
do thám. Trong trường hợp này, kẻ tấn cơng có thể né tránh được phát hiện chỉ đơn
giản bằng cách quét quá lâu.
Làm cạn kiệt tài nguyên (resource exhaustion): Phương pháp này sẽ làm cạn kiệt
nguồn tài nguyên của bộ cảm biến IPS. Một số cơng cụ có thể tạo làm cho IPS tạo ra
một số lượng lớn các cảnh báo, từ đó sẽ làm IPS tiêu tốn nguồn tài ngun và khơng
có có khả năng ngăn chặn tấn cơng từ việc ghi log.
Phân mảnh lưu lượng (traffice framentation): Với phương pháp này, kẻ tấn công cố
gắng chia nhỏ lưu lượng xấu để tránh bị phát hiện.
Ví dụ: kẻ tấn cơng sẽ phân mảnh lưu lượng IP theo cách thức mà được diễn giải bằng
nhiều cách. Điều này sẽ làm cho cảm biến IPS “hiểu” về nó khác với máy tính đích.
Thay thế và chèn lưu lượng (Traffic substitution and insertion): Việc thay thể lưu
lượng (traffice substitution) là khi kẻ tấn công cố gắng thay thế dữ liệu tải (payload
data) bằng dữ liệu khác trong một định dạng khác. Việc chèn lưu lượng là khi kẻ tấn
công chèn thêm thông tin mà không làm thay đổi ý nghĩa của phần tải (payload) trong
phần tải dùng để tấn cơng.
Ví dụ:
Thay thế “space” bằng “tab” bên trong yêu cầu HTTP.
Dùng unicode thay cho chuỗi và các ký tự ASCII bên trong HTTP request.

1.2. Kỹ thuật mã hóa (encryption)
Trong thời hiện đại, việc gửi dữ liệu đơn giản qua mạng sẽ hiển thị nội dung cho
trung gian. Vì vậy, nó có thể được gửi qua một cách mật mã. Cypher khơng là gì ngồi
một thủ tục hoặc tập hợp các thuật toán để thực hiện mã hóa hoặc giải mã dữ liệu để
nó có thể được gửi qua mạng để duy trì tính tồn vẹn và bảo mật. Khi một cypher thuật
toán được áp dụng cho một văn bản thuần túy, văn bản được mã hóa kết quả được gọi
là văn bản cypher. Trong thế giới thực, có nhiều loại mã hóa cung cấp nhiều loại các


NHÓM 07

2


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

mức độ bảo mật. Các tính năng bảo mật này phụ thuộc vào nguồn và đích khả năng
tương thích như tài nguyên hệ thống, kết nối mạng, phân bổ bộ nhớ, v.v.
Tùy thuộc vào kích thước của dữ liệu được mã hóa, mã hóa được phân loại theo hai
cách.
1. Mật mã theo dòng: Trong các phương pháp này, dữ liệu đầu vào được mã hóa
theo dịng liên tục
niềm đam mê.
2. Mật mã khối: Trong các phương pháp này, dữ liệu đầu vào được lấy ở dạng
khối và được mã hóa.
Dựa trên loại khóa được sử dụng để mã hóa và mơ tả, mã hóa được lại chia làm hai
loại.
1. Mã hóa đối xứng: Trong các phương pháp này, cùng một khóa được sử dụng
để mã hóa và giải mã dữ liệu ở cả hai phía nguồn và đích. In mật mã đối xứng, chúng
ta phải chia sẻ khóa trước giữa nguồn và đích. Nếu có bên thứ ba biết khóa, họ sẽ có
thể chặn dữ liệu.
2. Mã hóa bất đối xứng: Trong các phương pháp này, chúng tôi sử dụng các
khóa khác nhau để mã hóa và giải mã dữ liệu. Đối với dữ liệu bất đối xứng, khơng cần
thiết phải chia sẻ khóa thứ mười hai sớm hơn. Vì vậy, chúng cung cấp tính bảo mật
cao khi so sánh với đối xứng mật mã. Chúng ta có thể sử dụng mật mã bất đối xứng để
chia sẻ khóa mật mã đối xứng duy trì tính bảo mật trên internet.

Mặc dù cyphers được phân loại theo 2 cách cơ bản ở trên, dựa trên các tiêu chuẩn
và cách thức hoạt động, chúng được phân loại như bên dưới loại trừ lẫn nhau.
1. Chuẩn thuật tốn mã hóa
2. Thuật toán băm
3. Chuẩn chữ ký số
4. Tiêu chuẩn cơ sở hạ tầng khóa cơng khai (PKI)
5. Tiêu chuẩn khơng dây
Các thuật tốn này xác định cách mã hóa hoặc băm văn bản thuần túy và có thể sử
dụng các phím đối xứng hoặc không đối xứng. Độ mạnh của mã hóa phụ thuộc vào
kích thước của khóa được sử dụng.
NHĨM 07

3


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

1.3. Kỹ thuật tạo đường hầm (tunneling)
VPN là viết tắt của Virtual Private Network cho phép người dùng hoặc khách hàng
truy cập vào dữ liệu được mã hóa thông qua internet hoặc mạng nội bộ. VPN sử dụng
một khái niệm gọi là đường hầm hoặc thường được gọi là đường hầm VPN. Bất cứ khi
nào người dùng muốn sử dụng VPN, họ phải tạo một đường hầm đến máy chủ VPN
Đường hầm này có thể được mã hóa theo nhiều tiêu chuẩn khác nhau của cyphers và
do đó dữ liệu này được bảo mật.
VPN về cơ bản có thể được phân loại thành hai loại dựa trên cách người dùng truy
cập vào:

1.3.1. Remote Access VPN:


Hình 1: Remote Access VPN

Trong loại VPN này, sẽ chỉ có người dùng cuối được kết nối với máy chủ VPN và
truy cập các dịch vụ một cách an toàn. Các dịch vụ này có thể giống như dữ liệu web,
tệp, API, v.v. Ví dụ về VPN truy cập từ xa là HTTPS, SSH, SFTP, OPENVPN ở chế
độ đường hầm.
Remote Access VPN rất hữu ích cho người dùng doanh nghiệp cũng như người
dùng gia đình. Tốt nhất ví dụ cho việc sử dụng VPN này là các khách hàng doanh
nghiệp. Khi một khách hàng doanh nghiệp đang đi du lịch hoặc làm việc tại nhà, để
truy cập tài nguyên của công ty một cách an tồn với tính năng truy cập từ xa VPN.
Phần mềm doanh nghiệp tốt nhất được sử dụng là Cisco Any connect VPN, IPSec,
PPTP, SSTP,…
NHÓM 07

4


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Ví dụ tốt nhất khác mà người dùng doanh nghiệp là người dùng gia đình sử dụng nhiều
loại Các dịch vụ VPN như VPN không giới hạn, IPVANISH, NordVPN, v.v. Các dịch
vụ này cung cấp VPN truy cập từ xa và sử dụng những thứ này, người dùng cuối sẽ tạo
một đường hầm được mã hóa tới máy chủ của nhà cung cấp sử dụng internet công
cộng. Sau khi tạo đường hầm riêng, người dùng sẽ trỏ cổng mặc định đến IP đích của
đường hầm để tất cả lưu lượng truy cập sẽ đi qua đường hầm.

1.3.2.


Site – to – Site VPN:

Trong VPN truy cập từ xa, đường hầm được hình thành giữa máy chủ của người
dùng cuối trong khi đó, trong sit-to-site VPN, họ sử dụng cầu nối ảo và nó được hình
thành giữa 2 bộ định tuyến để chúng xuất hiện cạnh nhau và chúng cũng có thể trao
đổi các tuyến đường trực tiếp. Trong VPN site-to-site, chúng tơi có VPN site-to-site
mạng nội bộ và VPN site-to-site bên ngồi mạng. Mạng nội bộ VPN site-to-site có
nghĩa là, VPN được tạo giữa các văn phịng cơng ty giống nhau, trong khi đó đối với
extranet, VPN được tạo giữa 2 công ty khác nhau. Các nút bộ định tuyến này có thể
được tách biệt về mặt địa lý và họ có thể sử dụng internet hoặc đường dây riêng để liên
lạc.

Hình 2: Site – to – Site VPN

Do VPN Site-to-site dựa trên giao tiếp giữa Bộ định tuyến với Bộ định tuyến, trong
trường hợp này Loại VPN một bộ định tuyến đóng vai trị là Máy khách VPN và bộ

NHÓM 07

5


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

định tuyến khác làm Máy chủ VPN. Các giao tiếp giữa hai bộ định tuyến chỉ bắt đầu
sau khi xác thực được xác thực giữa hai người.


1.3.3.

Sử dụng các công cụ khác:

SSH (Secure Shell): SSH là một giao thức mạng được sử dụng phổ biến để thiết lập
kết nối an tồn và mã hóa giữa hai máy tính. Bằng cách sử dụng SSH, bạn có thể tạo ra
các kênh tunneling để truyền thông qua firewall.
Proxy Server: Một proxy server hoạt động như một trung gian giữa người dùng và
Internet. Bạn có thể thiết lập một proxy server trên một máy tính nằm ngồi mạng nội
bộ và sử dụng nó để truyền thơng qua firewall.
Stunnel: Stunnel là một cơng cụ cho phép bạn tạo ra các kết nối mã hóa SSL/TLS
giữa máy tính của bạn và các dịch vụ mạng khác. Nó có thể được sử dụng để tunneling
qua firewall.
Shadowsocks: Shadowsocks là một công cụ proxy mã nguồn mở, được sử dụng chủ
yếu để vượt qua các hạn chế Internet và firewall. Nó sử dụng một phương pháp mã
hóa động để ẩn thông tin truyền qua mạng.
DnsCat2: Với dnscat2, máy tính của bạn có thể làm vai trị như một máy chủ DNS
và máy tính khác có thể kết nối và gửi dữ liệu thông qua các yêu cầu DNS. Dữ liệu
được đóng gói vào các trường thơng tin của các gói tin DNS và truyền qua kênh DNS.
Điều này cho phép bạn vượt qua các hạn chế mạng như firewall hoặc kiểm soát mạng
để truyền dữ liệu một cách ẩn danh.

1.4.

Giải pháp ứng phó

Firewall và Rule-Based Filtering: Thiết lập firewall và các quy tắc lọc dữ liệu để
kiểm sốt và chặn các kết nối khơng mong muốn hoặc không được ủy quyền. Điều này
bao gồm việc cấu hình firewall để chặn các giao thức khơng an tồn hoặc không mong
muốn như SSH, VPN, và các giao thức tunneling khác.

Application Whitelisting: Sử dụng danh sách trắng ứng dụng để chỉ cho phép chạy
các ứng dụng đã được phê duyệt và ngăn chặn việc chạy các ứng dụng không được ủy

NHÓM 07

6


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

quyền hoặc khơng an tồn. Điều này có thể giúp ngăn chặn việc cài đặt và sử dụng các
công cụ tunneling không mong muốn.
Deep Packet Inspection (DPI): Sử dụng kỹ thuật kiểm tra sâu gói tin để phân tích
nội dung gói tin mạng và nhận biết các giao thức và hoạt động tunneling khơng an
tồn hoặc khơng được ủy quyền. DPI có thể phát hiện các gói tin được mã hóa hoặc
đóng gói theo cách khơng bình thường và thực hiện các hành động phù hợp như chặn
hoặc xử lý theo chính sách.
Network Segmentation: Phân đoạn mạng bằng cách chia mạng thành các phân đoạn
nhỏ hơn và áp dụng các quy tắc truy cập và kiểm soát trên mỗi phân đoạn. Điều này
giúp hạn chế khả năng tunneling qua các mạng khác nhau và ngăn chặn sự lan truyền
của các hoạt động không mong muốn.
Intrusion Detection/Prevention Systems (IDS/IPS): Sử dụng các hệ thống phát hiện
và ngăn chặn xâm nhập để phát hiện và chặn các hoạt động tunneling khơng an tồn
hoặc khơng được ủy quyền. IDS/IPS có thể dựa trên các quy tắc, chữ ký, hoặc học
máy để nhận diện các hoạt động không bình thường và thực hiện hành động phù hợp.
Regular Monitoring and Auditing: Thực hiện theo dõi và kiểm tra định kỳ các hoạt
động mạng để phát hiện và xử lý sự vi


NHÓM 07

7


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

PHẦN 2: THỰC NGHIỆM KỸ THUẬT TRÁNH NÉ MÃ HĨA
VÀ TẠO ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING)
BẰNG CƠNG CỤ DNSCAT2

2.1. Cơ sở lí thuyết
2.1.1.

Giới thiệu dnscat2:

Dnscat2 là một cơng cụ mạng được phát triển để tạo ra một kênh liên lạc bí mật
thơng qua giao thức DNS (Domain Name System). Nó được thiết kế để truyền tải dữ
liệu giữa máy chủ và máy khách thông qua các truy vấn DNS và phản hồi DNS, đồng
thời tránh sự phát hiện bởi các hệ thống bảo mật.
Dnscat2 cố gắng trở nên khác biệt với các giao thức tạo đường hầm DNS khác bằng
cách được thiết kế cho một mục đích đặc biệt: ra lệnh và kiểm sốt. Nó có thể tạo
đường hầm cho bất kỳ dữ liệu nào mà không cần kèm theo giao thức. Điều đó có nghĩa
là nó có thể tải lên và tải xuống các tệp, nó có thể chạy shell và nó có thể làm tốt
những việc đó. Dnscat2 có thể chạy trên nhiều nền tảng, bao gồm Windows, Linux và
macOS. Nó cung cấp một giao diện dòng lệnh để cấu hình và điều khiển các phiên
truyền tải dữ liệu.
Đặc điểm nổi bật của Dnscat2 bao gồm:


NHÓM 07

8


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Ẩn dạng: Dnscat2 sử dụng các truy vấn và phản hồi DNS hợp lệ để truyền tải
dữ liệu. Điều này giúp nó vượt qua các bộ lọc và cơ chế kiểm soát mạng dựa trên chặn
các giao thức khác.
Mã hóa: Dnscat2 hỗ trợ mã hóa dữ liệu trước khi gửi đi và giải mã tại máy
nhận. Điều này đảm bảo tính riêng tư và bảo mật cho dữ liệu được truyền.
Đa nền tảng: Dnscat2 có thể chạy trên nhiều hệ điều hành phổ biến, cho phép
sử dụng trên các môi trường đa dạng.
Linh hoạt: Dnscat2 cung cấp các tùy chọn cấu hình mạnh mẽ cho việc tùy chỉnh
và điều khiển cách dữ liệu được truyền tải. Nó hỗ trợ nhiều cách thức để kết nối và
thiết lập phiên truyền tải dữ liệu.
Mở rộng: Dnscat2 có khả năng mở rộng và hỗ trợ đồng thời nhiều kênh truyền
tải dữ liệu. Điều này cho phép truyền tải dữ liệu lớn và đồng thời từ nhiều nguồn và
đích khác nhau.
Dnscat2 được sử dụng trong nhiều tình huống, bao gồm thử nghiệm an ninh mạng,
kiểm tra phản ứng của hệ thống bảo mật, cung cấp kênh liên lạc bí mật trong mơi
trường có hạn chế hoặc kiểm tra việc xâm nhập mạng.

2.1.2.

Cách hoạt động:


Dưới đây là cách hoạt động cơ bản của DNSCat2:
Cài đặt máy chủ DNS: DNSCat2 yêu cầu một máy chủ DNS để chuyển tiếp các
gói tin DNS đến và từ nó. Máy chủ DNS này có thể được cấu hình trên một máy chủ
riêng biệt hoặc trên một máy tính trong mạng của bạn.
Khởi động máy chủ DNSCat2: Sau khi cài đặt máy chủ DNS, bạn cần khởi
động máy chủ DNSCat2 trên đó. Máy chủ sẽ lắng nghe các yêu cầu DNS đến và
chuyển tiếp chúng đến máy khách DNSCat2 tương ứng.
Cấu hình máy khách DNSCat2: Bạn cần cấu hình máy khách DNSCat2 trên
máy tính của mình. Máy khách sẽ tạo ra các gói tin DNS để gửi dữ liệu tới máy chủ
DNSCat2 và nhận dữ liệu từ máy chủ DNSCat2.
Thiết lập kết nối: Máy khách DNSCat2 sẽ cố gắng kết nối đến máy chủ
DNSCat2 bằng cách gửi các yêu cầu DNS đặc biệt chứa dữ liệu điều khiển. Khi kết

NHÓM 07

9


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

nối thành công, máy khách và máy chủ có thể trao đổi dữ liệu thơng qua các gói tin
DNS.
Gửi và nhận dữ liệu: Khi kết nối đã được thiết lập, máy khách có thể gửi các
yêu cầu gửi dữ liệu tới máy chủ. Dữ liệu sẽ được chia thành các gói tin DNS và gửi tới
máy chủ DNSCat2. Máy chủ sẽ trích xuất dữ liệu từ các gói tin và gửi lại phản hồi cho
máy khách thông qua các gói tin DNS. Dữ liệu sẽ được chèn vào các trường dữ liệu
không sử dụng trong giao thức DNS, ví dụ tên miền con hoặc thuộc tính khác.

Đóng kết nối: Khi hoàn tất việc truyền dữ liệu, máy khách và máy chủ có thể
đóng kết nối bằng cách gửi các u cầu đóng kết nối tới nhau thơng qua các gói tin
DNS.
DNSCat2 cho phép ẩn dữ liệu bên trong các gói tin DNS thơng qua việc mã hóa và
che dấu. Điều này giúp nó vượt qua các giới hạn và hạn chế mạng, cho phép truyền tải
dữ liệu một cách ẩn danh và bảo mật.

2.1.3.

Cách phòng chống:

Để hạn chế khả năng né tránh của dnscat2, bạn có thể áp dụng một số giải pháp kỹ
thuật sau:
Cập nhật hệ thống DNS: Đảm bảo rằng hệ thống DNS của bạn được cập nhật
đầy đủ và áp dụng các bản vá bảo mật mới nhất. Điều này giúp loại bỏ các lỗ hổng bảo
mật đã được khắc phục mà dnscat2 có thể tận dụng.
Tường lửa và quy tắc ACL: Cấu hình tường lửa và quy tắc Access Control List
(ACL) để chặn các yêu cầu DNS không mong muốn hoặc không phù hợp. Hạn chế
phạm vi phản hồi DNS từ máy chủ ngoài và chỉ cho phép truy cập DNS tới các máy
chủ được ủy quyền và đáng tin cậy.
Sử dụng DNSSEC: DNSSEC (DNS Security Extensions) là một phương pháp
bảo mật DNS bằng cách ký số hóa và xác thực các thơng tin DNS. Bằng cách triển
khai DNSSEC, bạn có thể đảm bảo tính tồn vẹn và xác thực của các u cầu DNS và
ngăn chặn dnscat2 khai thác các lỗ hổng bảo mật trong DNS.
Giám sát lưu lượng DNS: Sử dụng các công cụ giám sát mạng và lưu lượng
DNS để theo dõi hoạt động DNS trong mạng của bạn. Theo dõi các yêu cầu DNS

NHÓM 07

10



HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

khơng thơng thường, kích thước gói tin lớn, tần suất cao hoặc các mẫu hoạt động
không đối xứng có thể giúp bạn phát hiện sự tồn tại của dnscat2.
Hệ thống IDS/IPS: Cấu hình hệ thống IDS/IPS để nhận dạng các mẫu hoạt động
liên quan đến dnscat2. Sử dụng các quy tắc phát hiện được cung cấp sẵn hoặc tùy
chỉnh để xác định và chặn các hoạt động đáng ngờ.
Ngoài ra, chúng ta nên hạn chế bớt lưu lượng truyền đi trên mơn đơn vị thời gian
nào đó, chỉ cho phép các truy vấn và nhận phản hồi dns đáng tin cậy.

2.2. Thực nghiệm dnscat2

Hình 3: Mơ hình sử dụng dnscat2 bypass firewall

NHÓM 07

11


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Hình 4: Cài đặt dnscat2 server trên máy attacker (kali linux)

Hình 5: di chuyển đến folder vừa cài, chạy lệnh ruby ./dnscat2.rd. Server sẽ lắng nghe

trên port 53, lắng nghe phản hồi từ dnscat2 client từ nạn nhân. New window: 0 (chưa
có nạn nhân nào kết nối)

NHĨM 07

12


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Hình 6: Trên máy nạn nhân tải dnscat2 client, sau đó chạy file exe, kết nối với dnscat2
server bằng địa chỉ ip máy server

Hình 7: Lúc này trên dnscat2 server (máy attacker) đã nhận được kết nối từ nạn nhân
và hiển thị thơng báo

NHĨM 07

13


HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP

ĐỀ TÀI 14

Hình 8: Dnscat2 hỗ trợ một số lệnh để thực thi đến máy nạn nhân

Hình 9: Attacker tiến hành ping đến máy nạn nhân


NHÓM 07

14



×