1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet

49 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Về SSH Botnet
Tác giả Hồ Việt Khánh, Bùi Việt An, Nguyễn Duy Khánh, Nguyễn Chung Hiếu
Người hướng dẫn TS. Nguyễn Mạnh Thắng
Trường học Học viện kỹ thuật mật mã
Chuyên ngành An toàn thông tin
Thể loại báo cáo
Định dạng
Số trang 49
Dung lượng 2,33 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU VỀ SSH BOTNET (7)
    • 1.1. Giới thiệu về SSH (7)
      • 1.1.1. Tổng quan về SSH (7)
      • 1.1.3. Các đặc điểm của SSH (8)
      • 1.1.4. Nguyên lý hoạt động của SSH (9)
      • 1.1.5. Ứng dụng thực tế của SSH (10)
    • 1.2. Giới thiệu về Bot và Botnet (10)
      • 1.2.1. Bot và Botnet (10)
      • 1.2.2. Cấu trúc của Botnet (11)
        • 1.2.2.1. Mô hình client – server (máy khách – máy chủ) (11)
        • 1.2.2.2. Mô hình peer – to – peer (ngang hàng) (12)
      • 1.2.4. Dấu hiệu nhận biết Botnet (13)
        • 1.2.5.1. Distributed Denial of Service (DDoS) (13)
        • 1.2.5.2. Spamming (phát tán thư rác) (14)
        • 1.2.5.3. Keylogging (14)
        • 1.2.5.4. Ăn cắp thông tin danh tính (15)
        • 1.2.5.5. Lạm dụng việc trả tiền cho mỗi lần nhấp (15)
        • 1.2.5.6. Lây lan Botnet (15)
      • 1.2.6. Cách phòng chống Botnet (16)
    • 1.3. SSH Botnet (17)
      • 1.3.1. Tìm hiểu về SSH Botnet (17)
      • 1.3.2. Cấu trúc SSH Botnet (18)
      • 1.3.3. Cách phòng chống SSH Botnet (18)
      • 1.3.5. Dictionary mật khẩu SSH dùng Paramiko (19)
      • 1.3.6. Khai thác SSH thông qua khóa bí mật yếu (20)
      • 1.3.7. Dựng SSH Botnet với Python (20)
  • CHƯƠNG 2: TÌM HIỂU VỀ DDOS (21)
    • 2.1. DDOS (21)
    • 2.2. Các hình thức tấn công DDOS (22)
      • 2.2.1. Volume-Based Attacks (tấn công băng thông) (23)
      • 2.2.2. Protocol Attacks (tấn công giao thức) (23)
      • 2.2.3. Application Layer Attacks (tấn công ứng dụng) (24)
    • 2.3. Dấu hiệu của tấn công DDoS (24)
    • 2.4 Các cuộc tấn công DDoS gần đây (25)
      • 2.4.1. Trong nước (25)
      • 2.4.2. Ngoài nước (25)
    • 2.5. Giải pháp phòng chống DDoS (26)
    • 2.6. Xây dựng kết nối SSH với python (26)
    • 2.7. Xây dựng chương trình tấn công Brute-Force với python (27)
    • 2.8. Xây dựng chương trình tấn công Spam Email với python (28)
    • 2.9. Xây dựng chương trình tấn công DDOS với python (29)
      • 2.9.1. Xây dựng các hàm tấn công Syn-Flood (29)
      • 2.9.2. Xây dựng BotMaster (31)
  • CHƯƠNG 3: THỰC NGHIỆM (32)
    • 3.1. Thiết kế mô hình hệ thống (32)
    • 3.2. Xây dựng các kịch bản kiểm thử (32)
      • 3.2.1. Tấn công Brute-Force (32)
      • 3.2.2. Tấn công Spam Email (34)
      • 3.2.3. Tấn công DDOS (36)
    • 3.3. Đánh giá và kết luận (40)
  • KẾT LUẬN (34)
  • TÀI LIỆU THAM KHẢO (48)

Nội dung

Báo cáo này nhằm mục đích tìm hiểu và phân tích về các botnet sử dụng SSH như một phương tiện để xâm nhập và tấn công các hệ thống mạng.. Distributed Denial of Service DDoS Một botnet có

GIỚI THIỆU VỀ SSH BOTNET

Giới thiệu về SSH

SSH(Secure Shell), là một giao thức điều khiển từ xa cho phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet Dịch vụ được tạo ra nhằm thay thế cho trình Telnet vốn không có mã hóa và sử dụng kỹ thuật cryptographic để đảm bảo tất cả giao tiếp gửi tới và gửi từ server từ xa diễn ra trong tình trạng mã hóa Nó cung cấp thuật toán để chứng thực người dùng từ xa, chuyển input từ client tới host, và relay kết quả trả về tới khách hàng

Mỗi khi dữ liệu được gửi bởi một máy tính vào mạng, SSH tự động mã hóa nó Khi dữ liệu được nhận vào, SSH tự động giải mã nó Kết quả là việc mã hóa được thực hiện trong suốt, người dùng có thể làm việc bình thường mà không biết rằng việc truyền thông của họ đã được mã hóa an toàn trên mạng

SSH có thể được sử dụng để :

- Đăng nhập vào trình bao trên một máy chủ từ xa ( thay thế cho telnet và rlogin)

- Thực thi một lệnh duy nhất trên máy chủ từ xa

- Truyền tập tin an toàn ( giao thức truyền tập tin SSH-SFTP, sao chép an toàn _ SCP)

- Sao lưu, sao chép và nhân bản tập tin một cách hiệu quả và an toàn

- Chuyển tiếp hoặc truyền đa giao thực một cổng

- Sử dụng làm VPN được mã hóa chính thức ( chỉ đối với OpenSSH)

- Duyệt web thông qua sự kết nối proxy có mã hóa với các khách hàng SSH ( giao thức SOCKS)

- Lắp đặt một thư mục vào một máy chủ từ xa để làm hệ thống file trên máy tính nội bộ một cách an toàn

- Tự động giám sát và quản lý máy chủ từ xa

- Cộng tác an toàn với nhiều người sử dụng kênh shell SSH (truyền, trao đổi, chia sẻ)

1.1.2 Lịch sử phát triển của SSH

SSH1 và giao thức SSH-1 được giới thiệu bởi Tatu Ylõnen vào năm 1995 sau khi mạng trường đại học của ông trở thành nạn nhân của một cuộc tấn công đánh cắp password Sau đó, vào tháng 7 cùng năm, SSH1 được phát hành miễn phí với mã nguồn mở, thu hút hàng ngàn người dùng từ hơn 50 quốc gia Ylõnen thành lập SSH Communications Security (SCS) để duy trì và phát triển SSH

