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

Đề cương đồ án tốt nghiệp nghiên cứu tấn công DDOS với botnet mirai trên các thiết bị internet of things ( iot )

50 40 0

Đ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 đề Nghiên Cứu Tấn Công DDOS Với Botnet Mirai Trên Các Thiết Bị Internet Of Things (Iot)
Tác giả Nguyễn Thế Đạt
Người hướng dẫn KS. Nguyễn Mạnh Thắng
Trường học Học viện Kỹ thuật mật mã
Chuyên ngành Công nghệ thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2017
Thành phố Hà Nội
Định dạng
Số trang 50
Dung lượng 1,54 MB

Cấu trúc

  • Mục lục

  • Danh mục kí hiệu và viết tắt

  • Danh mục hình vẽ

  • Danh mục bảng

  • Lời nói đầu

  • Chương 1. Tổng quan về internet of things

    • 1.1. Lịch sử hình thành và phát triển Internet

    • 1.2. Giới thiệt về Internet of Things

      • 1.2.1. Xu hướng phát triển

      • 1.2.2. Ứng dụng thực tiễn

      • 1.2.3. Những mối nguy hiểm tiềm ẩn

  • Chương 2. Tổng quan về tấn công từ chối dịch vụ ddos

    • 2.1. Tổng quan về an ninh mạng

    • 2.2. Tổng quan về tấn công từ chối dịch vụ

      • 2.2.1. Giới thiệu về tấn công từ chối dịch vụ

        • a) Giới thiệu về Botnet

        • b) Nguyên lý hoạt động Botnet

      • 2.2.2. Mô hình tấn công từ chối dịch vụ

      • 2.2.3. Xu hướng tấn công từ chối dịch vụ của tội phạm mạng

  • Chương 3. Nghiên cứu về mã nguồn botnet mirai

    • 3.1. Giới thiệu về Botnet Mirai

      • 3.1.1. Thành phần cấu trúc của Botnet Mirai

      • 3.1.2. Cách thức điều khiển và lây lan Bots:

    • 3.2. Phân tích các thành phần của Botnet Mirai

      • 3.2.1. Máy chủ CNC

        • a) Chức năng

        • b) Nguyên lý hoạt động

      • 3.2.2. Máy chủ Loader

        • a) Chức năng

        • b) Nguyên lý hoạt động

      • 3.2.3. Máy chủ Report

        • a) Chức năng

        • b) Nguyên lý hoạt động

      • 3.2.4. Mã độc

        • a) Chức năng

        • b) Nguyên lý hoạt động

  • Chương 4. Triển khai thực nghiệm botnet mirai trÊn cÁc thiết bị iot

    • 4.1. Mô tả thực nghiệm

    • 4.2. Thử nghiệm tấn công

      • Bước 1. Khởi chạy CNC Server

      • Bước 2. Khởi chạy Report Server

      • Bước 3. Nhập thiết bị IoT cho Loader lây lan Malware

      • Bước 4. Attacker telnet tới CNC

      • Bước 5. Kiểm tra trạng thái Loader Server, Bot, Report Server

      • Bước 6. Attacker tấn công Victim

      • Bước 7. Kiểm tra kết quả

  • Kết luận

  • Tài liệu tham khảo

  • Phụ lục

Nội dung

Tổng quan về internet of things

Lịch sử hình thành và phát triển Internet

Internet ra đời như một mạng lưới quân sự, với ARPANET được phát triển bởi DARPA vào năm 1969 để thử nghiệm và nghiên cứu Thời điểm đó, hệ thống máy tính chủ yếu là máy chủ trung tâm, dễ bị tổn thương trước các cuộc tấn công tên lửa, có thể phá hủy toàn bộ thông tin Do đó, ARPANET được thiết kế nhằm phân bổ thông tin trên các hệ thống máy tính, tạo ra nền tảng cho sự phát triển của Internet sau này.

Ban đầu, ARPANET được xây dựng với tốc độ truyền dữ liệu 56 kbps, kết nối giữa các viện nghiên cứu và trường đại học ở Mỹ thông qua mạng gói Sự phát triển công nghệ đã giúp ARPANET trở thành mạng truyền thông trung tâm trong gần 20 năm tiếp theo.

Giao thức TCP/IP là công nghệ nền tảng quan trọng cho sự phát triển Internet, được DARPA áp dụng làm giao thức chuẩn cho ARPANET Từ đó, TCP/IP đã trở thành giao thức chuẩn của Internet Nhiều nghiên cứu và phát triển trong công nghệ mạng LAN vào giữa những năm 1970 đã góp phần lớn vào sự tiến bộ của Internet.

Năm 1983, một phần của mạng ARPANET, chủ yếu phục vụ cho mục đích quân sự, đã được tách ra thành MILNET (MILitary NETwork), trong khi phần còn lại được chuyển đổi thành mạng phục vụ cho khoa học và nghiên cứu Vào thời điểm đó, TCP/IP đã được chấp nhận là giao thức truyền thông chính.

