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