Năm 1996, SSH-2 được giới thiệu, mang lại nhiều cải tiến và không tương thích hoàn toàn với SSH-1 Cùng năm đó, IETF thành lập nhóm SECSH để chuẩn hóa giao thức SSH-2 SCS sau đó phát hành SSH2 dựa trên giao thức mới này vào năm 1998 Mặc dù SSH2 mang lại nhiều cải tiến, SSH1 vẫn tiếp tục được sử dụng rộng rãi trong một số trường hợp do các ưu điểm và sự hỗ trợ miễn phí

Trong khi đó, OpenSSH phát triển từ dự án OpenBSD cũng đã trở thành một lựa chọn phổ biến, hỗ trợ cả SSH-1 và SSH-2 Mặc dù mới, OpenSSH hứa hẹn trở thành một phần quan trọng trong cộng đồng SSH trong tương lai

1.1.3 Các đặc điểm của SSH

Tính bí mật (Privacy / Encryption): SSH mã hóa dữ liệu trên mạng để bảo vệ khỏi việc đọc trộm Có nhiều thuật toán mã hóa được hỗ trợ như AES, ARCFOUR, và DES

Tính toàn vẹn (Integrity): SSH sử dụng MD5 và SHA-1 để kiểm tra xem dữ liệu đã được truyền đi có bị thay đổi không

Chứng minh xác thực (Authentication): SSH xác minh danh tính của cả máy chủ và người dùng, ngăn chặn kẻ tấn công giả mạo

Phân quyền (Authorization): SSH giới hạn quyền truy cập của người dùng sau khi xác thực

Chuyển tiếp (Forwarding) hoặc tạo đường hầm (Tunneling): SSH cho phép chuyển tiếp dịch vụ TCP khác qua một kết nối đã mã hóa, bảo vệ tính riêng tư và toàn vẹn của dịch vụ

1.1.4 Nguyên lý hoạt động của SSH

Hình 1.1 Cơ chế hoạt động của SSH

SSH hoạt động dựa trên ba nguyên tắc chính: xác thực, mã hóa và chứng thực

Xác thực: SSH hỗ trợ mật khẩu, cặp khóa công khai và khóa tổng hợp để xác minh danh tính người dùng

Mã hóa: SSH thiết lập kênh làm việc mã hóa giữa client và server, bảo vệ dữ liệu truyền qua mạng khỏi truy cập trái phép

Chứng thực: Người dùng được xác thực thông qua mật khẩu hoặc khóa, với việc sử dụng khóa là phương thức an toàn hơn, đảm bảo tính bí mật và toàn vẹn của thông tin truyền qua mạng

1.1.5 Ứng dụng thực tế của SSH

SSH (Secure Shell) được sử dụng trong các trường hợp sau: Đăng nhập từ xa: Cho phép đăng nhập vào máy chủ từ xa một cách an toàn thay vì sử dụng giao thức không an toàn như Telnet

Truyền tải file an toàn (SCP và SFTP): Hỗ trợ các dịch vụ truyền tải file an toàn như SCP và SFTP, cho phép di chuyển dữ liệu giữa máy tính và máy chủ một cách an toàn

Quản lý máy chủ từ xa: Sử dụng để quản lý và cấu hình máy chủ từ xa mà không cần trực tiếp kết nối với nó, tiết kiệm thời gian và công sức cho người quản trị hệ thống

Tunneling (chuyển đổi port): Tạo các kênh kết nối an toàn giữa hai máy tính để chuyển đổi port qua mạng không an toàn

Thực hiện các lệnh từ xa: Thực hiện các lệnh từ xa trên máy chủ từ xa mà không cần trực tiếp kết nối với nó.

Giới thiệu về Bot và Botnet

Botnet thuật ngữ đầy đủ là “Bots network” dùng để chỉ một mạng lưới các máy tính bị chi phối bởi ai đó và bị điều khiển bởi một con máy tính khác từ xa

Các máy tính đang bị nhiễm Botnet nôm na đều gọi là các “Zombie” Máy tính bị nhiễm sẽ bị chi phối bởi một Botmaster ở trên và điều khiển hoạt động của máy tính đang dính mã độc

Mỗi thiết bị riêng lẻ dưới sự kiểm soát của bot-herder được gọi là bot Mỗi bot đóng vai trò như một công cụ để tự động hóa các cuộc tấn công hàng loạt

Hình 1.2 Mô tả Botnet 1.2.2 Cấu trúc của Botnet

1.2.2.1 Mô hình client – server (máy khách – máy chủ)

Trong mô hình client - server, mạng sẽ có 1 máy chủ hoạt động như 1 botmaster với nhiệm vụ thiết lập các lệnh, điều khiển máy khách và kiểm soát việc truyền thông tin từ mỗi một máy khách

Botmaster duy trì quyền kiểm soát mạng botnet trong mô hình này nhờ vào sự trợ giúp của 1 phần mềm đặc biệt Bởi vì mô hình này chỉ có 1 điểm kiểm soát nên rất dễ được định vị và nó phụ thuộc rất nhiều vào máy chủ Nếu máy chủ bị phá hủy thì tất cả các botnet sẽ chết theo

Hình 1.3 Mô hình client - server

1.2.2.2 Mô hình peer – to – peer (ngang hàng)

Mô hình P2P ra đời để khắc phục nhược điểm của việc dựa vào một máy chủ tập trung Trong mô hình này, các botnet mới được kết nối với nhau dưới dạng cấu trúc ngang hàng, mỗi thiết bị hoạt động độc lập như một client và server, phối hợp với nhau để cập nhật và truyền thông tin qua lại Điều này tạo ra một cấu trúc mạnh mẽ hơn do không có một nơi điều khiển tập trung duy nhất

Hình 1.4 Mô hình peer - to - peer 1.2.3 Vòng đời của 1 Botnet

Xâm nhập: Hacker sử dụng kỹ thuật khai thác lỗ hổng để xâm nhập vào các máy tính và thiết bị kết nối mạng

Kiểm soát: Hacker cài đặt phần mềm độc hại để kiểm soát các máy tính zombie

Kết nối với Command and Control (C&C): Botnet kết nối với các máy chủ Command and Control (C&C) để nhận lệnh tấn công từ hacker

Tấn công: Botnet thực hiện các cuộc tấn công như tấn công DDoS hoặc cài đặt phần mềm độc hại trên các máy tính khác

Truyền bá: Botnet cố gắng lan truyền đến các máy tính khác qua lỗ hổng và phần mềm độc hại

Phát hiện và xóa: Botnet có thể bị phát hiện và loại bỏ bởi các hệ thống bảo mật hoặc công cụ phát hiện virus

Các botnet có thể tồn tại trong thời gian dài và được cập nhật để tránh bị phát hiện và xóa bỏ

1.2.4 Dấu hiệu nhận biết Botnet

