o que significa star in passwd file?


14

Eu tenho um computador no qual preciso inicializar, mas as senhas parecem ser falsas. Além disso, não consigo montar a unidade para gravação, e é um processador mips, portanto não posso colocá-la em outra máquina para executá-la.

De qualquer forma, o arquivo passwd tem alguns usuários parecidos com este, com uma estrela após o nome do usuário. isso significa senha em branco ou o quê?

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

12
Observe que você postou hashes de senha do DES. Atualmente, os hashes de senha DES são muito fáceis de quebrar. Não conecte este computador a uma rede até alterar as senhas.
— Gilles 'SO- stop be evil'

2
Eu recomendaria não ligar este computador à Internet pública em tudo , para ser franco. Coloque-o em uma rede com firewall por tempo suficiente para extrair dados dele, com certeza, mas deve ser retirado. Se o sistema operacional é tão antigo quanto parece, provavelmente está cheio de brechas de segurança do kernel em números de seqüência iniciais TCP previsíveis, por exemplo.
— Zwol 30/07/2015

A senha do lpusuário é ridiculamente fraca. E como as senhas baseadas em DES são limitadas a ASCII e podem ter apenas 8 caracteres, você não recebe mais de 53 bits de entropia. Alterne para um hash mais forte, se puder, e altere as senhas.
— kasperd

Adicionando alguns números ao meu comentário anterior: Meu laptop pode quebrar a lpsenha em 630 milissegundos. A rootsenha é muito mais forte. Deixei um ataque de força bruta por cinco horas antes de encerrá-lo. Não quebrou a rootsenha dentro dessas cinco horas. Mas é claro que você ainda deve seguir a recomendação anterior e alterar a senha.
— kasperd

para o registro, você conhece a história de que a senha mais popular é a senha? bem password1 não pode estar muito atrás. ridiculamente fraco mesmo.
— Hildred 31/07/2015

Respostas:


22

Você precisa verificar man passwd :

Se a senha criptografada estiver definida como um asterisco (*), o usuário não poderá efetuar o login usando o login (1), mas ainda poderá fazer o login usando o rlogin (1), executar processos existentes e iniciar novos através do rsh (1), cron (8), em (1) ou filtros de correio etc. A tentativa de bloquear uma conta simplesmente alterando o campo shell gera o mesmo resultado e permite, adicionalmente, o uso de su (1).

Normalmente, as contas com o *campo na senha não têm uma senha, por exemplo: desativado para login. Isso é diferente da conta sem senha, o que significa que o campo de senha ficará vazio e quase sempre é uma prática ruim.


13

As contas com senhas são as contas com uma quantidade absurda de base64 no segundo campo:

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh

Este computador parece estar usando o crypt(3)hash de senha tradicional baseado em DES . Esse hash é bastante fraco para os padrões modernos; se você não conseguir obter um login root de outra maneira, provavelmente poderá recuperar a senha com força bruta, usando John the Ripper ou software semelhante. Além disso, tecnicamente isso não é base64, mas uma codificação semelhante mais antiga, mas você provavelmente não precisa se preocupar com isso.

A distinção entre :*:e :!:mencionada em outras respostas é nova demais para ser relevante para o seu problema. Em um sistema UNIX tão antigo, existem apenas três coisas diferentes que podem aparecer no campo de senha:

alice::1001:1001:Alice Can Log In Without A Password:/home/alice:/bin/ksh
bob:WSy1W41d4D1Gw:1002:1002:Bob Must Supply A Password:/home/bob:/bin/ksh
carol:ANYTHING ELSE:1003:1003:Carol Cannot Log In At All:/home/carol:/bin/ksh

Se o conteúdo do campo senha estiver vazio, você poderá efetuar login sem senha.

Se o conteúdo do campo for o crypthash válido de alguma senha, você poderá efetuar login com essa senha.

Caso contrário, você não poderá efetuar login como esse usuário. *é apenas a coisa convencional a se usar - obviamente não é um hash de senha válido. Provavelmente foi escolhido por quem escreveu o passwdprograma.

(O objetivo de ter IDs de usuário no arquivo de senha que não podem efetuar login é que eles ainda podem possuir arquivos, ainda podem ter crontrabalhos e os daemons podem usar setuidpara assumir essa identidade. Na verdade, é uma prática recomendada executar todos os daemons (que não precisam ser executados como root) sob esses IDs de usuário, para que você tenha algum nível de garantia de que apenas o daemon está sendo executado sob essa identidade.)

(As contas /dev/nullno campo shell estão bloqueadas contra o rootuso sude programas sob essa identidade de usuário, bem como o logon regular. Atualmente, é muito mais provável que você veja /bin/falseou /sbin/nologinuse esse objetivo; suspeito que nesse sistema o último não existe e o primeiro é um script de shell.)

(A senha para Bob é "bobpassw", criptografada usando o algoritmo antigo, mas em uma máquina Linux moderna; pode não ser o que seu computador produziria para a mesma senha e sal. Um dos motivos pelos quais o algoritmo antigo não é considerado bom mais é que tem um limite superior rígido de 8 caracteres em uma senha.)

(Eu sei que o sistema é realmente antigo porque está usando hash de senha baseado em DES, porque não está usando um arquivo shadow e porque o shell do root é /bin/kshmais do que algo mais novo e mais ergonômico.)


Eu pensei que a senha do bob não era muito boa no formulário.
— Joshua

@Joshua Fixed it now :)
— zwol 30/07/2015

Se ele precisar inicializar na máquina, não seria mais rápido inicializar no modo de recuperação ou inicializar com um CD / DVD ao vivo USB e alterar a senha para outra do que usar john the ripper?
— YoMismo 31/07

@YoMismo Um computador tão antigo (meu palpite é que é do início dos anos 90) pode não ter um modo de recuperação. Provavelmente tem a capacidade de inicializar a partir de algum tipo de mídia removível, mas pode ser bastante difícil encontrar um CD ou fita inicializável ou qualquer outra coisa. Um liveCD moderno definitivamente não vai funcionar.
— Zwol 31/07/2015

@zwol Eu tentaria iniciar o sistema com uma distribuição real e chroot para o sistema antigo, provavelmente passwd não teria necessidade de ter montado --bind / dev / sys ....
— yomismo

8

Isso significa que ele está desativado para login direto. É um usuário usado para executar serviços ou para rlogin. Verifique https://en.wikipedia.org/wiki/Passwd#Password_file


Este computador é bastante antigo. Eu não tinha certeza se os significados mudavam com o tempo.
— J0h 30/07

@WouterVerhelst: está desativado para login. Não está desativado para o rlogin. Você tem que olhar a resposta mais de perto.
— 30715 Brian

Eu mudei minha resposta. Espero que agora seja mais correto para o @WouterVerhelst.
— Marco

3

Sobre sua pergunta real, consulte a resposta de taliezin (e aceite essa;)

Sobre o seu outro problema: procure a string 8sh9JBUR0VYeQ no disco para descobrir o (s) bloco (s) de disco em que reside. Em seguida, coloque o bloco em um arquivo, substitua essa string por um hash de senha conhecido (a cripta antiga () o mesmo comprimento) e escreva o (s) bloco (s) de disco de volta no local antigo - possivelmente fazendo um backup completo do disco antes. Como essa abordagem não altera o tamanho do arquivo, nenhum metadado do sistema de arquivos precisa ser atualizado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.