Este documento fornece dicas sobre hacking e segurança em sistemas Linux, discutindo vulnerabilidades quando há acesso físico à máquina, como proteger o bootloader e obter acesso de root, além de quebrar senhas fracas e usar ferramentas como Nessus e John the Ripper.
Hacking Linux: Principais dicas de segurança para iniciantes em
1. 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.
TcheLinux - Porto Alegre 1
2. Sobre esta apresentação
Vulnerabilidades quando há acesso físico à
máquina
Como proteger-se?
Como quebrar senhas fracas em desktops e
servidores
TcheLinux - Porto Alegre 2
3. Ataques por acesso físico
Se há acesso físico ao hardware,
não há segurança!!
TcheLinux - Porto Alegre 3
4. Ataques por acesso físico
Esqueceu a senha de root?
Ou não conhece a senha de
nenhum usuário da máquina?
TcheLinux - Porto Alegre 4
6. Obtendo acesso privilegiado através
do GRUB
Vá até a linha do kernel, pressione ”e”
novamente
TcheLinux - Porto Alegre 6
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
TcheLinux - Porto Alegre 7
8. Obtendo acesso privilegiado através
do GRUB
Pressione enter e depois pressione a tecla b
para prosseguir com o boot
TcheLinux - Porto Alegre 8
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!
TcheLinux - Porto Alegre 9
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
TcheLinux - Porto Alegre 10
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
TcheLinux - Porto Alegre 11
12. Protegendo o GRUB
Posso impedir que terceiros façam
isso em meu servidor/desktop??
”#comofas”
TcheLinux - Porto Alegre 12
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
TcheLinux - Porto Alegre 13
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!
TcheLinux - Porto Alegre 14
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
TcheLinux - Porto Alegre 15
16. Há como clonar o root?
Logando-se como usuário tux:
TcheLinux - Porto Alegre 16
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
TcheLinux - Porto Alegre 17
18. Há como clonar o root?
Usei a senha do usuário tux e não a senha
do root.
TcheLinux - Porto Alegre 18
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?
TcheLinux - Porto Alegre 19
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!
TcheLinux - Porto Alegre 20
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
TcheLinux - Porto Alegre 21
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
TcheLinux - Porto Alegre 22
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.
TcheLinux - Porto Alegre 23
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?
TcheLinux - Porto Alegre 24
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
TcheLinux - Porto Alegre 25
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.
TcheLinux - Porto Alegre 26
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?
TcheLinux - Porto Alegre 27
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??
TcheLinux - Porto Alegre 28
29. Conhecendo o Shadow!
As senhas estão criptografadas em
MD5!
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:::
TcheLinux - Porto Alegre 29
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
TcheLinux - Porto Alegre 30
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
TcheLinux - Porto Alegre 31
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
TcheLinux - Porto Alegre 32
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
TcheLinux - Porto Alegre 33
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.
TcheLinux - Porto Alegre 35
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.
TcheLinux - Porto Alegre 36
37. Dicas de Segurança
Mantenha os serviços sempre atualizados,
principalmente os mais vulneráveis como
apache, sendmail, postfix, qmail, etc
TcheLinux - Porto Alegre 37
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/
TcheLinux - Porto Alegre 38
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
TcheLinux - Porto Alegre 39