Quĩ khoa học quốc gia Hoa Kỳ (NSF) đã xây dựng và vận hành hệ thống mạng độc lập của mình có tên là NSFNET vào năm 1986

Sau đó, NSFNET và ARPANET đã được liên nối để hình thành nên bản mẫu Internet đầu tiên của thế giới (NSFNET đã hấp thu ARPANET vào năm 1990)

Sự phát triển của Internet không thể thiếu cơ sở hạ tầng truyền thông, mà một trong những người tiên phong nhận ra tầm quan trọng này là phó tổng thống Mỹ Al Gore với kế hoạch NII vào năm 1993 Kế hoạch này nhấn mạnh việc nghiên cứu và phát triển mạng siêu tốc độ Gbps, cùng với sự toàn cầu hóa đã thúc đẩy xây dựng hạ tầng truyền thông Hiện nay, với sự hỗ trợ của giao thức TCP/IP, máy tính cá nhân có khả năng xử lý cao hơn và giá thành thấp hơn, đã tạo điều kiện cho công chúng dễ dàng kết nối Internet, góp phần làm cho việc sử dụng Internet trở nên phổ biến rộng rãi.

Giới thiệt về Internet of Things

Với sự bùng nổ của Internet, smartphone và các thiết bị cảm biến, Internet of Things (IoT) đang trở thành xu hướng toàn cầu IoT được hiểu là những thiết bị có khả năng kết nối Internet, mang đến những tiện ích hiện đại Khái niệm nhà thông minh, nơi mà cửa tự động mở, đèn tự sáng, điều hòa tự điều chỉnh nhiệt độ và nhạc tự phát để chào đón, không còn chỉ là tưởng tượng trong phim khoa học viễn tưởng mà đang dần trở thành hiện thực nhờ vào công nghệ IoT.

Xu hướng phát triển IoT đang mở ra những giải pháp an toàn giao thông thông qua mạng cảm biến phương tiện Mạng này bao gồm nhiều phương tiện có khả năng giao tiếp V2V, cho phép chúng truyền và nhận thông tin để dự đoán các tình huống giao thông Nhờ vào trí tuệ nhân tạo, các phương tiện có thể tự điều khiển hoặc cảnh báo người dùng về các tình huống nguy hiểm.

Các thiết bị Internet of Things (IoT) hoạt động nhờ các bộ vi xử lý SOC, được thiết kế như một máy tính thu nhỏ trong một con chip điện tử SOC không chỉ có khả năng kết nối không dây mà còn tiết kiệm điện năng Mặc dù kích thước nhỏ gọn, sức mạnh của các vi xử lý SOC cho phép chúng vận hành mượt mà các hệ điều hành nặng như Windows và Linux SOC rất phổ biến trong các linh kiện của điện thoại thông minh.

Theo dự báo của IDC, thị trường Internet of Things sẽ tăng gấp 3 lần, đạt 1,7 nghìn tỉ USD vào năm 2020 Nhiều doanh nghiệp lớn đã nhận ra tiềm năng của Internet of Things và đầu tư mạnh mẽ vào lĩnh vực này Tuy nhiên, giống như bất kỳ công nghệ mới nào, Internet of Things cần một nền tảng vận hành hiệu quả Các doanh nghiệp công nghệ hiểu rằng, ai tạo ra nền tảng dẫn đầu sẽ là người chiến thắng trong xu hướng mới này.

Internet of Things đã biến nhiều ý tưởng độc đáo thành hiện thực, không chỉ nâng cao công dụng của thiết bị mà còn cải thiện chất lượng cuộc sống Một ví dụ điển hình là Boogio - đôi giày thông minh tích hợp cảm biến mỏng và máy tính Artik siêu nhỏ, cho phép người dùng theo dõi số bước đi, bài tập, lượng calo tiêu thụ và chỉ số sức khỏe, từ đó giúp họ có một cơ thể dẻo dai hơn.

Weenat là một sản phẩm của Internet of Things, được thiết kế nhằm tiết kiệm nước trong nông nghiệp Sản phẩm này sử dụng cảm biến độ ẩm kết hợp với máy tính siêu nhỏ để tính toán độ ẩm và đưa ra quyết định canh tác hợp lý Hệ thống cảm biến hoạt động không dây, được lắp đặt trực tiếp trên cánh đồng với vòng đời dài, giúp nông dân tiết kiệm tối đa nguồn nước cho tưới tiêu.

Các hãng công nghệ lớn đang phát triển nhiều thiết bị Internet of Things thông minh, giúp cải thiện chất lượng cuộc sống của người dùng Những nỗ lực đầu tư không ngừng cho cuộc cách mạng Internet of Things hứa hẹn mang lại một tương lai tươi sáng hơn cho nhân loại.

