Thử nghiệm tấn công DDOS

Tác giả NetworkEngineer, T.Một 17, 2022, 09:46:47 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Thử nghiệm tấn công DDOS


1. Tấn công từ chối dịch vụ là gì?

Tấn công từ chối dịch vụ (DoS), là cuộc tấn công do một kẻ tấn công thực hiện bằng cách sử dụng máy tính và mạng của chính mình làm ngập máy chủ của nạn nhân để tắt dịch vụ mục tiêu. Trong hầu hết các trường hợp phổ biến, kẻ tấn công chỉ gửi yêu cầu từng phần để giữ kết nối mở, lặp đi lặp lại cho đến khi máy chủ không thể xử lý được nữa. Nếu máy chủ bị quá tải với các yêu cầu hoặc kết nối, nó sẽ cạn kiệt và không thể chấp nhận bất kỳ kết nối mới nào nữa.

2. Tấn công từ chối dịch vụ phân tán là gì?

Tấn công từ chối dịch vụ phân tán (DDoS) là một loại tấn công DoS, trong đó kẻ tấn công tấn công một nhóm các hệ thống từ xa bị xâm nhập và nằm dưới sự kiểm soát của kẻ tấn công. Mạng botnet này, hoặc nhóm các hệ thống bị xâm nhập, được sử dụng để khởi động cuộc tấn công cùng một lúc nhằm vào một mục tiêu duy nhất. Cuộc tấn công được phân tán vì một kẻ tấn công có thể xử lý 1000 bot.

3. Các kiểu tấn công từ chối dịch vụ

Có rất nhiều loại phương pháp tấn công DoS khác nhau tùy theo số lượng, mục tiêu và giao thức. Các phương pháp tấn công DoS phổ biến nhất được chia thành ba loại.

3.1. Tấn công DoS dựa trên khối lượng

Làm ngập mục tiêu với một lượng lớn lưu lượng truy cập (chủ yếu là hơn 100Gbps). Các cuộc tấn công dựa trên khối lượng nhằm vào băng thông của máy chủ. Chúng được đo bằng bit trên giây (bps). Cuộc tấn công phổ biến nhất của loại này là lũ ICMP và UDP.

3.2. Tấn công DoS dựa trên giao thức

Nhắm mục tiêu vào lỗ hổng trong các điểm yếu Lớp 3 hoặc Lớp 4 của mô hình OSI. Các cuộc tấn công dựa trên giao thức lấp đầy tài nguyên máy chủ, vì vậy không có nơi nào để lưu trữ các yêu cầu sắp tới. Chúng được đo bằng gói trên giây (pps). Các cuộc tấn công phổ biến kiểu này là Ping of Death, Smurf DDoS, v.v.

3.2. Tấn công DoS dựa trên ứng dụng

Nhắm mục tiêu đến lớp trên cùng trong mô hình OSI, Lớp 7. Nơi mà cuộc tấn công khó xác định hơn và rất lén lút. Bởi vì trong lớp này các yêu cầu Internet phổ biến như HTTP GET/POST xảy ra, rất khó để xác định liệu người gửi yêu cầu là người dùng hợp pháp hay kẻ tấn công. Các cuộc tấn công dựa trên ứng dụng yêu cầu ít băng thông hơn để tạo ra sự gián đoạn lớn.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện Từ chối Dịch vụ bằng cách sử dụng cuộc tấn công DoS dựa trên Ứng dụng để kiểm tra một số mục tiêu. Mẫu mà chúng mình kiểm tra ở đây với tư cách là nạn nhân là các trang web cơ bản như trang web trường học, trang web khách sạn và các trang web thương mại điện tử và nhượng quyền thương mại sẽ đổi tên ẩn danh cho mục đích giáo dục.

Chúng ta đang đóng vai một kẻ tấn công sẽ khởi động một cuộc tấn công Từ chối Dịch vụ. Để thực hiện thử nghiệm này, chúng ta cần một công cụ bổ sung mà chúng ta sẽ cài đặt bên dưới.

4. Cài đặt GoldenEye

