Kiểm Thử Xâm Nhập Thiết Bị IoT: Đánh Giá An Ninh và Rủi Ro (PTIT)

Kiểm thử xâm nhập IoT: Tìm hiểu cách bảo vệ thiết bị IoT khỏi các cuộc tấn công. Đánh giá bảo mật, lỗ hổng và biện pháp phòng ngừa hiệu quả.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2017-2022

49
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời cảm ơn

NHẬN XÉT, DANH GIA, CHO DIEM (Của Người hướng dẫn)

NHẬN XÉT, ĐÁNH GIA, CHO DIEM (Của Người phản biện)

DANH MỤC TU VIET TẮT

DANH MỤC BẢNG

DANH MỤC HINH VẼ

LỜI MỞ ĐẦU

1. CHƯƠNG 1: KIEM THU XÂM NHAP THIET BI IOT

1.1. IOT là gì?

1.2. Nguyên ly hoạt động của thiết bị IOT

1.3. Nguy cơ an toàn

1.4. Kiểm thử xâm nhập thiết bị IOT

1.5. Quy trình kiểm thử xâm nhập thiết bị IoT

1.5.1. Xác định các thành phần hệ thống

1.5.2. Thu thập thông tin

1.5.3. Tìm lỗi trong thiết bị

2. CHƯƠNG 2: KIEM THU IP CAMERA HONEYWELL

2.1. Thông tin thiết bị

2.2. Kiểm thử thiết bị

2.2.1. Xác định các thành phần hệ thống

2.2.2. Thu thập thông tỉn

2.2.3. Tìm lỗi trong thiẾt bị

2.3. Các lỗi tồn tại trong thiết bị

2.4. Tổng kết đánh giá

3. CHƯƠNG 3: XÂY DUNG MA KHAI THÁC VA CÔNG CU RA QUET LO HONG

3.1. Xay dung mA

3.2. Lý thuyết về lỗ W6nng

3.3. Phân tích lỗ hong và phương thức tấn công

3.4. E6 n‹ ni Sẽ

3.5. Xây dựng công cụ rà quét lỗ hỗng

3.5.1. Ly do xây dựng công CỤ

3.5.2. Cách thức phát hiện lỗ hong

3.5.3. Cài đặt và triỀn khai

3.6. Đánh giá kẾt quả

4. CHƯƠNG 4: KET LUẬN

4.1. Kết h5 811020117577

4.2. Hướng phát triển trong tương lai

TÀI LIEU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Kiểm Thử Xâm Nhập IoT An Ninh Thiết Bị

Internet of Things (IoT) đang phát triển mạnh mẽ, kết nối hàng tỷ thiết bị. Điều này mang lại sự tiện lợi, nhưng cũng tiềm ẩn nhiều rủi ro bảo mật IoT. Các thiết bị IoT thường chứa thông tin nhạy cảm và có thể trở thành mục tiêu của tấn công IoT. Kiểm thử xâm nhập IoT là một phương pháp quan trọng để đánh giá và tăng cường bảo mật IoT. Mục đích là mô phỏng các cuộc tấn công thực tế để tìm ra các lỗ hổng IoT và đưa ra các biện pháp phòng ngừa. Một hệ thống IoT hoàn chỉnh thường bao gồm thu thập dữ liệu, chia sẻ dữ liệu, xử lý dữ liệu và đưa ra quyết định. Mỗi bước đều có thể tồn tại những nguy cơ an ninh mạng. Các nguy cơ an toàn phổ biến bao gồm thiếu tính bảo mật và riêng tư, chứng chỉ xác thực mặc định hoặc yếu, đường truyền không được mã hóa, lỗi trong khâu lập trình và tấn công vật lý. Kiểm thử xâm nhập IoT giúp xác định sớm các lỗ hổng IoT và đưa ra các biện pháp khắc phục. Pentester mô phỏng các hành động của tội phạm mạng để đánh giá mức độ an toàn của thiết bị.

1.1. Thiết Bị Thông Minh Là Gì Định Nghĩa Vai Trò