1.2.3 Những mối nguy hiểm tiềm ẩn

 Các thiết bị kết nối với Internet nhưng chỉ được bảo vệ bằng mật khẩu mã hóa cứng (hard-coded password) hoặc mật khẩu yếu

Lỗ hổng bảo mật Zero-day trong các sản phẩm thông minh hiện nay đang gia tăng, tạo điều kiện thuận lợi cho tin tặc, botnet và các hình thức tội phạm mạng phát triển.

Các lỗ hổng CVE liên quan đến thiết bị IoT, chẳng hạn như router, đã được công khai, gây ra mối lo ngại không chỉ cho các doanh nghiệp mà còn ảnh hưởng đến uy tín của các nhà cung cấp dịch vụ.

 Lập trình IoT trên linux nếu không hiểu rõ những thư viện tải về sử dụng để code cũng là 1 vấn đề nguy hiểm khi lập trình IoT

Bảo mật cho các thiết bị IoT gặp nhiều khó khăn do các yếu tố kỹ thuật, công nghệ và văn hóa Người dùng thường không cập nhật bản vá mới nhất cho máy tính xách tay và điện thoại thông minh, khiến việc bảo vệ thiết bị trở nên phức tạp Ngày nay, mọi thiết bị đều có thể tồn tại lỗ hổng bảo mật, và việc nâng cấp firmware hoặc cài đặt bản vá cho chúng thường gặp phải nhiều rắc rối.

Hacker hiện nay đang chuyển hướng tấn công vào các thiết bị IoT như camera giám sát CCTV, đầu ghi DVR, smartTV và hệ thống tự động trong nhà thay vì máy tính xách tay hay máy tính để bàn Điều này khiến việc phát hiện botnet trong các thiết bị IoT trở nên khó khăn hơn nhiều.

Khi một thiết bị bị nhiễm mã độc, nó có thể trở thành công cụ phát tán mã độc đến các thiết bị khác, từ đó hình thành một mạng botnet khổng lồ và mở rộng nhanh chóng.

Tổng quan về tấn công từ chối dịch vụ ddos

Tổng quan về an ninh mạng

Máy tính chứa dữ liệu được quản lý bởi hệ điều hành và thường được kết nối với mạng LAN và Internet, đặc biệt là trong các công ty, doanh nghiệp Nếu không có hệ thống bảo vệ, máy tính và mạng sẽ trở thành mục tiêu cho các mối đe dọa như virus, worms và người dùng trái phép, có khả năng bị tấn công bất cứ lúc nào.

An toàn mạng là việc bảo vệ hệ thống mạng và máy tính khỏi sự phá hoại phần cứng và chỉnh sửa dữ liệu mà không có sự cho phép Nó cung cấp giải pháp và chính sách nhằm bảo vệ máy tính và hệ thống mạng, ngăn chặn sự xâm nhập trái phép từ những người dùng không được phép cũng như các phần mềm độc hại.

Tổng quan về tấn công từ chối dịch vụ

2.2.1 Giới thiệu về tấn công từ chối dịch vụ

Tấn công từ chối dịch vụ (DoS) là nỗ lực làm cho tài nguyên của một máy tính không thể sử dụng được, ảnh hưởng đến người dùng của nó Mặc dù có nhiều phương thức, động cơ và mục tiêu khác nhau, tấn công này thường bao gồm sự phối hợp và cố ý từ một hoặc nhiều cá nhân nhằm làm gián đoạn hoạt động của một trang web hoặc dịch vụ trực tuyến, có thể dẫn đến tình trạng tạm thời hoặc kéo dài.

Tấn công từ chối dịch vụ (DoS) là hành động ngăn cản người dùng hợp pháp truy cập vào dịch vụ, thường thông qua việc làm tràn ngập mạng hoặc mất kết nối với dịch vụ Mục tiêu của DoS là khiến máy chủ không thể đáp ứng yêu cầu từ các máy trạm, dẫn đến việc ngưng hoạt động của máy tính, mạng nội bộ hoặc hệ thống mạng lớn Kẻ tấn công sẽ chiếm dụng tài nguyên mạng như băng thông và bộ nhớ, làm giảm khả năng xử lý yêu cầu từ các client khác Một trong những phương thức phổ biến để thực hiện DoS là sử dụng botnet, một mạng lưới các thiết bị bị nhiễm mã độc, giúp kẻ tấn công gia tăng sức mạnh tấn công.