Một số dấu hiệu nhận biết khi thiết bị của bạn bị dính botnet :

- Sự thay đổi đột ngột trong hiệu suất hoạt động

- Máy tính của bạn liên tục đòi quyền truy cập vào một website nào đó khiến máy chủ của website bị quá tải và không thể đáp ứng được truy cập của người dùng

- Sự xuất hiện của các tập tin hoặc chương trình mới không mong muốn

- Hiện diện của các cửa sổ pop-up không mong muốn

1.2.5 Các loại tấn công Botnet

1.2.5.1 Distributed Denial of Service (DDoS)

Một botnet có thể được sử dụng để tiến hành cuộc tấn công DDoS (Distributed Denial of Service) nhằm phá hủy kết nối và dịch vụ mạng bằng cách quá tải tài nguyên tính toán hoặc tiêu tốn băng thông của nạn nhân

Các kỹ thuật tấn công phổ biến nhất là TCP SYN và UDP flood, không chỉ giới hạn ở máy chủ web mà còn có thể nhắm mục tiêu đến bất kỳ dịch vụ nào kết nối với Internet Sự nghiêm trọng của cuộc tấn công có thể được tăng lên thông qua HTTP flood trên trang web của nạn nhân, một kỹ thuật gọi là spidering được sử dụng để tăng hiệu suất tải.

Hình 1.5 Mô tả Distributed Denial of Service (DDoS) 1.2.5.2 Spamming (phát tán thư rác)

Một bot có thể được sử dụng để thực hiện nhiều chức năng khác nhau trong các máy tính bị nhiễm trong botnet Nó có thể dùng để xác định sự hiện diện của dữ liệu nhạy cảm trong các máy tính bị nhiễm, xác định vị trí của các botnet đối thủ, mở proxy SOCKS để sử dụng cho spamming, và sử dụng packet sniffer để đánh cắp thông tin nhạy cảm như tên người dùng và mật khẩu

Với sự trợ giúp của keylogger, việc botmaster lấy thông tin nhạy cảm và đánh cắp dữ liệu trở nên dễ dàng Sử dụng chương trình keylogger, kẻ tấn công có thể thu thập các phím được nhập trong PayPal, Yahoo, v.v

Một loại phần mềm gián điệp được xác định là OSX/XSLCmd, có thể chuyển từ Windows sang OS X, bao gồm khả năng keylogging và chụp màn hình

Hình 1.7 Mô tả Keylogging 1.2.5.4 Ăn cắp thông tin danh tính

Các loại bot khác nhau có thể được kết hợp để thực hiện hành vi trộm cắp danh tính quy mô lớn, đây là một trong những hành vi phạm tội phát triển nhanh nhất Email spam được gửi bởi bot để hướng lưu lượng truy cập đến các trang web giả mạo, đại diện cho bot để thu thập dữ liệu cá nhân Bot có thể được sử dụng để xuất hiện như một công ty hợp pháp và yêu cầu người dùng gửi thông tin cá nhân, như mật khẩu tài khoản ngân hàng, chi tiết thẻ tín dụng, chi tiết thuế, v.v Hành vi trộm cắp danh tính hàng loạt diễn ra bằng cách sử dụng email phishing để lừa nạn nhân nhập thông tin đăng nhập trên trang web như eBay, Amazon, hoặc thậm chí là ngân hàng

1.2.5.5 Lạm dụng việc trả tiền cho mỗi lần nhấp

Chương trình AdSense của Google cho phép các trang web hiển thị quảng cáo Google và từ đó kiếm tiền từ chúng Google trả tiền cho chủ sở hữu trang web trên cơ sở số lần nhấp mà quảng cáo của họ thu thập được Máy bị nhiễm được sử dụng để tự động nhấp vào một trang web, làm tăng số lần nhấp được gửi đến công ty bằng quảng cáo

Botnet cũng được sử dụng để lan truyền các botnet khác bằng cách thuyết phục người dùng tải xuống chương trình cụ thể và chương trình được thực thi thông qua email, HTTP hoặc FTP Thường thì virus sử dụng botnet này sẽ được phát tán qua email

Phần mềm quảng cáo được sử dụng để hiển thị quảng cáo trên các trang web hoặc ứng dụng mà không có sự cho phép của người dùng, thường thay thế quảng cáo gốc bằng quảng cáo lừa đảo có thể lây nhiễm vào hệ thống của người dùng Phần mềm quảng cáo này có thể sử dụng phần mềm gián điệp để thu thập dữ liệu trình duyệt

Hình 1.8 Mô tả tấn công qua click vào phần mềm quảng cáo

- Cài đặt phần mềm diệt virus hoặc chống thư rác và giữ cho chúng được cập nhật thường xuyên

- Bật cài đặt tường lửa và hạn chế truy cập không mong muốn

- Hãy chắc chắn rằng hệ điều hành được cập nhật theo thời gian

- Không tải xuống nội dung bất hợp pháp như nhạc, game, file lậu, v.v từ Internet

- Không nhấp vào file đính kèm hoặc liên kết từ các email không xác định

- Có tường lửa, hệ thống IDS/IPS và tính năng lọc nội dung

- Giám sát lưu lượng truy cập tăng bất thường

- Có tính năng bảo vệ DDoS tại chỗ

SSH Botnet

1.3.1 Tìm hiểu về SSH Botnet

SSH Botnet là một thuật ngữ được sử dụng để chỉ một tập hợp các máy tính đã bị xâm nhập và được kiểm soát từ xa thông qua giao thức SSH Các máy tính này có thể bao gồm các thiết bị IoT, máy tính cá nhân và máy chủ có cài đặt các dịch vụ SSH

Các máy tính trong mạng botnet này được kiểm soát bởi một máy tính trung tâm được gọi là Command and Control Server (C&C Server) Kẻ tấn công có thể sử dụng botnet này để thực hiện các cuộc tấn công mạng, bao gồm DDoS (Distributed Denial of Service), spam email, phát tán phần mềm độc hại, đánh cắp thông tin và các hành động khác

Các kẻ tấn công có thể sử dụng các phương pháp khác nhau để xâm nhập vào các thiết bị có kết nối internet và cài đặt mã độc để kiểm soát từ xa Một trong những phương pháp phổ biến nhất là tấn công brute-force vào giao thức SSH để đoán mật khẩu đăng nhập Khi tấn công thành công, kẻ tấn công có thể sử dụng các lỗ hổng bảo mật trên thiết bị để cài đặt mã độc hoặc phần mềm độc hại khác

Hình 1.9 Brute Force Attacks Explained

Cấu trúc của một SSH Botnet bao gồm các thành phần sau:

Command and Control (C&C) server: Trung tâm điều khiển của botnet, nơi bot kết nối để nhận lệnh tấn công

