WebHackingNotes
1- Encundação de informações: a coleta de informações faz parte dos bugs de segurança de caça. Ataque de reconhecimento da superfície - estratégias e o valor da padronização
*** Identificação de hosts virtuais: vários sites são comumente implantados no mesmo servidor físico.
- Os sites de muitas organizações são hospedados por provedores de serviços usando recursos compartilhados. O compartilhamento de endereços IP é uma das técnicas mais úteis e econômicas usadas por eles. Muitas vezes, você verá vários nomes de domínio retornados quando fizer uma consulta DNS reversa para um endereço IP específico. Esses sites usam a hospedagem virtual baseada em nomes e são identificados de maneira única e diferenciados de outros sites hospedados no mesmo endereço IP pelo valor do cabeçalho do host.
- O YougetSignal (http://www.yougetsignal.com/) é um site que fornece um recurso de pesquisa IP reversa.
*** Enumeração de subdomínio:
- Você pode começar seu reconhecimento encontrando subdomínios usando seu VPS. Quanto mais subdomínios você encontrar, mais superfície de ataque você terá.
- Encontrar subdomínios de um site pode nos levar em lugares surpreendentes. Lembro -me de uma palestra do pesquisador de segurança israelense, Nir Goldshlager, no qual ele realizou uma varredura de enumeração de subdomínio em um Serviço do Google, a partir do grupo de subdomínios que ele descobriu que havia um que executou um aplicativo da Web com uma vulnerabilidade local de inclusão de arquivos divulgada publicamente.
*** digitalização da porta:
- Depois de enumerar subdomínios, você pode iniciar o PortScanning para identificar mais superfícies de ataque, incluindo serviços em execução.
- Utilize a digitalização da porta - não procure apenas os 80.443 normais - execute uma varredura de porta contra todas as portas 65536. Você ficará surpreso com o que pode estar em execução em portas altas aleatórias.
- Os resultados do PortScan também podem ser indicativos da segurança geral de uma empresa. Por exemplo, uma empresa que fechou todas as portas, exceto 80 e 443 (portas da Web comuns para hospedar sites HTTP e HTTPS) provavelmente estará consciente da segurança, enquanto uma empresa com muitas portas abertas é provavelmente o oposto e pode ter um melhor potencial para recompensas.
- Depois de identificar as portas abertas no servidor da Web, você precisa determinar o sistema operacional subjacente.
- Depois que o sistema operacional subjacente e as portas abertas forem determinadas, você precisa identificar os aplicativos exatos em execução nas portas abertas. Ao digitalizar servidores da Web, você precisa analisar o sabor e a versão do serviço da web que está em execução no topo do sistema operacional.
*** Descoberta de conteúdo: Descubra conteúdo oculto e padrão
- Antes de deixarmos nosso passeio pelos muitos usos dos mecanismos de pesquisa na Internet, queremos anotar um problema adicional relacionado à pesquisa que possa melhorar bastante a eficiência do perfil. O arquivo robots.txt contém uma lista de diretórios que os mecanismos de pesquisa como o Google devem indexar ou ignorar.
- Os sitemaps são uma maneira absurdamente simples de fazer pesquisas básicas com esforço zero. Fazer um pouco de hackers de URL com a lesma Sitemap.xml geralmente retorna um arquivo XML real detalhando a estrutura do site, ou uma página de HTML, com suporte a mais ou outro, com sitemaps, páginas e assim por diante.
- Mapeie o aplicativo procurando diretórios ocultos, ou coisas esquecidas como / backup / etc.
- Existem algumas maneiras diferentes de abordar a descoberta de conteúdo. Primeiro, você pode tentar descobrir arquivos e diretórios, forçando -os.
- As ferramentas de difamação podem ser usadas para descobrir o conteúdo da Web, tentando diferentes caminhos, com URIs retirados das listas de palavras gigantes e, em seguida, analisando os códigos de status HTTP das respostas para descobrir diretórios e arquivos ocultos.
- A CEWL é um gerador de lista de palavras personalizado feito por Robin Hood. Basicamente, ascera o site de destino a uma certa profundidade e depois retorna uma lista de palavras. Esta lista de palavras pode ser usada posteriormente como um dicionário para os logins de aplicativos da Web da Bruteforce, por exemplo, um portal administrativo.
- Paralelamente à forçada bruta para ativos sensíveis, o Spiders pode ajudá-lo a obter uma foto de um site que, sem um mapa do site, apenas a própria força bruta não pode fornecer.
- O servidor da Web pode ter diretórios para administradores, versões antigas do site, diretórios de backup, diretórios de dados ou outros diretórios que não são referenciados em nenhum código HTML.
- Obtenha listagens de nomes comuns de FI e diretórios e extensões comuns. Adicione a essas listas todos os itens realmente observados nos aplicativos e também os itens inferidos a partir deles. Tente entender as convenções de nomenclatura usadas pelos desenvolvedores de aplicativos. Por exemplo, se houver páginas chamadas AddDocument.jsp e ViewDocument.jsp, também pode haver páginas chamadas EditDocument.jsp e Removedocument.jsp.
- Verifique se quaisquer concursos potencialmente interessantes manualmente para eliminar quaisquer falsos positivos dentro dos resultados.
*** Consulte os recursos públicos: acumulando informações sobre o site de destino a partir de recursos disponíveis ao público
- Quando você precisa ir além do arquivo de arquivo e do diretório, o Google Dorking também pode fornecer uma descoberta interessante de conteúdo. O Google Dorking pode economizar tempo, principalmente quando você encontra parâmetros de URL que são comumente associados a vulnerabilidades como URL, redirect_to, ID e assim por diante.
- Os mecanismos de pesquisa sempre foram o melhor amigo de um hacker. É uma boa aposta que pelo menos um dos principais mecanismos de pesquisa da Internet indexou seu aplicativo de destino pelo menos uma vez no passado.
- Além do Google, existem outros mecanismos de pesquisa com um foco específico que pode ser inestimável para encontrar informações específicas. Se você deseja encontrar informações sobre uma pessoa ou perguntar sobre registros públicos, é provável que um mecanismo de pesquisa especializado tenha sido feito para encontrar o que você deseja.
- Execute pesquisas em todos os nomes e endereços de e-mail que você descobriu no conteúdo do aplicativo, como informações de contato. Inclua itens não renderizados na tela, como comentários HTML. Além das pesquisas na web, realize notícias e pesquisas em grupo. Procure quaisquer detalhes técnicos postados nos fóruns da Internet sobre o aplicativo de destino e sua infraestrutura de suporte.
- Outra abordagem para encontrar conteúdo interessante é verificar o github da empresa. Você pode encontrar repositórios de código aberto da empresa ou informações úteis sobre as tecnologias que eles usam.
- O Github é um tesouro de dados incríveis. Houve vários testes de penetração e avaliações da equipe vermelha, onde conseguimos obter senhas, chaves da API, código -fonte antigo, nomes internos de host/IPS e muito mais. Eles levaram a um compromisso direto ou ajudaram em outro ataque. O que vemos é que muitos desenvolvedores empurram o código para o repositório errado (enviando -o para o repositório público em vez do repositório privado de sua empresa) ou acidentalmente empurrar material sensível (como senhas) e depois tentar removê -lo. Uma coisa boa com o Github é que ele rastreia sempre que o código é modificado ou excluído.
- Shodan (https://www.shodan.io) é um ótimo serviço que examina regularmente a Internet, pegando banners, portos, informações sobre redes e muito mais.
- A Censys monitora continuamente todos os servidores e dispositivos acessíveis na Internet, para que você possa procurar e analisá -los em tempo real. Você poderá entender sua superfície de ataque de rede, descobrir novas ameaças e avaliar seu impacto global [https://censys.io/].
- Utilize o WaybackMachine para encontrar pontos de extremidade esquecidos
*** A pilha de tecnologia: identifique as tecnologias usadas
- Uma das primeiras tarefas que realizo ao testar um novo aplicativo é identificar as tecnologias que estão sendo usadas. Isso inclui, mas não se limita a, estruturas JavaScript de front-end, estruturas de aplicativos do lado do servidor, serviços de terceiros, arquivos hospedados localmente, arquivos remotos e assim por diante.
- Ter o conhecimento sobre a estrutura usado para desenvolver um site oferece uma vantagem na identificação das vulnerabilidades que podem existir nas versões não patches.
- Procure qual é a tecnologia subjacente. Ferramenta útil para isso é NMAP novamente e para aplicativos da web especificamente Wappalyzer
*** Identificando a nova Fucionalidade:
- Você também pode descobrir a funcionalidade do novo site rastreando arquivos JavaScript. O foco nos arquivos JavaScript é particularmente poderoso quando um site se baseia nas estruturas JavaScript de front -end para renderizar seu conteúdo. O aplicativo dependerá de ter a maioria dos pontos de extremidade HTTP que um site usa incluído em seus arquivos JavaScript.
- Pagando pelo acesso a novas funcionalidades
*** Código fonte: a análise do código-fonte é normalmente considerada como algo que ocorre apenas em uma caixa branca, um cenário de teste interno, como parte de uma cadeia de compilação automatizada ou como uma revisão manual. Mas analisar o código do lado do cliente disponível para o navegador também é uma maneira eficaz de procurar vulnerabilidades como pesquisador externo.