Một "bot" là phần mềm độc hại cho phép kẻ tấn công chiếm quyền kiểm soát hoàn toàn máy tính bị ảnh hưởng Những máy tính bị nhiễm "bot" thường được gọi là zombie Trên thực tế, có hàng nghìn máy tính trên Internet bị nhiễm nhiều loại "bot" mà thậm chí người dùng không nhận ra.

 Máy chủ Bot kiểm soát và điều khiển mô ̣t botnet được go ̣i là botmaster

 Bot là mô ̣t chương trình client cho phép Botmaster ra lê ̣nh và kiểm soát máy tinh bi ̣ nhiễm

Botnet là mô ̣t ma ̣ng lưới các máy tính bị xâm nhâ ̣p, lây nhiễm bởi bot b) Nguyên lý hoạt động Botnet

Một botnet bao gồm ít nhất một botmaster và một hoặc nhiều bot Khả năng hoạt động phối hợp của các bot trong botnet là nền tảng cho khái niệm botnet Botnet được quản lý bởi một bot-herder.

Botnet được khởi nguồn bởi Botnet-herder, người tạo ra mạng lưới các bot với mục đích độc hại Những bot này thường được sử dụng để thực hiện các cuộc tấn công DDoS nhằm vào một tổ chức nào đó hoặc để kiểm tiền thông qua việc phát tán thư rác.

Một bot-herder có thể sử dụng công cụ IRC và CMD để kết nối với máy chủ C&C Máy chủ này hoạt động như một proxy, gửi lệnh điều khiển của hacker đến mạng botnet Việc khai thác botnet đòi hỏi kinh nghiệm lập trình giao thức để thực hiện lệnh ngay từ đầu.

Sự gia tăng băng thông tiêu thụ đã làm tăng sức mạnh của botnet, dẫn đến các cuộc tấn công DDoS quy mô lớn nhằm vào server Những botnet này lây nhiễm hàng triệu máy tính bằng phần mềm gián điệp và mã độc, từ đó đánh cắp dữ liệu nhạy cảm, gửi số lượng lớn thư rác, tham gia vào các hành vi click gian lận, cũng như thực hiện các hoạt động hăm dọa và tống tiền.

Botnet là mối đe dọa an ninh hàng đầu trên internet hiện nay, với các hacker dễ dàng thu hút và kiểm soát các bot từ bất kỳ nơi nào có kết nối Việc tấn công bằng botnet trở nên phổ biến, và hacker có khả năng khai thác lỗ hổng một cách nhanh chóng Đặc biệt, botnet rất khó phát hiện do tính năng năng động và khả năng thích ứng nhanh chóng để né tránh các biện pháp bảo vệ an ninh hiện có.

Các sản phẩm bảo mật và quản trị hệ thống thông tin cần phải ngăn chặn các mạng trở thành một phần của botnet Cả mạng doanh nghiệp và mạng tư nhân cần được bảo vệ khỏi các cuộc tấn công botnet để ngăn chặn việc lạm dụng nguồn tài nguyên cơ sở hạ tầng lớn.

2.2.2 Mô hình tấn công từ chối dịch vụ

2.2.3 Xu hướng tấn công từ chối dịch vụ của tội phạm mạng

Nghiên cứu về mã nguồn botnet mirai

Giới thiệu về Botnet Mirai

Đây là loại botnet không được xây dựng để điều khiển các máy tính mà hướng đến các thiết bị IoT (Internet of Things)

Mirai tiến hành quét dải mạng IPv4 để phát hiện các thiết bị IoT, đồng thời tối ưu hóa hiệu suất quét bằng cách loại bỏ một số dải IP không cần thiết.

Mirai tìm kiếm các thiết bị IoT và thực hiện truy cập qua telnet hoặc sử dụng phương pháp brute force để bẻ khóa mật khẩu qua telnet hoặc ssh Mã nguồn của Mirai cho thấy nó sử dụng 60 tài khoản và mật khẩu mặc định để tấn công, bao gồm các thông tin như root:root, admin:admin1234, và guest:guest.

Mã độc này có thể truy cập vào thiết bị, nhưng nó sử dụng một lệnh đặc biệt từ Busybox, một tiện ích trên các thiết bị Linux nhúng Do đó, bot sẽ không thể lây nhiễm nếu thiết bị chưa được cài đặt Busybox.

Sau khi sử dụng thành công busybox, mã độc Mirai bắt đầu quá trình lây nhiễm Đặc biệt, nó loại bỏ tất cả các tiến trình đang sử dụng cổng 22 và 23 để ngăn chặn việc đăng nhập vào thiết bị Sau khi lây nhiễm, mã độc này sẽ kết nối với máy chủ điều khiển và chờ nhận lệnh tấn công tiếp theo.

Botnet này tập trung vào việc thực hiện các cuộc tấn công từ chối dịch vụ (DDoS) bằng cách áp dụng 10 kỹ thuật khác nhau, từ cơ bản đến nâng cao, nhằm tối ưu hóa hiệu quả tấn công Một trong những phương thức phổ biến nhất là tấn công HTTP, trong đó Mirai sử dụng 5 user-agent khác nhau để tránh bị phát hiện.

