CEH MASTER : Data Exfiltration với DNSSteal

Bài học cho CEH Master . Nghe đâu Solawind bị lấy dữ liệu theo cách tương tự qua DNS Exfiltration

Đây là bản Beta,còn edit và biên tập video chi tiết nhưng bạn nào làm xong hãy chia sẽ hướng dẫn

Trong bài viết này, chúng ta sẽ hiểu về hoạt động của DNSteal với trọng tâm là lọc dữ liệu hay data exfiltration. Bạn có thể tải xuống công cụ này từ đây .

Mục lục:

  • Giới thiệu về Lọc dữ liệu hay data Exfiltration
  • Giao thức DNS và hoạt động
  • Lọc dữ liệu DNS và hoạt động
  • Giới thiệu về DNSteal
  • Bằng chứng
  • Phát hiện
  • Giảm nhẹ
  • Phần kết luận

Giới thiệu về Lọc dữ liệu hay Data Exfiltration

Lọc dữ liệu hay data exfiltration được gọi là quá trình mà kẻ tấn công lấy dữ liệu nhạy cảm từ hệ thống của mục tiêu và lưu trữ vào hệ thống của chúng. Vì quá trình data exfiltration chỉ đơn giản là việc chuyển dữ liệu của mạng nên rất khó phát hiện. Mọi tổ chức đều xử lý dữ liệu nhạy cảm, điều này làm cho các cuộc tấn công xâm nhập dữ liệu trở nên rất thực tế. Việc xâm nhập dữ liệu có thể được gây ra do các mối đe dọa từ bên trong hoặc các mối đe dọa từ bên ngoài. Các mối đe dọa nội bộ bao gồm việc một nhân viên bán bí mật vì lợi nhuận hoặc chia sẻ dữ liệu một cách bất cẩn, trong khi các mối đe dọa từ bên ngoài được cho là những mối đe dọa mà tội phạm mạng khai thác lỗ hổng để thiết lập chỗ đứng và sau đó tiếp tục đánh cắp dữ liệu.

Giao thức DNS và hoạt động

Giao thức DNS hoạt động trên cổng TCP / UPD 53. Đây là một giao thức không trạng thái stateless protocol vì không trao đổi thông tin cụ thể. DNS cho phép một mạng kết nối với internet và nếu không có DNS, tất cả việc lướt web trên internet sẽ là không thể và xa vời. Chức năng của DNS là dịch địa chỉ IP sang tên máy chủ (để thuận tiện cho người dùng) và ngược lại. Do đó, tầm quan trọng của DNS trong một mạng là vô đối.

Lọc dữ liệu DNS ( DNS Exfiltration) và hoạt động

Như chúng ta biết rằng DNS là một giao thức không trạng thái, tức là không bao giờ được dùng để gửi hoặc nhận dữ liệu từ máy khách đến máy chủ. Mặc dù vậy, DNS được ủy quyền để tin rằng tất cả các truy vấn được gửi đến nó là hợp pháp. Và điều này bị những kẻ tấn công lợi dụng như thể một yêu cầu được gửi đến một miền phụ thì yêu cầu đó chỉ được coi là dữ liệu nếu truy vấn được xây dựng đúng cách. Ví dụ: kẻ tấn công gửi một truy vấn đến example.target.com và DNS target.com nhận ‘example’ dưới dạng một chuỗi, sau đó chúng sẽ coi chuỗi đã nói là dữ liệu và điều này sẽ cho phép kẻ tấn công truy cập target.com. Bây giờ, điều này cho phép kẻ tấn công thiết lập một kênh bí mật chủ yếu bằng cách sử dụng máy chủ C2 giữa DNS và máy khách và truy xuất tất cả dữ liệu thông qua giao tiếp hai chiều. Thao tác DNS theo cách như vậy để lấy dữ liệu nhạy cảm được gọi là Lọc dữ liệu DNS.

Khi dữ liệu được chuyển từ hệ thống này sang hệ thống khác mà không có bất kỳ kết nối trực tiếp nào và quá trình chuyển dữ liệu này được thực hiện qua giao thức DNS thì nó được gọi là DNS Data Exfiltration. Giao thức DNS được khai thác để khiến những kẻ tấn công có được dữ liệu nhạy cảm.

Giới thiệu về DNSteal

DNSteal là một công cụ thiết lập một máy chủ DNS giả mạo và cho phép kẻ tấn công lẻn vào mạng. Như tên cho thấy công cụ dựa trên giao thức DNS và hoạt động trên cổng 53. DNSteal được sử dụng để trích xuất dữ liệu từ mục tiêu sau khi thiết lập kết nối và là một trong những công cụ tốt nhất cho DNS Data Exfiltration. Nhiều tệp có thể được giải nén bằng công cụ này.  DNSteal cũng hỗ trợ nén tệp Gzip. Tất cả cho phép bạn quản lý kích thước của các gói truyền dữ liệu của bạn qua mạng để giảm bớt sự nghi ngờ.

