Voici le contenu de ma machine vagabonde de ce fichier particulier:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/us$
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
syslog:x:100:103::/home/syslog:/bin/false
Quelqu'un pourrait-il m'expliquer pourquoi il est mauvais qu'un type maléfique puisse récupérer ce fichier de mon serveur de production?
Le point clé est que Pentesters /chapeaux blancs/hackers éthiques ainsi que la cible /etc/passwd
au chapeau noir comme proof of concept
, en tant que test de la possibilité d'accéder à un système.
Techniquement, /etc/passwd
n'est pas si effrayant. Auparavant, il stockait des données privées, des mots de passe, bien sûr, mais à partir de maintenant, vous devez être plus inquiet à propos de /etc/shadow
- la plupart des systèmes Linux utilisent à présent la suite d'utilitaires shadow
pour conserver un mot de passe haché et salé dans /etc/shadow
, qui ressemble à /etc/passwd
. n'est pas lisible par tout le monde. (sauf si vous utilisez la commande pwunconv
, qui ramène les mots de passe hachés dans `/ etc/passwd).
Les noms d'utilisateur sont la seule information plus ou moins sensible. Si vous avez sshd
ou telnet
sur le serveur et un nom d'utilisateur avec un mot de passe faible, une attaque par force brute est possible.
En passant, votre même question a été posée auparavant . Ici, je me suis contenté de reformuler certains des concepts déjà mentionnés.
Petit ajout: c'est un peu tiré par les cheveux, mais j'ai remarqué que vous avez bash
comme racine Shell. Supposons maintenant que vous avez un utilisateur sur le système dont le shell est bash
, pire encore: cet utilisateur est sudoer. À présent, si votre bash est obsolète ou non corrigé, un attaquant pourrait tenter d'exploiter la vulnérabilité de Shellshock pour voler des données ou exécuter une opération fork-bomb mettre votre système temporairement hors service. Donc oui, techniquement, /etc/passwd
n’est pas une grosse affaire, mais il donne à l’attaquant une idée de certaines informations sur ce qu’il faut tenter.
Edition supplémentaire, 18/11/2016
Après avoir utilisé un serveur Ubuntu sur Digital Ocean pendant un certain temps, j'ai appris que la plupart des attaques par force brutale contre mon serveur avaient été commises pour l'utilisateur root
- 99% des entrées de mot de passe manquant dans /var/log/auth.log
étaient pour root
. /etc/password
, comme je l'ai déjà mentionné, donne à l'attaquant un aperçu de la liste des utilisateurs, et pas seulement des utilisateurs du système, mais également des utilisateurs, ce qui signifie davantage de lieux potentiels d'attaque. Rappelons-nous que tous les utilisateurs ne sont pas conscients de la sécurité et ne créent pas toujours un mot de passe fort. Par conséquent, le pari de l'attaquant sur une erreur humaine ou une confiance excessive a une probabilité assez élevée d'être un jackpot.
Pour vous connecter à une machine, vous devez connaître à la fois le nom d'utilisateur et le mot de passe.
/etc/passwd
fournit des informations sur les utilisateurs, ce qui vous donne la moitié des informations dont vous avez besoin et permet d'inclure un hachage de votre mot de passe.
Un hachage étant quelque chose calculé à partir de votre mot de passe. Il est difficile de trouver un mot de passe à partir d'un hachage, mais pas l'inverse. Si vous avez les deux, vous pouvez essayer avec une force brutale de trouver le mot de passe hors connexion, puis essayez uniquement de vous connecter à l'ordinateur une fois que vous l'avez trouvé.
Aujourd'hui, la sécurité est améliorée car les hachages sont stockés dans un fichier /etc/shadow
différent, qui par défaut n'est pas lisible par la plupart des utilisateurs.
Mais si j'avais accès à /etc/passwd
et /etc/shadow
, je pourrais probablement trouver votre mot de passe en utilisant une attaque par "dictionnaire" en force brute. Étant donné que je peux le faire localement sur ma machine, vous ne remarquerez pas de nombreuses tentatives infructueuses pour trouver votre mot de passe et je n’aurais plus besoin que de vous reconnecter à votre machine une fois que je connaissais le mot de passe. Je suis alors libre de faire ce que je veux.
Il y a plus d'informations ici sur Wikipedia