Hình 3.1 Mirai sử dụng 5 user-agent khác nhau (mirai/bot/table.h)

Mirai có khả năng phát hiện và vượt qua các cơ chế kiểm tra bot cơ bản của các dịch vụ bảo vệ như Cloudflare và Dosarrest, giúp ngăn chặn các cuộc tấn công từ chối dịch vụ.

Ngoài những tấn công thông dụng ra, Mirai sử dụng 2 kỹ thuật ít gặp gần đây là tấn công “DNS Water Torture” và “GRE IP Flood”

Hình 3.2 Mirai sử dụng 10 kỹ thuật tấn công từ chối dịch vụ (mirai/bot/attack.h)

3.1.1 Thành phần cấu trúc của Botnet Mirai

- A: Attacker có toàn quyền ra lệnh đối với mạng botnet

- B: Những thiết bị sau khi bị nhiễm mã độc

- C: CNC server giữ liên lạc giữa người dùng và mạng botnet

- R: Report server tiếp nhận và lây lan bot về các thiết bị IoT mới

- L: Loader server lấy thông tin từ Report server và lây nhiễm malware

- U: Những khách hàng thuê mạng botnet để DDoS Victim

- V: Những thiết bị IoT có lỗ hổng

Hình 3.3 Mô hình hoạt động logic của các thành phần

Cấu trúc mã nguồn chính bao gồm hai thư mục quan trọng: Loader và Mirai Thư mục Loader chứa mã nguồn cần thiết để tạo Report server, trong khi thư mục Mirai chứa mã nguồn để phát triển các con Bot và thiết lập CNC server.

Hình 3.4 Cấu trúc thư mục mã nguồn

3.1.2 Cách thức điều khiển và lây lan Bots:

Kết nối CNC Server để ra lệnh:

 Bước 1: Attacker kết nối tới CNC qua telnet/ssh tới ip CNC qua port 23 bằng lệnh cmd : “telnet 23”

 Bước 2: Thực hiện đăng nhập bằng Account được cấp bởi Admin

 Bước 3: Sử dụng lệnh attack

Các bot trong mạng Botnet sẽ quét các thiết bị IoT mới và thực hiện tấn công brute force nếu không thể truy cập trực tiếp qua telnet.

 Bước 2: Sau khi brute force thành công thiết bị IoT, Bot gửi các thông tin gồm IP, Port, Username, Password về Report server

 Bước 3: Lấy thông tin từ Report server cấp cho Loader server để thực hiện đăng nhập tới thiết bị IoT và load mã độc lây nhiễm thiết bị

Thiết bị IoT bị lây nhiễm sẽ thực hiện các chức năng chính được lập trình sẵn, bao gồm quét, tấn công brute force và kết nối với máy chủ CNC.

Phân tích các thành phần của Botnet Mirai

3.2.1 Máy chủ CNC a) Chức năng

Thư mục CNC: giám sát, kiểm soát, thực hiện ra lệnh Bot tấn công và quản lý/cấp quyền cho các Account b) Nguyên lý hoạt động

Các mã trong thư mục này được phát triển bằng ngôn ngữ Golang để xây dựng một máy chủ CNC, cho phép kết nối và giao tiếp giữa kẻ tấn công và một mạng botnet khổng lồ.

CNC server sẽ nghe cổng 23 để nhận telnet từ attacker hoặc thông tin về Bot mới và 101 thực hiện truyền các lệnh tấn công xuống cho botnet

Hình 3.5 CNC lắng nghe kết nối (mirai/cnc/main.go)

Khi nhận dữ liệu ở cổng 23, chương trình sẽ thực hiện các nhiệm vụ khác nhau tùy thuộc vào loại dữ liệu nhận được Nếu dữ liệu có 4 bytes và có dạng “00 00 00 x” (với x > 0), chương trình sẽ xác định đây là một Bot mới Ngược lại, nếu không, chương trình sẽ hiểu rằng có kết nối từ Attacker qua telnet Nếu Attacker đăng nhập với quyền quản trị, họ có khả năng tạo thêm các username với số lượng Bot cụ thể mà hệ thống cho phép.

Hình 3.6 CNC nhận được thông tin là bot hoặc admin (mirai/cnc/main.go)

Dòng 39: Nhập user Nếu không nhập sẽ dừng chương trình

Hình 3.7 Nhập username từ cmd

Dòng 47 : Nhập Password Nếu không nhập sau một khoảng thời gian đã được thiết lập sẽ dừng chương trình

Hình 3.8 Nhập password từ cmd

Dòng 62 : Kiểm tra username/password trong Database Ở bước này, hàm TryLogin sẽ sử dụng account để đăng nhập vào Database sau đó kiểm tra username/password có tồn tại hay không? Nếu không tồn tại sẽ hiện thông báo và thoát

