Saturday, April 21, 2007

FON: Unbrick your La Fonera!

在0.7.1 r2之後(含)的Firmware,由於修正了管理介面的漏洞,若想透過SSH client使用FON的Terminal,大致上還有以下選擇:第一種是先前提到的Firmware Downgrade,這個成功機率以運氣成份居多,並非每台都能成功降回至先前版本。第二種是用Hard Reset的方法,試圖還原成未更新前的狀態。不過Hard Reset的方法眾說紛紜,你能用的方法,並不代表我也能用,所以此方法的變數也相當大。最後是利用Serial Console的方法來取得Terminal,也就是俗稱的硬改,此方法相當徹底,操作過程正確的話一定會成功,惟需較多電子或電路相關的背景知識,假使不小心接錯線或焊接錯誤,可能會導致FON故障!電路問題解決後,還需相當熟悉Linux系統的操作,以應付例外狀況,操作不慎同樣會搞砸你的FON!

這次的方法和先前提到的三種方法,相較之下簡單許多。拜Hacking the La Fonera所賜,他們使用DNS Spoofing的方法,藉由更改預設的DNS Server,欺騙FON連線至自己架設的伺服器,此伺服器會傳送啟動dropbear(SSHd on La Fonera)和修改iptables的指令至FON,這部分和先前利用0.7.1 r1的漏洞開啟FON的指令是一樣的。待動作完成後就能取得Terminal,然後您再手動修改設定檔,讓FON能自動啟動dropbear和更改iptables的設定值,最後再把DNS Server換回來就可以了。藉由這個方法,即可免除了降版本、Reset或硬改的麻煩工程!當然如果架這個伺服器的人,在FON的啟動指令中,加上某些惡意指令,結果可能導致對方能掌握整台FON,並能做到其它的事。若您不相信該作者,除了依照網頁上的說明,自行架設伺服器,否則就請用別的方法吧。

註:由於PPPoEPPTP連線的網頁管理介面中,並沒有可以修改DNS Server的欄位,所以您的FON若是使用此兩種連線方式直接連線至Internet,不適用此方法。若您的FON裝在IP分享器下,或是使其它讓FON能透過Ethernet就可上網的方式,則可使用此方法。

接下來開始我們的修改程序

1. 請先啟動你的FON,並放置一段時間,直到MyPlaceFON_AP兩個無線網路信號都出現為止。至此可以確定開機程序已經完成。

2. 使用無線網路連線至MyPlace,確認連線成功並取得IP位址後,開啟網頁管理介面的網頁192.168.10.1

3. 開啟Advanced->Internet ConnectionMode請設定為Static IPIP Address, Subnet Mask, Gateway的設定值,請使用您原先的設定值。若您原先Mode使用DHCP,請回到剛進入網頁管理介面的Status頁面,先記錄您的IP Address, Gateway,再回到設定頁面設定您目前使用的值。一般而言,Subnet Mask填入255.255.255.0即能適用於多數的網路環境。DNS Server務必設定成88.198.165.155,這樣才能欺騙FON連線至指定的伺服器。設定完成後按下Submit,FON會自動重新啟動。

4. 重新啟動之後,等到MyPlace信號出現並連線後,就可以使用PieTTY或其它支援ssh連線的程式連線至FON,並進行接下來的設定。本例以PieTTY為範例。

5. 開啟PieTTY,IP Address為192.168.10.1,Port為22。按下連線後,稍等一下會出現login as:,請輸入root,再來會出現password,請輸入網頁管理介面的密碼。完成後會看到一個FON圖樣的畫面,表示您已成功登入FON的Terminal。

6. 貼上mv /etc/init.d/dropbear /etc/init.d/S50dropbear後按Enter。這個動作可以讓你的dropbear會自動隨系統啟動。到目前為止,操作正確的話會看到如下圖的畫面。建議直接複製整串綠色字,可避免不必要的錯誤。(註:在PieTTY貼上文字,只需先複製欲貼上的文字,接著在PieTTY的黑色區域上按一次滑鼠右鍵,即完成貼上動作)


Fig: FON Terminal through SSH connection (Click to enlarge)

7. 貼上rm /etc/firewall.user後按Enter,完成後再貼上wget -O /etc/firewall.user http://lookfree.info/blogger/2007/04/FON_firewall.user後按Enter。待下載完成後,原來的檔案會被取代,修改的程序到這裡為止。(這比教vi要省事多了 XD)

8. 請回到網頁管理介面中的Advanced->Internet Connection,還原成未調整前的設定值,再按下Submit。同樣FON會自動重新啟動,待下次再開機時,您就可以把FON玩到翻過來了 XD

No comments: