41
TcheLinux - Porto Alegre 1 Hacking Linux Hacking Linux Principios Básicos de Segurança Bruna Griebeler Sobre esta apresentação: - Nível: Iniciante - Escopo: Dicas básicas sobre como manter seu sistema seguro. - Pré-requisitos: Conhecimento básico de comandos linux.

Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

Embed Size (px)

Citation preview

Page 1: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 1

Hacking LinuxHacking LinuxPrincipios Básicos de Segurança

Bruna Griebeler

Sobre esta apresentação:- Nível: Iniciante- Escopo: Dicas básicas sobre como manter seu sistema seguro.- Pré-requisitos: Conhecimento básico de comandos linux.

Page 2: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 2

Sobre esta apresentação

Vulnerabilidades quando há acesso físico à máquina

Como proteger-se? Como quebrar senhas fracas em desktops e

servidores

Page 3: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 3

Ataques por acesso físico

Se há acesso físico ao hardware, não há segurança!!

Page 4: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 4

Esqueceu a senha de root?Ou não conhece a senha de

nenhum usuário da máquina?

Ataques por acesso físico

Page 5: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 5

Obtendo acesso privilegiado através do GRUB

Pressione a tecla ”e” para editar

Page 6: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 6

Obtendo acesso privilegiado através do GRUB

Vá até a linha do kernel, pressione ”e” novamente

Page 7: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 7

Obtendo acesso privilegiado através do GRUB

Altere o paramêtro ro para rw e logo após coloque um novo parâmetro: init=/bin/bash

Page 8: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 8

Obtendo acesso privilegiado através do GRUB

Pressione enter e depois pressione a tecla b para prosseguir com o boot

Page 9: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 9

Obtendo acesso privilegiado através do GRUB

Após carregar o sistema perceba que aparece um #, isso significa que você está em um terminal com acesso de root!

Page 10: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 10

Obtendo acesso privilegiado através do GRUB

Para mudar a senha de root basta usar o comando passwd

Para mudar a senha de outros usuários basta digitar: passwd <nome do usuario>

Ex: root@dell:~#passwd linus

Page 11: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 11

Como obter a lista dos usuários da máquina?

Para conhecer os usuários da máquina basta acessar o arquivo /etc/passwd:root@dell:~# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

sync:x:4:65534:sync:/bin:/bin/sync

tux:x:1004:1012:,,,:/home/tux:/bin/bash

linus:x:1007:1013:,,,:/home/linus:/bin/bash

Page 12: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 12

Protegendo o GRUB

Posso impedir que terceiros façam isso em meu servidor/desktop??

”#comofas”

Page 13: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 13

Protegendo o GRUB

Digite, como root, o comando: root@dell:~# grub Ao entrar no comand line do grub: grub> md5crypt Será solicitado que você crie uma nova senha Encrypted:

$1$L3T5RL$317N9A6pH5SMIaSsP8ENi9r3

Page 14: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 14

Protegendo o GRUB

Coloque a senha criptografada no arquivo de configuração do grub

root@dell:~# vi /boot/grub/menu.lst Descomente e edite a linha referente à senhas password --md5

$1$L3T5RL$317N6pH5IaSsP8ENi9r3 Pronto agora quem tentar editar o grub

precisará conhecer a senha!

Page 15: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 15

Há como clonar o root?

Cada usuário possui um UID. Esse UID é quem identifica o usuário. O username é apenas um facilitador para o

login!root@dell:~# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

tux:x:1004:1012:,,,:/home/tux:/bin/bash

linus:x:1007:1013:,,,:/home/linus:/bin/bash

Page 16: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 16

Há como clonar o root?

Logando-se como usuário tux:

Page 17: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 17

Há como clonar o root?

Se eu alterar o UID do usuário tux para zero, quem será tux?

root@dell:~# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

tux:x:0:1012:,,,:/home/tux:/bin/bash

linus:x:1007:1013:,,,:/home/linus:/bin/bash

Page 18: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 18

Há como clonar o root?

Usei a senha do usuário tux e não a senha do root.

Page 19: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 19

Então agora estou seguro?

Meu bootloader está configurado e possui senha, e não há nenhum usuário com UID 0 no passwd.

Estou à salvo?

Page 20: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 20

Obtendo acesso total aos arquivos através de um Live CD ou pendrive

Tendo acesso físico à máquina e acesso à BIOS, posso ter acesso à arquivos de qualquer partição, inclusive da partição Windows, caso exista!

Page 21: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 21

Obtendo acesso total aos arquivos através de um Live CD ou pendrive

Assegure-se que a ordem de boot na BIOS permite a inicialização de um liveCD!!

Ao inicializar o sistema do liveCD, abra um terminal

Page 22: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 22

Obtendo acesso total aos arquivos através de um Live CD ou pendrive

Use o comando abaixo para verificar todas as partições do seu hd:

root@ubuntu:~# fdisk -l Crie uma pasta dentro do /mnt: root@ubuntu:~# mkdir /mnt/arquivos Monte a partição que deseja acessar: root@ubuntu:~# mount /dev/sda1