Hình 3.9 Nhập password từ cmd

In ra các dòng thông báo sau khi đăng nhập thành công

Hình 3.10 Thông báo đăng nhập thành công

Hàm func() liên tục theo dõi số lượng Bot kết nối tới CNC theo thời gian thực, giúp hacker nắm bắt được số lượng thiết bị có thể sử dụng cho các cuộc tấn công tại thời điểm hiện tại.

Hình 3.11 minh họa việc kiểm tra số lượng Bot kết nối tới CNC, với đoạn mã thiết lập số lượng Bot mà tài khoản có thể sử dụng Nếu có một mạng botnet khổng lồ có khả năng tấn công bất kỳ thứ gì trên Internet, hacker có thể cho thuê để kiếm lợi nhuận Do đó, hacker sẽ tạo một tài khoản và xác định số lượng Bot mà tài khoản đó được phép sử dụng.

Dòng 122 và 123: Add thêm user/password vào database

Dòng 133: Nếu nhập -1 thì username có thể sử dụng tất cả số Bot đang active

Dòng 139: Kiểm tra số lượng Bot nhập vào hợp lệ?

Dòng 144: Kiểm tra thời gian tấn công có hợp lệ? (đơn vị giây)

Hình 3.12 Thêm và cấu hình cho tài khoản mới

Hàm attackInfoLookup sẽ trả về các tham số phục vụ cho từng loại tấn công, Cấu trúc nhập lệnh tấn công: [flag]

3.2.2 Máy chủ Loader a) Chức năng

Thư mục này chứa mã nguồn cho việc xây dựng Loader server, một máy chủ chuyên lây lan bots Máy chủ này thu thập thông tin từ hacker qua STDIN và sau đó thực hiện đăng nhập vào các thiết bị IoT để lây nhiễm mã độc.

Loader server sẽ tạo các socket trên các card mạng để tạo các socket kết nối đến các IoT đồng thời

Hình 3.14 Thiết lập network card cho report server (loader/main.c)

Để lây lan mã độc, hàm server_create() được gọi để thiết lập kết nối với server chứa malware, sử dụng giao thức wget hoặc tftp Loader sẽ tải malware từ server TFTP hoặc Wget và thực thi mã độc trên thiết bị.

Hình 3.15 Khởi tạo server chứa mã độc (loader/main.c)

Loader server sẽ tiếp nhận dữ liệu đầu vào qua chuẩn STDIN từ bàn phím với định dạng “IP:Port Username:Password” thông qua vòng lặp while(TRUE) để kiểm tra liên tục Tuy nhiên, việc nhập liệu thủ công có thể gây ra độ trễ trong việc phát hiện thiết bị và lây nhiễm mã độc, dẫn đến nguy cơ mất thiết bị IoT Để khắc phục vấn đề này, một đoạn mã đã được viết thêm để tự động chuyển thông tin từ Report server sang Loader server.

Hình 3.16 Nhận ip, port, user, pass từ STDIN (loader/main.c)

Hàm worker() thực hiện quá trình đăng nhập và lây lan bot bằng cách gửi các lệnh qua tiện ích busybox có sẵn trên các thiết bị IoT Busybox là công cụ giúp giao tiếp giữa người quản trị và thiết bị IoT thông qua dòng lệnh CMD, cụ thể là bashshell.

Hình 3.17 Sử dụng busybox login và lây mã độc (loader/server.c)

3.2.3 Máy chủ Report a) Chức năng

Tệp tin scanListen được phát triển bằng ngôn ngữ Golang, có chức năng lắng nghe các phản hồi từ mạng botnet liên quan đến các thiết bị IoT đã bị brute force thành công bởi các bot trong mạng Nguyên lý hoạt động của nó cho phép theo dõi và thu thập thông tin từ các thiết bị này.

Lắng nghe kết nối đến cổng 48101 để đợi kết quả gửi về từ bot

Hình 3.18 Lắng nghe kết nối trên cổng 48101 (scanListen.go)

Thông tin thiết bị được hiển thị Sau đó, có thể sử dụng thông tin này cung

Hình 3.19 Hiển thị thông tin thiết bị bruteforce được (scanListen.go)

Thư mục bot: chứa mã nguồn bot, thực hiện các chức năng cơ bản mặc định của bot khi mới lây nhiễm:

 Ẩn tệp tin mã độc

 Ngăn thiết bị khởi động lại

 Kill các process đang chiếm cổng 22(ssh)| 23(telnet)| 80(http)

 Tạo kết nối mới tới CNC

 Ẩn tiến trình hoạt động

 Bruteforce thiết bị IoT rồi gửi về cho Report server

 Lắng nghe điều khiển của CNC server để chờ yêu cầu tấn công Victim b) Nguyên lý hoạt động

