Mommy Hackers em um trabalho oficial: O que os Pentesters fazem



"Pentester" - a palavra não é realmente russa, emprestada. O que vem à mente das pessoas que não são de TI, eu tenho medo de imaginar. Portanto, nós mesmos "na Rússia" orgulhosamente chamamos de "especialistas em testes de penetração". O que mais é "penetração" e por que deveria ser testada? Neste artigo, tentarei abrir o véu de sigilo para os não iniciados.

Existem grandes empresas nas quais "tios" respeitados trabalham. Eles são trabalhados por programadores que escrevem código e às vezes cometem erros. As causas dos erros são comuns: por estupidez, por preguiça ou por ignorância da tecnologia, e mais frequentemente por queimar peidos de prazos que não nos permitem pensar na lógica do aplicativo e cobrir o código com testes.

Em um produto de software, qualquer erro é uma vulnerabilidade em potencial. A vulnerabilidade já é um risco potencial. E o risco é meio ruim e você pode perder dinheiro (em geral, você pode perder muitas coisas: dados de clientes, propriedade intelectual, reputação, mas tudo isso é calculado em dinheiro).

E o que você acha? Os tios grandes decidem não apressar os programadores, levá-los para cursos de desenvolvimento seguros, dar tempo para aperfeiçoar o código e fazer uma massagem nos pés? Claro que não. Os tios grandes decidem aceitar esses riscos (reduzir, transferir, segurar e muitas outras palavras-chave). Em geral, os programas rodam - a lavekha está enlameada. Os hackers roubaram um pouco e tudo correu em um fluxo padrão, mas foi por enquanto.

Com o tempo, a quantidade de dados começou a crescer significativamente, a arrogância dos hackers cresceu ainda mais rapidamente. Os danos causados ​​pelos hackers começaram a exceder os limites aceitáveis. Além disso, os usuários começaram a perceber o valor de seus dados pessoais "muito importantes" e, em seguida, os "caras" se afastaram da política e começaram a girar (escutas telefônicas dos principais funcionários, interrupção da usina nuclear iraniana, fraude eleitoral, liberdade de expressão, direito à privacidade, direito ao esquecimento) e finalmente "armas cibernéticas"!).

Todos imediatamente entenderam que a segurança da informação não é para você "Khuhra-Mukhra".
Aqui, as pessoas mais respeitadas disseram que é claro que iriam aprisionar hackers do mal (que eles buscariam), mas todo mundo precisava de alguma forma ser responsável por suas atividades e tomar as medidas de segurança da informação necessárias. Eles deram instruções, atingiram com um martelo e fugiram.

Um ponto importante para o leitor: “negócios”, é claro, pode dizer que sua privacidade é muito importante para ele, os dados não serão repassados ​​a ninguém e todas as informações serão guardadas por uma pessoa especialmente treinada, mas, na verdade, isso é de pouca preocupação para alguém. Os principais motivadores para garantir a segurança da informação são as "avós", ou mais precisamente:

  • requisitos regulatórios (multas pesadas);
  • impedir que hackers roubem muito (pode levar à falência);
  • manter uma reputação (para que os usuários crédulos carreguem ainda mais o dinheiro da empresa).

Em geral, no início ninguém se preocupava muito, eles desenvolveram pedaços de papel inteligentes, compraram equipamentos certificados, contrataram especialistas certificados (ou melhor, compraram pedaços de papel por sua mediocridade), e tudo parecia seguro à primeira vista. Mas como todos entendem, um pedaço de papel na vida real não sai.

Mais uma vez, os “tios inteligentes” se reuniram e decidiram: para se defender de um atacante, você precisa pensar como um atacante. Não necessariamente por você, você pode formalizar esse processo, contratar pessoas especialmente treinadas "em jaquetas" e deixar que elas se invadam, e a saída será um novo pedaço de papel, mas já um "relatório técnico"!

Portanto, um "pentester" de maneira simples é alguém que imita o trabalho de um invasor real, testando a organização quanto à possibilidade de penetração (comprometimento) e obtendo acesso a ativos de informações (informações confidenciais).

Como testar? De onde Onde penetrar? Que informações obter? Quais são as limitações? - todos esses são detalhes previamente acordados.

