Pentest

SQL Injection (SQLi): Entendendo e identificando a vulnerabilidade em aplicações

Quase todas as aplicações web utilizam um banco de dados para armazenar os vários tipos de informações de que necessita para operar. Por exemplo, uma aplicação web implantado por um varejista on-line pode usar um banco de dados para armazenar as seguintes informações:

  • As contas de usuário, credenciais e informações pessoais;
  • As descrições e preços dos itens para venda;
  • Ordens de serviços/compras, extratos de conta e detalhes de pagamento;
  • Os privilégios de cada usuário dentro da aplicação.

Os meios de acesso à informação no banco de dados é Structured Query Language (SQL). SQL pode ser usado para ler, atualizar, adicionar e eliminar informações contidas no banco de dados.

SQL é uma linguagem interpretada, e aplicações web comumente constroem instruções SQL que incorporam dados fornecidos pelo usuário. Se isso for feito de maneira insegura, o aplicativo pode ser vulnerável a injeção de SQL. Este é uma das vulnerabilidades mais notórias para afetar aplicações web. Nos casos mais graves, a injeção de SQL pode permitir que um invasor anônimo ler e modificar todos os dados armazenados no banco de dados, e até mesmo assumir o controle total do servidor no qual o banco de dados está em execução. (mais…)

Introdução ao Burp Suite

“Burp Suite é uma plataforma integrada para a realização de testes de segurança em aplicações web. Suas diversas ferramentas funcionam perfeitamente em conjunto para apoiar todo o processo de testes, de mapeamento e análise de superfície de ataque de uma requisição inicial até encontrar e explorar vulnerabilidades de segurança.”
(Fonte: https://portswigger.net/burp/)

Em testes de segurança em aplicações web, podemos usar um proxy para capturar pedidos e respostas entre o nosso navegador e a aplicação web para que possamos ver exatamente quais dados estão sendo transmitidos. Kali Linux vem com a versão gratuita do Burp Suite, uma plataforma de testes para aplicações web que inclui um recurso de proxy. Burp inclui outros componentes úteis, tais como Burp Spider, que pode rastrear através da aplicação o conteúdo web e suas funcionalidades, e o Burp Repeater, que permite que você manipule e reenvie pedidos para o servidor. Por enquanto, vamos nos concentrar na Burp Proxy.

Para iniciar o Burp Suite no Kali Linux, vá para Aplicativos no canto superior esquerdo e clique em Aplicativos > Web Application Analysis > burpsuite. (mais…)

Introdução ao Wireshark: Detecção e captura de tráfego em redes

A captura de tráfego em redes pode trazer informações úteis de outras máquinas conectadas nela. Em um pentest interno, podemos simular uma ameaça interna ou um atacante que tenha descoberto uma brecha no perímetro, capturando o tráfego de outros sistemas na rede e pode nos dar informações adicionais interessantes (inclusive usuários e senhas) que podem nos ajudar na fase de exploração. O problema de capturar o tráfego é a quantidade de dados que pode ser produzido. Pouco tempo de captura em uma rede pode inundar o Wireshark com dados que tornam difícil a vida do pentester em descobrir o que realmente é útil. Veremos a seguir como manipular uma rede para pegar acesso ao tráfego que não conseguimos ver. (mais…)

Introdução ao Nessus: Encontrando e analisando vulnerabilidades

Antes de começar a usar exploits, precisamos fazer uma pesquisa e análise ativa. Quando estamos identificando vulnerabilidades, nós pesquisamos por problemas que podem nos levar a fase de exploração. Apesar de algumas empresas de segurança somente utilizam ferramentas automatizadas para exploração e esperam pelo melhor, um estudo meticuloso sobre as vulnerabilidades por um pentester experiente reunirá por resultados melhores que qualquer ferramenta por si só. Veremos alguns métodos de como examinar vulnerabilidades, incluindo um escaneamento automático, análise do alvo e uma pesquisa manual. (mais…)

Escaneando portas com Nmap

Nmap é uma ferramenta muito conhecida pelo o que faz: port scanning. Seu manual pode ser um pouco assustador devido aos diversos comandos e a capacidade que esta ferramenta tem de trazer informações sobre um host.

Firewalls com sistemas de detecção e prevenção de intrusão podem identificar os pacotes enviados por ele, sendo assim você não conseguirá obter muitos resultados. Você pode ser contratado para fazer um pentest em um range de hosts e não conseguir identificar nenhuma máquina online, e isto provavelmente será porque você está sendo bloqueado por um firewall. Por outro laod, o resultado de seu escaneamento acusará que as máquinas estão respondendo e achará diversas portas abertas. (mais…)

Coleta de informações em um Pentest

A coleta de informações é o primeiro passo de uma invasão a um sistema, onde devemos aprender o máximo sobre  escopo de nossa análise. Pensar fora da caixa é importante, como:

  • Quais os sistemas que o nosso alvo utiliza?
  • Eles estão devidamente atualizados com as versões?
  • Existe algum firewall ou proxy na rede?
  • Como é estruturação da rede de servidores e dos usuários?
  • Quais sites costumam visitar?
  • Quais os parceiros de negócios deles?
  • Existe algum diretor da organização viajando?
  • Tem servidores de e-mail, web, ftp, etc. na empresa?
  • Qual é o IP dos servidores?

A intenção aqui é simplesmente obter informações de vários modos, sem ao menos atacá-los de fato (coleta passiva), pois elas servirão de base para as próximas etapas da análise. Com estas informações, partiremos para a fase de modelagem das ameaças, onde pensaremos como um invasor e elaborar as estratégias de ataque. Mais a frente, iremos coletar mais informações que não conseguimos obter utilizando alguns scanners de vulnerabilidades, onde passa a ser uma coleta ativa. (mais…)

As fases de um processo de teste de invasão (Pentest)

Teste de invasão/pentetração ou pentest é a simulação de ataques reais em ativos para avaliar os riscos associados a possíveis brechas de segurança. Em um pentest, diferente do teste de vulnerabilidade, o analista não só descobre as vulnerabilidades que podem ser usadas pelos atacantes mas também exploram as vulnerabilidades, onde possivelmente, para avaliar o que os atacantes ganhariam após uma exploração com sucesso.

De tempos em tempos, surgem notícias de grandes empresas tendo informações vazadas devido a ciberataques. Maioria das vezes, os atacantes não usam as vulnerabilidades mais recentes ou zero-day (vulnerabilidades sem patch de correção publicada pelo fabricante do software). Maioria das empresas com orçamento considerável para para Segurança da Informação são vítimas de SQL Injection (SQLi) em seus sites, ataques aos seus funcionários através de engenharia social, serviços expostos na internet com senhas fracas, etc. Em outras palavras, empresas estão perdendo dados proprietários e os de seus clientes, através de brechas de segurança que poderiam ser corrigidos. Em um pentest, achamos estes problemas antes dos atacantes e recomendamos como corrigir, evitando futuras vulnerabilidades.

O escopo de um penteste vai variar de cliente para cliente. Alguns deles terão uma postura excelente em segurança da informação, enquanto outros terão vulnerabilidades que permitirão os atacantes invadir o perímetro e ganhar acesso aos sistemas internos.

Você também poderá ter a tarefa de avaliar algumas aplicações web. Você poderá realizar alguns ataques de engenharia social ou ganhar acesso pelo lado do cliente a uma rede interna. Alguns pentestes irão requerer que atuem como um insider (funcionário fraudador ou um atacante que já tenha invadido o perímetro) enquanto você realiza testes internos de invasão. Alguns clientes solicitarão um teste de invasão externo, onde você simulará um ataque via Internet. Alguns solicitarão a avaliação da segurança das redes wireless da empresa. Em alguns casos, será necessário avaliar os controles de segurança físico. (mais…)

EXIN Fundamento de Ethical Hacking (EHF) – Guia de Preparação

A tecnologia da atualidade está se movendo rapidamente e mudando a forma de fazermos negócios. Por padrão, as empresas digitalizam todas as informações, armazenam seus dados na nuvem e usam software de código aberto. Isso levanta questões de segurança de informações relacionadas com a infraestrutura da rede e do sistema. O propósito do Ethical Hacking é o de avaliar, de maneira legal, a segurança de um sistema ou rede de computador por meio da descoberta e exploração das vulnerabilidades.

O módulo Fundamentos de Ethical Hacking EXIN abrange as etapas básicas do Ethical Hacking: coleta de itens de inteligência, varredura de redes/sistemas de computador e invasão de sistemas. Os candidatos deverão estar muito conscientes da diferença entre o hackinglegal e ilegal, bem como das consequências de seu uso indevido.

Mais detalhadamente, o candidato desenvolverá uma compreensão dos seguintes tópicos:

  • Detecção de rede (coleta de informações a partir do tráfego de rede)
  • Cracking (Quebra de códigos) de uma chave WEP e WPA(2) a partir de uma rede sem fio
  • Varredura da vulnerabilidade da rede
  • Invasão básica em sistemas de computador
  • Cracking de senhas
  • Hackeamento baseado na web, contendo Injeções SQL (SQLi), Scripts Cruzados entre Sites (XSS), Inclusões de Arquivos Remotos (RFI)

(mais…)

Análise técnica: o que os testes de penetração encontram na sua rede

Falhas internas incluem sistemas sem atualização de correção, compartilhamentos de arquivos abertos ou histórico de informações e a ausência de segmentação adequada.

Analisamos as vulnerabilidades internas das empresas encontradas em testes internos de penetração. Primeiro de tudo, qual a diferente entre uma ameaça externa e interna? Com uma avaliação interna, os testes devem simular ataques que um invasor de fora de sua empresa está realizando.  Eles avaliam o perímetro de defesas, serviços expostos e qualquer coisa que possibilite uma entrada na rede por uma pessoa de fora. Muitas vezes, um teste externo valida que os controles de segurança estão corretos e que o perímetro é efetivo.

á um teste de penetração interna tende  a ter mais base no cenário, com foco nos grandes medos que a empresa enfrenta, como funcionários se tornando rogues, um máquina interna comprometida com um acesso remoto troia, ou um invasor ganhando acesso físico à rede e  conectando à sua máquina. O invasor conseguiria ganhar acesso às bases de dados ou segredos? Qual ligação você teme receber de seu CSO às 2 horas da manhã? (mais…)