Bot sẽ giấu tiến trình của mình bằng cách thay đổi tên một cách ngẫu nhiên Thuật toán ngẫu nhiên được áp dụng thông qua việc dịch bit và sử dụng phép toán xor.

Hình 3.20 Che dấu tiến trình (mirai/bot/main.c)

Khởi tạo các tham số cho các kiểu tấn công và cung cấp nhiều loại tấn công khác nhau như UDP, VSE, DNS, SYN cùng với nhiều hình thức tấn công DDoS khác để người dùng có thể lựa chọn.

Hình 3.21 Các phương thức tấn công (mirai/bot/attack.c)

Để bảo vệ thiết bị khỏi sự truy cập không mong muốn, hãy tắt tất cả các tiến trình đang mở cổng 22 và 23 Hành động này sẽ ngăn chặn hacker và quản trị viên khác kết nối vào thiết bị thông qua các dịch vụ này.

Hình 3.22 Kill các cổng dịch vụ (mirai/bot/killer.c)

Các thiết bị giám sát như camera thường được kết nối với watchdog, giúp tự động khôi phục khi phát hiện dấu hiệu treo hoặc không hoạt động Việc sử dụng watchdog là cần thiết để ngăn chặn mã độc, đảm bảo quá trình hoạt động của thiết bị không bị ảnh hưởng.

Hình 3.23 Ngăn cản thiết bị reboot lại (mirai/bot/main.c)

Khởi tạo thông số cho việc rà quét các thiết bị với IP và username, password mặc định

Hình 3.24 Tài khoản dùng để bruteforce IoT mới (mirai/bot/scanner.c)

Mã độc được thiết lập để quét các địa chỉ IP ngẫu nhiên trong các dải, giúp nó tránh bị phát hiện và không bị đưa vào danh sách spam hay bị chặn bởi firewall.

Hình 3.25 Địa chỉ bruteforce thiết bị IoT mới (mirai/bot/scanner.c)

Triển khai thực nghiệm botnet mirai trÊn cÁc thiết bị iot

Mô tả thực nghiệm

Mô hình thực nghiệm sẽ gồm:

• 1 máy chủ Kali linux chứa thành phần 1->5

• 1 máy kali linux chứa thành phần 6 và chạy mã độc.mirai.dbg

• 1 máy chủ windows server là thành phần 7

• 1 máy windows 10 là thành phần 8

Number Name Execute Port IP

6 Bot mirai.dbg || mirai.arm 203.162.130.66

Bảng 1 Thành phần thực nghiệm.

Thử nghiệm tấn công

Triển khai thực nghiệm sẽ gồm 7 bước cụ thể tương ứng với 5 giai đoạn hình thành tấn công

Bước 1 Khởi chạy CNC Server

Bước 1 có 2 nhiệm vụ chính:

1 Kết nối tới Database Database chứa thông tin về History, Admin bao gồm Username/Password của Admin, số lượng Max Bot mà Admin có thể sử dụng tấn công và WhiteList chứa các địa chỉ IP không được tấn công

2 Mở port 23 chờ kết nối từ Bot và Attacker

Hình 4.1 Khởi chạy CNC Server

Dòng 12 -> 15: Chứa thông tin để CNC connect tới Database

Dòng 18: Gọi hàm đăng nhập Database

Dòng 21 -> 24: Lắng nghe kết nối đến cổng 23

Hình 4.2 Cài đặt thông tin của Database (cnc\main.c)

Dòng 23 -> 30: CNC đăng nhập Database

Hình 4.3 CNC đăng nhập Database (cnc\database.go)

Bước 2 Khởi chạy Report Server

Mở port 48101 chờ kết quả scan các thiết bị IoT khác của Bot

Hình 4.5 Mở port 48101 chờ kết quả từ Bot

Bước 3 Nhập thiết bị IoT cho Loader lây lan Malware

Bước 3 có 2 nhiệm vụ chính:

1 Loader điều khiển thiết bị và lây nhiễm Malware

2 Hiển thị tổng số lượng về Process xử lý, Connect tới Loader, thiết bị IoT đăng nhập thành công, Wgets và TFTP

Tiến hành nhập thông tin thiết bị IoT gồm: IP:Port Username:Password từ Scanlisten vào loader

Hình 4.6 Nhập Bot cho Loader

Loader telnet thiết bị IoT -> Loader thực hiện lây lan Malware

Hình 4.7 Loader kết nối thiết bị IoT lây nhiễm Malware

Loader gửi lệnh tới thiết bị IoT nhằm dùng tiện ích Busybox để download và thực thi Malware

Hình 4.8 Loader thực hiện lây lan Malware

Bước 4 Attacker telnet tới CNC

1 Kết nối và điều khiển CNC theo Realtime

2 Update số lượng Bot connect

