http://www.zago.eti.br/senhas1.txt continuação do FAQ senhas.txt http://www.zago.eti.br/senhas.txt Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** >> Ola possuo uma maquina RedHAt 6.2 com alguns usuarios >> cadastrados... gostaria de saber as senhas que estao no /etc/passwd >> mas elas tem um * no campo da senha... como faco para ler as senhas? >> tem algum programa que me permita saber a senha dos usuarios sem ter >> que muda-la para eu ficar sabendo? JG> Elas estão no arquivo /etc/shadow, provavelmente. Você terá que ser JG> root para ler este arquivo. JG> Não tem como você descobrir as senhas pois estão criptografadas. A JG> única maneira seria rodar uma aplicação que tentasse, por força JG> bruta, achar a palavra que criptografada de acordo com a senha JG> gerasse a mesma coisa. Eh so rodar o John the ripper se a senha estiver no dicionario vai ser moleza caso nao esteja desista do metodo da forca bruta, vc tera um universo medio de 96 possibilidades para cada caracter da senha. Se vc levar em conta que ela tem 6 digitos, e ainda que sua maquina consegue testar 2000 caracteres por segundo vc vai ter um numero muito grande (94^6). A menos que de muita sorte nao consiguira quebrar essa senha nos proximos 12 anos. Mas como posso ter errado nos calculos a solução eh pegar 26 Possiblilidades de Letras maiusculas + 26 possibilidades de letras minusculas + 10 possibilidades de numeros + 32 possibilidades de simbolos (nao contar ASCII estendido) = 94, elevar esse numero ao total de caracteres da senha utilzei 6 caracteres para uma senha comum. Pegar o resultado então de 94^6 e dividir por 2000 (caracteres por segundo que sua maquina testara), pegar o novo resultado e dividir por 3600 (numero de segundos em uma hora), pegar o novo resultado e dividir por 24 (total de horas no dia), pegar o novo result. e divid. por 365 dias Na melhor das hipoteses se a senha tiver 6 digitos e eles forem apenas em letras minusculas como a desta palavra, você ira gastar: 48 horas para testar todas as possibilidades, o que não eh muito, mas lembre-se que vc não sabe quantos caracteres há realmente na senha, logo vc poderia explorar de no minimo 4 caracteres a um maxiomo de 10. (Novamente alerto que posso ter errado nos calculos) Note que uma senha super segura seria algo como: 'x8tc9QqRT23' sem aspas claro... ou se quiser com elas passando de 11 caracteres para 13 elevando ainda mais a segurança. Senhas com 4 digitos sao EXTREMAMENTE faceis de se quebrar, mesmo que use as 94 possibilidades, essa senha seria quebrada em 11 horas. Acho que falei de mais heim :-)))))) []s, Viktor Mota mailto:fulano2001@bol.com.br ********************************************************************** Para ver: tá tudo no arquivo /etc/passwd Para alterar: use o comando usermod > Como faço para descobrir a data de expiração de uma senha e como faço para > alterar este valor. Como posso também saber se ela está habilitada ou não. > Uso um Slackware. ********************************************************************** http://adis.on.ca/documentation/Highschool-HOWTO/Highschool-HOWTO-1-4.html Neste endereço acima tem um módulo /sbin/newpasswd que talvez te ajude. > um programa que fizesse uma troca de senha sem usar o velho passwd......aceite a senha como argumento na linha de comando.... ********************************************************************** Olá cleuber é o seguinte, uso em portugues sem problemas te aconselho a dar um make clean no dir de instalação do chetcpasswd e compilar novamente com a opção de idioma em português ./configure --enable-language=Portuguese make make install Cleuber Cardoso wrote: >Boa tarde, >Sobre esse assunto eu procurei na lista mas nao encontrei resposta. Talvez >alguem aqui ja tenha passado pelo mesmo problema que eu ! >Estou usando o chetcpasswd, que faz o usuario trocar a senha via Web, ele >esta funcionando perfeitamente, porem em Ingles.. Eu alterei o arquivo para >ele rodar em portugues, mas nao esta funcionando.. >Alguem sabe qual o comando que darei para rodar em portugues..?? ********************************************************************** Subject: (linux-br) senha linha comando - prog. fonte Seguinte....consegui fazer um programa que altera a senha na linha de comando... set_passwd user senha Aí vai o fonte e a explicação de como fazer: Pegar o .src.rpm do shadow utils Instalar Ir no subdir lib make copiar o commonio.o encrypt.o shadowio.o para o diret. que vc estiver trabalhando colar esse fonte: #include #include #include #include #include #include int main(int argc, char **argv) { char *usuario = argv[1]; char *password = argv[2]; struct spwd *senha; int status = 0; if(argc != 3) { printf("\nSintaxe: set_quota usuario quota_in_kbytes\n\n"); exit(1); } if (!(senha = getspnam(usuario))) { printf("\nUsuário %s não existe\n",usuario); exit(1); } if(!spw_lock() || !spw_open(O_RDWR)) { printf("Impossivel abir arquivos"); exit(1); } senha->sp_pwdp = (char *)crypt(password,senha->sp_pwdp); status = spw_update(senha); if(!spw_close() || !spw_unlock()) { printf("Erro ao fechar arquivos"); exit(1); } if(status) printf("Mudança feita com sucesso!!!\n"); else printf("Erro no upgrade\n"); } Depois é só compilar com a seguinte sequência: gcc set_passwd.c -o set_passwd encrypt.o shadowio.o commonio.o -lcrypt e prontinho...... Detalhe os arquivos .o são preciso por causa das dependências de funções como: pw_encrypt -> encrypt.o (criptografa a senha) Tb. pode ser feito com o crypt da unistd.h spw_lock, spw_open, spw_close,spw_unlock,spw_update -> shadowio.o e que depende do commonio.o (trava,abre,fecha,destrava e atualiza tabela shadow); getspnam e struct *spwd -> shadow.h Acho que é isso...aqui funcionou legal... QQ dúvida, sugestão ou crítica.....mande me um "zé 1/2" Fernando Bertasso ********************************************************************** From: Samuel S. Santos Subject: Re: (linux-br) Script php que altere senhas do linux Aqui esta: function trocar_senha($usuario,$senha) { $cmd1 = "echo \"$usuario:$senha\" >/tmp/$usuario"; $saida1 = exec($cmd1,$resp1,$res1); $cmd2 = "chpasswd < /tmp/$usuario"; $saida2 = exec($cmd2,$resp2,$res2); $limpa=`rm -f /tmp/$usuario`; if($res2 == 0) { return 0; /* ok */ } else { return 1; /* erro */ } } Atenciosamente, Samuel ********************************************************************** De:  Alvaro Figueiredo Para:  Leonardo Dias , linux-br@bazar.conectiva.com.br Assunto:  Re: (linux-br)=?iso-8859-1?q? N=E3o=20consigo=20mexer=20no=20=2Fetc=2Fpasswd=20-?= URGENTE!! Data:  Thu, 21 Aug 2003 10:13:12 -0300 Em Ter 19 Ago 2003 17:15, Leonardo Dias escreveu: > Pessoall, > > To com algum problema no meu arquivo /etc/passwd, de maneira > que não consigo realizar operações simples com os usuários, > como as exemplificadas abaixo: > > [root@servidor etc]# useradd testeu > useradd: unable to lock password file Acredito que haja um arquivo de lock "sobrando". Ou um dos comandos vipw ou vigr está rodando em outra sessão. Não lembro o nome exato, mas tente procurar por /etc/passwd.lock, /etc/ptmptmp ou /etc/gtmptmp. Veja a documentação do useradd, usermod, vipw e vigr. Se encontrar um arquivo de lock desses, certifique-se de que não há um vipw ou vigr rodando e remova-o. -- Alvaro Figueiredo alvarof@freeshell.org ********************************************************************** De:  Glênio Côrtes Himmen Para:  eds36@ibest.com.br, linux-br@bazar2.conectiva.com.br Cc:  ess33@ibest.com.br Assunto:  Re: (linux-br)Senhas Data:  Sat, 10 Jan 2004 17:40:14 -0200 Edilson, Eu sei de uma maneira de você enganar o Linux quanto à expiração... Na hora de cadastrar o usuário, no campo onde ele pergunta "Número de dias que a mesma senha é válida ?", você responde 99999... GCH - Redes & Consultoria Rua Senador Domingos Velasco, 1017, Setor Pedro Ludovico Goiânia-GO - CEP - 74.820-110, Fone: (62) 281-8339 Glênio Côrtes Himmen - glenio.himmen@brturbo.com ********************************************************************** De:  Marcelo Barreto Nees Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br) Proxy autenticado - Desativar a opcao salvar sennha do windows Data:  Fri, 14 May 2004 15:32:14 -0300 Em Qui 13 Mai 2004 20:25, José Colzani escreveu: > Fiz uns testes em casa e funciona perfeitamente, porem como na empresa o > chefe que que cada usuario tenha uma senha para usar em qualquer maquina > da rede me deparei com o seguinte. > A maldita opcao salvar senha do windows...... > Entao pergunto, tem como fazer o windows nao salvar a senha, tanto > windows 98 como  XP. > Talves mechendo no registro e tal. Desativa o cache de senhas do Internet Explorer: --------------------------------------------------------------------------- REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "DisablePasswordCaching"=dword:00000001 --------------------------------------------------------------------------- --  .''`.  Marcelo Barreto Nees : :'  : Pref. de Jaraguá do Sul - SC / Supervisão de Adm. de Redes `. `'`  GNU/Linux user #78191 - http://counter.li.org   `-    To err is human, to really foul up requires the root password. ********************************************************************** De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Funcionamento das senhas Data:  Wed, 24 Nov 2004 22:48:48 -0200 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Argeu Carlos Thiesen wrote: >Na máquina X, o usuário root tem a senha 'exemplo', que gerou no arquivo >/etc/shadow uma "senha" criptografada como '12345' ok. >Na máquina Z, o usuario teste tem a senha 'exemplo', que gerou no >arquivo /etc/shadow uma "senha" criptografada como 'qwerty' ok, normal. >Copiei  da maquina X, o '12345' do usuario root e colei para o usuario >banana na maquina Z. > >Ao me autenticar como banana na maquina Z, usando a senha 'exemplo', me >autentiquei sem problemas. ok, normal. >Realmente não conheço dos processos de criptografia, mas sendo que a >mesma string que uso pra senha gera um resutado diferente depois da >criptografia para o mesmo usuário pergunto... como pode uma string >gerada por uma senha na maquina X para o usuario fulano, funcionar sem >problemas para o usuario beltrano na maquina Z ? Uma mesma senha pode gerar vários resultados criptografados. Não há segredo nenhum nisso. Vamos pelo caso mais simples: senhas DES. O resultado que você vê da senha criptografada no /etc/shadow é mais do que a própria senha que você digitou. O DES permite que você escolha uma de 4096 possibilidades de criptografias da senha. Aí, o que escolheram foi pegar dois caracteres que, juntos, formam 4096 combinações (64 possibilidades por caracter, 64 * 64 = 4096). Esses dois caracteres são chamados de "sal". O processo de auto-criptografia da senha pega a senha e o sal e junta tudo, dando um resultado. Para verificar se a senha está correta, você pega o mesmo sal e a senha digitada. Se o resultado for o mesmo, a senha está digitada. Aí você me pergunta: onde é gravado o sal? A resposta: na própria senha criptografada: são os dois primeiros caracteres. Exemplos: $ perl -e 'print crypt("senha","ab")' abZuduP4nUHHM $ perl -e 'print crypt("senha","cd")' cdCDao1aS20CQ $ perl -e 'print crypt("senha","ef")' efF7y1Cz10DPw $ perl -e 'print crypt("senha2","ab")' abYqY77L1j2WA $ perl -e 'print crypt("senha3","ab")' abcjckdHH71m2 Verificar se "senha" é a senha correta para a senha criptografada "abZuduP4nUHHM": $ perl -e 'print crypt("senha","abZuduP4nUHHM")' abZuduP4nUHHM Isso que expliquei acima vale para DES. Para senhas MD5, o sal é um pouco mais longo, mas é basicamente a mesma coisa: $ perl -e 'print crypt("senha","\$1\$ab")' $1$ab$qLsFqeuUdaC/dJ2DtRSRC0 $ perl -e 'print crypt("senha","\$1\$cd")' $1$cd$i6jrfcmwRA.9iyHbzqUoU. Exercício: gerador de senhas (e sais) aleatório: dd if=/dev/random bs=1 count=12 2>/dev/null | \ openssl base64 | \ perl -pe \   '/^(......)(.*)$/;    print "Senha para $2 é: ";    print crypt($2, "\$1\$$1");' Rodando cinco vezes: Senha para f3iDyv é: $1$ORIYBW$QY/CvRSg36txhrHEgOCUX1ORIYBWf3iDyv Senha para RGdTv+ é: $1$7UCr8p$blIyKplr3w2W4LcLmxIDS07UCr8pRGdTv+ Senha para 5mCtNf é: $1$NqznS+$AiHXbeUnEOVEGDIMbRuh00NqznS+5mCtNf Senha para 45d/n6 é: $1$4oRTaT$PkHZKisVJcFSByYqAjKG5.4oRTaT45d/n6 Senha para LUKJqY é: $1$RLAtpW$TthlckYtoeqMRalyDZwM5/RLAtpWLUKJqY Pode ser útil para gerar senhas para usuários. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info De:  Jorge Godoy Para:  Argeu Carlos Thiesen Cc:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 08:19:03 -0200 Argeu Carlos Thiesen writes: > Realmente não conheço dos processos de criptografia, mas sendo que a > mesma string que uso pra senha gera um resutado diferente depois da > criptografia para o mesmo usuário pergunto... como pode uma string > gerada por uma senha na maquina X para o usuario fulano, funcionar sem > problemas para o usuario beltrano na maquina Z ? A senha inclui um "salt", que é usado para obter o código codificado. Usando-se a mesma palavra como senha e o mesmo salt, você obtém o mesmo resultado final. Usando-se diferentes salts você obtém resultados diferentes para a mesma senha. O que o sistema faz é pegar o resultado criptografado de acordo com o salt do usuário indicado e comparar o resultado final com o que está armazenado: se coincidirem a senha está correta. Sds, -- Godoy.     De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  Lista Conectiva (E-mail) Assunto:  ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 10:55:21 -0300 Olá Srs., Desculpem minha intromissão mas é que esse assunto muito me interessa. Também tenho minhas dúvidas em relação ao sistema de senhas Unix/Linux, sei que são as melhores, a questão é por que: 1. Já que todos nós sabemos qual é o algoritmo pois este mesmo é Open, poderíamos fazer a des-criptografia correto?! 2. Então por que quando se fala em ataques ao shadow fala-se em força-bruta ou dicionário?! 3. Então neste mesmo caso com o salt explicito na senha não fará importância pois as possibilidades no ataque é dentro daquele salt correto?! Sds, Leonardo Pinto. > Argeu Carlos Thiesen writes: > > > Realmente não conheço dos processos de criptografia, mas > sendo que a > > mesma string que uso pra senha gera um resutado diferente depois da > > criptografia para o mesmo usuário pergunto... como pode uma string > > gerada por uma senha na maquina X para o usuario fulano, > funcionar sem > > problemas para o usuario beltrano na maquina Z ? > > A senha inclui um "salt", que é usado para obter o código codificado. > Usando-se a mesma palavra como senha e o mesmo salt, você > obtém o mesmo > resultado final. > > Usando-se diferentes salts você obtém resultados diferentes > para a mesma > senha. > > O que o sistema faz é pegar o resultado criptografado de acordo com o > salt do usuário indicado e comparar o resultado final com o que está > armazenado: se coincidirem a senha está correta. De:  Jose Paulo Batista Silva Para:  leonardo@openlogic.com.br Cc:  Lista Conectiva (E-mail) Assunto:  Re: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 13:25:43 -0200 Leonardo Pinto escreveu: 1. Já que todos nós sabemos qual é o algoritmo pois este mesmo é > Open, poderíamos fazer a des-criptografia correto?! > Não exatamente. 2. Então por que quando se fala em ataques ao shadow fala-se em > força-bruta ou dicionário?! > Na verdade, uma vez criptografado, não há como descriptografá-lo, o que se faz é criptografar uma string e comparar o resultado com o que está armazenado no shadow, se forem idênticos é porque são as mesmas strings, daí falar-se em força-bruta ou dicionário. 3. Então neste mesmo caso com o salt explicito na senha não fará > importância pois as possibilidades no ataque é dentro daquele salt > correto?! > O sal (salt) é fundamental para poder chegar na mesma string criptografada, do contrário sempre seria gerado uma string diferente. -- José Paulo Batista Silva (sabugão) Linux user #143502 De:  Thiago Macieira Para:  leonardo@openlogic.com.br Cc:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 12:26:13 -0200 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Leonardo Pinto wrote: >1. Já que todos nós sabemos qual é o algoritmo pois este mesmo é >Open, poderíamos fazer a des-criptografia correto?! Errado. A criptografia é de sentido único. A senha que criptografa a sua senha é a própria. Não existe decriptografação da senha. Como disse no email, a senha é verificada se a criptografia do que foi digitado der o mesmo resultado. >2. Então por que quando se fala em ataques ao shadow fala-se em >força-bruta ou dicionário?! Pergunta irrelevante, visto a resposta acima. >3. Então neste mesmo caso com o salt explicito na senha não fará >importância pois as possibilidades no ataque é dentro daquele salt >correto?! Isso. Além do salt, que serve para diferenciar, por exemplo, dois usuários com a mesma senha, a senha se auto-criptografa. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  'Thiago Macieira' Cc:  Lista Conectiva (E-mail) Assunto:  RES: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 11:39:01 -0300 Tudo bem Thiago. Entendi suas colocações, mas é uma pergunta que não quer calar: Todo processo de fazer existe o desfazer. Se eu sei como fiz uma coisa tenho/posso como saber desfazer correto?! Assim funciona a engenharia reversa certo?! Sds, Leonardo Pinto. > Leonardo Pinto wrote: > >1. Já que todos nós sabemos qual é o algoritmo pois este mesmo é > >Open, poderíamos fazer a des-criptografia correto?! > > Errado. A criptografia é de sentido único. A senha que > criptografa a sua > senha é a própria. Não existe decriptografação da senha. > > Como disse no email, a senha é verificada se a criptografia > do que foi > digitado der o mesmo resultado. > > >2. Então por que quando se fala em ataques ao shadow fala-se em > >força-bruta ou dicionário?! > > Pergunta irrelevante, visto a resposta acima. > > >3. Então neste mesmo caso com o salt explicito na senha não fará > >importância pois as possibilidades no ataque é dentro daquele salt > >correto?! > > Isso. Além do salt, que serve para diferenciar, por exemplo, > dois usuários > com a mesma senha, a senha se auto-criptografa. > > - -- >   Thiago Macieira  -  Registered Linux user #65028 >    thiago (AT) macieira (DOT) info De:  Thiago Macieira Para:  leonardo@openlogic.com.br Cc:  Lista Conectiva (E-mail) Assunto:  Re: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 13:11:04 -0200 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Leonardo Pinto wrote: >Tudo bem Thiago. Entendi suas colocações, mas é uma pergunta que não >quer calar: Todo processo de fazer existe o desfazer. Prove :-) >Se eu sei como >fiz uma coisa tenho/posso como saber desfazer correto?! Não. Se eu tenho o número 1331 e faço módulo 16, o resultado é 3. Da mesma maneira, o número 19 módulo 16 também é 3. Dado que você tem 3, você sabe qual foi o número de origem? Outro exemplo: # cat /etc/shadow | md5sum 47112240a9e94c1ea46c569749877faa  - Você consegue reconstruir o meu arquivo, dado o MD5? Mais um exemplo: dada a assinatura GPG desta mensagem, você consegue reconstruir a própria mensagem? No caso de uma senha, sabemos que duas senhas distintas não gerarão a mesma criptografia. É claro que o universo de auto-criptografia é restrito. Isso permite um ataque de força bruta. Mas não significa que você pode desfazer o processo. Repito: a criptografia DES, e as senhas MD5 são de sentido único. Se quiser saber mais, vai ter que ler os papers sobre o assunto que garantem isso. Eu não sei explicar. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  'Thiago Macieira' Cc:  Lista Conectiva (E-mail) Assunto:  RES: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 12:51:15 -0300 "Oxente" Thiago, você já explanou por demais. Longe de mim provar algo, sou apenas um curioso ignorante querendo questionar. Acho que saquei o lance: As senhas são geradas através de algoritmos que resultarão em seqüências "arbitrárias", portanto indefinido será o resultado "sentido único", quase por aí não é? Sds, Leonardo Pinto. > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Leonardo Pinto wrote: > >Tudo bem Thiago. Entendi suas colocações, mas é uma pergunta que não > >quer calar: Todo processo de fazer existe o desfazer. > > Prove :-) > > >Se eu sei como > >fiz uma coisa tenho/posso como saber desfazer correto?! > > Não. > > Se eu tenho o número 1331 e faço módulo 16, o resultado é 3. Da mesma > maneira, o número 19 módulo 16 também é 3. Dado que você tem > 3, você sabe > qual foi o número de origem? Outro exemplo: > > # cat /etc/shadow | md5sum > 47112240a9e94c1ea46c569749877faa  - > > Você consegue reconstruir o meu arquivo, dado o MD5? > > Mais um exemplo: dada a assinatura GPG desta mensagem, você consegue > reconstruir a própria mensagem? > > No caso de uma senha, sabemos que duas senhas distintas não gerarão a > mesma criptografia. É claro que o universo de auto-criptografia é > restrito. Isso permite um ataque de força bruta. Mas não > significa que > você pode desfazer o processo. > > Repito: a criptografia DES, e as senhas MD5 são de sentido único. Se > quiser saber mais, vai ter que ler os papers sobre o assunto > que garantem > isso. Eu não sei explicar. > > - -- >   Thiago Macieira  -  Registered Linux user #65028 >    thiago (AT) macieira (DOT) info De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  'Argeu Carlos Thiesen' Cc:  Lista Conectiva (E-mail) Assunto:  RES: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 13:39:06 -0300 > Leonardo, exatamente pelo que você colocou fiz as experiencias que > narrei, pra tentar compreender. Então é isso, na verdade não > existe uma > reversão da string criptografada, e sim uma nova criptografia que é > comparada MATEMATICAMENTE com a existente e não bit a bit. Meus queridos, isso eu já sei desde quando me entendo como um "Linuxer", minha colocação é outra, invasão. De qualquer forma muitíssimo obrigado. Leonardo Pinto. e:  Marcelo Vivan Borro Para:  Linux.br 2 Assunto:  Re: RES: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 16:37:46 -0200 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Em Qui 25 Nov 2004 14:39, Leonardo Pinto escreveu: > Meus queridos, isso eu já sei desde quando me entendo como um > "Linuxer", minha colocação é outra, invasão. > > De qualquer forma muitíssimo obrigado. Leonardo, somente o root tem acesso aos arquivos de senhas. Se alguém que não o administrador tem acesso root, me desculpe, mas você já foi invadido  :-) - -- Marcelo Vivan Borro Linux User # 277064 De:  Jorge Godoy Para:  leonardo@openlogic.com.br Cc:  Lista Conectiva (E-mail) Assunto:  Re: RES: RES: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 18:10:46 -0200 "Leonardo Pinto" writes: > Conclusão: numa conexão http não segura entretanto a senha > encriptada o invasor somente tem como arma o força-bruta. Numa conexão HTTP não-segura, a senha trafega às claras, ou seja, alguém observando o tráfego não precisa ter trabalho algum além de ler o conteúdo dos pacotes e obter a senha. -- Godoy.     De:  Marcelo dos Reis Para:  linux-br@bazar2.conectiva.com.br Assunto:  (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 17:11:10 -0200 Leonardo Pinto wrote: > Olá Srs., Olá > Desculpem minha intromissão mas é que esse assunto muito me interessa. Desculpado. hehehe > Também tenho minhas dúvidas em relação ao sistema de senhas Unix/Linux, > sei que são as melhores, a questão é por que: > > 1. Já que todos nós sabemos qual é o algoritmo pois este mesmo é > Open, poderíamos fazer a des-criptografia correto?! Algumas operações matemáticas utilizadas na criptografia não possuem a função contrária. (ex.: OR e AND booleanos; deslocamentos de bits; além de divisões em que se desprezam a parte fracionária; etc...) Lhe aconselho a ver um algoritmo mais simples para entender. Eu aprendi quando tive que portar o CRC de 12 bits para uma aplicação em C. Não sei se você vai achá-lo na internet, mas com certeza ainda tem o CRC 16 ou 32... > (...) > Sds, > > Leonardo Pinto. Saudações, Marcelo De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  'Marcelo dos Reis' Cc:  Lista Conectiva (E-mail) Assunto:  RES: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 17:28:02 -0300 Olá Marcelo, Acho que já estou começando a entender um pouco a "coisa". Então a intenção é justamente essa, "perder" a origem da cifra. Sds, Leonardo Pinto. De:  Leonardo Pinto Responder-a:  leonardo@openlogic.com.br Para:  'Jorge Godoy' Cc:  Lista Conectiva (E-mail) Assunto:  RES: RES: RES: RES: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 18:02:24 -0300 > Não entendi o que você quer usar, então.  Eu não conheço nenhum *bom* > linuxer que seja masoquista e criptografe as coisas na mão.  Conheço > pessoas que não sabem usar os recursos de seus sistemas, > entretanto, que > fazem essas bobeiras...  Não caia nessa. Pois no meu caso se a coisa não funciona como quero procuro fazê-la eu mesmo. Dentre outras coisas que estou implementando, gostaria de centralizar meus diversos domínios/usuários/samba de clientes/intranet num único servidor. Mas não de forma escrava e sim de réplica. Criou no servidor central este replica para o cliente e esse não dependa mais do servidor caso este não esteja up. Estou pesquisando em NIS, porém, tenho receio quanto a segurança pois estamos tratando com internet. Penso em bolar um protocolo bem restrito para isso, a idéia é essa... É que não quero nem tanto nem tão pouco. > Sobre criptografia, os métodos não são exclusivos do Linux.  Os > algoritmos podem ser usados em qualquer SO/linguagem de > programação que > os implemente. Certo, coloquei-me errado. Sds, Leonardo Pinto. ********************************************************************** De:  Jorge Godoy Para:  leonardo@openlogic.com.br Cc:  Lista Conectiva (E-mail) Assunto:  Re: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 21:47:47 -0200 "Leonardo Pinto" writes: > Não queria entrar em detalhes pois são questões cruzadas dentro do > mesmo contexto. Uma é o armazenamento de senha encriptadas dentro de > banco de dados (MySQL por exemplo), banco de dados este que usuários > "não confiáveis" terão acesso. O armazenamento de senhas criptografadas no banco de dados está restrito à segurança e ao algoritmo usado no banco de dados.  Se há uma falha no banco de dados e esta é explorável, não importa o que há ao redor dele. > A outra é a centralização dos "meus" usuários/domínios intranet.  A > questão é, não somente criação de contas e sim algo um pouquinho mais > extenso como: pastas "home" destes e privilégios em geral. > > Hoje quando quero criar um usuário para uma intranet tenho que acessar > remotamente (SSH), executar um script personalizado para cada estrutura > Organizacional bem distintas. > Tipo: "add_samba.sh nome_usuario pasta grupo privilegios etc..." Este é um procedimento padrão de configuração.  Sistemas distintos exigem ações distintas.  Tentar unificar estas estruturas, em muitos casos, pode trazer prejuízos ao invés de benefícios.  A flexibilidade que tem-se em sistemas isolados é enorme e nunca há o risco de conflitos. Talvez você possa repensar seu método de trabalho ou então terá que adaptá-lo mais às tuas necessidades. Minha abordagem é bem diferente: eu tenho configurações individuais nos clientes e armazeno diversas informações críticas em meu servidor, com um sistema de versionamento e com anotações sobre cada mudança ou o motivo de algo estar presente.  Se preciso replicar alguma estrutura, posso tomar uma configuração qualquer como base e adaptá-la à situação do outro cliente.  Para implantar as alterações, eu simplesmente recupero as informações do meu servidor e pronto. > Sei da existência de Ns ferramentas mas não quero um mundo de opções > de configurações Linux exposta na internet. A princípio somente isto: > Criação/exclusão de usuários e privilégios de um dado Cliente. > Usuários intranet sem shell e sem acesso externo, que no caso de uma > invasão somente isto poderá ser feito, correto?! Você está questionando se está correto o que você deseja ou algo referente a segurança?  Se for o que você deseja, suponho que sim, já que você está falando.  Se for algo relacionado a segurança é preciso analisar diversas coisas antes de dizer um "acho que sim" ou um "acho que não". > Fico tentado com o LDAP, sei que é a palavra de ordem do momento > mas como ficará meus scripts de configuração do usuário criado?! Qual o problema com os scripts?  Se eles estão projetados de uma forma genérica funcionarão sem problemas.  Se eles estão projetados de uma forma amarrada a outras coisas, ele obviamente dependerá de outras coisas.  Somente uma análise dos scripts permitirá dizer o nível de dependência deles com o restante do sistema. Lembre-se que segurança é um *processo* e não um *estado*.  Não importa o que você fez, se você estagnar corre o risco de ficar inseguro. Sds, -- Godoy.     ********************************************************************** De:  Herbert Alexander Faleiros Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 21:30:10 +0000 On Thursday 25 November 2004 15:11, Thiago Macieira wrote: > Leonardo Pinto wrote: > >Tudo bem Thiago. Entendi suas colocações, mas é uma pergunta que não > >quer calar: Todo processo de fazer existe o desfazer. > > Prove :-) já q vc citou abaixo um exemplo com um hash bem conhecido (md5): http://eprint.iacr.org/2004/199.pdf outros: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf http://eprint.iacr.org/2004/146.ps http://www.cryptography.com/resources/whitepapers/TimingAttacks.pdf http://www.cryptography.com/resources/whitepapers/DPA.pdf resumindo: md5 (e sha) apresentaram recentemente falhas consideravelmente graves (md5 já tinha sido parcialmente quebrado há um bom tempo), ou seja, demonstraram q é possível que sejam gerados dois hash's absolutamente iguais (colisões) a partir de fontes (entradas) diferentes. aconselha-se até q o md5 seja "abandonado" definitivamente. e olha q até hoje ele é usado p/ armazenar senhas, principalmente em bancos de dados e sistemas na web (ou mesmo softwares, muitos até comerciais). lembram-se do md2, md4 (por q não o utilizam mais)? (pq foram quebrados) agora com as recentes falhas do md5 quando será que irá surgir o md6? (+ sobre md5 abaixo... acho q tá meio confuso o conceito de hash) > >Se eu sei como > >fiz uma coisa tenho/posso como saber desfazer correto?! > > Não. sim, matemáticos criam algorítimos criptográficos e matemáticos (ou hackers) utilizando muitas vezes criptoanálise quebram esses mesmos algorítimos criptográficos (vide o que descrevi acima sobre md5/sha). sempre foi assim e sempre vais ser... não existe código inquebrável. pode ser difícil ou temporalmente inviável com a tecnologia atual quebrar alguns destes algorítimos, mas que é possível sempre é (e sempre vai ser, vide a história da criptografia em sí)! > Se eu tenho o número 1331 e faço módulo 16, o resultado é 3. Da mesma > maneira, o número 19 módulo 16 também é 3. Dado que você tem 3, você sabe > qual foi o número de origem? analogia incorreta p/ o tópico, além do mais depende de como vc cifrou isso, qual algorítimo vc usou, como, q tipo de informações tenho disponíveis p/ trabalham em cima das mesmas, se vc usou esquema de chaves, etc... um exemplo meio maluco: http://www.cs.mcgill.ca/~crepeau/PS/BCS96.ps > Outro exemplo: > > # cat /etc/shadow | md5sum > 47112240a9e94c1ea46c569749877faa  - > > Você consegue reconstruir o meu arquivo, dado o MD5? não! pq o md5 nada mais é do que um "hash de mão única" (one-way hash function). vc não criptografou absolutamente nada do arquivo original descrito acima, nem um único bit! o que o md5 faz (grosseiramente explicando) é quebrar o arquivo em blocos de tamanhos fixos e depois executar sucesivamente uma série de operações matemáticas nos blocos, gerando uma "assinatura" única, nada mais, nem nada menos do que isso (não tem absolutamente conteúdo algum do seu /etc/shadow no hash resultante que descreveu, então não dá p/ recuperar o seu shadow só com o hash, mas posso comparar com um outro arquivo e qdo o hash bater afirmar [não mais] que "reconstrui" seu shadow [apenas "achei" outro com mesmo hash]). hash não preserva (criptografa) o contéudo (é só uma "assinatura" única)! > Mais um exemplo: dada a assinatura GPG desta mensagem, você consegue > reconstruir a própria mensagem? "PGP pode ser enganado de várias formas diferentes" - Phil Zimmermann ops, mais uma vez (como o exemplo q citou do /etc/shadow sobre hash), vc apenas assinou a mensagem (neste caso), ela não está criptografada! além do mais sua assinatura não contém a sua mensagem criptografada (como o exemplo do /etc/shadow tem-se apenas um hash p/ comparar a integridade). a sua assinatura apenas "autentica" o hash gerado em cima da mensagem p/ garantir q o q vc escreveu é original (ou seja, o que está na mensagem foi realmente o que vc escreveu)... além do mais tem gente que jura de pés juntos q tem trapdoors no código do pgp (a nsa "obrigou" o "carinha" a faze-lo, será?). não duvido nem um pouco... ah, pgp "usa" o sha-1 p/ gerar os hashes (e o sha foi criado pela nsa)! (vide papers que citei no início da mensagem). p/ comprometer sua mensagem assinada eu posso, por exemplo, "descobrir" sua frase-senha, roubar sua chave privada (1o roubar a chave) e assinar (lembre-se q falamos de assinaturas) uma mensagem em seu nome... o "gargalo" de qq sistema de segurança são as senhas e como tb não existe sistema 100% seguro é perfeitamente possível eu "roubar" sua chave privada e descobrir sua frase-senha... e ai? posso tb falsificar sua chave pública e enganar um terceiro desavisado (pessoa), pior ainda, não? outra coisa, qdo vc criptografa (e não apenas assina, como vc fez) uma mensagem, por exemplo, usando "minha" chave pública (p/ criptografar com sua privada) eu consigo recuperar a mensagem original (se eu tiver minha chave privada [ahh!] e sua chave pública), isso pq vc criptografou usando a minha pública (q bagunça, dá p/ confundir não?). então a criptografia em sí é mais complexa ainda e nem de longe tão segura como imaginamos e não dá p/ criptografar uma mensagem genérica sem a chave pública de alguém. se vc criptografar p/ vc mesmo, e eu tiver sua chave privada (já demonstrei q é possível isso ocorrer) eu consigo recuperar o que vc codificou (sua frase-senha ajuda tb neste caso, e ela é quebrável, pois vc, q gerou a mesma é humano e enquadra-se dentro das limitações de nossa espécie p/ gerar senhas, q não maioria das vezes não são seguras). posso tb usar análise de tráfico p/ "deduzir" muita coisa útil p/ comprometer o esquema de chaves q vc usa ou então criptoanálise p/ quebrar o código (não é impossível e é o q tem demonstrado mais resultados ao longo da história da criptografia). ninguém garante q os algoritmos de chave pública, algoritmos de sumário da mensagem (sha, etc), e cifras de bloco usados pelo pgp sejam 100% seguros ou inquebráveis (vide md5 e sha-0, q já eram). lembrando q vc não fez nada disso, vc apenas assinou sua mensagem (com sha-1, q é um hash e é perfeitamente quebrável, sua assinatura apenas autentica o hash)... novamente: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf ah, p/ quem acha o pgp "seguro" (ou que sempre foi, se preferirem): http://www.schneier.com/paper-pgp.pdf http://www.schneier.com/paper-chotext.ps.gz > No caso de uma senha, sabemos que duas senhas distintas não gerarão a > mesma criptografia. hash! leia os papers do início da mensagem q ficará claro o contrário. > É claro que o universo de auto-criptografia é > restrito. não tanto quanto antigamente... > Isso permite um ataque de força bruta. Mas não significa que > você pode desfazer o processo. força bruta (comparação), com tempo disponível, "quebra" qq hash... além do mais já está provado q não há mais garantia de integridade na comparação do hash (via força bruta) em alguns algorítimos criptográficos bem conhecidos, dado o fato de q é possível gerar dois hash's iguais nos mesmos... além do mais, com o hash comparado é possível saber o que ele representa, lembrando que ele não irá descriptografar absolutamente nada (pq não tem nada criptografado da fonte que o gerou), uma vez que ele nada mais é do que uma mera assinatura de integridade refencial de alguma coisa. exemplo: $ echo senha | md5sum 6fd720fb42d209f576ca23d5e437a7bb  - com um ataque de dicionário, qdo eu gerar o hash da palavra "senha" (do dicionário de palavras) e comparar com o hash que quero quebrar com força bruta, notarei que serão iguais, daí é possível ter "certeza" (não mais em alguns algorítimos) que o que o hash que quero quebrar representa a palavra "senha" (não desfiz nada, mas "quebrei" o código, gerei o mesmo hash e sei o que ele representa agora, assim as senhas são quebradas). > Repito: a criptografia DES, e as senhas MD5 são de sentido único. sim, "one-way hash function" (md5)... "des" é pré-história e recentemente foi definitivamente abandonado como padrão pelo "nist". http://www.itl.nist.gov/fipspubs/fip46-2.htm http://www.schneier.com/blog/archives/2004/10/the_legacy_of_d.html ah, des != md5 (são conceitos diferentes e não fazem a mesma coisa). > Se > quiser saber mais, vai ter que ler os papers sobre o assunto que garantem > isso. Eu não sei explicar. concordo, citei dois que comprovam que tais algorítimos podem ser quebrados... esse é um assunto bem complexo, fiquem à vontade p/ questionar o q por ventura posso ter confundido, visto q não sou nenhum especialista em criptografia. ********************************************************************** De:  Jorge Godoy Para:  leonardo@openlogic.com.br Cc:  Lista Conectiva (E-mail) Assunto:  Re: RES: ENC: (linux-br)Funcionamento das senhas Data:  Thu, 25 Nov 2004 22:57:03 -0200 "Leonardo Pinto" writes: > Estava falando apenas de um possível e remoto sql-injection ou algo > parecido... Entendo...  O problema é realmente em outro lugar aqui... :-)  Mas, é melhor vicê mesmo analisar isso, já que só você conhece todos os detalhes e esse empurra-empurra não vai levar a conclusão alguma. :-) > Com certeza, já pensou vc me afirmar que sim e eu depois te processar?! > (risos) :-)  cuidado que uma afirmação em lista não é um parecer.  Todas as respostas são dadas por voluntários e não há a atuação deles como profissionais aqui, embora muitos tragam a experiência desta área para a lista. > Meu problema não é tão somente criar a conta e tudo acabado. Tenho que > executar um script que pré-definirá todo o ambiente do novo usuário. O que você chama de ambiente do usuário?  Há algo fora de seu diretório pessoal? > Se com LDAP além dele replicar o novo usuário adicionado também > executar o script desta definição de ambiente, pra mim está de bom > tamanho. O sistema é configurável.  Ele pode fazer isso se for configurado para tal.  Você deve olhar a documentação do PAM e ver o que pode fazer com a criação da conta. O módulo de LDAP --- pam_ldap --- permite isso (não me lembro se é exatamente ele ou algum outro módulo que o acompanha, mas sei que é possível criar os diretórios dos usuários conforme necessário). > Se ao criar o novo usuário no LDAP servidor ele somente replica a conta > no lado cliente, vou ter que acessar o cliente remotamente e fazer o resto > concorda?!!! Não sei o que você ainda tem que fazer.  Pode ser que o sistema faça tudo para você... :-)  -- Godoy.     ********************************************************************** De:  Luciano França Rocha Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Suse 8.2 aceitar senhas de 256 caracteres Data:  Mon, 29 Nov 2004 12:15:02 -0200 Na instalação quando voce for definir a senha de root tem lá opções especialista... ai voce pode escolher 3 tipos de criptografia DES MD5 Blowfish DES é o padrão mas ele trunca senhas maiores que 6 caracteres, MD5 vai até 128 bits e blowfish mais ainda. Acho que por compatibilidade com outros sistemas o melhor é o MD5, mas não sei se voce consegue mudar isso depois do sistema instalado já que voce já tera senhas armazenadas no /etc/shadow criptografadas com o algoritmo anterior. Apesar disso existe sim a opção de fazer isso YAST->Segurança->configurações de segurança Em algum lugar lá voce consegue mudar o algoritmo. É só testar, depois voce responde e fala se funcionou. Em Seg 29 Nov 2004 07:41, Fernando Novaes escreveu: > Bom dia a Todos da Lista!! > > Como faço para o Suse 8.2 aceitar senhas de 256 caracteres ???  Ja tentei, > mas ate agora não consegui. Se alguem puder me ajudar eu agradeço. > > Grato ********************************************************************** De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Suse 8.2 aceitar senhas de 256 caracteres Data:  Mon, 29 Nov 2004 11:32:56 -0200 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Fernando Novaes wrote: >Como faço para o Suse 8.2 aceitar senhas de 256 caracteres ???  Ja > tentei, mas ate agora não consegui. Se alguem puder me ajudar eu > agradeço. Veja seu /etc/pam.d/passwd (se ele tiver pam_stack para outro serviço, então edite esse outro serviço). A linha "password" com pam_unix deve ter "md5". Isso ativará as senhas MD5 de 128 caracteres. 256 eu nunca vi. Talvez outro backend que não o pam_unix. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info ********************************************************************** De: Rodrigo de Lima Silva Para: Caio Ferreira Cc: linux-br Assunto: Re: (linux-br) expirar senha do usuário Data: Wed, 23 Feb 2005 09:40:21 -0300 Faça o seguinte: usermod -e "Jul13,2005" usuario Caio Ferreira escreveu: >All > >Existe alguma forma de quando cadastrar o usuário determinar quanto >tempo depois a senha a senha dele expira ??!? Procurei no manpage do >adduser mas não encontrei nada. > > > Rodrigo de Lima Silva Analista de Suporte Linux Certified Linux System Administrator Linux User #289388 Mail/AMSN rodrigo.lima[arroba]brturbo.com "Linux?? Por que nós amamos a liberdade!" ********************************************************************** De: Thiago Macieira Para: linux-br@bazar2.conectiva.com.br Assunto: Re: (linux-br) expirar senha do usuário Data: Tue, 22 Feb 2005 23:05:26 -0300 Caio Ferreira wrote: >Existe alguma forma de quando cadastrar o usuário determinar quanto >tempo depois a senha a senha dele expira ??!? Procurei no manpage do >adduser mas não encontrei nada. chage -- Thiago Macieira - thiago (AT) macieira (DOT) info PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 2. Tó cennan his weorc gearu, ymbe se circolwyrde, wearð se cægbord and se leohtspeccabord, and þa mýs cómon lator. On þone dæg, he hine reste. De: Thiago Macieira Para: linux-br@bazar2.conectiva.com.br, José Maria Assunto: Re: (linux-br)Expirar Senha Data: Tue, 5 Oct 2004 12:33:26 -0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 José Maria (Yahoo) wrote: >Olá pessoal... estou com uma dúvida que creio eu ser simples, mas falta >conhecimento técnico para resolvê-la. :)) >Estou querendo colocar o Conectiva 10 com o Samba 3 para ser um PDC da > rede. Como eu faço para expirar a senha depois de feito o primeiro login > do usuário e ele ter que mudar a senha? O comando que você procura é o chage. Alguns gerenciadores de usuários permitem que você edite essas informações diretamente. Caso o seu não o faça, dê uma lida na documentação do chage(8). - -- Thiago Macieira - Registered Linux user #65028 thiago (AT) macieira (DOT) info ********************************************************************** De: Renato S. Yamane Para: linux-br@bazar2.conectiva.com.br Cc: erivan2 Assunto: Re: (linux-br) senha do kde linux Data: Fri, 04 May 2007 07:57:34 -0300 erivan2 escreveu: > eu uso o linux limited edition, kde 3.3 e gostaria de saber por que a senha > que eu coloquei no início quando o computador está sendo ligado serve para > ajustar a hora e outras coisas mas não serve para destravar a tela. É outro > tipo de senha? como eu faço ? Erivan, existem no mínimo 2 senhas no Linux. Uma é do usuário ROOT (administrador) que tem total poderes sobre a máquina e a outra senha é do usuário comum, que só tem direito de escrita nos seus próprios arquivos que ficam em /home/nome_do_usuário. O correto é sempre fazer o login com a sua conta, e não com a conta do root. Portanto, se você está usando a sua conta, use a sua senha. Se você esta usando a conta ROOT (não recomendado), use a senha do root. No mais, eu não conheço esse "Linux Limited Edition" e o KDE está muito desatualizado. Att, Renato S. Yamane ********************************************************************** **********************************************************************