這些天小米路由器再爆作惡新聞,繼前段時間的403/404劫持,現(xiàn)在就連普通上個網(wǎng)頁都被劫持了,用來插入小米廣告,簡直不能忍!小編趕緊結(jié)合網(wǎng)上大神以及自己的摸索,找到了暫時能解決小米路由器劫持403/404和插入廣告的惡行,之后小米路由器有什么動作,靜觀其變吧。
論壇相繼爆料
可疑啟動項和進程分析
最近幾天稍微對小米路由(R1D)上的啟動項和進程做了一些分析,初步得到一個稍微干凈的小米路由:
1.1 /etc/init.d/http_client_detect
在這個啟動項里,主要是加載nf_conn_ext_http 和 insmod nf_tcp_proxy 兩個內(nèi)核模塊,同時有啟動 /usr/sbin/http_dpi
我還沒深入研究,但初步判斷小米路由監(jiān)控用戶的HTTP數(shù)據(jù),已達到404劫持和插入廣告的操作。
所以這個啟動項必須刪除掉,拋棄
1.2 /etc/init.d/rule_mgr
這個啟動項中有http_match , nf_conn_ext_http, nf_tcp_proxy 內(nèi)核模塊
估計也是輔助劫持所用,拋棄
1.3 /etc/init.d/http_status_stat
單從名字上看,應(yīng)該就是為劫持404所用,拋棄
1.4 /etc/init.d/statisticsservice
啟動的進程中的配置文件中有一段:ad_filter_stat_url = ":8195/"
感覺是廣告的代理,你說沒事去訪問8195端口干啥,另外“ad”這個名字,就是廣告縮寫呀,拋棄
1.5 /etc/init.d/sysapihttpd
這是啟動http服務(wù)器,純粹啟動80端口也就罷了,啟動了N個服務(wù)和端口,我也就不一一吐槽了
總之也是為配合404劫持和廣告所用,所以需要拋棄。
如果才啟動項禁用掉的話,可能就無法訪問小米路由的WEB配置頁面了,別擔心,可以啟動uhttpd來實現(xiàn)。
1.6 /etc/init.d/mihttpd
同樣是啟動小米路由的配置頁面,不過不在80端口,拋棄。
1.7 /etc/init.d/xunlei
小米路由中的下載用的就是迅雷,如果有下載需求的可以不用停,但我無此需求,看著也不爽,拋棄。
1.8 /etc/init.d/messagingagent.sh
此啟動項是將路由器一些數(shù)據(jù)上報給小米服務(wù)器,手機app遠程訪問也就是聯(lián)系小米服務(wù)器獲取路由的相關(guān)信息。
具體我也不一一描述了,個人感覺,將一些信息上傳給小米,這件事不靠譜。
雖然打著“遠程管理”的幌子,誰知道有無上傳個人隱私信息呢。
如果你還需要用手機APP遠程配置路由的話,可以留著。
操作步驟:
當然小米路由上還有其他可疑進程,但還未搞清楚其用途或者關(guān)聯(lián),暫時不去理會。
這次主要初步解決掉404劫持,插入廣告這類問題:
手上這臺小米路由的系統(tǒng)版本是: 開發(fā)版2.3.10 ,其他版本未嘗試。
2.1 首先得開啟ssh權(quán)限,這個不需要多說了,網(wǎng)上教程很多,也可以通過小米官網(wǎng)開啟,開啟之后就失去保修了,個人衡量。
2.2 關(guān)閉可疑進程操作:
/etc/init.d/rule_mgr stop
/etc/init.d/http_client_detect stop
/etc/init.d/http_status_stat stop
/etc/init.d/statisticsservice stop
/etc/init.d/sysapihttpd stop
/etc/init.d/mihttpd stop
不需要遠程訪問和迅雷下載的話,可以繼續(xù)操作:
/etc/init.d/messagingagent.sh stop
/etc/init.d/xunlei stop
這樣的話,以上進程都被關(guān)閉掉了。
2.3 關(guān)閉可疑進程開機自動運行:
/etc/init.d/rule_mgr disable
/etc/init.d/http_client_detect disable
/etc/init.d/http_status_stat disable
/etc/init.d/statisticsservice disable
/etc/init.d/sysapihttpd disable
/etc/init.d/mihttpd disable
不需要遠程訪問和迅雷下載的話,可以繼續(xù)操作:
/etc/init.d/messagingagent.sh disable
/etc/init.d/xunlei disable
這樣的話,以上進程,重啟之后也不會開機運行了
2.4 啟動uhttpd操作:
因為停掉了sysapihttpd ,小米路由配置WEB將無法訪問。
幸運的是,小米路由上還有uhttpd
首先修改一下/etc/init.d/uhttpd
找到 [ $use_uhttpd -eq 0 ] && return 0 這行,大概在倒數(shù)第8行的樣子,注釋掉這一行。
然后啟動uhttpd:
/etc/init.d/uhttpd start
并設(shè)置開機自動運行:
/etc/init.d/uhttpd enable
2.5 計劃任務(wù)中一些操作也讓我存疑
執(zhí)行crontab -e 可以注釋停掉,目前我計劃任務(wù)中只保留了ntp,其他項都被我注釋掉了。