Sau khi lây Malware thành công ở bước 3 thì giờ đây Attacker đã có thể kết nối tới CNC và dùng CNC điều khiển Bot

Attacker ở đây có vai trò là Admin Attacker sẽ sử dụng CMD để điều khiển CNC và ra lệnh tới Bot thông qua CNC

Hình 4.9 Attacker telnet tới CNC

Attacker kết nối tới CNC và đã thấy có 1 Bot kết nối đến CNC

Hình 4.10 Attacker đăng nhập CNC

Attacker telnet và đăng nhập CNC

Attacker sử dụng user/pass là hacker/hacker và đã đăng nhập công

Sau khi follow tcp ta thấy string tương ứng với tài khoản đăng nhập là hacker/hacker và thông tin về số lượng Bot connect tới CNC

Hình 4.11 Kiểm tra kết nối tới cổng 23 là Bot hay Admin (cnc/main.go)

Dòng 66: Nếu nhận được 4 bytes \x00\x00\x00\x01 => Bot connect CNC Ngược lại, Admin connect CNC

Bước 5 Kiểm tra trạng thái Loader Server, Bot, Report Server

Kiểm tra trạng thái của Loader Server, Bot, Report Server sau khi lây nhiễm Malware

Hình 4.12 Loader hiển thị Bot kết nối thành công

Như vậy Bot có IP 61.222.7.176, port 23, tài khoản admin/1111, kiến trúc arm7

Và đặc biệt Bot có tiện ích Busybox và có thể sử dụng lệnh Wget Wget như đã nói từ trước giúp thiết bị tải Malware từ Wget Server

Hình 4.13 Thông tin Bot scan thiết bị khác

Ngay sau khi lây nhiễm Malware vào thiết bị thì Bot sẽ:

 Tự kill các tiến trình đang mở port 23 trên Bot nhằm không cho bất kỳ ai có thể truy cập vào thiết bị qua port 23

 Phân giải tên miền CNC

 Tự động bruteforce thiết bị khác và đồng thời giữ kết nối với CNC

 Gửi kết quả cho Report Server

Hình 4.14 Thông tin thiết bị mà Bot bruteforce thành công

Hiển thị thông tin về thiết bị mà Bot bruteforce thành công

Trong mã nguồn Mirai, bot chỉ thực hiện tấn công brute force mà chưa kiểm tra các điều kiện lây nhiễm malware trên thiết bị, do đó không thể khẳng định thiết bị đã sẵn sàng để lây bot Loader server mới thực sự là nơi kiểm tra các điều kiện và lây nhiễm malware, không phải là scanListen Cần phân biệt rõ điều này, vì đây chỉ là điều kiện cần nhưng chưa đủ để xác định khả năng lây nhiễm.

Bước 6 Attacker tấn công Victim

1 Hiển thị thông tin về user đăng nhập và số lượng Bot có thể attack

Nhập lệnh tấn công theo định dạng : [Flags]

Ví dụ: syn 203.162.130.66 30 psh==1 syn 203.162.130.66 3600 ack==1

Hình 4.15 Nhập lệnh tấn công

Lệnh sẽ được Attacker gửi sẽ được gửi như sau:

Attacker nhập lệnh tấn công qua CMD -> CNC -> Bot -> Victim

Hình 4.16 Lệnh hacker dùng tấn công

Attacker tấn công Victim bằng Syn Flood và có cả Flag Push trong vòng 20s

Bước 7 Kiểm tra kết quả

Hình 4.17 Thiết bị IoT là IP Camera bị chiếm quyền kiểm soát

Hình 4.18 Victim bị Attacker tấn công khiến lưu lượng tăng cao

Bot liên tục gửi gói tin tấn công Victim trong vòng 20s Tuy nhiên, số lượng gói tin Victim phải hứng chịu rất lớn.

Ngày đăng: 08/07/2021, 20:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Mirai DDoS Botnet: Source Code & Binary Analysis, http://www.simonroses.com/2016/10/mirai-ddos-botnet-source-code-binary-analysis/ Sách, tạp chí
Tiêu đề: Mirai DDoS Botnet: Source Code & Binary Analysis
[5]. Word’s Largest Net: Mirai Botnet, https://hackforums.net/showthread.php?tid=5420472 Sách, tạp chí
Tiêu đề: Word’s Largest Net: Mirai Botnet
[4]. Brian Krebs; Krebs on Security, 1.10.2016: „Source Code for IoT Botnet ‘Mirai’ Released“: https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/ Link
[1]. GSM Accociation, IoT Security Guidelines Overview Document Version 1.1, November 07, 2016 Khác
[3]. Octave Klaba, This botnet with 145607 cameras/dvr (1-30Mbps per IP) is able to send >1.5Tbps DDoS. Type: tcp/ack, tcp/ack+psh, tcp/syn.“ Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w