Buscar

Segurança da Informação I Documentos Google

Prévia do material em texto

Segurança da Informação I 
 
Adicionando NTP: 
ntpdate ­s [ntp]  → ex.:  ntpdate ­s a.ntp.br 
 
Instalação do fator de dupla autenticação: 
sudo apt­get install libpam­google­authenticator 
 
NOTA: 
Em caso de perda do aparelho configurado para autenticação, deixar guardado os códigos informados ao                             
realizar a instalação. 
 
 
Ver resultado do NTP: 
ntpq ­p 
 
 
 
 
### Configuração do fator de dupla autenticação para GUI ### 
 
Com o usuário que terá o perfil configurado, executar a seguinte linha: 
google­authenticator 
 
Editar o  /etc/pam.d/lightdm  com o  vim  
No final da linha inserir a seguinte linha: 
auth required pam_google_authenticator.so  
 
1 
/etc/pam.d/  → Diretório que concentra os métodos de autenticação do Linux. 
nullok → obrigar o usuário que tem um vínculo de token a utilizá­lo. Para obrigar a pedir o token para qualquer                                         
usuário deve­se remover o nullok. 
 
 
 
### Configuração do fator de dupla autenticação para SSH ### 
 
São duas etapas. 
 
1º → Editar o  /etc/pam.d/sshd e adicionar no final da linha  auth required                         
pam_google_authenticator.so 
 
 
 
2º → Editar o  /etc/ssh/sshd_config e alterar o campo                 
ChallengeResponseAuthentication no  para  yes 
 
 
 
### Configuração do fator de dupla autenticação para terminal ### 
 
1º → Editar o  /etc/pam.d/login  e adicionar a linha  auth required                     
pam_google_authenticator.so  após a linha  @include commom­password 
 
 
 
 
 
 
 
 
 
2 
Teste: 
 
 
 
 
Fases de Ataque / Footpoint 
­ Ver Tópico 4 no Moodle 
1º → Reconhecimento 
2º → Scan ou Enumeração 
3º → Acesso 
4º → Manter o canal de acesso 
5º → Logs (apagar rastros) 
 
­ ARIN → Entidade responsável em controlar o plano de endereço IP e distribuir pelo mundo. 
 
● Buscas no Google: 
­ intitle: procura uma determinada palavra no título 
­ inurl: procura uma determinada palavra na URL 
­ site site.com: a busca será feita no site site.com 
 
● GHDB → Google Hacking Data Base (procurar a respeito) [dorks] 
 
Tipos de ataques 
DOS → Deny of Service (Negação de Serviço) 
D DOS → O mesmo que DOS, porém de forma distribuída, feita por várias origens para o mesmo destino. 
 
   
3 
Comandos… 
 
NMAP 
­ nmap [ip]  → mostra quais os serviços estão abertos do IP informado filtrando as principais 1000 portas 
­ nmap 10.10.0.0/24 →  mostra quais os serviços estão abertos na rede 
­ nmap ­v 10.10.0.1­100  → mostra quais os serviços estão abertos no range de IPs  
­ nmap ­F [ip] → mostra quais os serviços estão abertos do IP informado filtrando as 100 principais                                 
portas 
­ nmap ­o [ip]  → mostra qual é o S.O. do IP informado 
­ nmap ­p 22 [ip]  → testa especificamente a porta 22 
­ nmap ­p 22­23 [ip]  → testa especificamente um range de portas 
­ nmap ­p 22,80,443 [ip]  → testa especificamente as portas 22, 80 e 443 
 
 
Status: Open → porta disponível 
filtered → um firewall cortou a tentativa de acesso 
 
 
Hash →  Criptografia de arquivos 
­ Entrada de tamanho variável e saída de tamanho fixo. 
● Teste com MD5 
 
● Teste com SHA512 
4 
 
 
Obs.: O sistema não armazena senha. Ele armazena o Hash . 
 
