Pourquoi tout le monde est-il si préoccupé par etc / passwd?

36

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 malfaiteur puisse obtenir ce fichier de mon serveur de production?

    
posée funguy 31.07.2015 - 08:25
la source

2 réponses

48

Le point clé est que les Pentesters / les casques blancs / les pirates informatiques ainsi que la cible des chapeaux noirs /etc/passwd as proof of concept , comme test de possibilité d'accéder à un système.

Techniquement, /etc/passwd n'est pas si effrayant. Auparavant, il stockait des données privées, évidemment des mots de passe, mais de nos jours, vous devriez vous inquiéter de /etc/shadow - la plupart des systèmes Linux utilisent aujourd'hui shadow suite d'utilitaires pour garder un mot de passe haché et salé en /etc/shadow , contrairement à /etc/passwd , n'est pas lisible par tous. (sauf si vous utilisez la commande pwunconv , qui déplace les mots de passe hachés dans / etc / passwd).

Le seul élément d'information plus ou moins sensible est le nom d'utilisateur. Si vous avez sshd ou telnet sur le serveur et un nom d'utilisateur avec un mot de passe faible, il existe un risque d'attaque en force.

Au fait, votre question même a été posée auparavant . Ici, je me suis contenté de rappeler quelques-uns des concepts déjà mentionnés.

Petite addition: c'est un peu exagéré, mais j'ai remarqué que vous avez bash en tant que shell root. Maintenant, supposons que vous ayez un utilisateur sur le système qui a bash comme shell, pire encore - cet utilisateur est sudoer. Maintenant, si vous bash est obsolète ou non corrigé, un attaquant pourrait exploiter la vulnérabilité de Shellshock pour voler des données. ou exécutez une bombe à fourche pour arrêter temporairement votre système. Donc oui, techniquement, /etc/passwd n'est pas un gros problème, mais cela donne à un attaquant une idée de certaines informations sur ce qu'il faut essayer

Édition supplémentaire, 18/11/2016

Après avoir utilisé un serveur Ubuntu sur Digital Ocean pendant un certain temps, il a été porté à mon attention que la plupart des attaques par force contre mon serveur ont été effectuées pour root user - 99% des entrées ayant échoué dans /var/log/auth.log étaient pour root . /etc/password , comme je l'ai déjà mentionné, permet à l'attaquant de consulter la liste des utilisateurs, et pas seulement les utilisateurs du système, mais également les utilisateurs humains, ce qui signifie plus de possibilités d'attaques. Rappelons 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 d'un attaquant sur une erreur humaine ou une confiance excessive risque fort d'être un gros lot.

    
réponse donnée Sergiy Kolodyazhnyy 31.07.2015 - 08:54
la source
11

Pour vous connecter à une machine, vous devez connaître le nom d'utilisateur et le mot de passe.

/etc/passwd fournit des informations sur les utilisateurs qui vous donnent la moitié des informations dont vous avez besoin et qui sont utilisées pour 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 hash mais pas l'inverse. Si vous avez les deux, vous pouvez essayer de trouver le mot de passe hors connexion en mode brute, puis essayer 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 différent /etc/shadow qui, par défaut, n'est pas lisible par la plupart des utilisateurs.

Mais si j'avais accès à la fois à /etc/passwd et à /etc/shadow , je pourrais probablement trouver votre mot de passe en utilisant une attaque par dictionnaire brutale. Comme je peux le faire localement sur ma machine, vous ne remarquerez pas beaucoup de tentatives infructueuses pour trouver votre mot de passe et je n'aurai plus qu'à me connecter à votre machine une fois le mot de passe connu. Je suis alors libre de faire ce que je veux.

Il y a plus d'informations ici sur Wikipedia

    
réponse donnée Warren Hill 31.07.2015 - 09:10
la source

Lire d'autres questions sur les étiquettes