Botnet controller: Phần mềm độc hại được cài đặt trên máy tính nạn nhân, có thể điều khiển từ xa bởi C&C server

Bot agent: Phần mềm độc hại cài đặt trên các máy chủ khác nhau, được điều khiển bởi botnet controller

Proxy server: Dùng để giấu danh tính của bot khi tấn công và giảm thiểu mối đe dọa cho C&C server

Payload: Phần mềm độc hại được sử dụng để tấn công mục tiêu, có thể là keyloggers, ransomware, backdoor, v.v

1.3.3 Cách phòng chống SSH Botnet

- Thực hiện paramiko trong import có tác dụng gìện các bản sao lưu định kỳ và lưu trữ chúng ngoài hệ thống để đảm bảo tính toàn vẹn của dữ liệu khi xảy ra cuộc tấn côngĐể phòng chống SSH botnet, có thể thực hiện các biện pháp sau:

Sử dụng các phần mềm bảo mật tường lửa và phần mềm chống virus để chặn các truy cập trái phép vào hệ thống Điều chỉnh cấu hình hệ thống SSH, chẳng hạn như tắt chức năng đăng nhập bằng mật khẩu và sử dụng khóa SSH thay thế

Sử dụng các phần mềm giám sát hệ thống để theo dõi lưu lượng mạng và hoạt động của các tiến trình hệ thống Nếu có hoạt động bất thường, bạn cần thực hiện các biện pháp bảo vệ ngay lập tức

Cập nhật hệ thống và các ứng dụng thường xuyên để đảm bảo các lỗ hổng bảo mật được vá kịp thời

Giáo dục người dùng về cách bảo mật mật khẩu và tránh sử dụng các mật khẩu yếu hoặc dễ đoán

Thực hiện các biện pháp kiểm tra an ninh mạng thường xuyên, bao gồm kiểm tra định kỳ hệ thống và quản lý các chính sách bảo mật mạng

Tạo và quản lý các lớp mạng khác nhau trong hệ thống để giảm thiểu rủi ro an ninh mạng và ngăn chặn các cuộc tấn công tràn lan trên toàn bộ hệ thống

1.3.4 Tìm hiểu module Paramiko trong Python

Paramiko là một thư viện Python được sử dụng để kết nối, quản lý và tương tác với các máy chủ thông qua giao thức SSH (Secure Shell) Thư viện này cung cấp các lớp và phương thức cho phép xác thực, kết nối, truyền dữ liệu, quản lý phiên, và thực thi các lệnh trên máy chủ từ xa Paramiko cung cấp một cách tiện lợi và bảo mật cho việc tự động hóa các tác vụ trên các máy chủ từ xa, như kiểm tra tình trạng máy chủ, cài đặt phần mềm, sao lưu dữ liệu, v.v Với paramiko, các lập trình viên có thể tạo ra các ứng dụng Python mạnh mẽ và linh hoạt cho việc quản lý hệ thống từ xa

1.3.5 Dictionary mật khẩu SSH dùng Paramiko

Tấn công từ điển mật khẩu SSH là một phương pháp thường được sử dụng để đánh cắp thông tin đăng nhập vào các hệ thống Trong Python, thư viện Paramiko cũng có thể được sử dụng để thực hiện các tấn công từ điển mật khẩu SSH Để thực hiện tấn công này, ta cần tạo một kết nối SSH đến máy chủ mục tiêu bằng thư viện Paramiko Sau đó, ta sẽ thực hiện lần lượt các yêu cầu đăng nhập với các mật khẩu khác nhau cho đến khi đăng nhập thành công hoặc đã thử hết tất cả các mật khẩu trong từ điển

Dưới đây là một ví dụ đơn giản về cách sử dụng thư viện Paramiko để thực hiện tấn công từ điển mật khẩu SSH:

Hình 1.10 Hàm SSH kết nối tới máy chủ khác

Trong đoạn mã trên, ta sử dụng phương thức paramiko.SSHClient() để thiết lập kết nối SSH đến máy chủ mục tiêu Sau đó, ta sử dụng một danh sách các mật khẩu để thực hiện tấn công từ điển mật khẩu

Với mỗi mật khẩu trong danh sách, ta thực hiện yêu cầu đăng nhập bằng cách gọi phương thức ssh.connect() với tham số là mật khẩu đăng nhập Nếu đăng nhập thành công, ta in ra thông báo và thoát khỏi vòng lặp Nếu đăng nhập thất bại, ta tiếp tục thử với mật khẩu tiếp theo trong danh sách

1.3.6 Khai thác SSH thông qua khóa bí mật yếu

Mật khẩu cung cấp một phương pháp xác thực tới máy chủ SSH, nhưng không phải là phương pháp duy nhất SSH cũng hỗ trợ xác thực bằng mật mã khóa công khai, trong đó máy chủ và người dùng sử dụng các khóa riêng biệt

Sử dụng các thuật toán như RSA hoặc DSA, máy chủ tạo ra các khóa này để đăng nhập vào SSH, tạo ra một phương pháp xác thực hiệu quả hơn so với mật khẩu

Tuy nhiên, vào năm 2006, một sự cố đã xảy ra với Debian Linux khi một dòng mã cụ thể đã làm giảm đáng kể entropy trong quá trình tạo khóa SSH, dẫn đến việc giảm đáng kể số lượng khóa có thể tìm kiếm, từ 15 bit entropy xuống còn ít hơn

1.3.7 Dựng SSH Botnet với Python

Bây giờ đã chứng minh rằng có thể kiểm soát một máy chủ thông qua SSH, hãy mở rộng nó để kiểm soát nhiều máy chủ đồng thời Những kẻ tấn công thường sử dụng các bộ sưu tập máy tính bị xâm nhập cho các mục đích xấu Chúng em gọi đây là một mạng botnet vì các máy tính bị xâm nhập hoạt động giống như các bot để thực hiện các hướng dẫn Để xây dựng mạng botnet sẽ phải đưa ra một khái niệm mới - một lớp (a class) Khái niệm về một lớp đóng vai trò là cơ sở cho một mô hình lập trình có tên là lập trình hướng đối tượng Trong hệ thống này, khởi tạo các đối tượng riêng lẻ bằng các phương thức liên kết Đối với mạng botnet, mỗi bot hoặc ứng dụng client riêng lẻ sẽ yêu cầu khả năng kết nối và ra lệnh.

TÌM HIỂU VỀ DDOS

DDOS

DDoS (Distributed Denial of Service) là một loại tấn công mạng mà mục tiêu của nó là làm cho một trang web, máy chủ, dịch vụ hoặc mạng trở nên không khả dụng cho người dùng bình thường bằng cách làm chậm hoặc tắt hoàn toàn dịch vụ Điều này được thực hiện bằng cách tạo ra một lượng lớn các yêu cầu truy cập đến mục tiêu, áp đặt một gánh nặng không thể xử lý được lên hệ thống đó