IoT là một mạng lưới các thiết bị vật lý (things) được trang bị cảm biến, phần mềm và các công nghệ phục vụ việc kết nối và trao đổi thông tin với nhau hoặc với một hệ thống lớn thông qua Internet. IoT định hướng kết nối những thiết bị, công cụ, đồ vật trong đời sống hàng ngày với internet để con người có thể giao tiếp, truy cập, điều khiển, thu thập được thông tin và quản trị các thiết bị đó nhằm làm tăng hiệu suất, hiệu quả sử dụng. Internet vạn vật lan tỏa lợi ích của mạng Internet tới mọi đồ vật được kết nối, chứ không chỉ dừng lại ở phạm vi một chiếc máy tính. Khi một đồ vật được kết nối với internet, nó sẽ trở nên thông minh hơn nhờ khả năng gửi và/hoặc nhận thông tin và tự động hoạt động dựa trên các thông tin đó.

1.2. Nguyên Lý Hoạt Động Cơ Bản Của Hệ Thống IoT

Các thiết bị IoT được áp dụng trong nhiều lĩnh vực đa dạng với các mục đích và chức năng khác nhau. Về cơ chế hoạt động, mọi hệ thống IoT hoàn chỉnh đều có đủ 4 bước: thu thập dữ liệu, chia sẻ dữ liệu, xử lý dữ liệu, và đưa ra quyết định. Một thiết bị IoT sẽ có 4 thành phần chính tương ứng với 4 bước hoạt động cơ bản trên: hệ thống cảm biến, hệ thống gateway, máy chủ lưu trữ dữ liệu và ứng dụng điều khiển. Các thành phần này đóng vai trò quan trọng trong việc vận hành cũng như giao tiếp giữa người dùng và thiết bị. Theo [Học Viện Công Nghệ Bưu Chính Viễn Thông], các thành phần này tạo thành “một mạng lưới kết nối lớn đi cùng với đó là một lượng lớn dữ liệu được thu thập, phân tích, ghi lại và lưu trữ trên mạng.”

II. Các Nguy Cơ An Ninh Mạng IoT Thách Thức Giải Pháp

Công nghệ IoT đang ngày càng phát triển và dần trở nên phổ biến. Với sự phát triển dồn dập nhưng lại thiếu các chính sách bảo mật IoT, các thiết bị này đang trở thành mục tiêu dễ dàng cho các hacker nhắm tới. Một số nguy cơ phổ biến bao gồm thiếu tính bảo mật và riêng tư, chứng chỉ xác thực mặc định hoặc yếu, đường truyền không được mã hóa, lỗi trong khâu lập trình và tấn công vật lý. Cần có các biện pháp phòng thủ IoT hiệu quả để giảm thiểu các rủi ro bảo mật IoT. Các tổ chức sử dụng các thiết bị này cần phải cân nhắc việc bảo vệ cả thiết bị và thông tin khỏi những kẻ tấn công. Việc đảm bảo an ninh IoT là một bài toán khó vì các thiết bị sử dụng bộ xử lý đơn giản và hệ điều hành tỉnh giảm có thể không hỗ trợ các phương pháp bảo mật phức tạp.

2.1. Vì Sao Thiết Bị IoT Dễ Bị Tấn Công Các Điểm Yếu

Rất nhiều thiết bị IoT phục vụ trong gia đình, khu công nghiệp, cửa hàng hay bệnh viện như camera, cảm biến, các thiết bị tự động hóa chứa rất những thông tin nhạy cảm. Tuy nhiên, các thiết bị này lại được kết nối trực tiếp đến mạng Internet, cho phép truy cập từ bên ngoài mà không có một cơ chế xác thực hay bảo mật nào. Kẻ tấn công chỉ cần có được địa chỉ IP là hoàn toàn có thể truy cập vào thiết bị và đánh cắp thông tin người dùng. Theo [Học Viện Công Nghệ Bưu Chính Viễn Thông], “Với sự phát triển dồn dập nhưng lại thiếu các chính sách bảo mật, các thiết bị này đang trở thành mục tiêu dễ dàng cho các hacker nhắm tới.”

2.2. Chứng Chỉ Mặc Định Mật Khẩu Yếu Nguy Cơ Tiềm Ẩn

Một trong những lý do phổ biến khiến cho các thiết bị IoT bị tấn công là do có cơ chế xác thực yếu. Những thiết bị này thường đi kèm các chứng chỉ xác thực mặc định hoặc yếu, cho phép hacker có thể dễ dàng bẻ khóa và truy cập trái phép. Các thiết bị IoT không có cơ chế mã hóa có thể gây ra lộ lọt dữ liệu trên đường truyền do tấn công nghe lén. Đồng thời, việc mở các cổng dịch vụ không cần thiết sẽ tạo thêm điều kiện và các hướng tấn công mới cho hacker. Phần lớn các thiết bị IoT hiện nay đều sử dụng các dịch vụ web nhúng tự phát triển hoặc các phiên bản mã nguồn mở cũ tồn tại nhiều lỗ hổng IoT (buffer-overflow, command line injection, path traversal, v.v.).

