Trong bài viết trước mình có viết về chuyện modem bị reboot loop. Boot log, cách debug bằng UART, gõ lệnh,… các bạn có thể đọc bài bên dưới.
Gần đây mình mới mua cái modem này để thay cho cái G-97RG3 vì em RG3 không thể add IPv4 static route được đồng thời em RG3 Wifi có 2.4 GHz. Mình lười thiết lập lại trên modem mới nên lấy luôn thiết lập modem cũ restore trên cái mới luôn, vì cả 2 chung ruột nhau cả mà =]]], đồng thời clone MAC lên modem mới. Hôm sau gắn vào thì lên mạng ngon lành, wifi 2.4 GHz cũng tốt hơn trước rất nhiều, lên được hơn 100 Mbps mà em trước không làm được =]]. Nhưng khi restore bằng config của RG3, bởi nó không có phần cho wifi 5GHz nên em RG6W cho disable 5GHz luôn, cố bật trong Web Manager không được =]]]. Và rồi táy máy reset modem, web manager lên được nhưng dùng password mặc định phía sau thì không vào được =]]]]
Hành trình tìm mật khẩu vào web manager
Mình nhân thấy việc đổi MAC của mình có khả năng dẫn đến thay đổi password mặc định, mình có thử suy nghĩ xem cái modem tạo password kiểu gì (Hex to dec, md5,….) nhưng không thu được kết quả gì. Mình chuyển sang hướng đi kiếm firmware của modem xem nó làm thế nào để generate password. Tìm loanh quanh trên mạng với từ khóa firmware fpt 97rg6w
mình tìm được firmware cho 97RG6M, nghe nói cũng anh em với RG6W nên tải thử về xem chơi =]]]

Đọc qua các init script thì cũng nắm qua được là khi khởi động sẽ chạy những cái gì, dạo qua tiếp thư mục /etc
thì thấy có một số file XML có vẻ như chứa config của modem, do mình thử view file backup config từ modem cũ xuống thì nội dung cũng tương tự vậy.

Xem thử file rg_fpt.xml
thì có thấy đoạn này

%{mac1}
này và thay nó bằng password. Tìm thử trong firmware thì có vài kết quả như thế này

RTC_xml_replace()
dùng chuỗi %{mac1}
để tìm trong đống XML. Trong hàm đó, khi tìm thấy chuỗi %{mac1}
thì sẽ chạy đống này.
Với một dân tay ngang sang reverse engineering thì mình cũng không biết nên làm gì với đoạn này để nó sáng sủa thêm cả =]]], may sao ở cuối hàm có đoạn gọi ghi Log.

Đến đây thì mình chuyển hướng sang tìm log của modem để tìm password, phần này mình có viết qua trong bài trên.
Khi mà bị reboot loop như thế, mình có khoảng 10-15s để gõ lệnh trước khi kernel panic rồi reboot. Nhận thấy có thể set lại MAC trong thời gian đó nên mình đã restore lại địa chỉ MAC cũ, kèm thêm lệnh eep_reset
nữa. Sau đấy thì vẫn bị reboot loop, nhưng vài tiếng sau cắm lại thì lên web bình thường, không bị reboot nữa, ảo vãi =]]]].
Lúc này lên web xong nhưng password vẫn không phải cái mặc định in trên tem phía sau. Chọt reset để nó gọi lại hàm RTC_xml_replace()
, debug bằng Putty thì truy cập vào console ngon lành, mình cố tìm lệnh in log với hi vọng tìm được password. Sau một hồi gõ gõ thì cũng thấy =]]]]
#ONT>
#ONT>system/log/
#ONT/system/log>show rtc

Lời kết
Bản tính nghịch ngợm của mình xíu nữa thì phải trả giá bằng tiền =]]]], nhưng mà cũng được học các command khá hay và cũng học được một xíu reverse engineering. Kiếm được firmware dòng anh em cũng là cái may mắn vì các thiết bị kiểu này tìm nát Google cũng khó thấy. Về modem này của FPT thì mình đánh giá cao, wifi tốc độ tương đối cao, mạng dây thì toàn bộ 1Gbps, kiểu dáng thì đẹp, không râu ria gì. Nếu các bạn có ý định thay modem hoặc kiếm Access Point phụ thì modem này và FPT AC1000F là 2 sự lựa chọn tốt, giá rẻ, hiệu năng tốt, đúng nhu cầu =]]].
Cảm ơn mọi người đã đọc đến những dòng này ^^