No Linux, os Hashs ficam armazenados no  /etc/shadow 
Para fazer Hash da senha, hoje o Linux usa o SHA512 
 
 
Quebras de senha  (offline) → Ferramenta  john 
1. Necessário preparar um arquivo com a junção do  /etc/passwd com o  /etc/shadow da máquina a ser                               
invadida.  
2. Criar diretório para testar →  mkdir nome_do_diretorio 
3. cd nome_do_diretorio 
4. unshadow /etc/passwd /etc/shadow > nome­do­arquivo­com­resultado (unshadow           
combina os arquivos informados na sequência. 
5. john ­­single nome­do­arquivo­com­resultado (tenta como senha os dados da descrição                   
do usuário, por exemplo, endereço, telefone...) 
6. john ­­show nome­do­arquivo­com­resultado 
 
No asterisco está a senha em texto do usuário (root) 
 
Dicionário de senhas →  /usr/share/wordlists 
 
 
 
 
 
 
   
5 
Quantas senhas possui o  rockyou.txt.gz ? Maior dicionário de senhas no Kali 
 
Ele possui 14344392 senhas.  
 
john ­­wordlist=/usr/share/john/password.lst nome­do­arquivo­com­resultado     
(password.lst é o dicionário com as senhas) 
 
 
Criar uma wordlist com o  crunch 
crunch 4 4 0123456789 ­o lista → cria um arquivo chamado “lista” com no mínimo 4 caracteres e                                   
máximo de 4 caracteres usando numerais de 0 à 9. Ou seja, cada item gerado terá 4 caracteres. 
 
/usr/share/crunch/charset.lst  → contém strings para definir conjunto de caracteres a serem usados 
­ Por exemplo: o comando  crunch 4 4 0123456789  pode ser trocado por  crunch 4 4 ­f                               
charset.lst numeric 
 
O resultado exibe o tamanho do arquivo (50.000 bytes) e quantidade de linhas (10.000) 
 
Para criar uma biblioteca de senha com letras fixas execute o seguinte comando: 
#crunch 9 9 012345 ­t teste@@ ­o nome_do_arquivo  
 
 
6 
Quebras de senha  (online) → Ferramenta Hydra 
 
A ferramenta dispara processos simultâneos para quebrar a senha. 
 
# hydra ­V ­l user ­P passlist.txt ftp://192.168.0.1 → tenta quebrar senha com um                           
usuário expecífico, usando uma determinada biblioteca para o serviço ftp informado. O ­v exibe na tela as tentativas. 
 
Se quiser usar uma porta expecífica, após o IP inserir  :porta . 
Exemplo: #  hydra ­V ­l user ­P passlist.txt ssh://192.168.0.1: 2222 
Se eu não souber a porta, o que fazer? Usar o NMAP para fazer esta descoberta. 
 
Log da máquina sofrendo invasão: 
/var/log/auth.log  (no Ubuntu) 
 
Boa prática para defesa: 
Configurar o servidor para informar quando tiver x tentativas de acesso negado. Por exemplo, a cada 5                                 
tentativas de acesso sem sucesso, o servidor envia um e­mail para o administrador com essa informação. 
 
Na tentativa de invasão com o Hydra, se o processo for interrompido, o arquivo é salvo no ./hydra.restore. 
 
 
 
 
Sniffer  
● TCPDump 
 
Captura de pacotes trafegados na rede. 
# tcpdump ­v ­n → ver os pacotes destinados ao  seu IP , ao  broadcast  e  multicast , ou seja, o que chega em                                           
sua placa de rede. Ver os resultados com  ­v  e  ­n  para não resolver nome. 
 
Capturar pacotes cujo destino seja a minha máquina:  dcpdump ­v ­n dst x.x.x.x 
Capturar pacotes que sejam ICMP:  dcpdump ­v ­n icmp 
 
Capturar pacotes destinados a uma porta específica: 
#  tcpdump ­v ­n port 80 
 
Capturar pacotes de um determinado host, sem determinar se é origem ou destino: 
#  tcpdump ­v ­n host 10.2.11.13 
 
Capturar pacotes que forem originados com um determinado IP: 
#  tcpdump ­v ­n src 10.2.11.13 
 
Capturar pacotes que forem originados com um determinado IP em uma porta específica: 
#  tcpdump ­v ­n src 10.2.11.13 and port 80 
 
 
Capturar pacotes que forem originados com um determinado IP em uma porta específica e incrementar num arquivo: 
#  tcpdump ­v ­n src 10.2.11.13 and port 80 ­w captura.de.dados 
7 
 
­ Obs: a sintaxe ­v (verbose) exibe uma quantidade limitada de dados. A sintaxe ­vv exibe uma quantidade                                 
maior  de dados e a ­vvv uma quantidade maior ainda. 
 
 
● Wireshark 
 
 
 
Ataques 
● MITM (man­in­the­middle) 
 
 
 
­ Arpspoof 
 
Etapa 1.  Habilitar o roteamento de pacote da máquina: 
# vi /etc/sysctl.conf  e descomentar a linha  net.ipv4.ip_forward=1 
 
 
 
Etapa 2.  Fazer com que o tráfego de  ída  passe primeiro pelo meu host. 
#  arpspoof ­i eth0 ­t 192.168.174.13 192.168.174.129 → Estou dizendopara a                       
máquina 192.168.174.13 (máquina qualquer na LAN) que seu gateway é o 192.168.174.129 (meu host). 
 
Você descobre o endereço através a tabela ARP usando o comando  arp. 
Etapa 3.  Fazer com que o tráfego de  volta  passe primeiro pelo meu host. 
#  arpspoof ­i eth0 ­t 192.168.174.2   192.168.174.129  → Estou dizendo para a 
máquina 192.168.174.2 (que é meu destino inicial) que seu gateway é o host 192.168.174.129 (meu host). 
8 
 
Para que haja efeito, ambos comandos precisam estar rodando. 
 
 
● Captura de senhas 
­ Setoolkit (social engineering toolkit) 
 
Website attack: Opção 2 
 
 
Tipo de ataque. Credenciais: 3 
 
 
 
   
9 
Primeira etapa deste ataque: Clonar site: 2 
 
 
Qual IP será usado como hospedeira do site clonado: 192.168.174.129 
 
 
 
Qual site deseja clonar: https://www.facebook.com/ 
 
 
 
 
Continuar… 
 
10

Continue navegando