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
j0h
fonte
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.

taliezin
fonte
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.)

zwol
fonte
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

Marco
fonte
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.

Bodo Thiesen
fonte