Segurança da Informação nas Organizações
Transcrição
Segurança da Informação nas Organizações
Mestrado em Segurança da Informação e Direito no Ciberespaço Segurança da informação nas organizações Gestão de passwords e de certificados digitais Fernando Jorge Ribeiro Correia 1 Objectivos • Conhecer o processo de gestão de passwords do Windows • Conhecer o local e o formato de armazenamento das passwords • Compreender o formato das passwords e a relação que existe entre comprimento, tipo de caracteres e robustez. 2 Introdução O processo de autenticação mais usado em sistemas informáticos consiste no binómio nome utilizador e palavra passe (password). A robustez deste mecanismo de autenticação está relacionado com o secretismo com que o utilizador guarda as suas credencias (pessoais e intransmissiveis) e com o comprimento e tipo de caracteres usado para escrever a palavra passe. Actualmente, face ao crescimento da capacidade computacional dos computadores e ao crescimento da capacidade de armazenamento dos sistemas, a segurança de uma palavra passe depende do seu comprimento (+ do que 8 caracteres), do tipo de caracteres usado (alfabeto maiúsculo e minúsculo, algarismo e caracteres especiais), em que, o conjunto de combinações de todos os caracteres cresce exponencialmente. Considerando um PC com processador Intel Centrino Duo a 1.6GHz, com 2GB de memória RAM, o ataque de força bruta a uma password com 8 caracteres, com capacidade de processar 20.000 palavras/s, temos (tab. 1): Charset Memória Palavras maiúsculas alfabeto alfa-numérico alfa-numérico-todos 1750 GB 448094 GB 1830105 GB 51093478 GB 208827064576 53459728531456 218340105584896 6095689385410816 Tempo 120 dias 30937 dias 6923519 anos ... Tabela 1: Tempo de descoberta de password 3 Acesso ao registo de utilizadores do sistema Para ser possível efectuar um ataque de força bruta às palavras passe dos utilizadores, primeiro temos que ter acesso aos registos dos sistema onde estão guardadas as credenciais dos utilizadores. No SO Windows, as credenciais dos utilizadores estão guardadas em dois ficheiros - SYSTEM e SAM, localizados em C:\Windows\system32\config. Uma vez que ficheiros são de acesso restrito, apenas o administrador do sistema pode ter acesso a eles. O acesso a estes ficheiros pode ser feito pelo administrador do sistema. No entanto, se a máquina onde estão estes ficheiros for inicializada por outro sistema operativo que não o Windows, o administrador deste outro SO pode ter acesso a estes mesmos ficheiros. Assim deve fazer o seguinte: i) Inicialize o VMWare e seleccione a máquina virtual Windows XP-SI e clique em Edit virtual machine settings. ii) Nas opções CD/DVD, selecione a opção Use ISO image e escolha a imagem ISO do Kali (fig. 1). iii) Inicie a máquina virtual do Windows e permita o arranque a partir de CD. 2 Figura 1: Configuração do CD/DVD iv) Carregue em ENTER para iniciar o Kali e quando aparecer a prompt, escreva startx. v) No ecrã inicial vai ao menu e monte o disco que contem o Windows na árvore de directoria do Kali, conforme a fig. 2 Figura 2: Montar o disco do Windows XP vi) Configurar o teclado em Português: Application→System Tools→Preferences→System Settings escolher o teclado em Layout Settings vii) Abra uma linha de comandos e escreva: root@bt:~# ls -l /media/ total 16 drwx------ 1 root root 16384 2013-10-26 12:14 1A84C16484C142CD 3 drwxr-xr-x 2 root root 60 2013-11-10 11:45 cdrom root@bt:~# e verifique que aparece uma segunda pasta para além da pasta cdrom. Agora está em condições de começar a extrair os ficheiros SYSTEM e SAM do Windows. viii) Na linha de comandos escreva: root@bt:~# bkhive /media/<pasta do disco do windows>/WINDOWS/system32/config/system syskey.txt este comando permite extrair o conteúdo do ficheiro system. ix) depois faça: root@bt:~# samdump2 /media/<pasta do disco do windows>/WINDOWS/system32/config/SAM syskey.txt > hash.txt este comando retira do ficheiro SAM informação sobre todos os utilizadores registados no sistema e qual o hash referente às passwords. Pode visualizar o conteúdo escrevendo na linha de comandos: root@bt:~# cat hash.txt Para obter o ficheiro com o hash das passwords pode também usar o pwdump no Windows, conforme ilustrado na fig. 3. Porém, para realizar esta acção tem que ser administrador da máquina. Figura 3: pwdump x) No menu do Kali seleccione o programa john the ripper conforme indicado na fig. 4 NOTA: o programa johnny é o frontend do john the ripper - experimentar xi) Na janela de comandos que abriu faça o seguinte: root@bt:~# john --format:NT hash.txt NOTA: se a descodificação das passwords começar no seguimento de uma sessão anterior, então deve apagar os seguintes ficheiros: john.log, john.rec, john.pre. A) Quais são as passwords para os utilizadores Administrador e aluno? 4 Figura 4: john the ripper 4 Password em documentos PDF Existem dois tipos de passwords em documentos pdf: de utilizador e do dono. A de utilizador é atribuída pelo autor do documento quando pretende apenas que o destinatário tenha acesso ao mesmo. A password do dono é activada quando o autor pretende proteger o documento contra eventuais alterações. As passwords podem ser quebradas usando o programa pdfcrack (http://pdfcrack.sourceforge.net). Este utilitário já se encontra instalado no Kali. Faça o seguinte: i) Copie para o Desktop do Kali o ficheiro CrackPDF.pdf que está na página da cadeira. ii) Para quebrar a password vamos fazer uma ataque de força bruta ao ficheiro CrackPDF.pdf que está no Desktop: root@bt:~# pdfcrack -f Desktop/CrackPDF.pdf -n 4 -m 5 -c abcdefghijklmnopqrstuvxz onde: -f : nome do ficheiro a quebrar -n : numero mínimo de caracteres da password -m : numero máximo de caracteres da password -c : caracteres possíveis de se usar na password B) Abra o ficheiro PDF com o Acrobat Reader. Consegue visualizar o conteúdo? C) Conseguiu identificar a password ? Qual é? O comprimento da password e o tipo de caracteres influenciam a robustez da password e aumentam a dificuldade de quebra. Para ter uma noção das combinações possíveis de passwords vamos usar o utilitário crunch para identificar o número de combinações de sequências de caracteres e criar, eventualmente dicionários de palavras. Faça o seguinte: root@bt:~# crunch 5 5 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space logo de seguida faça Ctl-c. 5 D) Registe o comprimento em bytes do ficheiro dicionário que seria gerado. Os valores ’5’ indicam o comprimento das palavras, com letras em maiúsculas, minúsculas e algarismos. Experimente alterar o comprimento das palavras para 6, 7, 8, 9 e 10 caracteres. Registe os valores obtidos. 5 Cifra de documentos A transmissão de documentos pela Internet é feita em modo aberto e sem segurança. A identificação de quem envia e a integridade do documento para quem recebe pode ser efectuada através de mecanismos de cifra. A aplicação GPG (Gnu Privacy Guard) pode ser usada para criar certificados X.509 com chaves de comprimento 2048 bits. Suporta o funcionamento dos algoritmos de espalhamento ou dispersão SHA-1, SHA-256 e MD5. O GPG pode ser usado em Windows e Linux. No Windows vamos usar a aplicação Kleopatra e em Linux vamos usar a aplicação SeaHorse e a linha de comandos. Para esta parte da aula prática é necessário usar as máquinas virtuais WinXP-SI e Kali-SI. Execute as seguintes acções: i) Abra a máquina virtual WinXP-SI (sem fechar o Kali). ii) Inicie a aplicação Kleopatra (clique no icon que está no Desktop). Se a aplicação Kleopatra estiver muito demorada a abrir, pare o anti-virus Avast. iii) Na barra de ferramentas carregue em: File → New Certificate iv) Carregue em Create a personal OpenPGP key pair. v) Complete o formulário com o seu nome de aluno e com o e-mail. Carregue em Next (fig. 5). Estes dois atributos podem ser o que quiser, inclusive um endereço de mail inventado do si desde que esteja no formato: nome@dominio Figura 5: Kleopatra 6 vi) Carregue em Show all details e verifique a robustez do certificado e como pode ser usado. Carregue no botão Create Key. vii) Na caixa de dialogo que apareceu (ver fig. 6) escreva a sua password secreta. Esta password é usada para decifrar as mensagens recebidas. Figura 6: Completar processo do certificado viii) No campo Passphrase escreva: P@ssW0rd. ix) Carregue no botão Make a Backup of Your Key Pair (fig. 6) x) Faça um backup do seu certificado e termine o processo de criação de certificados. xi) Seleccione o novo certificado que foi criado e carregue no botão Export Certificates (fig. 7) que está na barra de ferramentas. Escolha o nome e guarde no Desktop Figura 7: Exportar certificado xii) Feche a aplicação Kleopatra. Abra a VM com o Kali e faça o seguinte: i) copie o ficheiro *.asc que colocou no desktop do WinXP-SI para o desktop do Kali. 7 ii) Abra uma linha de comandos e inicie o gestor de certificados: seahorse &. No menu Ficheiro clique em importar e seleccione o ficheiro *.asc que copiou para o Kali. iii) Carregue em Chaves PGP / Chaves GnuPG e verifique que importou o certificado (fig. 8). Figura 8: Importar certificado iv) Para criar um certificado no Kali, no menu Ficheiro carregue Nova. Preencha o formulário com os seus dados e escolha uma password (fig. 9). Não se esqueça da password que usou. Para criar este certificado, o gpg precisa de um gerador de números aleatórios. Este gerador é conseguido tendo como base o funcionamento do sistema operativo. Assim, deve mexer o rato, escrever um documento, abrir diversos sites com o explorador de Internet, por forma a conseguir gerar entropia suficiente para se ter um gerador de números aleatórios minimamente aceitável. Como este processo pode ser demorado, use o certificado que criado. Figura 9: Criar certificado v) Depois do certificado ter sido criado, este há-de aparecer na janela de gestão de certificados. Seleccione o certificado e exporte para ficheiro. O ficheiro deve ter extensão *asc. A função de exportação está no menu File. vi) Agora temos de certificar o certificado recebido como sendo válido e que acreditamos na chave. Assim, faça duplo-clique no certificado importado. Seleccione a a tab Confiar/Trust e assine este certificado. Indique que é de confiança e que verificou muito cuidadosamente (fig. 10). Com este processo, no Kali, acabou de importar um certificado, certificar, criar o seu certificado e exportar para terceiros. Para que este novo certificado seja aceite no WinXP-SI, deve abrir novamente a máquina virtual e iniciar a aplicação Kleopatra. 8 Figura 10: Validar certificado no Kali vii) Faça o seguinte para importar o certificado: carregue no botão Import Certificates e seleccione o ficheiro *asc criado no Kali. viii) O passo seguinte é validar este certificado. Na tab Imported Certificates faça duplo-clique no certificado importado. Carregue no botão Trust Certifications Made by this certificate .... Seleccione a opção full trust (ver fig. 11) e carregue em OK e em Close. Com esta acção ficou concluída a partilha de certificados públicos entre sistemas. Feche a aplicação Kleopatra. Figura 11: Validar certificado no Windows Agora estamos prontos para enviar ficheiros cifrados e assinados entre sistemas. i) No WinXP-SI abra o Notepad e escreva um texto qualquer. Grave o documento no desktop e feche o Notepad. ii) Clique com o botão direito do rato em cima do documento criado e seleccione a opção Seleccionar e Encriptar. iii) Na janela seguinte volte a seleccionar a opção Select and Encript e carregue em Next. iv) Seleccione os dois certificados e carregue no botão Add (ver fig. 12). Esta acção permite dizer quem envia e a quem se destina o documento. 9 Figura 12: Assinar e cifrar Depois proceda com a assinatura do documento usando a password que escolheu para o seu certificado. Se o processo de assinar e cifrar correu sem erros, o resultado é um ficheiro com a extensão gpg. Copie este ficheiro para o desktop do Kali. v) No Kali, abra uma linha de comandos e escreva o seguinte: kali:> cd Desktop kali:> gpg -d "nome do ficheiro cifrado" > "nome do ficheiro em claro" vi) Escreva a sua password (lembre-se que o ficheiro foi dirigido a si). vii) Abra o ficheiro criado. Se do Kali quiser cifrar e assinar um ficheiro para um determinado utilizador, então deve usar o comando: kali:> gpg -se -r [email protected] "nome do ficheiro" Apenas o aluno01 pode abrir o ficheiro. Claro que para fazer esta operação teve que registar e validar o certificado de aluno01. Se quiser assinar apenas usa só a opção -s. Agora responda ao seguinte: D) O que é que o GPG permite fazer depois de estar instalado? E) Se um amigo lhe enviar a chave publica dele, ele pode decifrar as suas mensagens desde que você tenha importado chave publica? 10 6 Desligar o Kali Não se esqueça que não deve encerrar o Kali fechando apenas a janela do VMWare. Deve fazer o seguinte procedimento: i) feche todas as janelas que estão abertas na área de trabalho ii) vá ao menu INICIAR e faça logoff. O modo gráfico termina e avança para uma janela de consola. iii) na consola escreva o comando: halt iv) o Kali inicia o processo de encerramento. Bom trabalho ! 11