J'ai un ordinateur sur lequel je dois démarrer, mais les mots de passe semblent être faux. De plus, je ne peux pas monter le lecteur pour l'écriture, et c'est un processeur mips, donc je ne peux pas le coller dans une autre machine pour l'exécuter.
Quoi qu'il en soit, le fichier passwd a certains utilisateurs qui ressemblent à ceci, avec une étoile après le nom d'utilisateur. cela signifie-t-il un mot de passe vide ou quoi?
root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
lp
utilisateur est ridiculement faible. Et comme les mots de passe basés sur DES sont limités en ASCII et ne peuvent contenir que 8 caractères, vous n'obtenez pas plus de 53 bits d'entropie. Passez à un hachage plus fort si vous le pouvez et modifiez les mots de passe.lp
mot de passe en 630 millisecondes. Leroot
mot de passe est beaucoup plus fort. J'ai laissé une attaque par force brute s'exécuter pendant cinq heures avant de la terminer. Il n'a pas cassé leroot
mot de passe dans ces cinq heures. Mais vous devez bien sûr toujours suivre la recommandation précédente et changer le mot de passe.Réponses:
Vous devez vérifier man passwd :
Habituellement, les comptes avec le
*
champ dans le mot de passe n'ont pas de mot de passe, par exemple: désactivé pour la connexion. Ceci est différent du compte sans mot de passe, ce qui signifie que le champ du mot de passe sera vide et ce qui est presque toujours une mauvaise pratique.la source
Les comptes avec mots de passe sont les comptes avec un glob de charabia base64 dans le deuxième champ:
Cet ordinateur semble utiliser le
crypt(3)
hachage de mot de passe traditionnel basé sur DES . Ce hachage est assez faible par rapport aux normes modernes; si vous ne parvenez pas à obtenir une connexion root d'une autre manière, vous pouvez probablement récupérer le mot de passe par force brute, en utilisant John the Ripper ou un logiciel similaire. En outre, techniquement, il ne s'agit pas de base64 mais d'un encodage plus ancien et similaire, mais vous n'avez probablement pas à vous en soucier.La distinction entre
:*:
et:!:
mentionnée dans d'autres réponses est trop nouvelle pour être pertinente pour votre problème. Sur un système UNIX aussi ancien, il n'y a que trois choses différentes qui peuvent apparaître dans le champ du mot de passe:Si le contenu du champ de mot de passe est vide, vous pouvez vous connecter sans mot de passe.
Si le contenu du champ est le
crypt
hachage valide d'un mot de passe, vous pouvez vous connecter avec ce mot de passe.Sinon, vous ne pouvez pas vous connecter en tant qu'utilisateur.
*
est juste la chose conventionnelle à utiliser - ce n'est visuellement pas un hachage de mot de passe valide. Il a probablement été choisi par celui qui a écrit lepasswd
programme.(Le fait d'avoir des ID utilisateur dans le fichier de mots de passe qui ne peuvent pas se connecter est qu'ils peuvent toujours posséder des fichiers, ils peuvent toujours avoir des
cron
travaux et les démons peuvent utilisersetuid
pour assumer cette identité. En fait, il est préférable d'exécuter tous les démons (qui ne doivent pas s'exécuter en tant queroot
) sous ces ID utilisateur, de sorte que vous avez un certain niveau d'assurance que seuls le démon s'exécute sous cette identité.)(Les comptes avec
/dev/null
dans le champ shell sont verrouillés contre l'root
utilisationsu
pour exécuter des programmes sous cette identité d'utilisateur, ainsi que la connexion régulière. De nos jours, vous êtes beaucoup plus susceptible de voir/bin/false
ou d'/sbin/nologin
utiliser à cette fin; je soupçonne que sur ce système, ce dernier ne n'existe pas et le premier est un script shell.)(Le mot de passe de Bob est "bobpassw", crypté à l'aide de l'ancien algorithme, mais sur une machine Linux moderne; ce n'est peut-être pas ce que votre ordinateur produirait pour le même mot de passe et le même sel. L'une des raisons pour lesquelles l'ancien algorithme n'est pas considéré comme bon plus il a une limite supérieure dure de 8 caractères dans un mot de passe.)
(Je sais que le système est vraiment ancien car il utilise le hachage de mot de passe basé sur DES, parce qu'il n'utilise pas de fichier fantôme, et parce que le shell de root est
/bin/ksh
plutôt que quelque chose de plus récent et plus ergonomique.)la source
passwd
n'aurait pas besoin d'avoir monté --bind / dev / sys ....Cela signifie qu'il est désactivé pour la connexion directe. Il s'agit d'un utilisateur utilisé pour exécuter des services ou pour être utilisé pour rlogin. Vérifiez https://en.wikipedia.org/wiki/Passwd#Password_file
la source
À propos de votre question, voyez la réponse de taliezin (et acceptez celle-ci;)
À propos de votre autre problème: recherchez la chaîne 8sh9JBUR0VYeQ sur le disque pour déterminer le ou les blocs de disque dans lesquels il se trouve. Ensuite, ajoutez ce ou ces blocs de disque dans un fichier, remplacez cette chaîne par un hachage de mot de passe connu (l'ancienne crypte () une - même longueur) et réécrivez le (s) bloc (s) de disque à l'ancien emplacement - en faisant éventuellement une sauvegarde complète du disque auparavant. Étant donné que cette approche ne modifie pas la taille du fichier, aucune métadonnée du système de fichiers ne doit être mise à jour.
la source