Do lado de fora, parece que o trabalho é fácil e altamente remunerado, além do mercado não estar saturado de especialistas; portanto, a tendência está se formando: muitos estudantes querem se tornar "hackers legais" sentados em casa no sofá e pressionando algumas teclas, invadindo gigantes de TI. Mas é assim tão simples?

Experiência de vida


O Pentester não é apenas um testador, é melhor não ir para cá do banco da escola sem ter experiência em trabalhar como funcionário de uma empresa comum ou de uma empresa fornecedora .

Você deve seguir a escola da vida, exemplos:

  • explique ao contador que a impressora não está funcionando porque o fio não está conectado ao computador;
  • explique ao diretor financeiro da empresa que escrever uma senha em um adesivo em um computador é muito ruim;
  • instalar software com requisitos mínimos de 4Gb em um computador com 256 MB de RAM;
  • configurar a grade corporativa em roteadores domésticos para que tudo voe;
  • espere alguns meses para concordar em obter acesso a um sistema de informação simples;
  • desenvolva uma política de segurança da informação em alguns dias baixando "peixe" da Internet;
  • peça a Deus para compilar o programa e, sem alterar nada no código, obter sucesso;
  • para tornar o trabalho duas vezes mais rápido que o planejado e, em vez do prêmio, obtenha ainda mais trabalho;
  • etc.

Caso contrário, todo o seu relatório sem entender a prática real e a personalidade do cliente continuará sendo um belo pedaço de papel e as recomendações nunca serão cumpridas.

Geralmente, não é difícil encontrar um “buraco” em uma empresa milionésima, mas sem experiência de vida, será difícil analisar e quebrar completamente outros sistemas sem entender:

  • Como foi construído? (qualitativamente ou sob substâncias)
  • Porque assim? (preguiça, orçamento, condições, pessoal)
  • O que o desenvolvedor / arquiteto / networker pode perder?
  • Por que ninguém é responsável por invadir o sistema? (e acontece)
  • Por que ninguém deseja corrigir sua vulnerabilidade super importante? (e acontece)
  • Por que uma vulnerabilidade crítica não pode ser corrigida em algumas horas? (talvez as pessoas tenham terminado o dia de trabalho e ninguém pague pelo processamento)
  • Quão fácil é corrigir uma vulnerabilidade descoberta? (talvez exista suporte para terceirização expirada)
  • Etc.

Requisitos do Pentester


Os requisitos para esse especialista, é claro, diferem dos requisitos para um astronauta, não é necessário ser fisicamente resiliente; geralmente você não pode levantar do sofá por um longo tempo, mas existem algumas nuances.

Aqui estão exemplos de responsabilidades do trabalho:

  • Testes de penetração (pentest):
    • teste de penetração externa e interna;
    • análise de segurança de aplicativos da web;
    • análise de segurança de redes sem fio;
    • teste de penetração usando métodos de engenharia sociotécnica;
  • Testes de penetração como parte do padrão PCI DSS.
  • Desenvolvimento de relatórios e recomendações sobre os testes realizados.
  • Desenvolvimento próprio e desenvolvimento de competências do departamento na área de segurança da informação.

Requisitos de amostra:

  • A presença do ensino superior técnico no campo da segurança da informação.
  • Conhecimento em administração de sistemas * nix e Windows, servidores web.
  • Conhecimento de protocolos de rede (TCP / IP), tecnologias de segurança (802.1x), bem como as principais vulnerabilidades de protocolos de rede (arp-spoofing, ntlm-relay).
  • Conhecimento do trabalho de protocolos e tecnologias da web (http, https, soap, ajax, json, rest ...), bem como das principais vulnerabilidades da web (OWASP Top 10).
  • Conhecimento do mercado de produtos de segurança da informação (fabricantes, fornecedores, concorrentes, tendências de desenvolvimento, características da demanda, necessidades e expectativas dos clientes).
  • Compreendendo as tecnologias de segurança da informação (WAF, VPN, VLAN, IPS / IDS, DLP, DPI, etc.).
  • Experiência com os programas nmap, sqlmap, dirb, wireshark, arroto suite, Metasploit, Responder, Bloodhound.
  • Experiência com o Kali Linux OS.
  • Conhecimento das metodologias OWASP, PCI-DSS.
  • Experiência em desenvolvimento em Python, PHP, Ruby, bash, PowerShell, Java, C, Assembly.
  • Noções básicas sobre engenharia reversa.
  • O conhecimento de inglês não é inferior ao nível intermediário.
  • Conhecimento de chinês (aguarde em breve).