III. Quy Trình Kiểm Thử Xâm Nhập IoT Hướng Dẫn Chi Tiết

Trước những nguy cơ nêu trên, việc kiểm thử xâm nhập IoT ra đời nhằm mục đích kiểm tra cũng như xác định sớm các lỗ hổng IoT tồn tại trong thiết bị. Các pentester sẽ mô phỏng những hành động của tội phạm mạng, ví dụ như phá vỡ an ninh mạng IoT, đánh cắp những dữ liệu có giá trị, làm gián đoạn hoạt động của thiết bị. Thông qua những thao tác đó, pentester có thể đánh giá được mức độ an toàn của thiết bị và đưa ra những phương hướng khắc phục cần thiết. Quy trình kiểm thử xâm nhập IoT bao gồm xác định các thành phần hệ thống, thu thập thông tin, tìm lỗi trong thiết bị và tổng hợp báo cáo.

3.1. Xác Định Thành Phần Hệ Thống Phân Tích Phần Cứng Mạng

Đây là bước đầu tiên trong quá trình kiểm thử xâm nhập IoT. Tại đây pentester sẽ thực hiện lắp đặt và triển khai thiết bị IoT theo đúng chỉ dẫn của nhà sản xuất. Việc này nhằm xây dựng môi trường kiểm thử sát với thực tế nhất đồng thời kiểm tra xem thiết bị có hoạt động bình thường hay không giúp kết quả kiểm thử trực quan và chính xác. Sau khi đảm bảo thiết bị hoạt động bình thường, pentester sẽ tiến hành phân tích phần cứng: xác định bo mạch, chip flash, các cổng debug. Kiểm tra quá trình boot của thiết bị. Ở bước này, người thực hiện kiểm thử có thể tìm hiểu được về quá trình thiết bị khởi động cũng như thu thập được một số thông tin ban đầu như: kích cỡ firmware, tên một số dịch vụ khởi chạy, địa chỉ IP.

3.2. Thu Thập Thông Tin Trích Xuất Firmware IoT Phân Tích

Sau khi thu thập được thông tin các thần phần cơ bản của hệ thống, người kiểm thử sẽ bắt đầu thực hiện nghiên cứu chuyên sâu vào thiết bị. Tại bước thu thập thông tin, pentester có các mục tiêu chính cần đạt được bao gồm: trích xuất firmware của thiết bị, xác định các hoạt động của thiết bị, và xác định các attack vector và xây dựng checklist. Firmware là một thành phần vô cùng quan trọng trong thiết bị IoT. Firmware chứa toàn bộ các thông tin cài đặt, tham số khởi chạy cũng như các phần mềm được sử dụng trong thiết bị. Đây là mục tiêu chính vì nó cung cấp rất nhiều thông tin quan trọng về cách thiết bị hoạt động cũng như tiền đề cho việc xây dựng các hướng tấn công cụ thể.

3.3. Tìm Lỗi Trong Thiết Bị Các Kỹ Thuật Công Cụ Sử Dụng

Tại đây, pentester sẽ tiến hành hành đánh giá thủ công theo checklist ứng với các attack vector đã lập. Trong giai đoạn này sẽ bao gồm các công việc: dịch ngược và debug: người thực hiện kiểm thử xâm nhập IoT sẽ tiến hành dịch ngược và debug các file binary có trong thiết bị nhằm hiểu rõ luồng hoạt động của chúng đồng thời cố gắng tìm kiếm các lỗi liên quan đến lập trình và xử lý dữ liệu (ví dụ: dữ liệu hard-coded, lỗi buffer overflow, format string,...). Thử nghiệm tấn công thiết bị: người thực hiện kiểm thử sẽ áp dụng các công cụ và kỹ thuật khai thác để tiến hành tấn công dựa trên checklist ban đầu. Mục tiêu tấn công có thể bao gồm: các ứng dụng web, ứng dụng điều khiển từ xa, các giao thức mà thiết bị sử dụng (ví dụ: MQTT, CoApp...), các lỗi liên quan đến tín hiệu sóng Radio.

IV. Tiêu Chí Đánh Giá An Toàn IoT Checklist Chi Tiết