Bằng chứng hay minh họa, hãy chạy trên Kali Linux 2021

Tải xuống DNSteal bằng lệnh sau:

1git clone https://github.com/m57/dnsteal

Và để khởi động thêm công cụ , xem tất cả các tham số mà DNSteal cung cấp, hãy sử dụng lệnh sau:

1python dnsteal.py

Bây giờ chúng ta sẽ tạo một lệnh bằng DNSteal; lệnh này sẽ trích xuất dữ liệu mong muốn khi thực thi trên hệ thống đích. Để tạo lệnh, hãy cung cấp IP cục bộ của bạn và sử dụng tham số -z. Tham số -z này sẽ giải nén các tệp khi nhận được vì chúng được nén theo mặc định. Do đó, hãy nhập địa chỉ IP của máy chủ DNS nội bộ (hãy xem cách cài DNS với BIND ở cuối bài hoặc dùng Metasploitable 2 để mở port 53):

1python dnsteal.py 192.168.1.112 -z

Từ hệ thống đích ta sẽ yêu cầu tệp secret.txt qua kết nối DNS sẽ thiết lập khi chúng tôi chạy lệnh đã cho. Nội dung của secret.txt có thể được nhìn thấy trong hình ảnh sau đây.

 Bây giờ như bạn có thể thấy trong hình trên, hai lệnh được tạo. Sao chép cái đầu tiên (cái được đánh dấu).

Và dán nó vào thư mục đích. Trước khi thực hiện lệnh, hãy đảm bảo rằng tên tệp đó đã được thay đổi thành tên tệp bạn muốn như thể hiện trong hình ảnh bên dưới:

Lưu ý : nếu bạn gặp lỗi “ dig: ‘H4sICLttFF8AA3NlY3JldC50eHQAy8hUyFRIzFUoSsziAgC / 9XeXDAAAA-.A == -. Secret.txt’ không phải là tên IDNA2008 hợp pháp (chuỗi bắt đầu / kết thúc bằng dấu gạch ngang bị cấm) ,” thì bạn chỉ cần chỉnh sửa lệnh trên của bạn = secret.txt) bằng cách thêm “ + noidnin + noidnout ” vào cuối lệnh bạn đã dán.

Và khi lệnh được thực thi, tệp được yêu cầu sẽ được nhận trên thiết bị đầu cuối của bạn. Công cụ cũng sẽ tính toán tổng băm MD5 cho bạn. Ngoài ra, bạn có thể xem nội dung của tập tin bằng lệnh cat như trong hình dưới đây:

Bây giờ chúng tôi sẽ cố gắng giải nén toàn bộ thư mục thay vì một tệp duy nhất. Khởi động máy chủ DNS được cung cấp bởi công cụ DNSteal bằng cách nhập lệnh sau:

1python dnsteal.py 192.168.1.112 -z

Thư mục mà chúng tôi sẽ cố gắng truy xuất được hiển thị trong hình ảnh bên dưới, bao gồm nội dung của chúng. Thư mục chứa tất cả các loại dữ liệu bao gồm .pdf, .msi, .png, .dll.

Một lần nữa, bạn sẽ thấy rằng nó tạo ra hai lệnh. Tuy nhiên, lần này chúng tôi sẽ sao chép cái thứ hai (được đánh dấu trên) và dán nó vào thư mục đích như hình dưới đây:

Khi thực hiện lệnh, bạn có thể thấy thư mục được nhận chính xác với tổng băm MD5 được tính toán cho mỗi tệp như thể hiện trong hình ảnh bên dưới:

Để giảm bớt sự nghi ngờ về cuộc tấn công, kẻ tấn công có thể chia tệp thành nhiều gói. Các gói này có thể có kích thước cố định tính bằng byte. Kẻ tấn công thậm chí có thể cấp phát một số byte cho tên tệp. điều này được thực hiện để tránh kích hoạt cảnh báo trong mạng mà việc lạm dụng kích thước gói UDP sẽ gây ra. Tùy chỉnh này có thể được thực hiện bằng cách sử dụng các tham số -s, -b và -f. Tham số -s là để xác định giá trị miền phụ, -b là để chỉ định số byte trên mỗi gói và -f là để xác định giá trị của byte cho tên tệp. Trong lệnh sau đây, cũng có thể quan sát được từ hình ảnh bên dưới, chúng tôi đã xác định 4 miền phụ. Các byte trên mỗi gói được đặt thành 57 và giá trị tên tệp là 17.

1python dnsteal.py 192.168.1.112 -z -s 4 -b 57 -f 17