Các cuộc tấn công DDoS thường được thực hiện thông qua việc sử dụng một mạng lưới các máy tính đã bị xâm nhập và kiểm soát bởi kẻ tấn công, thường là qua việc cài đặt phần mềm độc hại hoặc mã độc trên các thiết bị này mà không được chủ sở hữu biết Khi tấn công bắt đầu, các máy tính này sẽ gửi hàng loạt các yêu cầu đến mục tiêu, quá tải hệ thống và làm cho dịch vụ trở nên không khả dụng cho người dùng hợp pháp

Một trong những đặc điểm quan trọng của cuộc tấn công DDoS là tính phân tán của nó Thay vì sử dụng một máy tính duy nhất để tạo ra lưu lượng truy cập giả mạo, kẻ tấn công sử dụng một mạng lưới các máy tính đã bị xâm nhập, điều này làm cho việc ngăn chặn tấn công trở nên khó khăn hơn

Mặc dù cuộc tấn công DDoS thường không gây ra tổn thất trực tiếp đối với dữ liệu hoặc tài sản trên hệ thống, chúng có thể gây ra những hậu quả nghiêm trọng về mặt kinh tế và uy tín đối với các tổ chức và cá nhân bị tấn công Các tổ chức thường phải chi tiêu một lượng lớn tiền bạc và thời gian để khắc phục sự cố và khôi phục lại dịch vụ, đồng thời hậu quả về uy tín cũng có thể là nghiêm trọng nếu khách hàng hoặc đối tác không còn tin tưởng vào tính ổn định và an ninh của hệ thống của họ

Hình 2.1 Mô hình cuộc tấn công DDoS

Các hình thức tấn công DDOS

Mặc dù DDoS cung cấp một chế độ tấn công ít phức tạp hơn các dạng tấn công mạng khác, nhưng chúng đang ngày càng mạnh mẽ và tinh vi hơn

Hình 2.2 Các hình thức tấn công DDoS

2.2.1 Volume-Based Attacks (tấn công băng thông)

Tấn công băng thông là kỹ thuật phổ biến nhất, nơi kẻ tấn công gửi các request để làm bão hòa băng thông của hệ thống mục tiêu Các kẻ tấn công thường sử dụng kỹ thuật khuếch đại để tạo ra các request mà không cần nhiều tài nguyên

Các cuộc tấn công khuếch đại sử dụng lượng lớn phản hồi từ các request nhỏ để làm quá tải hệ thống mục tiêu Thông thường, kỹ thuật này sử dụng việc giả mạo nguồn của các gói tin, được gọi là tấn công phản xạ Ví dụ, giả mạo nguồn IP của một request DNS để lừa máy chủ DNS gửi phản hồi đến hệ thống mục tiêu thay vì nguồn truyền dữ liệu

- Các loại tấn công DDoS theo thể tích phổ biến nhất là:

UDP floods: Các cuộc tấn công này cho phép tin tặc áp đảo các cổng trên máy chủ mục tiêu bằng các gói IP chứa giao thức UDP không trạng thái

Khuếch đại DNS (hoặc phản chiếu DNS): Cuộc tấn công này chuyển hướng số lượng lớn các yêu cầu DNS đến địa chỉ IP của mục tiêu

ICMP floods: Chiến lược này sử dụng các yêu cầu lỗi ICMP false để làm quá tải băng thông của mạng

2.2.2 Protocol Attacks (tấn công giao thức)

Loại tấn công Protocol Attacks khai thác các giao thức hoạt động trên máy chủ mục tiêu Thông thường, chúng không tấn công vào ứng dụng cụ thể mà chỉ khai thác các phiên bản giao thức để gây gián đoạn hoạt động cung cấp dịch vụ Ví dụ như tấn công vào các máy chủ NTP server hoặc khai thác các lỗi TCP

Hai loại tấn công DDoS phổ biến nhất dựa trên giao thức là:

SYN floods: Tấn công này khai thác quy trình bắt tay ba bước

(handshake) TCP bằng cách gửi các yêu cầu TCP với địa chỉ IP giả đến mục tiêu Kẻ tấn công không bao giờ gửi phản hồi để hoàn thành quá trình bắt tay ba bước, làm hỏng máy chủ vì các quy trình không hoàn chỉnh chồng chất

Smurf DDoS: Tin tặc sử dụng phần mềm độc hại để gửi gói mạng với địa chỉ IP giả mạo Gói này chứa một thông báo ping ICMP yêu cầu mạng gửi lại phản hồi Tin tặc tạo ra một vòng lặp vô hạn bằng cách gửi phản hồi cho địa chỉ

IP mạng lại, làm hệ thống bị treo

2.2.3 Application Layer Attacks (tấn công ứng dụng) Đây là hình thức tấn công DDoS phổ biến nhất, các cuộc tấn công lớp ứng dụng tạo ra một lượng lớn các yêu cầu HTTP, nhanh chóng làm cạn kiệt khả năng phản hồi của mục tiêu từ đó khiến hệ thống từ chối dịch vụ Các hệ thống rất khó để phân biệt giữa các yêu cầu HTTP hợp lệ và độc hại khiến các cuộc tấn công này khó bị ngăn chặn và đối phó Lớp ứng dụng là lớp thứ 7 và cuối cùng của mô hình OSI Nó bao gồm những phần mềm, ứng dụng web, dịch vụ… mà người dùng hay sử dụng và tương tác khi họ truy cập Internet Các cuộc tấn công lớp ứng dụng còn được gọi là cuộc tấn công lớp 7.

Dấu hiệu của tấn công DDoS

Dưới đây là một số dấu hiệu của tấn công DDoS:

T ốc độ truy cập lớn: Sự tăng đột biến trong lưu lượng truy cập đến hệ thống, dẫn đến sự chậm trễ hoặc tạm dừng hoạt động của hệ thống

Giảm tốc độ truy cập: Lưu lượng truy cập giảm, thường là do tấn công

Khối lượng lớn yêu cầu: Hệ thống nhận được một lượng lớn yêu cầu truy cập đồng thời, vượt quá khả năng xử lý

Khối lượng lớn dữ liệu: Gửi một lượng lớn dữ liệu đến hệ thống mục tiêu, gây áp lực lớn lên băng thông mạng

Sự giảm đáng kể về hiệu suất hệ thống: Hệ thống trở nên chậm, ứng dụng treo hoặc không phản hồi, và có thể tạm dừng hoạt động hoặc không thể truy cập được.

Các cuộc tấn công DDoS gần đây