/mnt/arquivos

Page 23: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 23

Obtendo acesso total aos arquivos através de um Live CD ou pendrive

Agora que você montou a partição, que tal adonar-se dela??

root@ubuntu:~# chroot /mnt/arquivos O comando chroot permite transformar um

diretório no seu diretório raiz atual.

Page 24: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 24

Mudar a senha de root

Ok, agora que tenho acesso à todos os arquivos da máquina, como posso zerar a senha de root ou de outros

usuários do sistema?

Page 25: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 25

Mudar a senha de root

root@ubuntu:~# vi /etc/passwd Na linha do root, apague o x que aparece na

segunda coluna e salve o arquivo:root@dell:~# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

tux:x:1004:1012:,,,:/home/tux:/bin/bash

linus:x:1007:1013:,,,:/home/linus:/bin/bash

Page 26: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 26

Mudar a senha de root

Depois digite o comando passwd para criar uma nova senha de root

root@ubuntu:~# passwd Porque usar essa estratégia? Muitas vezes ao trocar de senha será solicitada

a senha antiga, antes que a nova senha possa ser atribuída.

Page 27: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 27

Quebrando senhas fracas

Hmm beleza, descobri como resetar a senha de root e/ou de outros

usuários.

Mas será que podem DESCOBRIR as

senhas dos usuários?

Page 28: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 28

Conhecendo o Shadow!

O /etc/shadow é o arquivo onde ficam registradas as senhas de todos os usuários do Linux

Apenas o root tem acesso à esse arquivo

Mas isso significa que o root pode ”ler” as senhas de qualquer um??

Page 29: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 29

Conhecendo o Shadow!

root@dell:~# vi /etc/shadow

root:$1$r4dJFjfaQPaAh$wg/BlPzRpVib0N:14138:0:99999:7:::daemon:*:13801:0:99999:7:::bin:*:13801:0:99999:7:::sys:*:13801:0:99999:7:::sync:*:13801:0:99999:7:::games:*:13801:0:99999:7:::tux:$1$D9SAvk428D9IP2xhDP$IaC2VW7gYi1.:14153:0:99999:7:::linus:$1$m5Mg9xKe9St3$NbslqRxXnFYE3e70w.:14168:0:99999:7:::

As senhas estão criptografadas em MD5!

Page 30: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 30

Bruteforce

Instalar o John the Ripper root@dell:~# apt-get install john Não está mais disponível por default nos repositórios do Debian

Page 31: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 31

Bruteforce

Executando o John:root@dell:~# john /etc/shadow

Loaded 3 passwords with 3 different salts (FreeBSD MD5 [32/32])

god (root)12345 (linus)guesses: 2 time: 0:00:03:12 68% (2) c/s: 4454

Page 32: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 32

Nessus

Nessus é um programa que procura por vulnerabilidades (falhas de segurança) em um desktop ou servidor.

root@dell:~# apt-get install nessus nessusd

Page 33: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 33

Nessus

Adicionando um usuário ao Nessus #nessus-adduser Deixe o daemon nessusd rodando no servidor #nessusd Chame o nessus client para fazer a varredura: #nessus

Page 34: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 34

Nessus

Page 35: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 35

Nessus

Também possibilita testes de Bruteforce em serviços como ftp, vnc, telnet, pop3, imap, etc.

Os testes de Bruteforce foram adaptadas da ferramenta Hydra.

Utiliza as ténicas de port scan do Nmap.

Page 36: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 36

Dicas de Segurança

Sempre use senhas fortes, contendo números, letras e caracteres especiais para todos os usuários!

Coloque senha no seu gerenciador de boot Desabilite o boot via cdrom, USB ou floppy e

coloque senha na BIOS! Mantenha seu servidor trancado, caso

contrário pode-se tirar a bateria da placa-mãe, resetando assim as configurações da BIOS.

Page 37: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 37

Dicas de Segurança

Mantenha os serviços sempre atualizados, principalmente os mais vulneráveis como apache, sendmail, postfix, qmail, etc

Page 38: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 38

Sites Oficiais

John the Ripper http://www.openwall.com/john/ Nessus http://nessus.org/ Nmap http://nmap.org/ Hydra http://thc.org/thc-hydra/

Page 39: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 39

Bibliografia recomendada:

BS7799 – Da Tática à Prática em Servidores Linux

Sandro Melo, César Domingos, Lucas Correia, Tiago Maruyama

Alta Books - ISBN 857608126-1

Teoria Forense Computacional – Teoria e Prática Aplicada

Dan Farmer, Wietse Venema

Pearson – ISBN 857605128-1

Page 40: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 40

Perguntas?

Page 41: Hacking Linux: Princípios Básicos de Segurança - Bruna Griebeler

TcheLinux - Porto Alegre 41

[email protected]

Quer contribuir com SL?Quer contribuir com SL?”Pergunte-me como” ou acesse:

www.mozillabrasil.org

about:me