Plus:

  • Experiência em engenharia reversa e análise de malware.
  • Experiência na exploração de vulnerabilidades binárias.
  • Disponibilidade de certificados profissionais CEH, OSCP, OSCE, etc.
  • Participação em competições profissionais (CTF, hackathon, olimpíadas).
  • Participação em programas de Bug Bounty.
  • Tendo seu CVE.
  • Discurso em conferências profissionais.

De mim mesmo:

Nesse caso, poucas pessoas estão interessadas no gênio-sociófobo técnico; geralmente, uma pessoa de saída é necessária aqui, que pode:

  • explique ao cliente o que ele realmente deseja e como ele será;
  • apresentar e proteger corretamente suas ações e recomendações de forma escrita e verbal;
  • se for bem-sucedido, crie um "efeito uau";
  • em caso de falha, crie um “efeito uau” (as desvantagens do pentest são as vantagens da segurança da informação);
  • ser resistente ao estresse (faz calor, especialmente com trabalhos ocultos);
  • resolver tarefas no prazo, mesmo com projetos cruzados.
  • estar em uma tendência (ah, sim, estar em uma tendência é o "fardo" de todos os profissionais de TI):
    • [Você não pode simplesmente aceitar e não pensar em trabalho após o trabalho].
    • Precisa evoluir constantemente.
    • Leia salas de bate-papo em um telegrama, leia blogs estrangeiros, leia notícias, acompanhe o Twitter, leia Habr, assista a relatórios.
    • Aprenda novas ferramentas, acompanhe as alterações nos repositórios.
    • Participe de conferências, fale por si mesmo, escreva artigos .
    • Treine novos funcionários.
    • Ser certificado.
  • Não queime.

Filosofia Pentest


Não é preciso pensar que o pentest mostrará todos os problemas, que o resultado será uma avaliação objetiva da segurança da sua informação na empresa (produto).

O pentest mostra apenas o resultado que uma equipe de especialistas específicos em determinadas condições (hora, local, modelo de um invasor, competências, ações permitidas, restrições legislativas, prioridades, fase da lua ) pode obter ao simular o trabalho de um invasor.

Lembre-se: os criminosos não são invasores reais que podem combinar roubo, hackers, chantagens, suborno de funcionários, falsificação de documentos, influência e outros fatores humanos universais, tudo é coordenado aqui 100 vezes, a carga é controlada e tudo é conhecido.

Pentest também é sorte. Hoje você conseguiu extrair a senha do administrador da RAM e foi até o administrador do domínio para toda a rede corporativa, e amanhã ainda não está lá, e apenas o acesso não privilegiado (simples) irá para o relatório em um servidor antigo e ninguém interessante.

Diferenças de destinos próximos


Além dos "Pentesters", também existem "Redtimers", "Baghunters", "Pesquisadores", "Auditores", apenas especialistas em segurança da informação - tudo isso pode ser uma pessoa ou pessoas diferentes, apenas parcialmente sobrepostas em termos de competências. Mas tente "mastigar" estes termos um pouco:

"Auditor"


Esse especialista é fornecido com todos os documentos, diagramas de rede, configurações de dispositivos, com base nas quais são feitas conclusões e recomendações para a organização, de acordo com os melhores padrões e experiência do auditor. Devido à abertura de informações, fornece a maior cobertura para todos os processos de SI e uma visão holística de toda a infraestrutura.

O auditor raramente verifica independentemente cada configuração da organização, geralmente as informações são fornecidas pelo próprio cliente, às vezes desatualizadas ou incorretas.

É necessário combinar os esforços de auditores e advogados para verificar os dois pedaços de papel com os processos de negócios e sua implementação na prática.

"Pesquisador"


Pentester, na sua forma mais pura, não é um pesquisador, ele simplesmente não tem tempo para isso. Por pesquisador, quero dizer um especialista que pode levantar uma posição, implantar um software e examiná-lo apenas por várias semanas ou até meses.

Agora imagine que você está contratando um especialista para testar sua infraestrutura corporativa, e ele passou o tempo todo pesquisando o software "send Valentine's" instalado no computador de um dos funcionários. Mesmo se for bem-sucedido, você não está muito interessado nos resultados do trabalho dele.

Redimer