Vào tháng 6-2021, trang web và fanpage của báo điện tử VOV bị tấn công từ chối dịch vụ (DDoS), làm tràn băng thông, khiến việc truy cập vào báo bị tê liệt Một số đối tượng đã tạo các tài khoản ảo để tấn công nhiều nền tảng của Báo Điện tử VOV, kêu gọi đánh giá 1 sao trên Google Maps với trang vov.vn nhằm làm giảm uy tín của cơ quan này.

Hình 2.3 Hình ảnh website sau khi bị tấn công DDoS 2.4.2 Ngoài nước

Các cuộc tấn công DDoS lớn và đáng chú ý:

Cuộc tấn công vào khách hàng của Microsoft cuối năm 2021 với thông lượng lên tới 3,47 terabit mỗi giây (Tbps)

Cuộc tấn công vào Google năm 2017 với độ lớn ước tính lên tới 2,54 Tbps

Cuộc tấn công vào Amazon Web Services (AWS) năm 2020, nhắm vào một khách hàng của AWS

Vụ tấn công DDoS vào 6 ngân hàng của Mỹ trong năm 2012, tạo ra tốc độ hơn 60 Gbps

DDoS attack có thể làm tê liệt tài nguyên mạng và ảnh hưởng đến danh tiếng thương hiệu, kèm theo đó là tốn các nguồn lực thu dọn "tàn cuộc".

Giải pháp phòng chống DDoS

Dưới đây là một số giải pháp phòng chống DDoS:

Sử dụng Firewall: Ngăn chặn các luồng dữ liệu không hợp lệ và các yêu cầu kết nối không hợp lệ đến mục tiêu

Sử dụng CDN: Phân phối tài nguyên web trên nhiều máy chủ trên toàn thế giới, giảm áp lực lên một máy chủ cụ thể

Sử dụng Load Balancer: Phân phối tải đều cho nhiều máy chủ, giảm áp lực lên máy chủ cụ thể

Sử dụng Anti-DDoS Services: Cung cấp giải pháp chuyên nghiệp để chống lại các cuộc tấn công DDoS

Tăng cường bảo mật hệ thống: Sử dụng các phần mềm chống virus, tường lửa và công cụ bảo mật khác để giảm khả năng bị tấn công DDoS.

Xây dựng kết nối SSH với python

Hình 2.4 Xây dựng hàm kết nối SSH và hàm gửi câu lệnh

+ Giải thích code send_command(): Hàm gửi câu lệnh được chuyển thành dạng UTF-8 trước khi được hiển thị ra ngoài terminal connect(): Sử dụng thư viện pexpect để tạo ra một phiên pxssh hỗ trợ cho việc kết nối đến máy chủ Sau đó thực hiện phương thức login() có sẵn của pexpect với các tham số ip, username, hostname truyền vào tương ứng.

Xây dựng chương trình tấn công Brute-Force với python

Hình 2.5 Hàm bruteforce dò mật khẩu

+ Giải thích code bruteforce_attack(): Đây là hàm dò mật khẩu với char là dạng ký tự ASCII được xóa khoàng trống ở 2 đầu Biến attemps sẽ lưu lại số lần thử mật khẩu Duyệt 1 vòng lặp sử dụng itertools.product(), với mỗi lần duyệt sẽ tạo ra các ký tự đến cặp ký tự ASCII khác nhau dựa vào biến char và biến length từ vòng lặp ở trên ( length ban đầu là 1 ) Sau mỗi lần dò sẽ ghi mật khẩu vào file được để trong hàm write_guesses_to_file(guess) Khi dò được mật khẩu sẽ trả về số lần dò và password chính xác. data_leakage(): Ghi lại mật khẩu chính xác.

Xây dựng chương trình tấn công Spam Email với python

Hình 2.6 Hàm kết nối email qua smtp và gửi yêu cầu

Giải thích code: import smtplib: Import thư viện smtplib để có thể gửi email từ Python with smtplib.SMTP('smtp.gmail.com', '587') as smtpserver: Mở một kết nối với máy chủ SMTP của Gmail thông qua giao thức SSL (Secure Sockets Layer) trên cổng nào đó ( ở đây chọn cổng bất kỳ là 587 ) with được sử dụng để đảm bảo rằng kết nối được đóng sau khi kết thúc block mã smtpserver.ehlo(): Gửi lệnh EHLO (Extended HELO) để bắt đầu một phiên giao tiếp với máy chủ SMTP smtpserver.starttls(): Bắt đầu một phiên truyền thông an toàn (TLS) để mã hóa dữ liệu gửi đi, đảm bảo tính bảo mật của thông tin đăng nhập smtpserver.ehlo(): Thực hiện EHLO lại sau khi đã thiết lập kết nối TLS smtpserver.login(fromaddrs, passwd): Đăng nhập vào tài khoản Gmail sử dụng địa chỉ email (fromaddrs) và mật khẩu (passwd) đã được cung cấp Điều này là cần thiết để máy chủ SMTP chấp nhận và gửi email từ tài khoản này smtpserver.sendmail(fromaddrs, toaddrs, message): Gửi email từ địa chỉ nguồn (fromaddrs) đến địa chỉ đích (toaddrs) với nội dung được chỉ định trong biến message.

Xây dựng chương trình tấn công DDOS với python

2.9.1 Xây dựng các hàm tấn công Syn-Flood Ở đây ta sử dụng công cụ “hping3” làm công cụ hỗ trợ tấn công, hping3 là một công cụ mạng mã nguồn mở được sử dụng để thực hiện các hoạt động kiểm tra và tấn công mạng trong môi trường Linux Nó cung cấp một loạt các tính năng mạnh mẽ cho việc tương tác với mạng, bao gồm gửi các gói tin mạng với các tùy chọn tùy chỉnh, theo dõi và phân tích gói tin mạng, và kiểm tra bảo mật mạng

Tất cả các thư viện đều hỗ trợ việc thực thi lệnh trong terminal và quản lý thời gian trong Python:

+ subprocess: Thực thi lệnh shell từ Python và xử lý đầu ra và lỗi của các tiến trình

+ time: Đo thời gian chạy của mã, tạo độ trễ trong thực thi chương trình và tính toán thời gian dựa trên timestamp

+ sys: Truy cập các thông tin và chức năng liên quan đến trình thông dịch

Python, bao gồm cả thông tin từ dòng lệnh và xử lý tệp tin và thư mục

➢ log_file = open("syn_flood_log.txt", "a")

Các thông số của cuộc tấn công sẽ được ghi vào file syn_flood_log.txt

Hình 2.7 Kiểm tra định dạng IP

Dòng đầu tiên của mã kiểm tra xem source có phải là một địa chỉ IP hợp lệ không bằng cách sử dụng phương pháp isdigit() để kiểm tra xem source có chứa toàn bộ các ký tự là số không

Ngoài ra, hàm all() được sử dụng để kiểm tra tất cả các phần tử trong danh sách (tách ra từ source bằng dấu chấm) có thỏa mãn điều kiện là giá trị từ 0 đến 255 không

