Prévia do material em texto
WEB - Aula 0x00 Introdução 1º Ten D. Albuquerque O que vamos aprender? ● Introdução ao funcionamento e a estrutura WEB ● Preparar ambiente ● Detalhes do Curso ● Pentest Web ● Reconhecimento Introdução ao funcionamento e a estrutura WEB Estrutura WEB Estrutura WEB Um pouco sobre HTML ● Hyper Text Markup Language ● Linguagem de marcação de texto ● É lido pelo browser, faz parte do front end. ● Marca o texto com tags: Um pouco sobre HTML Título da página E como esses arquivos são transmitidos entre o servidor e o browser? ● Protocolo de rede HTTP!!! ● HTTP - HyperText Transfer Protocol HTTP - HyperText Transfer Protocol Métodos de HTTP Request Método Descrição GET Solicitação comum de arquivos. POST Solicitação de arquivos ou documentos mediante envio de informações como usuário e senha. PUT Envio de documento para a URI especificada. DELETE Deleta o arquivo da URI especificada. HEAD Faz a solicitação da mesma forma que o GET, porém exige apenas o cabeçalho como resposta. OPTIONS Solicita quais métodos estão disponíveis em determinada URI. HTTP Response Responses Descrição 100 Informações 200 Requisição concluída com sucesso. 300 Redirect. São comandos para informar ao browser que o conteúdo que está sendo solicitado está em outra localização. 400 Indica um erro no lado do cliente. 403 O usuário não tem permissão de acessar o conteúdo 404 O arquivo solicitado não foi encontrato 500 Indica um erro no lado do servidor Cabeçalho do HTTP Mais um pouco de HTML - formulários teste Usuário: Senha: Login Preparar ambiente Seu computador - sugestão de ambiente 1 Seu computador - sugestão de ambiente 2 Instalar o VirtualBox ● Link: https://www.virtualbox.org/ https://www.virtualbox.org/ Instalar o VirtualBox ● Disponível para Linux e Windows! Instalar o VirtualBox ● Instalação no linux: $ sudo dpkg -i virtual-.deb Configurar o VirtualBox - hostonly ● Criar uma rede hostonly ● É um tipo de rede em que o sistema operacional do host e os sistemas operacionais guest podem se comunicar Configurar o VirtualBox - hostonly Configurar o VirtualBox - hostonly Configurar o VirtualBox - hostonly VirtualBox - importar VM VirtualBox - importar VM VirtualBox - importar VM VirtualBox - importar VM VirtualBox - importar VM VirtualBox - importar VM VirtualBox - configurar VM VirtualBox - configurar VM VirtualBox - configurar VM VirtualBox - configurar VM VirtualBox - ligar VM Ferramentas necessárias ● Burp suite ● firefox ● dirb ● nc ● curl ● openssl ● joomscan ● wpscan Burp suite ● Link: https://portswigger.net/burp ● Buscar pela Community Edition https://portswigger.net/burp Burp suite ● Clicar em “Go straight to downloads” Burp suite ● Selecionar o sistema operacional do seu host e clicar em “Download” Como funciona um web proxy? Detalhes das próximas aulas Pŕoximas aulas ● Reconhecimento web ● OWASP Bricks ● OWASP DVWA (Damn Vulnerable Web Application) ● OWASP Joomla ● OWASP Wordpress ● Over The Wire - natas Tipos de ataques ● SQL Injection ● Brute force ● Remote Command Execution ● CSRF - Cross Site Request Forgery ● Insecure CAPTCHA ● File Inclusion ● File Upload ● XSS - Cross Site Scripting Reconhecimento Reconhecimento ● É a primeira fase em um ataque web ● É a parte de coleta de informações que vão nos ajudar nos próximos passos ● Quanto mais informações forem ganhas nessa fase, mais fácil as próximas fases serão. Reconhecimento ● Google Hacking ● robots.txt ● Ícone de sites ● Mensagens de erro ● Clonagem de sites ● Mapeamento da infraestrutura Google Hacking - Queries ● Query Explicação site:exemplo.com Limita a busca ao domínio inurl:exemplo Limita a busca a links com a string intitle:exemplo Limita a busca a sites com o título especificado intext:exemplo Realiza a busca no texto do site filetype:pdf Limita a busca a links que levam a tipos de arquivos específicos ext:php Especifica a extensão desejada cache:link Busca em cache Google Hacking - Operadores ● Query Explicação - NOT | OR + AND Google Hacking - Exemplos ● Exemplos: ○ ext ou filetype: php, txt, aspx, js, doc, pdf, xls, sql, ppt, bak, old ○ títulos: “index of”, “login”, “acesso restrito”, “admin”, “adm” ○ palavras chave: config, senhas, passwd, passwords, bkp, ftp, dados Google Hacking - Exemplos ● site:exemplo.com.br filetype:txt senhas ● cache:link -- procura no cache google e no archive.com ● filetype:[txt,bkp,sql] intitle:“Index of” ○ pesquisar arquivos antigos em diretórios abertos ● site:exemplo.com.br -www ext:php ○ Exclui resultados com ‘www’ robots.txt ● Arquivo que permite ou proíbe acesso de web crawlers, como GoogleBot, a arquivos e diretórios no site ● Para encontrá-lo: http://site.com.br/robots.txt ● Campos: ○ User-Agent: Indica qual o browser que sofrerá as configurações do robots.txt (* significa todos os browsers) ○ Disallow: Nega o acesso ○ Allow: Permite o acesso http://site.com.br/robots.txt robots.txt Ícones de sites ● Ao utilizar frameworks como joomla ou wordpress, muitos desenvolvedores esquecem de alterar o ícone das páginas. ● Isso pode ser útil para identificar as tecnologias usadas pelo site. Mensagens de erro ● Podem acusar vulnerabilidades em um site. Clonagem de sites ● Para poder compreender melhor como a página web funciona, é interessante criar uma cópia para ler todos os códigos de front end localmente. ● Podemos utilizar o wget para executar essa tarefa. Clonagem de sites - wget Opções do wget Explicação -c Continua o download caso ele tenha sido interrompido -r Solicita recursos de forma recursiva. Por padrão, realiza a busca em até cinco níveis de profundidade. -m Realiza o espelhamento do site. -e robots=off Ignora o arquivo robots.txt --load-cookies=cookies.txt Utiliza um arquivo como cookies. --save-cookies=cookies.txt Salva os cookies da sessão --keep-session-cookies Salva os cookies, deve ser usado com a opção anterior. Clonagem de sites - wget $ wget -m -e robots=off http://site.com.br