Redtim é uma filosofia de teste completamente diferente. Adequado para empresas com SI maduro, que já realizaram auditorias e protestos, além de todas as deficiências foram eliminadas.

Aqui, ele é o mais próximo de um invasor real, e o serviço de SI e os serviços aliados da organização ( SOC ...) já estão em verificação.

Diferenças do Pentest:

  • Apenas algumas pessoas sabem sobre o trabalho, o resto responderá em tempo real a ataques.
  • O trabalho é realizado secretamente - você pode atacar a partir de hosts de nuvem à noite.
  • Não é necessário fazer a cobertura do teste - você pode seguir o caminho de menor resistência e encontrar a senha no github.com.
  • Faixa de exposição mais ampla - 0 dia pode ser aplicado, fixado no sistema.
  • O trabalho é realizado por um longo período (vários meses, um ano), não requer pressa - é aqui que você pode se dar ao luxo de pesquisar a infraestrutura do cliente em estandes elevados para minimizar o uso de equipamentos de proteção.

Baghunter


Comparar um caçador de bagagens com um pentester é incorreto - é como quente com macio, um não interfere no outro. Mas para a separação, posso dizer que o pentester é mais uma posição, o trabalho envolve uma série de tarefas formais sob um contrato com o cliente de acordo com a metodologia estabelecida e com a formação de recomendações.

É suficiente para um caçador de bagagens encontrar um buraco em alguém (geralmente de uma lista no site) e enviar a prova de um erro (pré-condições, etapas).

Mais uma vez, não há acordos preliminares, nem aprovações - acabei de encontrar a vulnerabilidade e a enviei ao cliente pelo site (o site www.hackerone.com pode servir como exemplo do site). Você pode até ver como Petya fez isso na organização "A" e repeti-lo ali mesmo na organização "B". A competição aqui é alta, e "frutas baixas" são cada vez menores. É melhor considerá-lo como uma forma de renda adicional para o pentester.

A especificidade do pentest da empresa integradora


Esta seção pode parecer publicitária, mas você não se afasta dos fatos.

Cada pentest é único à sua maneira (embora a técnica possa ser estereotipada). Muitos fatores o tornam único, mas principalmente as pessoas, uma equipe de especialistas, cujo estilo é certamente influenciado pela empresa em que trabalha.

Assim, por exemplo, apenas o próprio Pentent é importante para uma empresa; seus resultados, eles ganham dinheiro apenas com isso. A segunda empresa deseja criar falhas específicas durante o teste para vender sua solução de proteção. O terceiro se concentra mais em processos de negócios interrompidos para levantar toda uma camada de problemas e propor medidas para resolvê-los.

Trabalhando em uma empresa integradora , falarei sobre os recursos de nossos protestos para clientes externos. A especificidade é que:

  • Não estamos interessados ​​em conduzir um pentest em prol de um pentest e alongá-lo por vários meses.
  • O trabalho é realizado no menor tempo possível, e os resultados visam identificar a imagem real da segurança das informações do cliente.
  • É necessário destacar os processos comerciais problemáticos de segurança da informação testando os principais pontos de infraestrutura. Portanto, se um sistema operacional desatualizado for detectado em 20 dos 20 computadores, qual é o sentido de mostrar outros 200? A cobertura total geralmente não é necessária e quem pode garantir isso?
  • De acordo com os resultados do teste, a empresa pode oferecer-se imediatamente para realizar uma auditoria, criar processos de negócios, propor medidas de proteção, implementá-las, acompanhar e monitorar. Na Rússia, poucas empresas podem se orgulhar de tal conjunto de oportunidades. Isso é conveniente quando todo o pacote de serviços pode ser fornecido por uma empresa com vasta experiência em tais projetos.

Do ponto de vista do funcionário, uma empresa integradora é uma infinidade de projetos de todos os tipos de trabalho com clientes pequenos e muito grandes em todo o país. É a presença de viagens de negócios na Rússia e no exterior. E, é claro, trabalhando lado a lado em uma equipe com auditores, implementação, engenheiros de manutenção, fornecedores, etc.

Dias úteis


Imagine que você já está trabalhando como pentester. Como serão seus dias úteis?

De segunda a sexta-feira, você realiza um "teste externo" do Cliente1 junto com um colega. O trabalho é realizado com base na experiência pessoal e em métodos internacionais, levando em consideração as especificidades do cliente. Você inicia scanners, compila um mapa, verifica com listas de verificação, corresponde a um colega sobre vulnerabilidades descobertas.