GoldenEye được viết bằng python bởi Jan Seidl trên Github để thực hiện kiểm tra HTTP DoS. Bạn có thể tìm thấy tác phẩm của anh ấy trên   Đăng nhập để xem liên kết

Hãy bắt đầu bằng cách cài đặt GoldenEye. Chỉ cần mở cửa sổ dòng lệnh Terminal của bạn và chạy các bước sau:

Mã nguồn [Chọn]
# git clone https://github.com/jseidl/GoldenEye.git
Mã nguồn [Chọn]
# cd GoldenEye
Mã nguồn [Chọn]
# chmod +x goldeneye.py
Mã nguồn [Chọn]
# python2 goldeneye.py
Hãy xem các tùy chọn và thông số có sẵn của GoldenEye bên dưới:


5. Thử nghiệm tấn công DDOS

Đối với mỗi mục tiêu chúng ta đặt ra:

  • 100 công nhân
  • Hàm lượng sử dụng được tạo ngẫu nhiên (mặc định)
  • 500 ổ cắm (mặc định)
  • Phương thức HTTP 'get' (mặc định)
  • Sử dụng gỡ lỗi

Dựa trên các tham số, mẫu lệnh sẽ là:

Mã nguồn [Chọn]
# python2 goldeneye.py <URL> -w 100 -d
Nhớ chỉ định giao thức HTTP/HTTPS trong tham số <URL>

Bắt đầu nào.

Chọn 3 trang web mục tiêu, để ẩn danh trong thử nghiệm của chúng ta và mở 3 cửa sổ dòng lệnh Terminal cùng một lúc và tấn công từng mục tiêu bằng cách sử dụng chuỗi tham số mà chúng ta đã xây dựng ở trên.

Được rồi, cuộc tấn công đầu tiên đã được phát động, bây giờ hãy dành chút thời gian của bạn để cho goldenEye hoạt động. Bạn sẽ nhận thấy sự gia tăng của quá trình xử lý CPU của mình. Đừng trách mình nếu máy tính cấp thấp của bạn bị đơ, vì đó là chuyện bình thường.


Sau một vài phút sau, chúng ta sẽ nhận thấy một số lỗi đầu ra trên cửa sổ dòng lệnh Terminal của mình và nó thông báo "Connection timed out", nói cách khác, yêu cầu cuộc gọi của chúng ta không được trả lời. Đó có thể là do các mục tiêu đã bị chết.


Để xác minh kết quả cho đến nay, hãy truy cập từng trang web mục tiêu. Và đây là những gì chúng ta sẽ nhận được:

Mục tiêu 1 là đã đạt đến giới hạn Tài nguyên, đây là bài kiểm tra trên trang web của một trường trung học. Mình đã dự đoán và giữ giả thuyết của mình về ngôi trường nhỏ này, rằng nó có một trang web nhỏ, máy chủ và thiếu tài nguyên.

Mục tiêu 2 không còn nữa. Đây thực sự là một bất ngờ đối với mình vì đây là một trang web khách sạn chuyên nghiệp. Làm thế nào mà một trang web khách sạn lại có thể dễ dàng bị chết bởi một DoS?. Điều gì sẽ xảy ra nếu đối thủ của bạn trả tiền cho rất nhiều người để tấn công doanh nghiệp của bạn?

Mục tiêu 3 cũng bị chết. Điều này cũng gây ngạc nhiên cho mình, bởi vì trang web này là một doanh nghiệp và lớn nhất và phổ biến nhất trong số các chợ nhỏ khác ở nước mình, cửa hàng của họ ở khắp mọi nơi. Nhưng trang web bị bệnh. Mình thậm chí đã tải lại trang nhiều lần để đảm bảo rằng nó không thực sự xảy ra.

Bị DoS (kẻ tấn công đơn lẻ) hạ gục còn đáng sợ và đáng xấu hổ hơn là DDoS. GoldenEye không được coi là một công cụ tuyệt vời, nhưng nó có thể hữu ích để kiểm tra (mô hình OSI Lớp 7) HTTP DoS đối với một số trang web nhất định. Nó chỉ là một công cụ, được tạo ra bởi một người thông minh để chống lại một quản trị viên trang web yếu kém.