Thực hiện tấn công với IP nguồn được spoof là source:

Nếu source được xác định là một địa chỉ IP hợp lệ, chương trình tiếp tục thực hiện tấn công TCP SYN Flood bằng công cụ hping3

Công cụ hping3 được gọi với các tham số tùy chỉnh như sau:

flood: Tấn công flood, gửi gói tin SYN mà không cần chờ phản hồi

-d data: Số lượng byte dữ liệu được gửi cùng với gói tin SYN

frag: Tạo gói tin với các fragment ảo

spoof source: Địa chỉ IP nguồn được spoof là source

-p port: Cổng đích của máy chủ mục tiêu

-S: Thiết lập cờ SYN trong gói tin TCP

+ Thực hiện tấn công với địa chỉ IP ngẫu nhiên làm IP nguồn:

Nếu source được nhập là "r" (để sử dụng địa chỉ IP nguồn ngẫu nhiên), chương trình cũng sẽ thực hiện tấn công TCP SYN Flood như trên, nhưng với địa chỉ IP nguồn được chọn ngẫu nhiên

+ Thực hiện tấn công với địa chỉ IP của giao diện làm IP nguồn:

Nếu source được nhập là "i" (để sử dụng địa chỉ IP nguồn của giao diện), chương trình cũng sẽ thực hiện tấn công TCP SYN Flood như trên, nhưng với địa chỉ IP nguồn là địa chỉ IP của giao diện mạng hiện tại

Hình 2.8 Hàm main lấy tham số từ dòng lệnh 2.9.2 Xây dựng BotMaster

Hình 2.9 Xây dựng BotMaster Ở bên BotMaster, vì chỉ là demo trong phạm vi nhỏ, ta tạo 3 luồng kết nối vào 3

Botnet sau đó kết nối và điều khiển ( truyền các tham số của cuộc tấn công để bên Botnet bắt đầu cuộc tấn công theo các tham số truyền vào ).

THỰC NGHIỆM

Thiết kế mô hình hệ thống

- 1 máy Kali Linux để tấn công

- 1 máy Kali Linux có cài VSCode để chạy code

- 1 Email bot đã mở xác minh 2 bước, và tạo một mật khẩu ứng dụng

- 1 máy Kali Linux để tấn công

- 1 máy Window Server đóng vai trò là nạn nhân ( đã mở port để tiến hành gửi gói SYN)

Xây dựng các kịch bản kiểm thử

Mục tiêu của cuộc tấn công này là dò được mật khẩu đăng nhập chính xác Cụ thể cuộc tấn công bắt đầu với việc thử một loạt các mật khẩu khác nhau , cho đến khi tìm được mật khẩu chính xác thì quá trình dò mật khẩu sẽ kết thúc + Tiến hành:

Hình 3.1 Tiến hành dò mật khẩu và ghi vào file

Hình 3.2 Dò mật khẩu trên terminal

Ta có thể thấy sau số lần là 1037 thì mật khẩu chính xác là a2 đã được tìm thấy

Hình 3.3 Kết quả file chứa các mật khẩu đã từng dò

+ Ứng dụng và kết luận

Khả năng của tấn công Brute-Force

Tấn công Brute-force là phương pháp tấn công đơn giản nhưng hiệu quả, sử dụng thử tất cả các khả năng mật khẩu để truy cập trái phép vào hệ thống hoặc tài khoản Phương pháp này có thể:

Bẻ khóa mật khẩu: Brute-force có thể bẻ khóa mật khẩu của tài khoản người

Phá mã: Brute-force có thể phá mã hóa dữ liệu được bảo vệ bằng mật mã.

Vượt qua các biện pháp bảo mật: Brute-force có thể vượt qua một số biện pháp bảo mật yếu, chẳng hạn như mã PIN đơn giản. Ứng dụng thực tế:

Tấn công Brute-force có thể được sử dụng cho nhiều mục đích, bao gồm:

Khôi phục mật khẩu bị quên: Brute-force có thể được sử dụng để khôi phục mật khẩu bị quên cho tài khoản người dùng hoặc hệ thống.

Phá mã dữ liệu: Brute-force có thể được sử dụng để phá mã dữ liệu được bảo vệ bằng mật mã trong các trường hợp hợp pháp, chẳng hạn như điều tra tội phạm.

Kiểm tra bảo mật: Brute-force có thể được sử dụng để kiểm tra độ mạnh của mật khẩu và hệ thống bảo mật.

Hack tài khoản: Brute-force thường được sử dụng bởi hacker để truy cập trái phép vào tài khoản người dùng, email, máy tính, website, v.v.

Lấy cắp dữ liệu: Brute-force có thể được sử dụng để lấy cắp dữ liệu nhạy cảm được bảo vệ bằng mật mã.

Gây ra thiệt hại: Brute-force có thể được sử dụng để gây ra thiệt hại cho hệ thống hoặc website bằng cách tấn công từ chối dịch vụ (DDoS).

Tấn công Brute-force là một phương pháp tấn công hiệu quả, nhưng cũng có nhiều hạn chế Người dùng có thể giảm thiểu nguy cơ bị tấn công Brute-force bằng cách sử dụng mật khẩu mạnh và phức tạp, cũng như sử dụng các biện pháp bảo mật bổ sung như xác thực hai yếu tố.

Gửi spam tin nhắn ( mail rác ) tới các gmail được chỉ định mà không được sự cho phép của người nhận Do đó những email spam thường mang lại những trải nghiệm không tốt cho người dùng

Thêm hàm main vào và bắt đầu tiến hành tấn công spam email

Hình 3.4 Hàm main để nhập thông tin

Hình 3.5 Kết quả thực thi code spam Email

Hình 3.6 Kết quả spam email trả về hòm thư

Khi nhập đúng thông tin và mật khẩu email, chương trình sẽ chạy và spam thư tới email được chỉ định

+ Ứng dụng thực tế và kết luận: Ứng dụng thực tế:

Spam email thường được sử dụng cho các mục đích không mong muốn như:

- Tiếp thị không đúng cách: Gửi hàng loạt email quảng cáo sản phẩm hoặc dịch vụ mà người nhận không quan tâm

- Lừa đảo và phishing: Gửi email giả mạo nhằm lừa đảo người nhận để họ tiết lộ thông tin cá nhân hoặc tài khoản

- Phân phối mã độc: Chứa liên kết hoặc tệp đính kèm độc hại để lây nhiễm virus hoặc malware vào máy tính của người nhận

Spam email gây phiền toái, có nguy cơ bảo mật và có thể ảnh hưởng đến uy tín của doanh nghiệp Điều này làm cho nó không chỉ là một vấn đề cá nhân mà còn là một mối đe dọa lớn đối với bảo mật và uy tín của tổ chức

