Couple identifiant/mot de passe par défaut sur les media center

février 24th, 2014 | Posted by Cervoise in Français

Récemment je me suis intéressé aux média center sur Raspberry Pi. J’ai découvert RaspBMC et OpenElec. De nombreux sites/blogs expliquent comment installer ces distributions sur les Raspberry Pi. On est loin de l’installation classique d’une Debian, ou même d’un Windows. Un élément alarmant est que, lors de ces installations, il n’est pas proposé de changer le nom d’utilisateur ou le mot de passe.

Aucun des tutos consultés concernant RaspBMC ne signalent qu’il est nécessaire de changer les mots de passe. Pour rappel, sur cette distribution, le couple identifiant/mot de passe est le même que sur Rasbpian à savoir : pi/raspberry.

Pour info, si l’on consulte les wordlists de metasploit on constate que le couple y est présent :

root@kali105:/usr/share/metasploit-framework/data/wordlists# cat unix_users.txt  |grep pi
pi
root@kali105:/usr/share/metasploit-framework/data/wordlists# cat unix_passwords.txt |grep raspberry
raspberry

De plus, la distribution est fournie, entre autres, avec des serveurs SSH, FTP et SMB activés. Les serveurs SSH et FTP permettent un accès au système avec comme seules restrictions celle du compte pi. Le serveur SMB, limite l’accès par défaut au répertoire /home/pi ainsi qu’aux devices branchés (avec des droits root) et montés sur le Raspberry :

pi@raspbmc:~$ cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
#usershare allow guests = yes
#security=share
security=user
follow symlinks = yes
wide links = no
unix extensions = no
lock directory = /var/cache/samba

[pi]
browsable = yes
read only = no
#guest ok = yes
valid users = pi
path = /home/pi
#force user = pi (no longer needed)

[devices]
browsable = yes
read only = no
#guest ok = yes
valid users = pi
path = /media
force user = root

De plus, le compte pi est dans la liste des sudoers et le passage en root ne nécessite pas de mot de passe.

pi@raspbmc:~$ sudo cat /etc/sudoers
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias      SHUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt, /usr/bin/passwd
# User privilege specification
root    ALL=(ALL) ALL
pi      ALL=(ALL) NOPASSWD: ALL
Defaults env_keep += "RPI_UPDATE_UNSUPPORTED"
# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

Du côté d’openELEC, ce n’est guère mieux. SSH n’est plus activé par défaut depuis la version 3.0.6 (version du 15 juin 2013) mais activable au cours de l’installation . La raison est simple, il n’est pas possible de changer le mot de passe du compte root à moins de recompiler openELEC depuis les sources.

Dans ce cas, je n’ai pas retrouvé le mot de passe dans les wordlist metasploit.

Dans les deux cas, il est bien sur possible de se prémunir contre des connexions illicites utilisant les identifiants par défaut. Cependant, le changement n’étant pas demandé/simple par défaut, cela complique la tâche des particuliers. On se retrouve donc avec de nombreux media center vulnérables dans des réseaux domestiques. De plus, il ne s’agit pas uniquement de Raspberry Pi, par exemple OpenELEC tourne sous de nombreuses plateformes notamment l’AppleTV.

Pour finir, j’ai rapidement réalisé un exploit Metasploit pour OpenELEC effectuant une connexion SSH avec le coupe identifiant/mot de passe par défaut : https://github.com/cervoise/pentest-scripts/blob/master/metasploits-exploit/modules/exploit/linux/misc/openelec_default_ssh.rb.

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.