Một thiết bị IoT được đánh giá là an toàn nếu có thể đáp ứng được checklist về an toàn đối với thiết bị IoT và chống đỡ cũng như vượt qua được các tình huống tấn công của pentester. Checklist bao gồm các chức năng chính cũng như lỗi có thể xảy ra đối với từng chức năng của một thiết bị IoT: Attacker surface, Chức năng, Lỗi có thể xảy ra, Mô tả. Các tiêu chí đánh giá này được [Học Viện Công Nghệ Bưu Chính Viễn Thông] mô tả chi tiết về các cơ chế bảo vệ cần có và các loại lỗi có thể xảy ra trong thiết bị IoT.

4.1. Kiểm Tra Bảo Mật IoT Phần Cứng Phần Mềm Giao Thức

Checklist đánh giá an toàn thiết bị IoT bao gồm các mục: phần cứng, phần mềm và giao thức kết nối. Về phần cứng, cần kiểm tra khả năng trích xuất firmware, khả năng cập nhật firmware, khả năng truy cập shell OS, khả năng leo quyền thực thi, khả năng ghi đè ứng dụng, cơ chế thực thi không an toàn, giao thức debug JTAG/SWD và fault Injection. Về phần mềm, cần kiểm tra local file injection, command injection và các lỗ hổng trong file thực thi (Binary).

4.2. Đánh Giá Bảo Mật IoT Xác Thực API Kênh Kết Nối

Về xác thực người dùng, cần kiểm tra broken access control (BAC), dịch vụ ssh, telnet, hardcoded credentials và cơ chế xác thực yếu. Về API, cần kiểm tra tampper data và control, credential disclosure for another device và injection. Về kênh kết nối, cần kiểm tra unencrypted connection. Ngoài ra còn có các giao thức MQTT, Zigbee cần được xem xét và đánh giá.

V. Kiểm Thử Xâm Nhập Camera Honeywell Phân Tích Chi Tiết

Nội dung chương trình bày quá trình kiểm thử xâm nhập IoT camera Honeywell theo quy trình kiểm thử đã đưa ra ở chương 1. Thông qua quá trình kiểm thử sẽ đưa ra các lỗ hổng tồn tại và đánh giá về độ an toàn của thiết bị. Về phần cứng thiết bị sử dụng bo mạch BLK18E-OH22 33x32 _§ dùng SoC Hi3518 erbev100 của Hisilicon, flash sử dụng eeprom Fm24c08b, một bo mạch LED và một ống kính ghi hình. Quá trình kiểm tra bảo mật IoT được thực hiện dựa trên quá trình boot, các cổng dịch vụ và firmware.

5.1. Lỗ Hổng Bảo Mật Camera Hardcode Password Path Traversal

Trong hàm xác thực đăng nhập của phần mềm Sofia tồn tại tài khoản “admin” với mật khẩu mặc định là “I0TO5Wv9”. Người dùng không thể chỉnh sửa hoặc xóa tài khoản này. Chức năng trả về file response của ứng dụng không kiểm tra phân quyền mà chỉ kiểm tra đuôi file trả về là “.html” thì sẽ phản hồi lại file đấy mà không kiểm tra đã login hay chưa. Lỗi logic tồn tại trong việc xử lý đăng nhập sai của thiết bị cho phép kẻ tấn công có thể lợi dụng để truy cập vào thiết bị mà không cần mật khẩu. Trong chức năng nhận request từ phía client, chương trình Sofia không kiểm tra dữ liệu truyền vào tham số buffer (đường dẫn file response) cho phép kẻ tấn công chèn thêm đường dẫn để có thể đọc được các tập tin khác trong thiết bị dẫn tới việc lộ các thông tin nhạy cảm.

5.2. Authentication Bypass Buffer Overflow Camera Honeywell

Thiết bị chỉ sử dụng giao thức http không có mã hóa để truyền tin. Kẻ tấn công có thể dễ dàng nghe lén và thu thập các thông tin nhạy cảm như tên người dùng, mật khẩu. Một lỗi tràn bộ đệm ở chức năng dispatch_uri (IDA sub_3AF328). Chức năng này xử lý các request người dùng yêu cầu, từ đây cho phép kẻ tấn công ghi đè giá trị thanh ghi IP (Instruction pointer) dẫn tới crash chương trình hoặc tạo điều kiện tấn công thực thi mã từ xa trên thiết bị (Chi tiết về cách thức khai thác sẽ được trình bày trong chương 3).

VI. Xây Dựng Mã Khai Thác Lỗ Hổng Camera Honeywell Chi Tiết

