Pentest, fazer ou não fazer ?
Quão válido é um Pentest? Existem inúmeras variáveis que podem ser cruciais no sentido de maximizar o resultado de identificar possíveis pontos de entrada, movimentação, persistência, etc. Poderia um pentest ser um "mascarador" de vulnerabilidades ?
Imaginando que um cliente ao contratar um pentest espera que seu serviço seja testado antes que algum atacante mal intencionado consiga "quebrá-lo". Alguns pontos que podemos pensar em considerar ao contratar ou ajudar um cliente na elaboração de um plano de pentest.
[A] Tempo de duração
Um pentest de 2 semanas é bem diferente de um pentest de 1 mês. Não só novas vulnerabilidades para o serviço a ser testado podem ser divulgadas como o próprio tempo é crucial para aumentar as possibilidades de um ataque bem sucedido.
Um atacante tem todo o tempo do mundo a seu favor!
[B] Escopo
Uma coisa é testar só uma aplicação web, outra é poder testar o servidor onde a aplicação está. Um virtualserver mal configurado e o que era um pentest indicando que sua aplicação está segura, pode se tornar um relatório indicando que sua aplicação está segura, mas seu servidor está vulnerável e consequentemente sua aplicação poderá não estar tão segura assim!
Um atacante não respeita escopo!
[C] Capacitação ou Experiência
Dependendo da experiência, do conhecimento, da capacidade criativa e até da motivação do pentester, podemos obter relatórios completamente distintos.
Um atacante pode se munir de toda capacitação possível diante do tempo infinito.
[D] Tamanho da equipe de pentest
Uma pessoa testando é uma coisa, dez pessoas testando é outra completamente diferente. Segredo do Bugbounty ? Um pesquisador pode não encontrar nada de vulnerabilidade já outro pode encontrar um RCE, outro um Leak, outro uma mesma vulnerabilidade mas explorada de forma diferente e por ai vai.
Um atacante pode se munir da experiência de parceiros para chegar a seu objetivo.
[E] Recorrência
Seria apenas um pentest isolado suficiente ? E se a aplicação ou o serviço alvo do teste sofre atualizações semanais ? E se o pentest foi concluído mais logo mais foi divulgada uma vulnerabilidade para aquela biblioteca que a aplicação ou o serviço testado utiliza.
Se for do interesse, um atacante sempre estará testando o seu serviço a espera de uma brecha.
O título é provocativo. Acho sim que um Pentest é válido, mas também acho que estes fatores devem ser levados em conta.
Podemos ter ai um viés onde o Pentest deveria ser tornar algo recorrente, com escopo amplo, com uma equipe de vários pesquisadores e com isso apontar para algo mais no sentido de RedTeam?
Minha inquietude, desde que comecei a estudar sobre segurança mais aprofundadamente, é no sentido de levar valor para nossas atividades e ao entregar algum resultado sempre pensar que o Pentest, se não bem executado, se não bem esclarecido, pode levar o cliente a “admitir” que seu ambiente está minimamente seguro, mas na verdade, pode não ser bem assim.
As vezes uma economia em um Pentest pode levar a resultados desastrosos!
Faz sentido ? O que acham ? Se puderem comentar podemos engrandecer o debate e levar para os clientes algo de valor.
Fica aqui o link para o excelente artigo do Ulisses Alves que também endereça a preocupação de entregar valor para o cliente: https://link.medium.com/wDgP3p2QZcb
Segue meu blog pessoal onde tento ir colocando alguns artigos técnicos sobre o que vou aprendendo aqui e acolá: https://diegoalbuquerque.github.io/
Abraços e até a próxima.