+ Mục tiêu: Điều khiển một vài máy bot gửi nhiều yêu cầu kết nối SYN tới một máy chủ mạng hoặc một địa chỉ IP nhất định, với mục đích làm cho hệ thống mạng bị quá tải và không thể phản hồi yêu cầu từ các máy tính khác

Bước 1: Tìm các port đang mở trên Window Server 2012 nmap 192.168.203.200

Bước 2: Bắt đầu tấn công:

Trên Kali linux chạy chương trình đã xây dựng ở BotMaster

Dùng công cụ Wireshark để bắt các gói tin

Mở máy Windows Server 2012 kiểm tra kết quả CPU

Hình 3.7 Hình ảnh khi đã kết nối với các bots

Tại đây, thấy BotMaster đã kết nối thành công tới 3 bot ( địa chỉ ip như hình trên ) Tiến hành gửi câu lệnh tấn công Syn-Flood tới máy mục tiêu

Hình 3.9 Quá trình gửi nhận các gói tin

Hình 3.10 CPU tăng lên đột ngột bất thường

Sau khi BotMaster gửi lệnh, có thể thấy 3 máy bot liên tục gửi gói SYN tới máy mục tiêu được chỉ định Và dẫn tới quả tải ở máy mục tiêu, cuộc tấn công từ chối dịch vụ (DDOS) được tiến hành

+ Ứng dụng thực tế và kết luận: Ứng dụng thực tế:

Từ chối dịch vụ (Denial of Service - DoS): Tấn công SYN flood thường được sử dụng để tạo ra một trạng thái từ chối dịch vụ (DoS) bằng cách làm cho máy chủ trở nên không khả dụng cho người dùng hợp lệ

Làm quá tải hệ thống: Bằng cách gửi một lượng lớn yêu cầu kết nối

SYN, kẻ tấn công có thể làm quá tải tài nguyên hệ thống của máy chủ mục tiêu, gây ra hiệu suất giảm đáng kể hoặc làm cho dịch vụ trở nên không sử dụng được

Chiếm giữ tài nguyên: Tấn công SYN flood có thể được sử dụng để chiếm giữ tài nguyên của máy chủ mục tiêu, ngăn chặn người dùng hợp lệ khác từ việc truy cập vào dịch vụ hoặc tài nguyên mạng

Mục tiêu tấn công lừa đảo: Kẻ tấn công có thể sử dụng tấn công SYN flood như một phần của một cuộc tấn công lớn hơn hoặc như một phương tiện để làm nhiễm độc dữ liệu mạng

Ngày đăng: 18/05/2024, 16:15

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Mô tả Botnet - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.2. Mô tả Botnet (Trang 11)
Hình 1.3. Mô hình client - server - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.3. Mô hình client - server (Trang 11)
Hình 1.4. Mô hình peer - to - peer  1.2.3. Vòng đời của 1 Botnet - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.4. Mô hình peer - to - peer 1.2.3. Vòng đời của 1 Botnet (Trang 12)
Hình 1.5. Mô tả Distributed Denial of Service (DDoS)  1.2.5.2. Spamming (phát tán thư rác) - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.5. Mô tả Distributed Denial of Service (DDoS) 1.2.5.2. Spamming (phát tán thư rác) (Trang 14)
Hình 1.6. Mô tả Spamming  1.2.5.3. Keylogging - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.6. Mô tả Spamming 1.2.5.3. Keylogging (Trang 14)
Hình 1.7. Mô tả Keylogging  1.2.5.4.  Ăn cắp thông tin danh tính - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.7. Mô tả Keylogging 1.2.5.4. Ăn cắp thông tin danh tính (Trang 15)
Hình 1.8 Mô tả tấn công qua click vào phần mềm quảng cáo  1.2.6.     Cách phòng chống Botnet - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.8 Mô tả tấn công qua click vào phần mềm quảng cáo 1.2.6. Cách phòng chống Botnet (Trang 16)
Hình 1.9. Brute Force Attacks Explained - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.9. Brute Force Attacks Explained (Trang 17)
Hình 1.10. Hàm SSH kết nối tới máy chủ khác - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 1.10. Hàm SSH kết nối tới máy chủ khác (Trang 19)
Hình 2.1. Mô hình cuộc tấn công DDoS - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.1. Mô hình cuộc tấn công DDoS (Trang 22)
Hình 2.2. Các hình thức tấn công DDoS - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.2. Các hình thức tấn công DDoS (Trang 22)
Hình 2.3. Hình ảnh website sau khi bị tấn công DDoS  2.4.2.   Ngoài nước - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.3. Hình ảnh website sau khi bị tấn công DDoS 2.4.2. Ngoài nước (Trang 25)
Hình 2.4. Xây dựng hàm kết nối SSH và hàm gửi câu lệnh - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.4. Xây dựng hàm kết nối SSH và hàm gửi câu lệnh (Trang 26)
Hình 2.5. Hàm bruteforce dò mật khẩu - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.5. Hàm bruteforce dò mật khẩu (Trang 27)
Hình 2.6. Hàm kết nối email qua smtp và gửi yêu cầu - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.6. Hàm kết nối email qua smtp và gửi yêu cầu (Trang 28)
Hình 2.7. Kiểm tra định dạng IP - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.7. Kiểm tra định dạng IP (Trang 30)
Hình 2.8. Hàm main lấy tham số từ dòng lệnh  2.9.2.   Xây dựng BotMaster - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.8. Hàm main lấy tham số từ dòng lệnh 2.9.2. Xây dựng BotMaster (Trang 31)
Hình 2.9. Xây dựng BotMaster - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 2.9. Xây dựng BotMaster (Trang 31)
Hình 3.3. Kết quả file chứa các mật khẩu đã từng dò - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.3. Kết quả file chứa các mật khẩu đã từng dò (Trang 33)
Hình 3.5. Kết quả thực thi code spam Email - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.5. Kết quả thực thi code spam Email (Trang 35)
Hình 3.4. Hàm main để nhập thông tin - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.4. Hàm main để nhập thông tin (Trang 35)
Hình 3.7. Hình ảnh khi đã kết nối với các bots - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.7. Hình ảnh khi đã kết nối với các bots (Trang 37)
Hình 3.9. Quá trình gửi nhận các gói tin - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.9. Quá trình gửi nhận các gói tin (Trang 38)
Hình 3.10. CPU tăng lên đột ngột bất thường - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
Hình 3.10. CPU tăng lên đột ngột bất thường (Trang 38)
BẢNG PHÂN CÔNG CÔNG VIỆC - báo cáo môn học kỹ thuật lập trình đề tài tìm hiểu về ssh botnet
BẢNG PHÂN CÔNG CÔNG VIỆC (Trang 49)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w