Chương 3 sẽ làm rõ hơn về độ nguy hiểm của lỗ hổng tràn bộ nhớ đệm tồn tại trong camera Honeywell thông qua việc phân tích và xây dựng một mã khai thác tự động. Buffer Overflow hay còn gọi là lỗi tràn bộ đệm xảy khi một chương trình tiến hành lưu trữ dữ liệu có kích cỡ vượt ra ngoài biên của bộ nhớ đệm có kích cỡ có định.Path Traversal hay lỗi duyệt đường dẫn là một lỗ hổng bảo mật web cho phép kẻ tấn công có thể truy cập đến các tệp tùy ý trên máy chủ của một ứng dụng đang chạy.

6.1. Phân Tích Lỗ Hổng IoT Buffer Overflow Path Traversal

Chương trình Sofia tồn tại 2 lỗi tràn bộ nhớ đệm như đã nêu ở trên. Tại hàm xử lý URI, dữ liệu nhập vào được lưu trên stack (gây ra stack overflow) còn hàm xử lý username và password, dữ liệu nhập vào được lưu trên trường bss (gây ra bss overflow). Để thử nghiệm lỗi tràn bộ nhớ đệm, em tiến hành gửi 1 request chứa 1000 ký tự “A” đến cho thiết bị. Kết quả trả về lỗi “404 File Not Found”. Mặt khác, khi kiểm tra trên thiết bị, chương trình Sofia đã bị crash và không còn xuất hiện trên danh sách các tiến trình. Trong trình debug gdb cũng thông báo chương trình đã bị lỗi SIGSEGV.

6.2. Xây Dựng Công Cụ Rà Quét Lỗ Hổng IoT Tự Động Hóa