Ao mesmo tempo, outra equipe começa a telefonar para os funcionários do cliente, se passando por um serviço de segurança, enviando cartas formidáveis ​​com anexos maliciosos, alguém até sai para jogar pen drives e colocar cartazes no território do cliente.

Isso não é uma competição, nem sempre as vulnerabilidades interessantes são encontradas aqui, as pessoas nem sempre as senhas por telefone e os equipamentos de proteção nem sempre são configurados como "vazados"; portanto, apenas uma lista de trabalhos executados pode ir para o relatório, mas você não se preocupe, porque todos os protestos ensinam algo a você algo novo e mostra fatores humanos interessantes.

Algumas vezes após a difusão dos dados de entrada pelo cliente, a capacidade de manutenção dos serviços diminui e o trabalho é suspenso. Após ajustes nas restrições, eles continuam. Tudo está normal. Escreva um relatório.

Em seguida, você é designado ao "teste interno" do Cliente2 em uma viagem de negócios à cidade de N, um de seus colegas pode testar o aplicativo móvel. Após a chegada, você será escoltado para um escritório separado, para fornecer um local de trabalho. Você conecta calmamente o cabo de rede ao laptop e realiza um "teste interno", de acordo com o contrato estabelecido. Talvez você capture o controlador de domínio 3 horas após o início do trabalho através do ms17-010 e colete outros vetores pelo resto dos dias. Talvez você tenha tentado durante toda a semana "brincar" com a "delegação de autoridade Kerberos" em um par de contas recebidas. Os funcionários do IB certamente entrarão em contato com você e perguntarão o que encontraram. Depois de 15 minutos, você espera a pergunta: “Bem? Você conseguiu decifrar alguma coisa? ", Embora o nmap nem tenha" esquentado ". De qualquer forma, você geralmente tem algo para surpreender os guardas de segurança e, mesmo com uma conta da impressora, pode pegar backups do servidor Exchange. Relatórios adicionais, histórias sobre a "grande jornada" para colegas, surpresa do cliente, muitas recomendações e mais esclarecimentos, mas no final a empresa realmente começa a entender que a segurança é um processo, não uma medida única, e você ficará satisfeito com o trabalho realizado.

Então você é designado para uma equipe vermelha, dirige com um colega em um carro, estaciona ao lado do banco. Inicie um ataque ao Wi-Fi usando um laptop e uma antena especial. Você não é o GRU, não tem uma crosta, pode realmente "pegar um chapéu" dos guardas imprevisíveis, para que a antena fique oculta e você tenha uma lenda de que espera amigos.

Mas agora o handshake Wi-Fi corporativo é recebido, e seus colegas no escritório já o separaram e passaram pela Internet para a caixa de correio do gerente principal. É um sucesso. Coleta adicional de informações, relatórios, apresentações.

Além disso, durante a semana, você escreve scripts para otimizar parte do seu trabalho. Leia as notícias e teste as novas técnicas no estande. Paralelamente, os clientes antigos enviaram perguntas sobre o trabalho há um mês.

Algumas horas no sábado (os custos de processamento são pagos), o teste de carga é planejado para o cliente, você solta o site 10 minutos após o início e adivinha? Escreva um relatório sobre os resultados.

Em breve haverá um interessante protesto da ASU TP e uma viagem à conferência IS às custas da empresa. Você deixa cair uma lágrima de felicidade e insere aspas em um novo formulário da web.

Em conclusão


O tópico de pentests não é novo, eles escreveram muito sobre isso e de maneiras diferentes (você pode ler aqui e aqui ),
disciplinas apropriadas aparecem nas universidades, competições são organizadas, várias conferências são realizadas, mas a “fome” dos funcionários aumenta a cada ano. Além disso, a maturidade da segurança da informação de muitas empresas está aumentando, cada vez mais ferramentas de proteção de informações estão aparecendo e são necessárias competências altas e versáteis dos especialistas. Será útil para todo especialista em TI (para não mencionar especialistas em segurança da informação) participar de um verdadeiro teste pelo menos uma vez.

E, apesar do início da automação (um exemplo aqui ), é improvável que algo substitua uma pessoa viva e competente nos próximos dez anos.

Source: https://habr.com/ru/post/pt459712/


All Articles