Bây giờ chúng ta sẽ lấy tệp mật khẩu từ đích. Như bạn có thể thấy từ hình ảnh bên dưới, kích thước của tệp là 2511 byte. Bây giờ chỉ cần sao chép lệnh và dán nó vào thư mục / etc trên hệ thống đích. Một lần nữa, trước khi thực hiện lệnh, hãy đảm bảo thay đổi tên tệp thành passwd.

Khi lệnh được thực thi, bạn có thể thấy rằng dữ liệu nhận được sẽ ở dạng khối 243 byte như trong hình bên dưới. Và khi quá trình nhận hoàn tất, nó cũng sẽ cung cấp cho bạn tổng băm MD5 và bạn có thể đọc nội dung của tệp bằng lệnh cat đơn giản vì tệp nhận được sẽ được giải nén:

Và bằng cách này, chúng tôi đã lấy được tệp mật khẩu. Và trong quá trình chuyển dữ liệu này, Wireshark đã giúp chúng tôi xác thực số byte trên mỗi kích thước gói. Ngoài ra, chúng tôi có thể xác nhận rằng kết nối được thiết lập cũng như truyền dữ liệu đang được thực hiện trên cổng 53.

Vì vậy, theo cách này bằng cách lạm dụng cổng và dịch vụ của DNS; Cuộc tấn công DNS Data Exfiltration được thực hiện.

Phát hiện

Vì cuộc tấn công Data Exfiltration thông qua DNS rất lén lút và vì dữ liệu đang được truyền qua mạng nên việc phát hiện ra cuộc tấn công này là một thách thức. Do đó, để phát hiện cuộc tấn công này, người ta phải thường xuyên phân tích lưu lượng mạng. Để phát hiện các cuộc tấn công như vậy, hãy tập trung vào các tiến trình đang khai thác mạng hoặc các tiến trình không mong muốn. Hơn nữa, hãy phân tích sâu các gói mạng và kiểm tra xem có bất kỳ hành vi bất thường nào không. Ví dụ, nếu một khách hàng đang gửi nhiều dữ liệu hơn những gì nó đang nhận thì đó là điều đáng ngờ. Để phát hiện các cuộc tấn công như vậy, cũng tìm kiếm các gói dữ liệu có kích thước cố định đang được kết nối dài.

Giảm nhẹ

Biện pháp sau đây nên được thực hiện để giảm thiểu việc thẩm thấu dữ liệu DNS:

  • Triển khai Hệ thống Phòng chống Xâm nhập Mạng. Việc triển khai này phải dựa trên chữ ký mạng và sự bất thường của các gói.
  • Lưu lượng mạng nên được lọc bằng cách hạn chế các máy khách giao tiếp với DNS.
  • Máy chủ DNS chuyên dụng nên được thiết lập.
  • Việc phân đoạn mạng thích hợp nên được thực hiện.
  • Cấu hình tường lửa phải phù hợp và chỉ các cổng cần thiết mới được kích hoạt.
  • Luồng lưu lượng mạng phải dựa trên cơ sở của các quy tắc tường lửa.
  • Tất cả các nhân viên phải được nhận thức về hậu quả.
  • Tất cả các kênh trái phép sẽ bị chặn.
  • Chính sách Ngăn ngừa Mất dữ liệu nên được điều chỉnh.
  • Nhật ký mạng cần được duy trì và giám sát.

Phần kết luận

Việc giám sát và hạn chế quyền truy cập của các cổng khác như FTP, SSH đã khiến những kẻ tấn công đưa ra các kỹ thuật mới như khai thác DNS trong những năm qua. DNS là nền tảng cho mọi kết nối internet và vì mọi kết nối từ máy khách đến máy chủ đều phụ thuộc vào DNS; hạn chế quyền truy cập DNS là không thể. Và điều này làm cho DNS trở thành một giao thức xứng đáng để kẻ tấn công sử dụng làm Lọc dữ liệu. Lọc dữ liệu DNS là một mối đe dọa lớn và rất thực tế đối với tất cả các tổ chức. Và do đó, cả việc phát hiện và ngăn chặn vi phạm và mất mát dữ liệu đều phải được xử lý bởi các công ty. Các cuộc tấn công như Remsec và Helminithđã sử dụng cổng DNS để lọc dữ liệu và các cuộc tấn công này và dễ dàng bị bắt chước. Do đó, giáo dục bản thân về các cuộc tấn công như vậy là điều cần thiết để tự bảo vệ mình khi một cuộc khảo sát gần đây cho thấy 46% công ty từng là nạn nhân của cuộc tấn công này.

Sau đây là một số minh họa về DNS Data exfiltration mà các bạn nên dành thời gian xem và ngẫm để làm

Một speaker duyên dáng và đầy nội lực

Kỹ thuật Bypass FW với lọc dữ liệu qua DNS

Và cuối cùng là một lab trực tuyến của TryHackMe Advent of Cyber

Trả lời

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s