Công cụ này có thể hoạt động trên cả 2 phiên bản của python là python 2.7 và python 3 và yêu cầu máy phải có các thư viện: pwntools, request, argparse và termcolor. Những thư viện trên có thể dễ dàng được cài đặt thông qua lệnh: pip install pwntools request argparse termcolor hoặc pip3 install pwntools request argparse termcolor. Sử dụng lệnh: python toolscan.py --target địa chỉ IP mục tiêu --port địa chỉ port mục tiêu (có thể có thêm tham số --bof' nếu muốn quét các lỗ hổng tràn bộ nhớ đệm) để tiến hành rà quét thiết bị.

20/09/2025

Trích đoạn nội dung tài liệu

chương 1. Thông qua quá trình kiểm thử sẽ dua ra các lỗ hồng tồn tại và đánh giá về độ an toàn của thiết bị. Thông tin thiết bị Camera Honeywell là sản phâm của tập đoàn đa quốc gia Honeywell. Honeywell là nhà cung cấp các thiết bị an ninh như camera giám sát, hệ thống báo động, báo cháy, hệ thống kiểm soát ra vào.

Camera Honeywell được ứng dụng khá nhiều trong các công trình cao cấp và trong các lĩnh vực mang yếu tô đặc biệt. Trong đồ án này sử dụng camera Honeywell Black có xuất xứ Dai Loan — Trung Quốc.1: Camere Honeywell Black 2. Kiém thir thiét bi 2. Xác định các thành phan hệ thông Về phan cứng thiết bị sử dụng bo mạch BLK18E-OH22 33x32 _§ dùng SoC Hi3518 erbev100 của Hisilicon, flash sử dung eeprom Fm24c08b, một bo mạch LED và một ống kính ghi hình.

Nguyễn Công Thành — D17CQAT03-B 20 Hình 2.2: Các thành phân của camera Quan sát trên mạch có 3 chân UART (lỗ tròn) nằm sát cạnh chân bắt ốc. Thông qua sử dụng máy đo đa dụng kế, em xác định được 3 chân lần lượt là: GND, TX, RX (theo thứ tự từ sát chân bắt 6c vào). Cách dé xác định là do volt lần lượt trên các chân, chân nào nhảy volt liên tục khi có dữ liệu xuất ra là RX và nhảy volt khi có dữ liệu đưa vào là TX va chân luôn luôn ở mức 0 volt là GND. Nguyễn Công Thành — DI7CQAT03-B 21 Đồ án tot nghié Chương 2: Kiểm thứ IP camera Honeywell Sau khi nối dây, thiết bị có thé được truy cập vào bang cách dùng mạch chuyên USB UART CP2102 dé kết nối với máy tính và dùng phần mềm minicom dé điều khiển với baud rate thiết lập là 115200.

Quy tắc đấu giữa thiết bi và mạch chuyền là: chân GND đấu với GND, hai chân RX và TX của mạch chuyên được đấu lần lượt với TX và RX của thiết bị (dau chéo giữa 2 chân).4: Kết noi thiết bị với mạch chuyển UART Sau khi cắm điện cho camera, thông tin Uboot xuất hiện. Tuy nhiên sau khi boot đến kernel thì không có thông tin kernel boot cũng như không cho truy cập single mode console. Welcome to minicom 2.1 Press CTRL-A Z for help on special keys je U-Boot 2010.06-svn (Mar 27 2014 - 10:49:35) DRAM: 256 MiB Check spi flash controller v350. Found Spt(cs1) ID: @xEF 0x49 0x18 0x99 0x00 0x9 spt(cs1): Block:64KB Chip:16MB Nane: "W250128B lenvcrc 9x9b38a6bb.

ENV_SIZE = 0x3fffc sertaL sertaL sertaL Press Ctrl+C to stop autoboot CFG_BOOT_ADDR: 0x58080000 16384 KiB hi_sfc at 0:0 is now current device ### boot load complete: 1885372 bytes loaded to 0x82000000 ### SAVE TO 80008000 ! ## Booting kernel from Legacy Image at 82000000. Image Name: Linux Image ARM Linux Kernel Image (uncompressed) Data Size: 85308 Bytes = 1.8 MiB Load Address: 80008000 Entry Point: 80008000 oad=0x80008000,_bss_end=808293d8, image_end=801d447c, boot_sp=807971d8 Loading Kernel Image. OK OK starting kernel. done, booting the kernel.

CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.1 | VT102 | Offline | tyUSB9| Hình 2.5: Bootloader của thiết bi Nguyễn Công Thanh — D17CQAT03-B 22 Đồ an tot nghiệp > r Chương 2: Kiểm thir IP camera Honeywell F2 Tién hanh quét Nmap, thu được các port dịch vu hoạt động cua thiết bị bao gồm telnet, http, rtsp và ospf.org ) at 2021-12-19 00:40 PST Nmap scan report for _gateway (192.10) Host is up (0. Not shown: 996 closed ports PORT STATE SERVICE 23/tcp open telnet 80/tcp open http 554/tcp open rtsp 8899/tcp open ospf-Llite 1 IP address (1 host up) scanned in 0.6: Kết quả quét các cổng dịch vu 2. Thu thập thông tin Quan sát những thông tin được in ra từ bootloader, em nhận thấy có nhận vào Ctrl+C dé gián đoạn quá trình autoboot. Sau khi khởi động lại camera và làm gián đoạn quá trình boot, em có thê tương tác được với bootloader.

exluck@ubuntu: ~ File Edit View Search Terminal Help U-Boot 2010.06-svn (Mar 27 2014 - 10:49:35) DRAM: 256 MLB Check spi flash controller v350. Found Spt(cs1) ID: OxEF 0x40 0x18 0x00 0x00 0x00 Spt(cs1): Block:64KB Chip:16MB Name: "W25Q128B" envcrc 0x9b38a6bb ENV_SIZE = 0x3fffc In: serial Out: serial Eqn: serial Press Ctrl+C to stop autoboot hisilicon # <INTERRUPT> hisilicon # <INTERRUPT> hisilicon # <INTERRUPT> Hinh 2.7: Gian doan qua trinh autoboot Qua thông tin in ra từ bootloader, dung lượng flash trên camera nay là 16MB. Dia chi nạp là 0x82000000. Tiến hành đọc hết 16MB flash.

Nguyễn Công Thành — D17CQAT03-B 23 Đồ an tot nghiệp > r Chương 2: Kiểm thir IP camera Honeywell F2 16384 KiB hi_sfc at 0:0 is now current device hisilicon # sf read 0x82000000 0x0 0x1000000 hisilicon # md 0x82000000 40 82000000: ea000419 eS59ff014 e59ff014 e59ff014. 82000010: e59ff014 e59ff014 e59ff014 e59ff014. 82000050: 20030004 0068306e 00000000 900000fd coe NON. 82000070: 2003000c 007c2063 00000000 900000fd 82000080: 20030010 19000000 009000000 e00000fd 82000090: 20030014 00682064 00000000 e00000fd 820000a0: 20030020 1b000000 00000000 e00000fd 820000b0: 20030024 007c40e1 00000000 e00000fd 820000cO: 20030028 00000010 00000000 e00000fd oe cece D 820000d0: 200300e8 0000060f 00000000 001d0000 "1.

820000e0: 20050014 Of ff8000 00000000 e00000fd "1.8: Đọc và kiểm tra bộ nhớ flash Sau khi đã đọc xong flash, em tiến hành cấu hình lại IP máy chủ thành IP máy tinh thông qua lệnh setenv và gửi firmware đã đọc được về may. hisilicon # setenv serverip 192.12 hisilicon # tftp 0x82000000 firmware.bin 0x1000000 Hisilicon ETH net controler Uploading: # [ Connected ] Đ#HUUƯUƯUUƯHHUHUHUHfUfUffHf.888 MB] HHAHHHHHHHRHRHHAHRHRHRHRRR RRR [ 5.752 MB] I#WffẨfẨfẨfĂfHHUUHHIHHHH-HHHHHHHHH-Ht—U—tĐ [ 8.480 MB] HHAHHHHHHHRHHRHRHRHHRHR RRR RRR RR [14.000 MB upload ok.9: Gửi firmware về máy tinh Với firmware vừa thu được, em sử dụng binwalk đề giải nén vào đọc các thông sô khởi tạo. Nguyễn Công Thành — D17CQAT03-B 24 Đồ án tốt nghiệp Chương 2: Kiểm thir IP camera Honeywell > OFbO Recent = nh = _firmware. bin extracted recom Doc s exluck@ubuntu: ~/Desktop/ftp Downloads File Edi Search Terminal Help Music $ sudo binwalk -t -e firmware.bin [sudo] password for exluck: Pictures DECIMAL DESCRIPTION Videos -- Trash 9x89900 edition T Other Locations 0x580000 13369344 excceeee iles , little endian, 1339392, ted_dirs, CRC ®xBDOEAB2B, edition 9, 468 blocks, 131 files 14942208 9xE40068 CramFS filesystem, little endian, size: 12288, s ted_dirs, CRC 0x®2865) ; Files 15204352 OxE80000 i m, little endian, si 2 d_dirs, CRC 0x3266EI Files 15466496 9xEC9098 S2 filesystem, little endian 15794256 OxF10050 Zlib compressed data, compressed 15795440 OxF104FO Zlib compressed data, compressed Hinh 2.10: Giai nén firmware bang binwalk Thông qua file init, em xác định được sau khi khởi động thiết bị sẽ chạy chương trình trình tên là dvrHelper với nhiệm vụ chính là gọi chạy một chương trình có tên là Sofia.

Ngoài ra, mật khẩu root được hash trong file passwd đã bị hash và dễ dàng tìm thấy trên mạng. x A = root:$1$RYTwE1RA$d5tRRVQ5ZeRTr 2wG]Ry .BO:0:0:root:/:/bin/sh 6 root:$1$RYIWEiRA$d5iR: x + € G 08 google.com, w 9 = Google root:$1§RYIWwEiRA$d5iRRVQ5ZeRTrJwGjRy. X mm Q tạ Q Tétcd ©) Video @Muasém (ŒJHìnhảnh : Thêm Céng cu Meo: Tim kiếm chi kết quả tiếng Việt. Bạn có thế chỉ định ngôn ngữ tim kiếm của minh trong Tùy chọn Looking for results In En Change to English https://gist.com › gabonator_ Dịch trang nay TTS tực Sĩ dựng Tiếng | HiSilicon IP camera root passwords - gists - GitHub Cai đặt ngôn ngữ OctopusKat commented on Jul 11, 2017.

root:S1SRYIWEIRASASIRRVQ5ZeRTrJWGjRy.B0:0:0:root:/:/bin/sh [mus as password on https:/www.com › forum Dịch trang này Telnet password and username for IPC - Open IP Camera. thg 4, 2014 - 13 bài đăng - 7 tác giả root:$1SRYIWEiRASd5iRRVQ5ZeRTrJwGjRy.B0:0:0:root:/:/bin/sh. If you still need the password for that hash here it is: JHWITĐE Hình 2.11: Mật khẩu root của thiết bi được tìm thấy trên google Với mật khẩu root có được, em đễ dàng kết nói đến dịch vụ telnet qua đó có thê điều khiển được thiết bị. Thông qua đó, em có thể biết được từng công dich vụ đang được sử dụng bởi các tiến trình nào.

Nguyễn Công Thành — D17CQAT03-B 25 Đồ án tốt nghiệp Chương 2: Kiểm thir IP camera Honeywell :~$ telnet 192. Escape character is '^]'. LocalHost login: root Password: * -<Ô œ@UO(Œ <-2 ¬^+-O-ÔTi2 :8899 :34599 _ LISTEN 763/Softa :34567 ied LISTEN 763/Sofia 2554 ở LISTEN 763/Sofia :WWW -0.12:53706 1 TIME_WAIT oc/net/tcp6: such file or directory 234568 0.0: 763/Sofia @eo0 ®@OnN ne -255.12: Đăng nhập telnet và lay thông tin các cổng dịch vụ Thông qua các thông tin thu thập được, em xây dựng được sơ đồ kết nối của camera đồng thời xác định mục tiêu chính cần tập trung là chương trình Sofia do đây là ứng dụng phụ trách các chức năng chính của thiết bị. TCP/554 RTSP service TCP/80 web service TCP/34599 = xxx Service Sofia an 2 TCP/8899 ospf-lite service a ‹ > 1 tT sẽ TCP/34567 ari dhanalakshmi service 168.12 Sofia TCP/23 Telnet service Teinetd TCP/34561 xxx service upgraded TCP/95527 Debug service dvrHelper Hình 2.13: So đô kết noi của camera Honeywell 2.

Tìm lỗi trong thiết bị Sau khi đã xác định được mục tiêu, em tiễn hanh dịch ngược phần mềm Sofia. Tuy nhiên, khi tiến hành decompile phần mềm bằng IDA, em chỉ thu lại được 3 hàm ngắn không có vẻ gì liên quan đến các chức năng mà máy chủ web thực hiện. Nguyễn Công Thành — D17CQAT03-B 26 Đồ án tốt nghiệp Chương 2: Kiểm thir IP camera Honeywell Roe BA ervey SHES ỳ a DO teh tres X b DD no deduoger ~ ei Ot ý .ễẳẽềœœœmm s2 brary function fl Regular function fi instruction [| 0axa HỒ] Unesglored {| External symbol (Z1 Functions window 38x ï mvewa G8 [TQ PsudeodeA C3 Hecview E3 [| ssưudưes F3 ] Enums Ø3 Bm 8 feos =O Function name Segment Start Leng varg_ri= -OxC stort toap 001E8854—- 00004 ia 2G: sub_1E8C08 LOAD. 0000( _=t SP IEBCSS LOAD 001E8CS8 - 0000 g ` 3 FUNCTION CHUNK AT Ø01EBD44 SIZE 00000020 BYTES ADR R12, off 1EBB44 ILDMrA R12, {R1,R2,R10,R11} lap R16, R10, R12 lap R11, RIL, R12 lnov R0, R2 su8 R9, R12, R1 lado R1, R1, #0x1000 lov R3, #0x1000 srMrp SPI, {R0-R3} liov R2, #7 lov R3, #0x32 lov R4, #0xFFFFFFFF lov R7, 80xC0 svc @ Iceni R0, #0x1000 BCS loc_ 1EBD44 =“———————— ¥ Ỳ START OF FUNCTION CHUNK FOR start Line 1 of 3 dẤh Graph overview nax R9, R10 R2, #0x1E ROI, {R1-R8} R1, aProtExecProthir ; “PROT_EXEC|PROT_WRITE failed.

\n” oc__1EBB94 Ro, #2 R7, #4 @ 100.00% (-363,161) (227,121) 001E3854 001E8854: start (Synchronized with Hex View-1) TP Output window oe@x "6806 USE” EUESSEO Type IC GR0FG-88867 163884: using guessed type int dưord_1E3884[512]; 1E4884: using guessed type int[512]; 1EBE20: using guessed type int[367]; I 1EBC58: using guessed type int _ fastcall sub 1EBC58( DHORD); we All: ile own isk: RAG Hình 2.14: Phan mém Sofia được decompile trong IDA Qua tìm hiểu, em phat hiện phần mềm đã được pack lại và thông qua kiểm tra hex của file em đã xác định phầm mềm Sofia được pack bằng UPX (Ultimate Packer for eXecutables). IDAView-A 3 Pseudocode-A (J [©] Hexvewl Â] [Al strudure Q@1EBCD@ 2 00 00 EA 04 40 94 EO DE FF FF @B 0B 00 00 2A. v 001EBCE9 01 10 AO E3 04 40 94 EO DA FF FF 0B 07 00 00 2A_. = 001EBCF9 @4 40 94 EØ D7 FF FF @B 01 10 A1 EQ 04 40 94 E9 .

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