Categoria: Uncategorized

  • Top 10 OWASP: Exemplos Práticos com Ferramentas Gratuitas

    Status atual do projeto em setembro de 2024:

    • Estamos planejando anunciar o lançamento do OWASP Top 10:2025 no primeiro semestre de 2025.
    • Coleta de dados (agora – dezembro de 2024) : doe as estatísticas de teste de penetração do seu aplicativo.

    Fique atento!


    O OWASP Top 10 é um documento padrão de conscientização para desenvolvedores e segurança de aplicações web. Ele representa um amplo consenso sobre os riscos de segurança mais críticos para aplicações web.

    Reconhecido mundialmente pelos desenvolvedores como o primeiro passo para uma codificação mais segura.

    As empresas devem adotar este documento e iniciar o processo para garantir que suas aplicações web minimizem esses riscos. Utilizar o OWASP Top 10 é talvez o primeiro passo mais eficaz para mudar a cultura de desenvolvimento de software em sua organização para uma que produza código mais seguro.

    Os 10 principais riscos de segurança em aplicativos da Web

    Há três novas categorias, quatro categorias com mudanças de nomenclatura e escopo e alguma consolidação no Top 10 de 2021.

    Mapeamento
    • A01:2021 – Controle de Acesso Quebrado sobe da quinta posição; 94% dos aplicativos foram testados para alguma forma de controle de acesso quebrado. As 34 Enumerações de Fraquezas Comuns (CWEs) mapeadas para Controle de Acesso Quebrado tiveram mais ocorrências em aplicativos do que qualquer outra categoria.
    • A02:2021 – Falhas Criptográficas sobe uma posição para o segundo lugar, anteriormente conhecido como Exposição de Dados Sensíveis, que era um sintoma geral e não a causa raiz. O foco renovado aqui está nas falhas relacionadas à criptografia, que frequentemente levam à exposição de dados sensíveis ou ao comprometimento do sistema.
    • A03:2021-Injeção cai para a terceira posição. 94% das aplicações foram testadas para alguma forma de injeção, e os 33 CWEs mapeados nesta categoria têm o segundo maior número de ocorrências em aplicações. Cross-site scripting agora faz parte desta categoria nesta edição.
    • A04:2021 – Design Inseguro é uma nova categoria para 2021, com foco em riscos relacionados a falhas de design. Se realmente quisermos “ir para a esquerda” como indústria, isso exigirá maior uso de modelagem de ameaças, padrões e princípios de design seguro e arquiteturas de referência.
    • A05:2021 – Configuração incorreta de segurança sobe da 6ª posição na edição anterior; 90% dos aplicativos foram testados para algum tipo de configuração incorreta. Com mais mudanças para softwares altamente configuráveis, não é surpresa que esta categoria suba. A antiga categoria para Entidades Externas XML (XXE) agora faz parte desta categoria.
    • A categoria A06:2021-Componentes Vulneráveis ​​e Desatualizados, anteriormente intitulada “Usando Componentes com Vulnerabilidades Conhecidas”, ocupa o segundo lugar na pesquisa da comunidade Top 10, mas também possui dados suficientes para figurar no Top 10 por meio de análise de dados. Esta categoria subiu da 9ª posição em 2017 e é um problema conhecido cujo risco temos dificuldade em testar e avaliar. É a única categoria que não possui nenhuma Vulnerabilidade e Exposição Comum (CVE) mapeada para as CWEs incluídas, portanto, uma exploração padrão e pesos de impacto de 5,0 são considerados em suas pontuações.
    • A07:2021 – Falhas de Identificação e Autenticação era anteriormente Autenticação Quebrada e está caindo da segunda posição, passando a incluir CWEs mais relacionadas a falhas de identificação. Esta categoria ainda é parte integrante do Top 10, mas a maior disponibilidade de estruturas padronizadas parece estar ajudando.
    • A08:2021 – Falhas de Integridade de Software e Dados é uma nova categoria para 2021, com foco em suposições relacionadas a atualizações de software, dados críticos e pipelines de CI/CD sem verificação de integridade. Um dos impactos mais ponderados vem dos dados do Common Vulnerability and Exposures/Common Vulnerability Scoring System (CVE/CVSS) mapeados para os 10 CWEs nesta categoria. A Desserialização Insegura de 2017 agora faz parte desta categoria maior.
    • A categoria A09:2021 – Falhas no Registro e Monitoramento de Segurança era anteriormente Registro e Monitoramento Insuficientes e foi adicionada na pesquisa do setor (nº 3), subindo da posição 10 anterior. Esta categoria foi expandida para incluir mais tipos de falhas, é difícil de testar e não está bem representada nos dados CVE/CVSS. No entanto, falhas nesta categoria podem impactar diretamente a visibilidade, os alertas de incidentes e a análise forense.
    • A10:2021-Server-Side Request Forgery foi adicionado da pesquisa da comunidade Top 10 (nº 1). Os dados mostram uma taxa de incidência relativamente baixa, com cobertura de testes acima da média, além de classificações acima da média para Exploit e Potencial de Impacto. Esta categoria representa o cenário em que os membros da comunidade de segurança nos dizem que isso é importante, embora não esteja ilustrado nos dados neste momento.
  • Google Dorks Avançados para Testes de Segurança

    Dorking do Google, também chamado de hacking do Google, é uma técnica de hacking de pesquisa que usa consultas de pesquisa avançada para revelar informações ocultas no Google. Dorks do Google ou hacks do Google, referem-se aos comandos de pesquisa específicos (como parâmetros especiais e operadores de pesquisa) que, quando inseridos na barra de pesquisa do Google, revelam partes ocultas de sites.

    Quando o Google rastreia a Web para indexar páginas do mecanismo de pesquisa, ele pode ver partes de sites que os usuários normais da internet não conseguem. Os dorks do Google e os hacks do Google descobrem alguns desses dados ocultos, permitindo ver informações que organizações, empresas e proprietários de sites podem não querer que você veja.

    Um exemplo simples de uma consulta de pesquisa avançada é o uso de aspas. Usar aspas em pesquisas oferece uma lista de resultados que incluem páginas Web em que a frase completa é usada, em vez de apenas algumas combinações (completas e incompletas) das palavras individuais que você digitou no campo de pesquisa.

    Existem muitos outros tipos de hacks do Google que usam consultas de pesquisa avançada, mas as explicações técnicas não são muito mais complicadas do que isso. O poder delas está na capacidade de usá-las com criatividade.

    Para que o dorking do Google é usado?

    O dorking do Google é usado para encontrar informações ocultas que de outra forma seriam inacessíveis por meio de uma pesquisa normal do Google. Dorks do Google podem revelar informações sigilosas ou privadas de sites e das empresas, organizações e pessoas que são suas proprietárias ou que os operam.

    Ao se preparar para um ataque, hackers mal-intencionados podem usar o dorks do Google para coletar dados sobre seus alvos. Os dorks do Google também são usados para encontrar sites que possuem certas falhas, vulnerabilidades e informações confidenciais que podem ser exploradas.

    As empresas de segurança tentam o dorking para entender melhor as abordagens de invasão de sistemas. Ou, as empresas podem usar o dorks do Google para encontrar informações para aproveitar em estratégias de SEO e marketing de desempenho. O uso de hacks do Google ajuda as empresas a ver exatamente que tipo de informações os outros podem encontrar sobre elas.

    Juntamente com a coleta de informações, o dorking pode conceder acesso a servidores, câmeras e arquivos. Os dorks do Google podem ser usados para acessar todas as webcams em uma determinada área. Eles já foram usados até para acessar apps de smartphone. Algumas técnicas de dorking revelaram arquivos de tentativas de login, inclusive nomes de usuário e senhas. Outros dorks permitiram até que os hackers contornassem os portais de login.

    Dorking do Google pode revelar todos os tipos de informações ocultas no Google.

    Com dorks, não é necessário aprender código de hacking do Google. Em vez disso, hackear o Google pode ser feito facilmente através do uso de comandos de pesquisa simples que você mesmo pode procurar. Preocupantemente, uma combinação de dorking e engenharia social pode revelar muitas informações que podem ser usadas para cometer roubo de identidade. Por isso, é importante entender como funciona o hacking de banco de dados do Google, para que você possa entender sua própria identidade digital e fortalecer sua segurança online.

    Como a cada dia, a trilha digital dos seus rastros aumenta, você fica mais suscetível ao rastreamento online e mais vulnerável a hacks de pesquisa do Google ou outras formas de hacking de computador.

    Dorking do Google é ilegal?

    O dorking do Google é completamente legal: é apenas outra forma de fazer pesquisa. O Google foi criado para lidar com pesquisas avançadas, e banir esse recurso limitaria o acesso às informações.

    Mas os hacks do Google podem se tornar ilegais se forem usados para acessar clandestinamente o dispositivo de outra pessoa, fazer login na conta de outra pessoa ou acessar ou baixar arquivos ou documentos protegidos. Procurar informações pode não ser ilegal, mas usá-las para fins não autorizados provavelmente é.

    Dorks do Google: um histórico

    Os dorks do Google começaram em 2002, quando o especialista em segurança de computadores Johnny Long começou a usar consultas personalizadas para pesquisar elementos de sites para aproveitar em ataques cibernéticos. Uma forma de teste de invasão, Long chamou os comandos de pesquisa personalizados que ele usou de dorks do Google, e a lista dessas consultas cresceu no banco de dados de hackers do Google. Lá, você pode encontrar todos os tipos de consultas avançadas que podem ser usadas para descobrir vários tipos de informações ocultas.

    Embora suas ferramentas tenham sido usadas para fins antiéticos, Johnny Long dedicou sua experiência em segurança da informação à caridade e ao desenvolvimento internacional, construindo infraestrutura e programas de treinamento em tecnologia em países subdesenvolvidos.

    Operadores e comandos comuns de dorks do Google

    Para ter uma ideia melhor de como os dorks do Google funcionam, veja esta lista de alguns dos comandos mais comuns de dorks do Google. Você pode até achar alguns deles úteis para suas buscas diárias.

    Pense nesta lista como “cheats” para dorking do Google:

    • SiteUsar “site:” em um comando de pesquisa fornecerá resultados apenas do site específico mencionado.Uma pesquisa no Google de site:avg.com phishing. Todos os resultados são de avg.com e todos estão relacionados com phishing.
    • IntitleUsar “intitle:” pede ao Google para pesquisar apenas páginas com esse texto específico nos títulos de páginas HTML.Uma pesquisa do Google para intitle:”lower back stretches” (alongamentos para a lombar)
    • InurlAo usar “inurl:”, apenas páginas com esse texto específico em seu URL serão pesquisadas.Uma pesquisa do Google para inurl:"keto recipes” (receitas de keto)
    • Filetype ou extUsar “filetype:” or “ext:” limitará sua pesquisa ao tipo específico de arquivo mencionado.Uma pesquisa do Google para filetype:pdf fire safety (pdf de segurança de incêndio). Todos os resultados retornados são arquivos pdf.
    • IntextUsar “intext:” em uma consulta de pesquisa pesquisará apenas as palavras-chave fornecidas. No exemplo abaixo, todos os resultados listados terão o texto entre aspas em algum lugar da página.Uma pesquisa do Google para intext:"half my life" nina simone. O resultado abaixo contém a citação completa que está sendo pesquisada.

    Conforme mostrado no exemplo para “filetype acima, você pode misturar e combinar esses comandos de dork do Google para encontrar as informações que deseja. Não se esqueça de usar dois pontos após o tipo de dork que você inserir.

    Operadores e comandos avançados de dorks do Google

    Agora vamos examinar os comandos de hacking mais avançados do Google. Os hacks avançados do Google permitem procurar armazenamento de arquivos, ler conteúdo excluído recentemente e acessar webcams de CFTV de determinadas áreas, como um estacionamento ou de um campus universitário.

    Veja alguns exemplos das formas mais avançadas de usar o dorking do Google:

    • CacheUsar “cache” na sua pesquisa pode permitir ver versões mais antigas de um site ou acessar arquivos removidos recentemente. Tente digitar algo como “cache:twitter.com/madonna” para ver um histórico das postagens do artista, como tweets excluídos recentemente.
    • :ftpEsse hack avançado do Google pode ser usado no final de uma consulta combinada para encontrar servidores FTP. Servidores FTP geralmente armazenam grandes quantidades de arquivos. Procure shakespeare:ftp para encontrar um grande arquivo de todos os textos do escritor.
    • Filetype:logUsar esse dork do Google pesquisará arquivos de log.

    Tudo isso pode ser combinado com outras palavras-chave e operadores para buscas mais precisas. Você pode aprimorar sua pesquisa se adicionar parâmetros ou comandos e restringir a sintaxe usada. Dorks também podem ser automatizados para escanear regularmente vulnerabilidades e outras informações.

    Para obter mais informações sobre sintaxes complexas usadas em hacks do Google, acesse o banco de dados de hacking do Google. Como mencionado acima, é ilegal usar dorks do Google para acessar ou baixar informações ilegais ou protegidas.

    Como se proteger contra o dorking do Google

    Agora que você sabe que tipo de poder os dorks do Google podem ter, como você se protege contra o uso das suas informações descobertas pelo dorking do Google?

    Embora seja fácil entrar em paranoia com a quantidade de dados que o Google tem sobre você e o perigo de que ele possa ser hackeado, não adianta só se preocupar. Em vez disso, fortaleça proativamente sua segurança na internet para proteger seus dados pessoais das possíveis consequências do dorking, como um ataque de phishing.

    Veja algumas das melhores maneiras de se proteger contra o dorking do Google:

    • Use senhas fortes e exclusivas e 2FA em todas as contas online. Isso reduzirá bastante o risco de alguém invadir suas contas com informações descobertas por meio de um hack do Google. (E use um gerenciador de senhas confiável para armazenar todas as suas senhas.)
    • Verifique vulnerabilidades regularmente Se você gerencia um site ou outra infraestrutura digital, faça testes de invasão regularmente para encontrar pontos fracos.
    • Use o Console de pesquisa do Google para remover páginas sigilosas dos resultados públicos de pesquisa.
    • Faça um dork do Google em si mesmo para ver que tipo de informação pessoal está visível.
    • Se você for administrador de site, adicione arquivos robot.txt a pastas confidenciais para informar ao Google para não indexar esse conteúdo. Robot.txt é um dos antídotos do Google contra dorking maligno.
    • Finalmente, instale um software de segurança abrangente.

  • Cross-Site Scripting (XSS): Tipos, Impactos e Exploração

    Cross-site scripting (também conhecido como XSS) é uma vulnerabilidade de segurança na web que permite que um invasor comprometa as interações dos usuários com um aplicativo vulnerável. Ele permite que um invasor contorne a mesma política de origem, que é projetada para segregar diferentes sites uns dos outros. Vulnerabilidades de cross-site scripting normalmente permitem que um invasor se disfarce como um usuário vítima, execute quaisquer ações que o usuário seja capaz de realizar e acesse quaisquer dados do usuário. Se o usuário vítima tiver acesso privilegiado ao aplicativo, o invasor poderá obter controle total sobre todas as funcionalidades e dados do aplicativo.

    Como o XSS funciona?

    O cross-site scripting funciona manipulando um site vulnerável para que ele retorne JavaScript malicioso aos usuários. Quando o código malicioso é executado dentro do navegador da vítima, o invasor pode comprometer completamente a interação dela com o aplicativo.

    Laboratórios

    Se você já estiver familiarizado com os conceitos básicos por trás das vulnerabilidades XSS e quiser apenas praticar a exploração delas em alguns alvos realistas e deliberadamente vulneráveis, você pode acessar todos os laboratórios neste tópico no link abaixo.

    Prova de conceito XSS

    Você pode confirmar a maioria dos tipos de vulnerabilidade XSS injetando um payload que faz com que seu navegador execute algum JavaScript arbitrário. Há muito tempo, é prática comum usar a alert()função para esse propósito, pois ela é curta, inofensiva e bastante difícil de ignorar quando chamada com sucesso. Na verdade, você resolve a maioria dos nossos laboratórios de XSS invocando alert()o navegador de uma vítima simulada.

    Infelizmente, há um pequeno problema se você usar o Chrome. A partir da versão 92 (20 de julho de 2021), iframes de origem cruzada são impedidos de chamar alert(). Como eles são usados ​​para construir alguns dos ataques XSS mais avançados, às vezes você precisará usar um payload PoC alternativo. Nesse cenário, recomendamos a print()função . Se você tiver interesse em saber mais sobre essa mudança e por que gostamos de print().

    Como a vítima simulada em nossos laboratórios usa o Chrome, corrigimos os laboratórios afetados para que também possam ser resolvidos usando [nome do laboratório] print(). Indicamos isso nas instruções sempre que relevante.

    Quais são os tipos de ataques XSS?

    Existem três tipos principais de ataques XSS. São eles:

    • XSS refletido , onde o script malicioso vem da solicitação HTTP atual.
    • XSS armazenado , de onde o script malicioso vem do banco de dados do site.
    • XSS baseado em DOM , onde a vulnerabilidade existe no código do lado do cliente e não no código do lado do servidor.

    Cross-site scripting refletido

    XSS refletido é a variante mais simples de cross-site scripting. Ele surge quando um aplicativo recebe dados em uma solicitação HTTP e os inclui na resposta imediata de forma insegura.

    Aqui está um exemplo simples de uma vulnerabilidade XSS refletida:https://insecure-website.com/status?message=All+is+well. <p>Status: All is well.</p>

    O aplicativo não realiza nenhum outro processamento dos dados, então um invasor pode facilmente construir um ataque como este:https://insecure-website.com/status?message=<script>/*+Bad+stuff+here...+*/</script> <p>Status: <script>/* Bad stuff here... */</script></p>

    Se o usuário visitar a URL construída pelo invasor, o script do invasor será executado no navegador do usuário, no contexto da sessão do usuário com o aplicativo. Nesse momento, o script poderá executar qualquer ação e recuperar quaisquer dados aos quais o usuário tenha acesso.

    Script entre sites armazenado

    O XSS armazenado (também conhecido como XSS persistente ou de segunda ordem) surge quando um aplicativo recebe dados de uma fonte não confiável e inclui esses dados em suas respostas HTTP posteriores de maneira insegura.

    Os dados em questão podem ser enviados ao aplicativo por meio de solicitações HTTP; por exemplo, comentários em uma postagem de blog, apelidos de usuários em uma sala de bate-papo ou detalhes de contato em um pedido de cliente. Em outros casos, os dados podem chegar de outras fontes não confiáveis; por exemplo, um aplicativo de webmail exibindo mensagens recebidas por SMTP, um aplicativo de marketing exibindo postagens em mídias sociais ou um aplicativo de monitoramento de rede exibindo dados de pacotes do tráfego de rede.

    Aqui está um exemplo simples de uma vulnerabilidade XSS armazenada. Um aplicativo de quadro de mensagens permite que os usuários enviem mensagens, que são exibidas para outros usuários:<p>Hello, this is my message!</p>

    O aplicativo não realiza nenhum outro processamento dos dados, então um invasor pode facilmente enviar uma mensagem que ataque outros usuários:<p><script>/* Bad stuff here... */</script></p>

    Cross-site scripting baseado em DOM

    O XSS baseado em DOM (também conhecido como DOM XSS) surge quando um aplicativo contém algum JavaScript do lado do cliente que processa dados de uma fonte não confiável de forma insegura, geralmente gravando os dados de volta no DOM.

    No exemplo a seguir, um aplicativo usa JavaScript para ler o valor de um campo de entrada e gravar esse valor em um elemento dentro do HTML:var search = document.getElementById('search').value; var results = document.getElementById('results'); results.innerHTML = 'You searched for: ' + search;

    Se o invasor puder controlar o valor do campo de entrada, ele poderá facilmente construir um valor malicioso que fará com que seu próprio script seja executado:You searched for: <img src=1 onerror='/* Bad stuff here... */'>

    Em um caso típico, o campo de entrada seria preenchido a partir de parte da solicitação HTTP, como um parâmetro de sequência de consulta de URL, permitindo que o invasor realize um ataque usando uma URL maliciosa, da mesma maneira que o XSS refletido.

    Para que o XSS pode ser usado?

    Um invasor que explora uma vulnerabilidade de script entre sites normalmente consegue:

    • Personificar ou se passar pelo usuário vítima.
    • Executar qualquer ação que o usuário seja capaz de executar.
    • Leia todos os dados que o usuário consegue acessar.
    • Capture as credenciais de login do usuário.
    • Realizar desfiguração virtual do site.
    • Injetar funcionalidade de trojan no site.

    Impacto das vulnerabilidades XSS

    O impacto real de um ataque XSS geralmente depende da natureza da aplicação, de sua funcionalidade e dados, e do status do usuário comprometido. Por exemplo:

    • Em um aplicativo de folhetos, onde todos os usuários são anônimos e todas as informações são públicas, o impacto geralmente será mínimo.
    • Em um aplicativo que contém dados confidenciais, como transações bancárias, e-mails ou registros de saúde, o impacto geralmente será sério.
    • Se o usuário comprometido tiver privilégios elevados no aplicativo, o impacto geralmente será crítico, permitindo que o invasor assuma o controle total do aplicativo vulnerável e comprometa todos os usuários e seus dados.

    Como encontrar e testar vulnerabilidades XSS

    A grande maioria das vulnerabilidades XSS pode ser encontrada de forma rápida e confiável usando o scanner de vulnerabilidades da web do Burp Suite.

    Testar manualmente o XSS refletido e armazenado normalmente envolve o envio de uma entrada única simples (como uma string alfanumérica curta) para cada ponto de entrada do aplicativo, identificando cada local onde a entrada enviada é retornada em respostas HTTP e testando cada local individualmente para determinar se uma entrada adequadamente elaborada pode ser usada para executar JavaScript arbitrário. Dessa forma, você pode determinar o contexto em que o XSS ocorre e selecionar um payload adequado para explorá-lo.

    Testar manualmente XSS baseado em DOM proveniente de parâmetros de URL envolve um processo semelhante: inserir uma entrada única e simples no parâmetro, usar as ferramentas de desenvolvedor do navegador para pesquisar essa entrada no DOM e testar cada local para determinar se é explorável. No entanto, outros tipos de XSS DOM são mais difíceis de detectar. Para encontrar vulnerabilidades baseadas em DOM em entradas não baseadas em URL (como document.cookie) ou coletores não baseados em HTML (como setTimeout), não há substituto para a revisão do código JavaScript, que pode ser extremamente demorada. O scanner de vulnerabilidades da web do Burp Suite combina análise estática e dinâmica de JavaScript para automatizar de forma confiável a detecção de vulnerabilidades baseadas em DOM.

    Política de segurança de conteúdo

    A política de segurança de conteúdo (CSP) é um mecanismo de navegador que visa mitigar o impacto de scripts entre sites e algumas outras vulnerabilidades. Se um aplicativo que utiliza CSP apresentar comportamento semelhante ao XSS, a CSP poderá dificultar ou impedir a exploração da vulnerabilidade. Muitas vezes, a CSP pode ser contornada para permitir a exploração da vulnerabilidade subjacente.

    Injeção de marcação pendente

    A injeção de marcação pendente é uma técnica que pode ser usada para capturar dados entre domínios em situações em que uma exploração completa de cross-site scripting não é possível devido a filtros de entrada ou outras defesas. Muitas vezes, ela pode ser explorada para capturar informações confidenciais visíveis a outros usuários, incluindo tokens CSRF que podem ser usados ​​para executar ações não autorizadas em nome do usuário.

    Como prevenir ataques XSS

    Evitar cross-site scripting é trivial em alguns casos, mas pode ser muito mais difícil dependendo da complexidade do aplicativo e das maneiras como ele manipula dados controláveis ​​pelo usuário.

    Em geral, a prevenção eficaz de vulnerabilidades XSS provavelmente envolverá uma combinação das seguintes medidas:

    • Filtre a entrada na chegada. No ponto em que a entrada do usuário é recebida, filtre o mais rigorosamente possível com base no que é esperado ou em uma entrada válida.
    • Codifique os dados na saída. No ponto em que os dados controláveis ​​pelo usuário são enviados em respostas HTTP, codifique a saída para evitar que seja interpretada como conteúdo ativo. Dependendo do contexto de saída, isso pode exigir a aplicação de combinações de codificação HTML, URL, JavaScript e CSS.
    • Use cabeçalhos de resposta apropriados. Para evitar XSS em respostas HTTP que não devem conter HTML ou JavaScript, você pode usar os cabeçalhos Content-TypeX-Content-Type-Optionspara garantir que os navegadores interpretem as respostas da maneira que você deseja.
    • Política de Segurança de Conteúdo. Como última linha de defesa, você pode usar a Política de Segurança de Conteúdo (CSP) para reduzir a gravidade de quaisquer vulnerabilidades XSS que ainda ocorram.

    Perguntas comuns sobre cross-site scripting

    Quão comuns são as vulnerabilidades XSS? Vulnerabilidades XSS são muito comuns, e XSS é provavelmente a vulnerabilidade de segurança web mais frequente.

    Quão comuns são os ataques XSS? É difícil obter dados confiáveis ​​sobre ataques XSS no mundo real, mas provavelmente são menos explorados do que outras vulnerabilidades.

    Qual é a diferença entre XSS e CSRF? XSS envolve fazer com que um site retorne JavaScript malicioso, enquanto CSRF envolve induzir um usuário vítima a realizar ações que não pretendia.

    Qual é a diferença entre XSS e injeção de SQL? XSS é uma vulnerabilidade do lado do cliente que tem como alvo outros usuários do aplicativo, enquanto a injeção de SQL é uma vulnerabilidade do lado do servidor que tem como alvo o banco de dados do aplicativo.

    Como posso evitar XSS em PHP? Filtre suas entradas com uma lista de caracteres permitidos e use dicas de tipo ou conversão de tipo. Use escapes para suas saídas com htmlentitiesENT_QUOTESpara contextos HTML, ou escapes Unicode em JavaScript para contextos JavaScript.

    Como posso evitar XSS em Java? Filtre suas entradas com uma lista de caracteres permitidos e use uma biblioteca como o Google Guava para codificar sua saída em HTML para contextos HTML ou use escapes Unicode em JavaScript para contextos JavaScript.

  • Guia Prático de Escalada de Privilégio em Sistemas Linux

    A escalada de privilégios é um conceito-chave para invasores que buscam acesso a informações confidenciais ou funcionalidades restritas em um sistema de informação. Normalmente, isso envolve explorar vulnerabilidades de segurança em um determinado sistema para escalar de um nível de acesso limitado, com permissões padrão, para um nível de acesso mais alto, com direitos mais amplos.

    No Linux, existem diversas técnicas para aumentar os privilégios de um usuário. Exploração de fragilidades de configuração, vulnerabilidades em programas e controle de acesso quebrado são as principais.

    No entanto, os riscos associados à escalada de privilégios são significativos, pois um invasor pode acessar dados confidenciais, executar modificações não autorizadas ou usar o sistema para outros fins maliciosos. De fato, esta é uma questão que não deve ser encarada levianamente pelos administradores de sistemas, que devem sempre considerar esse risco e implementar medidas de segurança adequadas para evitá-lo.

    Neste artigo, detalharemos as principais técnicas de escalonamento de privilégios no Linux com exemplos concretos para ilustrar como elas funcionam, bem como as melhores dicas de segurança para evitá-las.

    Quais são as principais técnicas para escalonamento de privilégios no Linux?

    Explorando fraquezas de configuração

    A primeira e provavelmente a mais comum técnica de escalonamento de privilégios no Linux é explorar vulnerabilidades de configuração. Isso é feito aproveitando a falta de configuração das configurações de segurança do sistema para acessar dados ou recursos restritos (fora das permissões pretendidas).

    Senhas fracas e ataques de força bruta

    Um exemplo comum de vulnerabilidade de configuração que pode ser facilmente explorada é a presença de uma conta com uma senha fraca. De fato, um invasor poderia, usando força bruta, tentar descobrir a senha da conta usando uma lista de senhas usadas com frequência. Além disso, para aumentar as chances de sucesso de um ataque de força bruta, é possível criar uma lista de senhas com variáveis, integrando, por exemplo, o nome, a empresa, a data de nascimento, etc., de um alvo específico.

    Na verdade, os seguintes exemplos de senhas (lista não exaustiva), que ainda são muito usados, devem ser evitados porque a maioria delas pode ser adivinhada em menos de 10 segundos com o dicionário certo:

    •	password
    •	123456
    •	123456789
    •	admin
    •	administrator
    •	root
    •	toor

    Para evitar esses riscos, os administradores de sistema devem garantir que as senhas usadas para as contas sejam fortes e exclusivas. Para isso, é altamente recomendável usar gerenciadores de senhas para gerar senhas longas, aleatórias e, portanto, difíceis de adivinhar. Para o mesmo propósito, o PAM (Módulos de Autenticação Plugáveis) pode ser configurado para impor o uso de senhas fortes, por exemplo, exigindo um número mínimo de caracteres ou proibindo a presença do nome do usuário na senha, etc.

    Por fim, outro mecanismo para combater ataques de força bruta é a implementação do fail2ban , que bane automaticamente endereços IP após várias conexões com falha.

    Para mais informações, recomendamos nosso artigo: Ataques de força bruta: princípios e melhores práticas de segurança .

    Controle de acesso quebrado e violação de privilégio mínimo

    O princípio do menor privilégio deve ser respeitado para os serviços configurados. Se um invasor explorar uma vulnerabilidade em um serviço executado como administrador, ele terá os mesmos privilégios que o serviço. Por exemplo, se um servidor web, executado com permissões de administrador, permitir a execução de código arbitrário por meio de uma vulnerabilidade, esse código será executado com a conta de administrador.

    Na maioria das vezes, durante nossos testes de penetração, observamos falhas no controle de acesso a arquivos ou programas. No entanto, se esses ativos tiverem permissões incorretas, um usuário com privilégios baixos poderá lê-los ou modificá-los.

    Por exemplo, considere o seguinte caso: o arquivo vaadata_secret_protected.pdf só pode ser lido e modificado pelo usuário root. Por outro lado, o arquivo vaadata_secret.pdfpode ser lido por qualquer usuário.

    -rwx------ 1 root root    0 Jan 17 14:56 vaadata_secret_protected.pdf
    -rwxr--r-- 1 root root    0 Jan 17 14:56 vaadata_secret.pdf

    Uma configuração incorreta de direitos de acesso pode estar presente no arquivo de configuração de um serviço usado com mais privilégios do que o usuário atual e pode permitir que o serviço seja assumido.

    É importante observar que existem muitas outras vulnerabilidades de configuração que podem ser exploradas para aumentar privilégios no Linux. Os administradores de sistema devem, portanto, estar cientes desses riscos e tomar as medidas de segurança adequadas para evitá-los.

    Explorando vulnerabilidades em programas

    Outro método comum de escalonamento de privilégios no Linux é explorar vulnerabilidades em programas (sistemas operacionais, servidores web, bancos de dados, etc.). Essas vulnerabilidades podem ser bugs no código que permitem que invasores executem código arbitrário ( RCE ) com privilégios elevados.

    Por exemplo, uma vulnerabilidade de estouro de buffer em um programa pode permitir a escalada de privilégios. Bugs desse tipo podem permitir que invasores executem código arbitrário usando uma entrada maliciosa que excede o tamanho alocado para essa entrada. Os invasores podem então executar comandos com privilégios altos usando os privilégios do programa vulnerável.

    Um segundo exemplo seriam vulnerabilidades em serviços de gerenciamento de arquivos. Serviços como Samba, NFS e FTP são usados ​​para compartilhar arquivos entre diferentes sistemas. Se esses serviços contiverem vulnerabilidades, invasores poderão acessar arquivos confidenciais ou executar comandos com privilégios elevados. Em 2019, o lançamento de uma vulnerabilidade no vsftpd 2.3.4 ( CVE-2011-2523 ) permitiu que invasores assumissem o controle de servidores FTP usando um backdoor no software.

    Explorando privilégios locais

    No Linux, os programas podem ser configurados para serem executados com a conta de outro usuário (SUID), a conta de outro grupo (SGID) ou com recursos adicionais.

    Esses programas precisam de acesso a recursos ou informações restritas para funcionar corretamente. Por exemplo, o passwdutilitário precisa ser executado rootpara editar o arquivo de senhas. Assim, esses programas podem ser configurados de forma a se tornarem vulneráveis ​​a ataques, permitindo que invasores aumentem seus privilégios.

    Por exemplo, se o binário nmap tiver o bit SUID, os comandos executados serão executados com o usuário que possui o arquivo nmap.

    TF=$(mktemp)
    echo 'os.execute("/bin/sh")' > $TF
    nmap --script=$TF

    O site GTFOBins lista técnicas para explorar um binário com privilégios devido à configuração incorreta.

    Por fim, outra possibilidade para um invasor obter privilégios são as tarefas automatizadas (tarefas cron). Podemos imaginar um cenário em que uma tarefa agendada para executar um script pode ser modificada por todos os usuários.

    # > ls -la /opt/backup.sh
    
    -rw-rw-rw- 1 root root 0 Jan 17 15:07 backup.sh

    Dessa forma, um invasor pode modificar o conteúdo do script para que a tarefa agendada execute o comando malicioso como rootum shell reverso e, assim, aumentar os privilégios do invasor.

    # > crontab -l
    
    # Backup vaadata website
    * * * * * /opt/backup.sh

    Como evitar a escalada de privilégios?

    Uma das funções dos administradores de sistema é implementar medidas de segurança para evitar ou limitar escalonamentos de privilégios.

    Implementando uma política de atualização eficaz

    Atualizar regularmente os sistemas Linux é um aspecto central da prevenção de ataques de escalonamento de privilégios. De fato, vulnerabilidades são constantemente identificadas em programas. No entanto, essas descobertas são frequentemente (e muito rapidamente) acompanhadas por patches, que geralmente vêm na forma de uma nova versão (principal ou secundária).

    Portanto, implementar uma política de atualização é essencial, para não dizer vital, visto que o lançamento de um patch costuma ser de acesso público. De fato, todos os invasores, dos mais novatos aos mais experientes, podem ter acesso aos detalhes das vulnerabilidades identificadas, bem como aos diversos exploits possíveis. Isso lhes permite lançar ataques em larga escala com altas chances de sucesso. Por esse motivo, é essencial manter os sistemas atualizados com os patches de segurança mais recentes para evitar o risco de exploits.

    Registro e monitoramento de eventos

    Os logs do sistema registram informações detalhadas sobre as atividades do usuário, conexões de rede e erros do sistema. Por esse motivo, uma política de segurança eficaz não pode ser alcançada sem um gerenciamento de logs adequado, a fim de detectar atividades anormais, como tentativas de escalonamento de privilégios.

    Para registro e monitoramento, há muitas ferramentas (logstash, logtail, splunk, etc.) que podem ser configuradas para identificar usuários suspeitos e alertar os administradores sobre atividades anormais.

    Por fim, é importante manter registros por um período suficientemente longo para permitir uma análise retrospectiva em caso de incidente de segurança. Para mais informações, consulte nosso artigo dedicado: Registro e monitoramento: definições e melhores práticas .

    Acesso seguro e implementação do princípio do menor privilégio

    É importante configurar os sistemas para conceder aos usuários e programas direitos de acesso limitados, de acordo com suas funções e tarefas. De fato, o princípio do menor privilégio deve ser sempre aplicado para minimizar o risco de escalonamento.

    Além disso, é importante implementar estratégias de gerenciamento de privilégios, como, por exemplo, restringir privilégios para usuários temporários. Da mesma forma, usuários temporários devem ter acesso apenas aos privilégios necessários para executar suas tarefas, e os privilégios devem ser revogados automaticamente quando não forem mais necessários.

    Conclusão

    A elevação de privilégios no Linux é uma grande preocupação em segurança de computadores. Os invasores podem usar vários métodos para aumentar seus privilégios em um sistema, como explorar vulnerabilidades em programas, explorar senhas fracas ou até mesmo explorar programas com privilégios elevados.

    É importante que os administradores de sistema compreendam esses riscos e tomem as medidas de segurança adequadas para evitá-los. Isso pode incluir o monitoramento regular de vulnerabilidades de software, atualizações de segurança e treinamento de funcionários. Também é importante limitar os privilégios do programa aos necessários para o funcionamento adequado e monitorar regularmente os logs em busca de atividades anômalas.

    Por fim, é importante observar que as ameaças à segurança estão em constante evolução, por isso é necessário manter vigilância constante e continuar a par das últimas tendências de segurança para proteger efetivamente os sistemas contra ataques de escalonamento de privilégios.

  • Como Montar um Laboratório de Pentest com VirtualBox

    O hacking ético envolve testar e encontrar vulnerabilidades em sistemas. Mas fazer isso em redes ativas ou servidores públicos pode levar a danos acidentais.

    Montar um laboratório virtual para hackear é uma ótima maneira de aprimorar suas habilidades em um ambiente seguro. Um laboratório privado garante que todas as suas atividades permaneçam isoladas, evitando o risco de danificar sistemas reais ou violar os limites legais. Isso permite que você cometa erros e aprenda com eles sem causar danos.

    Configuração do projeto

    Este guia ensinará como configurar seu próprio laboratório particular. Para isso, precisaremos de três coisas:

    • Software de virtualização
    • Máquina de Ataque
    • Máquina alvo

    O software de virtualização permite que um computador físico execute várias máquinas virtuais (VMs). Uma máquina virtual atua como um computador separado, com seu próprio sistema operacional e programas, mas roda no mesmo hardware que o computador host.

    O VirtualBox é um software de virtualização popular. O VMware é outra alternativa.

    Para praticar hacking, você precisa de duas máquinas: uma máquina de ataque e uma máquina de destino.

    Você pode usar seu próprio sistema como máquina de ataque. Mas é melhor usar uma máquina como Kali ou Parrot , que já vem pré-instalada com todas as ferramentas necessárias.

    Para a máquina alvo, podemos usar um repositório como o Vulnhub. Ele contém diversas VMs criadas para você praticar suas habilidades. Cada uma delas foi projetada para ter uma vulnerabilidade que você pode explorar.

    Os downloads necessários para esta configuração são bem grandes, então recomendo que você os baixe e os mantenha à mão.

    Vamos lá 👉

    Como instalar o VirtualBox

    Para baixar o VirtualBox, acesse a página de downloads . Dependendo do seu sistema operacional, baixe o pacote e instale-o.

    Quando a instalação estiver concluída, você verá uma página semelhante, dependendo do seu sistema operacional.

    Página inicial do Virtualbox

    Clique duas vezes no pacote de extensão e certifique-se de que ele também esteja instalado.

    Como instalar o Kali Linux

    Agora vamos instalar nossa máquina de ataque. Extraia o arquivo .7z do download do Kali Linux. Em seguida, clique no ícone verde “Adicionar” na interface do VirtualBox e aponte para o arquivo .vbox.

    Arquivo .vbox do Kali Linux

    Todas as configurações padrão serão aplicadas e você deverá ter a máquina de ataque instalada. Se tiver algum problema, você pode encontrar instruções detalhadas aqui .

    Não inicie a máquina ainda. Vamos adicionar a máquina alvo também, e depois alterar algumas configurações de rede. Depois, podemos começar a hackear.

    Como instalar uma VM de destino

    Agora vamos instalar o alvo. Clique duas vezes no mrRobot.ovaarquivo baixado. Use as configurações padrão e clique em “Concluir”.

    Sr. Robô Alvo VM

    Depois que as máquinas de ataque e alvo estiverem configuradas, você deverá vê-las na lista de máquinas.

    Virtualbox home com máquinas de ataque e alvo

    Agora vamos atualizar as configurações de rede para garantir que nossas VMs estejam seguras.

    Atualizar configurações de rede

    Existem muitas maneiras de configurar uma rede no VirtualBox. Mas, no nosso caso, queremos isolar nosso laboratório da internet pública. A melhor maneira de fazer isso é configurar uma rede somente para host.

    Em uma rede somente host, as VMs podem se comunicar entre si, mas não com a internet pública. Vamos configurar.

    Na interface do Virtualbox, clique em “Ferramentas” e em “Redes somente para hosts”. Em seguida, clique em “Criar”. Uma rede somente para hosts será criada automaticamente com um intervalo de IP. Para simplificar, vamos alterar o nome da rede para “MyHackingLabNetwork”.

    Rede somente host do Virtualbox

    Clique em “Aplicar”. Agora temos uma rede somente host. Em seguida, vamos configurar nossas máquinas virtuais para se conectar a essa rede.

    Clique na Máquina Virtual e no ícone “Configurações”. Em “Rede”, escolha “rede somente host” e escolha o nome “MyHackingLabNetwork”. Clique em “OK” quando terminar.

    Configurações de rede do Virtualbox

    Faça o mesmo para a máquina de destino. Os endereços IP dessas máquinas virtuais serão atribuídos automaticamente pela nossa rede “somente host”.

    Escaneando o alvo

    Agora estamos prontos para começar. Ligue as duas máquinas.

    Observação: Ambas as máquinas exibirão uma opção padrão para inicialização – basta pressionar Enter. Se a VM parecer pequena na tela, clique em Exibir -> Modo Escalado no menu superior.

    O nome de usuário e a senha para a máquina Kali é “kali”.

    Você deverá ver a interface do Kali Linux como abaixo.

    Kali Home

    Para a caixa Mr.Robot, você deverá ver a seguinte interface de usuário:

    Casa alvo

    Agora vamos encontrar os endereços IP dessas máquinas.

    No Kali, abra um terminal e digite ifconfig | grep inet.

    Exibição de rede

    Você deverá ver um endereço IP semelhante a 192.168.56.x. Este é o IP da máquina de destino.

    Agora, vamos usar o nmap para procurar outras máquinas nesta rede. Se você não sabe o que é o Nmap, aqui está um tutorial .

    Vamos executar um ping scan no Kali para procurar outras máquinas na rede. Execute o seguinte comando:

    nmap -sn 192.168.56.0/24
    

    Este comando executa um ping em todos os endereços IP de 192.168.56.1para 192.168.56.254para ver o que está funcionando. Você deverá ver três resultados semelhantes.

    Verificação de ping do Nmap

    O primeiro resultado geralmente é o IP do adaptador. Portanto, podemos ignorá-lo. Dos dois, um deles é o IP da nossa máquina de ataque. Estamos interessados ​​no terceiro. Neste caso, é 192.168.56.3.

    Vamos fazer uma varredura da versão de serviço deste IP e ver o que acontece.

    nmap -sV 192.168.56.3
    

    Você deverá ver um resultado semelhante ao abaixo se estiver escaneando a máquina virtual Mr.Robot:

    Verificação de versão do serviço Nmap

    A imagem acima mostra que há três portas no servidor. Uma delas é ssh, que está fechada. As outras duas são portas do servidor web – 80 para http e 443 para https.

    Conclusão

    Parabéns! Você montou com sucesso seu próprio laboratório de hacking usando a VMware. Este laboratório oferece a flexibilidade necessária para praticar hacking ético em um ambiente controlado e isolado.

  • Insecure Direct Object Reference (IDOR): Um Guia de Ataque

    Referências diretas inseguras a objetos são vulnerabilidades comuns e potencialmente devastadoras resultantes de controle de acesso interrompido em aplicativos da web. Os bugs IDOR permitem que um invasor interaja maliciosamente com um aplicativo manipulando uma “referência direta de objeto”, como uma chave de banco de dados, parâmetro de consulta ou nome de arquivo.

    À medida que aprendermos mais sobre a história da origem do meu vilão neste artigo, responderemos a perguntas importantes como: “O que é IDOR?”, “Como encontro uma vulnerabilidade IDOR?” e “O que posso fazer para me proteger contra um IDOR?” 

    Como funciona uma vulnerabilidade IDOR?

    Para entender melhor como um invasor pode explorar uma vulnerabilidade IDOR, vamos dar uma olhada no meu exemplo do mundo real. Como um estudante de jornalismo do terceiro ano, li sobre uma situação em que um aluna de uma universidade diferente acessou os registros de outros alunos apenas alterando uma parte do endereço em seu navegador. Intrigado, decido ver se os sistemas da minha universidade sofriam de uma vulnerabilidade semelhante. 

    Para testar isso, entrei em minha conta de aluno e observei que, assim como a história que li, o aplicativo estava usando minha ID de estudante como um identificador para recuperar meus horários de aulas, notas e outras informações pessoais. A URL era mais ou menos assim: 

    https://stateuniversity.example/GetStudentRecords?ID=00123456789

    Mas e se eu simplesmente substituísse a parte “ID=00123456789” da URL pela ID de um aluno diferente? Depois de receber permissão, dei uma chance. Com certeza, o sistema exibiu os registros desse aluno em vez dos meus. 

    A repetição desse processo revelou que era bastante simples obter os registros de qualquer aluno ou funcionário da universidade, desde que eu soubesse (ou pudesse adivinhar) o número de registro de estudante ou funcionário. Como os dados confidenciais estavam sendo expostos, relatei a vulnerabilidade à universidade imediatamente. 

    Assim como acontece em um acidente de avião, algumas coisas precisar dar errada para que eu conseguisse esse hack. Primeiro, o aplicativo obviamente não incluía nenhuma verificação de autorização para ver se eu deveria ter acesso aos registros que solicitei – é daí que vem o “Inseguro” na referência insegura de objeto direto. 

    Em segundo lugar, a universidade projetou seu aplicativo para basear as pesquisas de registros de banco de dados apenas na identificação do aluno/funcionário – há a “referência de objeto direto”. Por fim, os Ids foram listados na barra de endereços em um formato fácil de reconhecer, simplificando a manipulação até mesmo para um novato em segurança cibernética

    Quatro tipos comuns de IDOR

    Atualmente, os identificadores são mais comumente encontrados em cabeçalhos ou APIs do que diretamente na barra de endereços do usuário. No entanto, a natureza dinâmica da maioria dos sites significa que identificadores e parâmetros ainda são muito usados de uma forma ou de outra. Os identificadores podem incluir: 

    • Chaves de bancos de dados 
    • Parâmetros de consulta 
    • Ids de usuário ou sessão 
    • Nomes de arquivos 

    Como identificar vulnerabilidades IDOR

    Vulnerabilidades IDOR geralmente são simples de explorar, mas podem ser difíceis para os desenvolvedores identificarem. Ferramentas e técnicas como análise de código e varredura automatizada não são tão boas para detectar bugs IDOR quanto muitos outros problemas de segurança comuns, o que significa que identificar essas vulnerabilidades pode exigir testes manuais de segurança. 

    Algumas maneiras de identificar vulnerabilidades incluem: 

    • Executar testes básicos usando as ferramentas de desenvolvedor integradas em um navegador web.
    • Usar uma ferramenta como o Burp Suit ou Open Web Application Security Project Zed Attack Proxy (OWASP ZAP) para aumentar a eficácia do teste manual.
    • Participar de um programa de divulgação de vulnerabilidades.
    • Contratar uma empresa externa de testes de penetração para revisar aplicativos críticos da web.Untitled-4

    Quatro tipos de ataques IDOR

    Conceitualmente, a maioria dos ataques que exploram o IDOR funcionam de maneira semelhante, mas existem pequenas nuances nas quais o identificador é exposto e/ou manipulado por hackers: 

    1- Adulteração de URL

    A adulteração de URL é a maneira mais simples de explorar uma vulnerabilidade IDOR e geralmente requer pouco ou nenhum conhecimento técnico. Nesse tipo de ataque, podemos simplesmente alterar o valor de um parâmetro na barra de endereço do nosso navegador.  

    No exemplo da minha faculdade, mudei o número da minha identificação de estudante para a de outros alunos, professores e funcionários da universidade. As ferramentas também podem ser usadas para modificar a solicitação HTTP, mas o resultado final foi o mesmo: o servidor concede algum tipo de acesso inapropriado a um invasor. 

    Eu tinha a vantagem de saber alguns desses Ids com antecedência – um invasor real provavelmente gastaria tempo enumerando valores diferentes e tentando encontrar um padrão previsível. 

    Abaixo: um simples ataque de adulteração de URL pode consistir na alteração de um único ID de parâmetro de uma barra de endereço.

    Untitled (1)

    2- Manipulação corporal

    A manipulação do corpo é muito semelhante à adulteração de URL, exceto que o invasor está modificando um ou mais valores no corpo do documento em vez da URL. Isso pode significar alterar os valores de botões de opção, caixas de seleção ou outros elementos de formulário. Também pode ser possível alterar os valores ocultos do formulário. 

    Talvez um contato tenha um valor de formulário oculto que passa o ID do usuário para a conta conectada no momento. Se pudermos alterar esse valor oculto antes do envio do formulário, podemos fazer com que nossa solicitação pareça vir de um usuário diferente. 

    3- Manipulação do cookie ou ID JSON

    Cookies e JavaScript Object Notation (JSON) são amplamente usados nos bastidores para armazenar e trocar dados entre cliente e servidor, ajudando a tornar as páginas da Web mais dinâmicas. Quando fazemos login em um site, por exemplo, o servidor pode armazenar um valor de ID de usuário ou sessão dentro de um cookie ou objeto JSON. Se o aplicativo contiver uma vulnerabilidade IDOR, um invasor poderá alterar esses valores. 

    4- Passagem de diretório


    É um tipo exclusivo de vulnerabilidade IDOR que um invasor aproveita para acessar ou manipular arquivos ou pastas diretamente no servidor que executa o aplicativo da web. Este é um nível mais avançado do que outros tipos de ataques IDOR porque permite acesso direto aos recursos do sistema de arquivos em vez de registros do banco de dados. A vulnerabilidade permite que um invasor acesse arquivos de configuração, descubra credenciais de usuário ou até mesmo obtenha um shell totalmente funcional do alvo. 

    Como o IDOR afeta os dados

    As vulnerabilidades IDOR podem ser simples de explorar, mas os impactos desse tipo de ataque são potencialmente catastróficos. Abaixo estão apenas algumas maneiras pelas quais um IDOR pode impactar a confidencialidade, integridade e disponibiidade dos dados de sua organização: 

    • Confidencialidade – Como vimos no exemplo da minha universidade, um ataque IDOR bem-sucedido dá ao invasor acesso a algo que ele não deveria poder visualizar. Isso pode ser qualquer coisa, desde um código de desconto para compradores frequentes em uma loja online até informações confidenciais de saúde ou segredos comerciais. 
    • Integridade – Em alguns casos, um invasor pode usar um IDOR para modificar dados. Normalmente, esses tipos de ataques manipulam parâmetros em uma solicitação HTTP POST. Em 2020, um pesquisador de segurança descobriu uma vulnerabilidade IDOR que permitiria a um invasor alterar a senha de contas de usuário nos servidores Web do Departamento de Defesa dos EUA. Os invasores podem usar vulnerabilidades semelhantes para adicionar dados não autorizados, como informações financeiras falsificadas ou documentos incriminatórios, a um usuário desavisado. 
    • Disponibilidade – A vulnerabilidade também pode ser usada para impactar a disponibilidade de recursos. Imagine uma função em um aplicativo PHP que exclua documentos por nome de arquivo. Sem verificações de autorização adequadas, um invasor pode alterar o nome do arquivo e excluir documentos aos quais nem mesmo tem acesso!
    Untitled (2)

    Quatro dicas para evitar vulnerabilidades IDOR

    As vulnerabilidades IDOR podem ser prevenidas evitando referências diretas a objetos, implementando a validação de entrada do usuário e implementando identificadores globalmente exclusivos (conhecidos como GUIDs) ou identificadores aleatório. Embora não haja uma solução infalível quando se trata de como evitar vulnerabilidades IDOR, algumas dessas etapas podem ajudar. 

    1- Implementar controle de acesso adequado e gerenciamento de sessão

    O OWASP, que cunhou o temor “referência insegura de objeto direto”, considera o IDOR uma questão de controle de acesso acima de tudo. Verificações adequadas de controle de acesso e recursos de gerenciamento de sessão devem impedir que um usuário mal-intencionado acesso ou manipule dados, mesmo quando identificadores fáceis de enumerar são usados. As folhas de dicas OWASP sobre autorização e autenticação podem ser úteis para revisar. 

    2- Evite referências diretas a objetos

    Deixando de lado os problemas de controle de acesso, o uso de referências diretas de objetos em seu aplicativo costuma ser considerado uma prática de codificação desleixada. Isso é especialmente verdadeiro quando se trata de dados confidenciais, como IDs de alunos/funcionários, números de contas, etc. Referências de objetos indiretos geralmente na forma de mapas ou referência ou hash – abordam vulnerabilidades IDOR ocultando ou ofuscando o identificador verdadeiro, que permanece oculto no lado do servidor. Se forem usados hashes, certifique-se de incluir um sal forte e exclusivo, pois os algoritmos básicos de hash, como o MD5, são fáceis de reverter. 

    3- Use GUIDs ou identificadores aleatórios

    Em aplicativos que usam identificadores iterativos ou sequenciais ou valores de parâmetro, enumerar uma vulnerabilidade de referência direta de objeto insegura é muito fácil. Se eu notar que meu ID de usuário se parece como 0001, por exemplo, posso adivinhar que há um usuário 0002. O poder de computação moderno e as técnicas de automação tornam bastante fácil tentar todos os valores possíveis de 0000 a 9999 até encontrar o usuário que estou procurando. 

    Nem os GUIDs nem os identificadores universalmente exclusivos removem a vulnerabilidade subjacente, mas tornam muito mais difícil enumerar e explorar. Um identificador como f492325c-ae75-4335-a2a6-1a716b723f2a é muito mais difícil de decifrar que algo menos complexo. 

    4- Valide a entrada do usuário

    A validação de entrada do usuário pode ajudar a mitigar um grande número de problemas de segurança, incluindo IDOR. A enumeração de identificadores torna-se muito mais difícil se estivermos validando estritamente os parâmetros fornecidos pelo usuário para comprimento e formato adequados. A validação pode ocorrer no lado do cliente ou no lado do servidor, dependendo do que for mais apropriado.

  • Ferramentas Essenciais de Reconhecimento para Pentesters

    No campo da cibersegurança, o teste de penetração (pentest) é uma prática crucial para identificar e corrigir vulnerabilidades antes que sejam exploradas por atacantes. Ferramentas específicas desempenham um papel vital nesse processo, cada uma com suas funcionalidades únicas e contribuições. Aqui estão algumas das principais ferramentas de pentest, explicando por que usá-las, sua importância e exemplos detalhados de uso em CLI (interface de linha de comando).

    1.Metasploit

    • Para que serve: Automatizar o processo de ataque, ajudando a encontrar, validar e explorar vulnerabilidades em sistemas e redes.
    • Importância: Permite que pentesters executem exploits de maneira eficiente, validem vulnerabilidades e entendam como um ataque real poderia comprometer um sistema.
    • Exemplo de Uso:
    # Iniciar o Metasploit
    msfconsole
    # Procurar um exploit específico
    search name:windows smb
    # Usar um exploit
    use exploit/windows/smb/ms17_010_eternalblue
    # Configurar o alvo
    set RHOSTS <IP do alvo>
    # Executar o exploit
    run
    

    2.Nmap

    • Para que serve: Mapeamento de redes, descobrindo hosts e serviços, identificando sistemas operacionais e detectando vulnerabilidades.
    • Importância: Fundamental para a fase de reconhecimento de um pentest, permitindo aos testers entender a topologia da rede e identificar possíveis pontos de entrada.
    • Exemplo de Uso:
    # Escanear um host específico e identificar serviços e versões
    nmap -sV <IP>
    # Escanear uma rede inteira
    nmap -p 1-65535 192.168.0.0/24
    # Escanear para detectar o sistema operacional
    nmap -O <IP>
    

    3.Wireshark

    • Para que serve: Análise de pacotes de rede, capturando e inspecionando o tráfego de rede em tempo real.
    • Importância: Crucial para entender o tráfego de rede, identificar anomalias e possíveis ataques, como interceptação de dados ou tentativas de intrusão.
    • Exemplo de Uso:
    # Capturar pacotes na interface eth0
    tshark -i eth0
    # Salvar a captura em um arquivo para análise posterior
    tshark -i eth0 -w captura.pcap
    # Filtrar tráfego HTTP na captura ao vivo
    tshark -i eth0 -Y http
    

    4.Burp Suite

    • Para que serve: Testar a segurança de aplicações web, interceptando, analisando e modificando o tráfego HTTP e HTTPS.
    • Importância: Essencial para descobrir e explorar vulnerabilidades em aplicativos web, como injeção de SQL, XSS e CSRF.
    • Exemplo de Uso:
    • Configurar o navegador para usar o proxy do Burp Suite.
    • Interceptar uma requisição HTTP e modificar seus parâmetros.
    • Utilizar o módulo Intruder para realizar ataques automatizados em parâmetros de entrada.

    5.SQLMap

    • Para que serve: Detectar e explorar vulnerabilidades SQL Injection em aplicações web.
    • Importância: Permite que pentesters automatizem o processo de injeção de código SQL, revelando possíveis falhas que poderiam ser exploradas para acessar ou modificar dados sensíveis.
    • Exemplo de Uso:
    # Testar uma URL para vulnerabilidades SQL Injection
    sqlmap -u "http://example.com/page.php?id=1"
    # Listar bancos de dados disponíveis
    sqlmap -u "http://example.com/page.php?id=1" --dbs
    # Selecionar um banco de dados e listar tabelas
    sqlmap -u "http://example.com/page.php?id=1" -D nome_do_bd --tables
    

    6.Shodan

    • Para que serve: Motor de busca para dispositivos conectados à internet.
    • Importância: Ajuda a identificar dispositivos expostos na internet, possibilitando a descoberta de sistemas mal configurados ou vulneráveis.
    • Exemplo de Uso:
    # Procurar dispositivos com uma determinada porta aberta
    shodan search "port:22"
    # Procurar dispositivos específicos por tipo ou localização
    shodan search "apache country:BR"
    # Obter detalhes de um IP específico
    shodan host <IP>
    

    7.SSH-Audit

    • Para que serve: Auditar as configurações de servidores SSH.
    • Importância: Garante que as configurações de SSH sejam seguras, evitando vulnerabilidades que poderiam ser exploradas para ganhar acesso não autorizado.
    • Exemplo de Uso:
    # Analisar a configuração do servidor SSH no endereço IP fornecido
    ssh-audit <IP>
    

    8.Hydra

    • Para que serve: Hydra é uma ferramenta de ataque de força bruta que permite testar várias combinações de senhas em serviços como SSH, FTP, HTTP e outros.
    • Importância: Crucial para identificar senhas fracas ou comuns em serviços expostos, ajudando a reforçar a segurança de autenticação.
    • Exemplo de Uso:
    # Ataque de força bruta em um serviço SSH
    hydra -l admin -P /path/to/password/list.txt ssh://<IP>
    

    9.Aircrack-ng

    • Para que serve: Aircrack-ng é uma suíte de ferramentas para auditoria de redes sem fio. Ela permite capturar pacotes e quebrar chaves WEP e WPA.
    • Importância: Essencial para testar a segurança de redes Wi-Fi e identificar pontos fracos na criptografia e configuração de redes sem fio.
    • Exemplo de Uso:
    # Capturar pacotes na interface wlan0
    airodump-ng wlan0
    # Quebrar chave WPA usando arquivo de captura e wordlist
    aircrack-ng -w /path/to/wordlist.txt -b <BSSID> /path/to/capture/file.cap
    

    10.Nessus

    • Para que serve: Nessus é uma ferramenta de varredura de vulnerabilidades que permite identificar falhas de segurança em sistemas e redes.
    • Importância: Fundamental para a avaliação de vulnerabilidades em um ambiente de TI, permitindo priorizar e corrigir falhas de segurança.
    • Exemplo de Uso:
    • Configurar e iniciar uma varredura usando a interface web do Nessus.
    • Analisar os relatórios gerados para identificar vulnerabilidades críticas.

    11.Nikto

    • Para que serve: Nikto é uma ferramenta de varredura de servidores web que busca vulnerabilidades conhecidas e problemas de configuração.
    • Importância: Importante para a segurança de aplicações web, ajudando a identificar falhas comuns que podem ser exploradas por atacantes.
    • Exemplo de Uso:
    # Realizar uma varredura em um servidor web
    nikto -h http://example.com
    

    12.OpenVAS

    • Para que serve: OpenVAS é uma plataforma de varredura e gerenciamento de vulnerabilidades. Ele realiza varreduras abrangentes para identificar vulnerabilidades.
    • Importância: Essencial para uma análise detalhada de segurança em grandes redes, permitindo a detecção e gerenciamento contínuo de vulnerabilidades.
    • Exemplo de Uso:
    • Configurar e iniciar uma varredura usando a interface web do OpenVAS.
    • Analisar os relatórios de varredura para mitigar vulnerabilidades identificadas.

    13.Maltego

    • Para que serve: Maltego é uma ferramenta de análise forense e coleta de informações que permite mapear relações e conexões entre pessoas, empresas, domínios e outras entidades.
    • Importância: Útil para a fase de reconhecimento de um pentest, permitindo coletar informações detalhadas sobre alvos potenciais.
    • Exemplo de Uso:
    • Utilizar a interface gráfica do Maltego para realizar transformações e visualizar conexões entre diferentes entidades.

    14.Hashcat

    • Para que serve: Hashcat é uma ferramenta de quebra de hashes altamente eficiente que utiliza CPU e GPU para realizar ataques de força bruta e dicionário.
    • Importância: Importante para testar a força de senhas e hashes armazenados, revelando possíveis fraquezas na segurança de autenticação.
    • Exemplo de Uso:
    # Quebrar hashes MD5 usando uma wordlist
    hashcat -m 0 -a 0 <hashfile.txt> /path/to/wordlist.txt
    

    15.John the Ripper

    • Para que serve: Quebra de senhas, testando a força de senhas armazenadas.
    • Importância: Ajuda a identificar e corrigir senhas fracas ou comuns que poderiam ser exploradas por atacantes para ganhar acesso não autorizado a sistemas.
    • Exemplo de Uso:
    # Quebrar senhas armazenadas em formato MD5 usando uma wordlist
    john --format=md5 --wordlist=<wordlist.txt> <hashes.txt>
    # Mostrar senhas quebradas
    john --show <hashes.txt>
    

    Conclusão

    Os testes de penetração são essenciais para garantir a integridade e a segurança dos sistemas e redes. As ferramentas apresentadas neste tópico representam uma combinação poderosa de tecnologias que permitem identificar, explorar e mitigar vulnerabilidades de maneira eficaz. Cada ferramenta desempenha um papel crucial nas diferentes fases de um pentest, desde o reconhecimento inicial até a exploração e análise pós-exploração.

    • Metasploit permite automatizar e executar exploits, facilitando a identificação e validação de vulnerabilidades.
    • Nmap é fundamental para mapeamento e descoberta de redes, proporcionando uma visão detalhada dos serviços e sistemas operacionais em execução.
    • Wireshark é indispensável para a análise de tráfego de rede, ajudando a identificar anomalias e possíveis ataques em tempo real.
    • Burp Suite oferece uma abordagem abrangente para testar a segurança de aplicações web, interceptando e manipulando tráfego HTTP e HTTPS.
    • John the Ripper e Hashcat são ferramentas poderosas para testar a força das senhas, revelando fraquezas que poderiam ser exploradas.
    • SQLMap automatiza a detecção de vulnerabilidades de injeção SQL, essencial para a segurança das aplicações web.
    • Shodan facilita a descoberta de dispositivos conectados, destacando aqueles que estão mal configurados ou vulneráveis.
    • SSH-Audit garante a segurança das configurações de servidores SSH, evitando pontos fracos que possam ser explorados.
    • Hydra e Aircrack-ng são críticas para testar autenticações e segurança de redes sem fio.
    • Nessus e OpenVAS realizam varreduras abrangentes de vulnerabilidades, permitindo a detecção e gerenciamento contínuo de falhas.
    • Nikto ajuda a identificar problemas comuns em servidores web, enquanto
    • Maltego mapeia relações e conexões valiosas durante a fase de reconhecimento.

    Utilizar uma combinação dessas ferramentas proporciona uma avaliação completa e detalhada da segurança, permitindo que as organizações identifiquem proativamente vulnerabilidades e implementem medidas de mitigação antes que possam ser exploradas. Com o avanço contínuo das ameaças cibernéticas, a importância de um pentest bem conduzido nunca foi tão grande. Ele não só protege os dados e sistemas, mas também fortalece a resiliência cibernética das organizações.

    Ao adotar essas ferramentas e práticas, os profissionais de segurança podem assegurar que suas redes e sistemas estejam bem protegidos contra uma ampla gama de ameaças. Dessa forma, garantem a continuidade dos negócios e a confiança dos clientes e parceiros. Manter-se atualizado com as melhores práticas e evoluções em cibersegurança é vital para enfrentar os desafios contínuos do cenário de ameaças cibernéticas.

  • Cracking de Senhas com Hashcat e John the Ripper

    John The Ripper é uma ferramenta poderosa, de código aberto e gratuita e que tem como finalidade o cracking ou quebra de hashes/senhas. Ela suporta diversos algoritmos de hash e, neste post, vamos dar uma olhada em alguns exemplos básicos de como quebrar hashes usando o John. Um dos pontos positivos da ferramenta é que ela está disponível para Windows e Linux e tenta detectar automaticamente o tipo de hash que recebeu.

    TL;DR

    O uso básico consiste na seguinte linha de comando:Copiar

    john --wordlist=/usr/share/wordlists/password.lst arquivo_de_hashes.txt
    

    Primeiramente, o que é cracking de senhas?

    A quebra (ou cracking) de senhas é o nome que se dá ao processo de obtenção de uma senha a partir de uma determinada hash. Por conta do avanço da segurança da informação, a maioria das senhas que você encontrará em um sistema não são armazenadas em clear text (texto claro ou que lê-se normalmente), mas sim no formato de hashes.

    Uma hash é uma string, gerada pela execução de uma função de hash criptográfica. Ao fazer isso, é produzida uma saída exclusiva para aquela senha específica. Veja abaixo uma ilustração do processo de hashing.


    Instação do John The Ripper

    Copiar

    sudo apt install john
    

    Quebrar hashes com John The Ripper

    Quebrar hashes utilizando uma wordlist (ataque de dicionário)

    O ataque de dicionário é o mais utilizado e, neste modo, o john irá tentar quebrar a hash a partir de uma wordlist. No comando abaixo, por exemplo, estamos tentando quebrar hashes MD5 utilizando wordlist rockyou:Copiar

    john --wordlist=/usr/share/wordlists/rockyou.txt arquivo_de_hashes.txt
    

    Quebrar hashes utilizando bruteforce (ataque incremental)

    Neste tipo de ataque o john irá tentar todas as combinações de carateres possíveis. Este é o tipo de ataque mais poderoso porém, mais demorado:Copiar

    john --incremental arquivo_de_hashes
    

    Extraindo hashes

    O pacote do john vem com algumas ferramentas adicionais, que possibilitam extrair hashes de arquivos ZIP, RAR e chaves privadas, por exemplo. Veja abaixo alguns exemplos.

    Extrair hashes de um arquivo ZIP

    Copiar

    zip2john arquivo.zip > zip.hash
    

    Extrair hashes de uma chave privada SSH

    Copiar

    ssh2john id_rsa > id_rsa.hash
    

    Extrair hashes de um arquivo RAR

    Copiar

    rar2john arquivo.rar > rar.hash
    

    E se eu quiser especificar uma hash?

    Caso você queira especificar uma hash no john, basta listar os formatos e identificar o desejado, por exemplo:Copiar

    john --list=formats | grep -i "md5"
    

    Após isso, acrescente o parâmetro no comando, por exemplo:Copiar

    john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt arquivo_de_hashes.txt
    

    Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira!

  • Fingerprinting de Infraestrutura: Identificando Tecnologias e Serviços Expostos

    O Fingerprinting é uma técnica utilizada na segurança ofensiva para obter informações sobre um sistema alvo, identificando suas características, vulnerabilidades e possíveis pontos de entrada para ataques. Esta técnica é comumente usada por invasores para obter informações úteis sobre uma rede ou sistema alvo, a fim de planejar ataques com maior precisão e eficácia.

    Existem diversas ferramentas de fingerprinting disponíveis no mercado, que são capazes de identificar sistemas operacionais, serviços em execução, versões de software, configurações de rede, entre outras informações. Algumas das técnicas mais comuns de fingerprinting incluem o uso de varredura de portas, análise de banners de serviços, identificação de protocolos de rede e análise de tráfego de rede.

    Embora a técnica de fingerprinting seja amplamente utilizada por invasores, também pode ser usada para fins defensivos. As equipes de segurança podem realizar fingerprinting em seus próprios sistemas para identificar vulnerabilidades e configurar medidas de proteção adequadas. Além disso, as equipes de segurança podem monitorar a atividade de fingerprinting em sua rede para detectar possíveis invasores e tomar medidas preventivas.

    É importante ressaltar que o uso de fingerprinting pode ser ilegal em certas circunstâncias, especialmente quando realizado sem o consentimento do proprietário do sistema alvo. Portanto, é necessário seguir as leis e regulamentações aplicáveis ao utilizar essa técnica.

    O fingerprinting para fins defensivos

    A técnica de fingerprinting é comumente utilizada na defesa cibernética para identificar e rastrear ameaças e vulnerabilidades em sistemas de computadores e redes. Fingerprinting é o processo de coletar informações sobre um sistema ou rede, como o sistema operacional, a versão do software, os serviços em execução e as portas abertas.

    Os profissionais de segurança usam essas informações para identificar possíveis vulnerabilidades em um sistema ou rede, e tomar medidas para corrigi-las. Além disso, a técnica de fingerprinting também é usada para detectar atividades maliciosas, como tentativas de invasão, por exemplo.

    No entanto, é importante lembrar que o uso de fingerprinting pode ser usado tanto por defensores quanto por atacantes. Atacantes podem usar técnicas de fingerprinting para coletar informações sobre um sistema ou rede com o objetivo de lançar um ataque mais direcionado e eficaz.

    Portanto, é importante que os profissionais de segurança estejam cientes dos riscos associados ao uso de fingerprinting, e tomem medidas para proteger suas redes contra essas técnicas de coleta de informações. Isso pode incluir a implementação de medidas de segurança, como o uso de firewalls, criptografia de dados e detecção de intrusão.

    Seu uso em investigações digitais

    A impressão digital é uma técnica amplamente utilizada em investigações criminais para identificar suspeitos com base em suas impressões digitais únicas. Da mesma forma, em investigações digitais, a técnica de impressão digital também é usada para identificar indivíduos com base em suas informações digitais exclusivas.

    As impressões digitais digitais são um conjunto de informações digitais exclusivas que podem ser usadas para identificar um dispositivo, uma pessoa ou uma conta online. Algumas das informações usadas para criar uma impressão digital digital incluem o endereço IP, o histórico de navegação, a localização geográfica e outras informações de sistema e software.

    As impressões digitais digitais podem ser usadas para rastrear a atividade de um indivíduo na internet, identificar a origem de uma violação de segurança ou até mesmo para rastrear a propagação de informações falsas ou conteúdo malicioso. Alguns navegadores, como o Tor, usam técnicas de impressão digital digital para preservar a privacidade dos usuários, tornando mais difícil para os rastreadores digitais rastreá-los na internet.

    Conclusão

    O fingerprinting é uma técnica poderosa na segurança ofensiva, mas deve ser usada com cautela e de acordo com as leis aplicáveis. Ao mesmo tempo, as equipes de segurança podem usar essa técnica para melhorar sua postura defensiva e proteger seus sistemas contra possíveis ataques. A técnica de fingerprinting é uma ferramenta essencial para a investigação criminal. Embora não seja uma prova definitiva de culpa ou inocência, as impressões digitais podem fornecer evidências importantes na construção de um caso criminal. As impressões digitais digitais são uma técnica importante em investigações digitais, permitindo aos investigadores rastrear a atividade de indivíduos na internet e identificar suspeitos com base em suas informações digitais exclusivas.

  • Como Iniciar na Carreira de Segurança Ofensiva: Certificações e Dicas

    No momento que é crucial proteger os dados dos negócios contra cyber criminosos e tentativas de violação, há uma necessidade significativa de profissionais de segurança da informação que podem ajudar a manter a infraestrutura de TI de uma organização segura. Manter aplicativos e dados críticos inacessíveis a usuários não autorizados, mantendo o malware sob controle, evitando danos físicos e lógicos aos sistemas e ativos de informações de proteção contra phishing e ransomware, todos exigem não apenas a conscientização dos usuários sobre essas ameaças, mas também a capacidade dos profissionais de segurança da informação de mitigar esses riscos.

    Seja por meio de profissionais de TI internos ou através da ajuda de empresas de consultoria, todas as empresas acabam precisando da experiência de um profissional ou  equipe de segurança da informação que possa avaliar os riscos e a segurança das informações ao longo do tempo. Os funcionários experientes e qualificados são muito procurados pelos empregadores, mas muitas organizações também investem no treinamento de funcionários atuais e profissionais de nível básico que podem estar preparados para atender às necessidades específicas do negócio e, ao mesmo tempo, desenvolver uma lealdade mais forte.

    Pensando em uma carreira na Segurança da Informação?

    Então, se você está interessado em uma carreira em segurança da informação ou quer avançar em sua carreira já estabelecida, este pode ser o melhor momento. A atual lacuna de habilidades em TI e a expansão do cenário de ameaças na verdade oferecem grandes oportunidades para novos profissionais prontos para mergulhar e enfrentar os desafios dessa nova era. Posições que muitas vezes são anunciadas como:

    • Gerente de segurança;
    • Administrador de segurança;
    • Consultor de segurança;
    • Analista de segurança;
    • Engenheiro de segurança ou arquiteto de segurança.

    Com a demanda atualmente bem acima da oferta, até profissionais não técnicos estão começando a olhar para a possibilidade de mudar de área e aprenderem a apoiar a criação de infraestruturas adequadas e a implementação de medidas de segurança.

    Espera-se que as oportunidades de segurança de TI cresçam; Embora as ferramentas automatizadas tenham se tornado cada vez mais sofisticadas e capazes de ajudar a proteger a infraestrutura, elas seriam ineficazes sem a configuração adequada dos sistemas, a capacidade de análise e as habilidades de controle de danos dos profissionais.

    Caminhos da carreira

    Os profissionais de segurança da informação vêm de muitos caminhos diferentes. Há algumas carreiras que um profissional ou recém-formado pode considerar: desde as mais gerais, incluindo especialistas de suporte, técnicos de TI, help desk, administradores de rede e sistemas até programadores de computador ou bancos de dados e analistas de dados. Em geral, é importante obter um bom conhecimento geral dos sistemas primeiro, de modo a estar pronto para protegê-los de forma eficiente. Trabalhos em configuração de sistemas e suporte ou até mesmo estágios para graduados são excelentes maneiras de obter o conhecimento básico necessário para iniciar uma carreira em segurança da informação.

    Certificações

    Elas são uma parte importante de uma carreira em Segurança da Informação.

    certificação CompTIA Security + , por exemplo, constrói uma compreensão fundamental da segurança da informação, testa as habilidades nas principais funções de segurança e permite que um profissional progrida para funções intermediárias.

    Para progredir em funções especializadas, CISSP ou CISM são ótimas opções para impulsionar uma carreira e aumentar os ganhos.

    O CISSP é uma qualificação de elite que comprova uma base sólida em segurança digital e na concepção e implementação de programas de segurança eficazes; O CISM é voltado para profissionais que procuram se mudar para posições gerenciais.

    Vamos dar uma olhada em apenas algumas das carreiras específicas a serem consideradas no âmbito da segurança da informação.

    Arquiteto de segurança

    Um arquiteto de segurança garante a segurança dos sistemas, trabalhando com hardware e software, bem como elaborar políticas e protocolos apropriados e preparando contramedidas. Suas ações são voltadas para a prevenção de ataques e intrusões de hackers. Esses profissionais ocupam altos cargos com (normalmente) salários de seis dígitos e, portanto, têm experiência proporcional às suas tarefas, começando com graduações formais em TI, cargos em administração de sistemas ou de rede e vários cursos de treinamento e certificações que se comprovam atualizados. conhecimento. Estes geralmente incluem CISSP e / ou opções de ethical hacking .

    Consultor de Segurança

    Muitas vezes, contratados, consultores de segurança são profissionais que são solicitados a trabalhar em conjunto com outros especialistas em TI (normalmente equipes internas) para identificar problemas em redes e arquiteturas de TI e elaborar soluções. Estes são profissionais que não só têm sólida experiência em TI, mas que também habilidades como comunicação e criatividade, que os ajudam em suas interações diárias com os clientes e na preparação de documentação e relatórios. Esses profissionais normalmente têm diplomas formais, mas a experiência prática é um pré-requisito importante; eles geralmente têm análise de segurança ou experiência de auditoria em seu portfólio.

    Diversas certificações ajudam esses profissionais a progredir em suas carreiras. Depois das óbvias certificações para iniciantes como CompTIA Security +, eles podem se especializar através da CEH: Certified Ethical Hacker, CISSP: Certified Information Systems Security Professional, CHFI: Certified Hacking Forensic Investigator, CPT: Certified Penetration Tester, CySA +: Cybersecurity Analyst, CWAPT: Certified Web Application Penetration Tester e CREA: Certified Reverse Engineering Analyst, bem como certificação em auditoria e análise de sistemas (ECSA, CISA, CISM).

    Chief Information Security Officer (CISO)

    Um profissional sênior e de nível executivo, o CISO está à frente das equipes de segurança e aprova a maioria das ações tomadas em relação à segurança: desde a aprovação das escolhas de projeto para os sistemas até as políticas e os planos de recuperação. Ele ou ela também realiza auditorias, realiza treinamento, supervisiona diretamente os membros da equipe e supervisiona os contratados.

    É óbvio que, para obter essa posição, um profissional de TI precisa ter anos de experiência relevante – não apenas como especialista em TI no campo da segurança, mas também como supervisor. A educação formal é normalmente necessária e um MBA é muitas vezes fundamental. Certificações avançadas devem incluir certificações de auditor e gerenciadores de segurança, incluindo CISM, ISSM, CGEIT e CISSP.

    As habilidades essenciais

    Os profissionais de Segurança da Informação precisam possuir a combinação certa de habilidades para progredir em sua carreira. As habilidades técnicas precisam incluir a capacidade de realizar análises de segurança, testes de invasão, nuvem e aplicativos seguros, para citar alguns. Um profissional nesta área que se eleva para cargos de alto escalão precisa de excelentes habilidades de comunicação para lidar efetivamente com as partes interessadas e possuir grande capacidade de colaboração para trabalhar com diferentes seções de TI de uma empresa, bem como usuários e gerentes de outras seções internas do cliente. Criatividade e capacidade de pensar fora da caixa também são elementos importantes, devido à necessidade de antecipar os movimentos dos adversários e surpreendê-los com contramedidas inovadoras.

    Mas acima de tudo, ele ou ela precisa possuir uma verdadeira paixão pelo desenvolvimento profissional. Manter as habilidades e o conhecimento atualizados é fundamental em um campo que está em constante desenvolvimento e onde é essencial permanecer relevante em um mercado de trabalho que muda rapidamente.

    Conclusão

    Os profissionais de Segurança da Informação, como os profissionais de segurança cibernética, trabalham em empresas de todos os portes e setores para proteger as organizações contra violações e ataques de dados. O déficit de habilidades de hoje em dia, assim como a escassez de mão de obra em segurança cibernética, está causando uma pressão sobre a força de trabalho existente e sobre as empresas que procuram contratar profissionais que possam garantir seus ativos. E com tantos empregos não preenchidos, como pode ser visto nas inúmeras vagas abertas ao redor do mundo, abordar a lacuna e a falta de habilidades envolve a educação da próxima geração de profissionais de segurança de TI capazes que se tornaram essenciais.

    Novos graduados e profissionais devem procurar entrar na área de TI ou lançar uma carreira em segurança cibernética não apenas pelas muitas oportunidades que agora oferece, mas também pela promessa de uma carreira em evolução contínua à medida que a tecnologia avança. Isto é especialmente verdadeiro para o mercado de trabalho de segurança. Há muitas credenciais que os profissionais de segurança podem buscar para mostrar aos possíveis empregadores que suas habilidades são novas. As empresas freqüentemente procuram novos membros da equipe com certificações que provem que possuem expertise em áreas como o “lado técnico” da segurança de TI; Embora o conhecimento teórico seja obviamente importante, a prova de noções atualizadas e experiência prática é ainda mais valorizada.