샤오미 공유기의 특징은 하드웨어는 좋지만 소프트웨어가 개판이다. 이러한 샤오미 펌웨어를 조금이나마 유용하게 사용할 수 있게 해주는 것 중 하나는 SSH이다. 샤오미 공유기 설정 페이지에서는 설정이 불가능한 여러 요소들을 그나마 셀상에서 사용가능하게 해줄 수 있다.

 

먼저 아래의 소프트웨어가 필요하다

 

WinSCP : 샤오미공유기 상으로 파일을 옮길 때 필요한 프로그램이다.

Putty : 샤오미공유기로 SSH 접속시 필요한 대표적인 프로그램이다.

Notepad2 : 유닉스포멧의 텍스트 파일을 편집하는 데 필요한 프로그램이다.

 

그리고 전제조건이 필요한데 샤오미 최신 펌웨어에서는 해당 취약점이 고쳐져서 SSH를 활성화 할 수 없다. 그러나 다행이 아직까진 샤오미라우터는 다운그래이드를 해도 문제가 없기 때문에 아래의 펌웨어를 통해 다운그래이드한다.

 

cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin

 

이파일을 샤오미 공유기 페이지에 로그인하여 펌웨어를 수동으로 올려줘야한다.

 

먼저 샤오미 공유기 관리자 페이지인 http://192.168.31.1로 접속한다. 이 주소가 아닌 경우가 있을 수 있는데 이는 자신이 LAN IP 대역대를 다른 대역대로 바꾸었을 때 나타난다. http://192.168.xxx.1 로 대신 접속한다. 이때 xxx는 네트워크 상태 설정으로 들어가면 볼 수 있다. 이는 OS마다 다르기 때문에 설명을 생략한다.

 

그 다음으로 샤오미 공유기 페이지에 다시 로그인하여 STOK 값을 얻어야하는데 그 과정은 아래와 같다.

접속한 뒤 자신이 설정한 샤오미 공유기 관리자 암호로 로그인하면 

 

주소창에 stok=어떤 값/web 이런식으로 나타나는데 로그인할 때 마다 저 값이 달라진다. 위의 예시에서는 4에서부터 3까지의 값 44a409213f35d7e307f9d020646a74b3 이것이 stok 값이 된다. 이 값을 메모장에 메모해두도록 하자.

 

다음으로 

 

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/apsetting/upgrade

 

이 주소에서 <STOK>값을 위에서 구한 값으로 치완시켜서 접속한다.

 

위와 같은 메뉴가 존제하는데 버튼을 눌러서 펌웨어 파일을 선택한 뒤 펌웨어를 변경하도록 한다. 펌웨어가 바뀐 후에는 STOK 값이 쓸모가 없어지므로 다시 관리자페이지로 로그인하여 새로운 STOK 값을 메모하도록 한다.

 

이후 아래의 가이드를 참조하여 SSH 셀을 활성화한다.

https://forum.openwrt.org/t/xiaomi-ax3600-ssh-guide/65438

 

Xiaomi ax3600 ssh guide

Half a year has passed since the release of the xiaomi wifi6 router ax3600. And finally we can get the ssh access on it. The origin exploit is found by LonGDikE from Chinese Enshan forum. Here are the steps: Downgrade your router to 1.0.17 version:http://c

forum.openwrt.org

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3Bnvram%20set%20ssh%5Fen%3D1%3B%20nvram%20commit%3B

 

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3Bsed%20-i%20's/channel=.*/channel=%5C%22debug%5C%22/g'%20/etc/init.d/dropbear%3B

 

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B/etc/init.d/dropbear%20start%3B

 

주소에서 <STOK>을 이전에 메모한 값으로 바꾸어 주소창에다가 입력시키면 SSH 가 활성화 되지만 로그인을 할 수 없다. 원래 암호는 샤오미 공유기의 SN 값을 해쉬처리한 값이지만 이 값을 구하는 건 귀찮다. 

 

그래서 아래의 주소를 이용하여 admin 으로 암호를 바꾸어준다.

 

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B

 

이후 Putty를 이용하여 192.168.31.1 주소에 포트 22 프로토콜 ssh로 접속(Open)하면 된다. 

계정 아이디는 root

계정 비밀번호는 admin

이렇게 접속하면 아래와 같은 화면이 나온다.

 

그런데 펌웨어를 업데이트 한 뒤에는 위의 취약점이 막혀서 더 이상 ssh로 접속이 불가능해진다. 따라서 SSH 접속을 계속 유지할 수 있도록 펌웨어의 파일 일부에다가 스트립트를 삽입해줄 것이다. 이를 위해서 WinSCP와 Unix 파일 형식을 지원하는 메모장을 이용하여 파일을 수정해 줄 것이다.

 

먼저 WinSCP를 켜서 New Site 를 선택한 뒤 

위와 같이 설정해준다. 이후 로그인을 클릭하여 접속하면 경고창이 뜨는데 RSA 키에 대한 확인과정이므로 YES를 눌러 승낙해주고 암호를 다시 입력해준다. 이후 

위와 같은 화면이 뜨는데 

위의 .. 파일을 누르면 위와 같이 루트폴더가 뜨고 ETC를 더블클릭한뒤 udhcpc.user 파일을 오른쪽 클릭한 Edit 메뉴를 선택한다.

 

위의 에디터에서 다음 두 라인을 추가한다.

 

sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start

 

이 에디터를 끄게 되면 파일을 저장할 것이냐고 묻는데 Yes를 누르면 자동으로 업로드하여 저장하게 된다.

 

이후 샤오미 펌웨어를 자신이 원하는 방식으로 최신버전으로 업데이트를 하면 된다. 이후에 udhpc.user 파일을 실행시켜주기 위해서 다시 샤오미 관리자페이지에 로그인 한 뒤 

http://192.168.100.134/cgi-bin/luci/;stok=<STOK>/web/apsetting/wan페이지로 접속하여 고정 IP로 바꾸면서 다시 유동 IP로 바꾸는 작업을 거치면 SSH를 최신버전에서도 쓸 수 있다. 

 

AX1800와 Redmi AX5 라는 염가형 공유기도 위의 방법과 유사하게 SSH를 뚫을 수 있다고 알려저 있다. 다만 SSH를 뚫기 위해 이용해야할 펌웨어의 종류가 다를 뿐이다. AX1800의 펌웨어는

http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/rm1800/miwifi_rm1800_firmware_6718d_1.0.34.bin

 

Redmi AX5 공유기의 펌웨어는

cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra67/miwifi_ra67_firmware_63805_1.0.16.bin

 

위 파일을 통해서 다운 받을 수 있다.

 

참고주소

1. http://zzmi.top/index.php/post/115.html

 

 

刘涛-郑州小米-AX3600/AX1800官方固件开启SSH,增加一步到位代码

这段时间一直抽时间在分析固件,昨天终于找到漏洞,web注入方式,不过该漏洞在最新版本应该已经堵上了 详细方法及固件版本晚点整理公布 root密码算法同之前 0526:方法公布 ----有漏洞固件,

zzmi.top

2.http://m.right.com.cn/m/post/4039512

 

https://www.xiaomi.cn/post/2808939

 

www.xiaomi.cn

 

+ Recent posts