Inexpressivelmente atraente: como criamos um haniot que não pode ser exposto

imagem
, - - — , « » . , : , . , , , . , , «Caught in the Act: Running a Realistic Factory Honeypot to Capture Real Threats». — .

: -


A principal tarefa na criação da nossa super armadilha foi impedir que fôssemos expostos por hackers que demonstrassem interesse nela. Para isso, tive que fazer muito trabalho:

  1. Crie uma lenda realista sobre a empresa, incluindo o nome e a foto dos funcionários, números de telefone e e-mails.
  2. Inventar e implementar um modelo de infraestrutura industrial que corresponda à lenda da nossa empresa.
  3. Decida quais serviços de rede estarão disponíveis fora, mas não se envolva na abertura de portas vulneráveis, para que não pareça uma armadilha para galeirões.
  4. Organize a aparência de vazamento de informações sobre o sistema vulnerável e divulgue essas informações entre os possíveis invasores.
  5. Implementar vigilância discreta de hackers na infraestrutura de armadilhas.

E agora, as primeiras coisas primeiro.

Criando uma legenda


Os cibercriminosos já estão acostumados ao fato de encontrar muitas manipulações; portanto, a parte mais avançada deles realiza um estudo aprofundado de cada sistema vulnerável para garantir que isso não seja uma armadilha. Pela mesma razão, nos esforçamos para alcançar não apenas o realismo do hanipot em termos de design e aspectos técnicos, mas também para criar a aparência de uma empresa real.

Colocando-nos no lugar de um hipotético kulhaker, desenvolvemos um algoritmo de verificação que distinguiria um sistema real de uma armadilha. Isso incluiu a pesquisa de endereços IP da empresa em sistemas de reputação, a pesquisa reversa do histórico de endereços IP, a pesquisa de nomes e palavras-chave relacionados à empresa, bem como suas contrapartes e muitas outras coisas. Como resultado, a lenda acabou sendo bastante convincente e atraente.

Decidimos posicionar a fábrica de armadilhas como uma pequena boutique de prototipagem industrial, trabalhando para grandes clientes anônimos do segmento militar e de aviação. Isso eliminou as dificuldades legais associadas ao uso de uma marca existente.

Em seguida, tivemos que ter uma visão, missão e nome da organização. Decidimos que nossa empresa seria uma startup com um pequeno número de funcionários, cada um dos quais fundador. Isso agregou credibilidade à lenda da especialização de nossos negócios, o que lhe permite trabalhar com projetos delicados para clientes grandes e importantes. Queríamos que nossa empresa parecesse fraca em termos de segurança cibernética, mas ao mesmo tempo era óbvio que estávamos trabalhando com ativos importantes nos sistemas de destino.

imagem
Captura de tela do site MeTech Hanipot. Fonte: Trend Micro.

Escolhemos a palavra MeTech como o nome da empresa. O site foi criado com base em um modelo gratuito. As imagens foram tiradas de bancos de fotos, usando as mais impopulares e refinadas para torná-las menos reconhecíveis.

Como queríamos que a empresa parecesse real, tivemos que adicionar funcionários com habilidades profissionais correspondentes ao perfil do negócio. Criamos nomes e personalidades para eles e, em seguida, tentamos selecionar imagens de bancos de fotos de acordo com sua etnia.

imagem
Captura de tela do site MeTech Hanipot. Fonte: Trend Micro

Para não nos revelar, procurávamos fotos de grupo de boa qualidade, nas quais podíamos escolher os rostos de que precisávamos. No entanto, abandonamos essa opção, pois um potencial cracker poderia tirar proveito da pesquisa reversa de imagens e descobrir que nossos "funcionários" vivem apenas em bancos de fotos. No final, aproveitamos as fotografias de pessoas inexistentes criadas usando redes neurais.

Os perfis de funcionários publicados no site continham informações importantes sobre suas habilidades técnicas, mas evitamos as instruções de instituições e cidades educacionais específicas.
Para criar caixas de correio, usamos o servidor do provedor de hospedagem e alugamos vários números de telefone nos EUA e os combinamos em uma central telefônica virtual com um menu de voz e uma secretária eletrônica.

Infraestrutura Hanipot


Para evitar ser exposto, decidimos usar uma combinação de equipamentos industriais reais, computadores físicos e máquinas virtuais seguras. Olhando para o futuro, dizemos que verificamos o resultado de nossos esforços usando o mecanismo de busca Shodan, e ele mostrou que o hanipot parece um sistema industrial real.

imagem
O resultado da digitalização de um hanipot usando Shodan. Fonte: Trend Micro.

Utilizamos quatro PLCs como hardware para nossa armadilha:

  • Siemens S7-1200,
  • dois AllenBradley MicroLogix 1100,
  • Omron CP1L.

Esses PLCs foram selecionados por sua popularidade no mercado global de sistemas de controle. E cada um desses controladores usa seu próprio protocolo, o que nos permite verificar quais PLCs atacarão com mais frequência e se interessarão a alguém em princípio.

imagem
O equipamento da nossa armadilha de "fábrica". Fonte: Trend Micro

Não colocamos apenas pedaços de ferro e os conectamos à Internet. Programamos cada controlador para executar tarefas, entre as quais

  • mistura
  • controle de queimador e correia transportadora,
  • paletização usando um braço robótico.

E para tornar o processo de produção realista, programamos a lógica para alterar aleatoriamente os parâmetros de feedback, simular a partida e a parada dos motores, ligando e desligando o queimador.

Nossa fábrica tinha três computadores virtuais e um físico. As máquinas virtuais foram usadas para controlar a planta, o robô de paletização e como local de trabalho automatizado do engenheiro de software PLC. O computador físico funcionou como um servidor de arquivos.

Além de monitorar ataques no PLC, queríamos monitorar o status dos programas baixados para nossos dispositivos. Para isso, criamos uma interface que nos permitiu determinar rapidamente como os estados de nossos atuadores e instalações virtuais foram modificados. Já no estágio de planejamento, descobrimos que é muito mais fácil implementá-lo com a ajuda de um programa de controle do que através da programação direta da lógica do controlador. Abrimos o acesso à interface de gerenciamento de dispositivos do nosso hanipot via VNC sem senha.

Os robôs industriais são um componente-chave da moderna fabricação inteligente. Nesse sentido, decidimos adicionar um robô e AWP para controlá-lo no equipamento de nossa armadilha de fábrica. Para tornar a "fábrica" ​​mais realista, instalamos software real no controle AWP, que os engenheiros usam para programar graficamente a lógica do robô. Bem, como os robôs industriais geralmente estão localizados em uma rede interna isolada, decidimos deixar o acesso VNC desprotegido apenas ao gerenciamento da estação de trabalho.

imagem
Ambiente RobotStudio com um modelo 3D do nosso robô. Fonte: Trend Micro

Em uma máquina virtual com uma estação de trabalho de controle de robô, instalamos o ambiente de programação RobotStudio da ABB Robotics. Depois de configurar o RobotStudio, abrimos nele um arquivo de simulação com o nosso robô, para que sua imagem 3D fosse visível na tela. Como resultado, Shodan e outros mecanismos de pesquisa, tendo descoberto um servidor VNC desprotegido, receberão essa imagem da tela e a mostrarão para aqueles que procuram robôs industriais com acesso aberto ao controle.

O significado dessa atenção aos detalhes era criar um objetivo atraente e mais realista para os atacantes que, depois de descobri-lo, voltariam a ele de novo e de novo.

Engenheiro AWP


Para programar a lógica do PLC, adicionamos um computador de engenharia à infraestrutura. Foi instalado um software industrial para programação de PLC:

  • Portal TIA para Siemens,
  • MicroLogix para controlador Allen-Bradley,
  • CX-One para Omron.

Decidimos que a estação de trabalho de engenharia não estaria acessível fora da rede. Em vez disso, definimos a mesma senha para a conta de administrador e nas estações de trabalho do controle do robô e nas estações de trabalho da fábrica acessíveis pela Internet. Essa configuração é bastante comum em muitas empresas.
Infelizmente, apesar de todos os nossos esforços, nenhum invasor chegou ao AWP do engenheiro.

Servidor de arquivos


Precisávamos disso como um engodo para invasores e como meio de fazer backup de nosso próprio "trabalho" em uma fábrica de armadilhas. Isso nos permitiu compartilhar arquivos com nosso haniot usando dispositivos USB, sem deixar vestígios na armadilha da rede. Como sistema operacional do servidor de arquivos, instalamos o Windows 7 Pro, no qual tornamos uma pasta compartilhada acessível para leitura e gravação para qualquer pessoa.

Inicialmente, não fizemos nenhuma hierarquia de pastas e documentos no servidor de arquivos. No entanto, verificou-se que os invasores estavam estudando ativamente essa pasta, então decidimos preenchê-la com vários arquivos. Para fazer isso, escrevemos um script python que criou um arquivo de tamanho aleatório com uma das extensões especificadas, formando um nome com base no dicionário.

imagem
Um script para gerar nomes de arquivos atraentes. Fonte: Trend Micro

Após executar o script, obtivemos o resultado desejado na forma de uma pasta cheia de arquivos com nomes muito interessantes.

imagem
O resultado do script. Fonte: Trend Micro

Ambiente de monitoramento


Tendo investido tanto esforço na criação de uma empresa realista, simplesmente não nos podíamos dar ao luxo de nos injetar no ambiente para monitorar nossos “visitantes”. Tivemos que obter todos os dados em tempo real para que os invasores não percebessem que estavam sendo observados.

Implementamos isso usando quatro adaptadores USB-Ethernet, quatro acopladores SharkTap Ethernet, Raspberry Pi 3 e uma grande unidade externa. O esquema de nossa rede era assim:

imagem
Esquema de uma rede hanipot com equipamento de monitoramento. Fonte: Trend Micro

Organizamos três torneiras SharkTap para monitorar todo o tráfego externo para PLCs acessíveis apenas a partir da rede interna. O quarto SharkTap rastreou o tráfego de convidados da máquina virtual vulnerável.

imagem
Acoplador SharkTap Ethernet e roteador Sierra Wireless AirLink RV50. Fonte: Trend Micro

Raspberry Pi realizou captura diária de tráfego. Estabelecemos uma conexão com a Internet usando o roteador celular Sierra Wireless AirLink RV50, geralmente usado em empresas industriais.

Infelizmente, este roteador não permitiu o bloqueio seletivo de ataques que não atendiam aos nossos planos, portanto adicionamos à rede o firewall Cisco ASA 5505 de modo transparente à rede para executar o bloqueio com um impacto mínimo na rede.

Análise de tráfego


Tshark e tcpdump são apropriados para resolver rapidamente os problemas atuais, mas, no nosso caso, seus recursos não eram suficientes, pois tínhamos muitos gigabytes de tráfego, que foram analisados ​​por várias pessoas. Utilizamos o analisador de código aberto Moloch desenvolvido pela AOL. Em termos de funcionalidade, é comparável ao Wireshark, mas possui mais recursos para colaboração, descrição e marcação de pacotes, exportação e outras tarefas.

Como não queremos processar os dados coletados nos computadores hanipot, os dumps de PCAP foram exportados diariamente para o repositório da AWS, de onde já os importamos para a máquina com Moloch.

Gravação de tela


Para documentar as ações dos crackers em nosso hanipot, escrevemos um script que tirava capturas de tela da máquina virtual em um determinado intervalo e, comparando com a captura de tela anterior, determinava se algo estava acontecendo lá ou não. Quando a atividade foi detectada, o script incluiu uma gravação de tela. Essa abordagem provou ser a mais eficaz. Também tentamos analisar o tráfego VNC do dump PCAP para entender quais mudanças ocorreram no sistema, mas, no final, a gravação da tela que implementamos acabou sendo mais simples e visual.

Monitorando sessões VNC


Para isso, usamos o Chaosreader e o VNCLogger. Ambos os utilitários extraem pressionamentos de tecla do dump PCAP, mas o VNCLogger manipula teclas como Backspace, Enter, Ctrl mais corretamente.

O VNCLogger tem duas desvantagens. Primeiro: ele só pode extrair chaves “ouvindo” o tráfego na interface, então tivemos que simular uma sessão VNC para ela usando tcpreplay. A segunda desvantagem do VNCLogger é comum no Chaosreader: ambos não mostram o conteúdo da área de transferência. Para fazer isso, eu tive que usar o Wireshark.

Atrair hackers


Criamos um hanipot para ser atacado. Para conseguir isso, organizamos um vazamento de informações projetado para atrair a atenção de possíveis crackers. As seguintes portas foram abertas no hanipot:

imagem

A porta RDP teve que ser fechada logo após o início do trabalho, porque devido à enorme quantidade de tráfego de varredura em nossa rede, houve problemas de desempenho.
Os terminais VNC trabalharam primeiro no modo "somente visualização" sem uma senha e, em seguida, "por engano" os mudamos para o modo de acesso total.

Para atrair os atacantes, postamos duas postagens com informações vazadas sobre o sistema industrial disponível no PasteBin.

imagem
Uma das postagens publicadas no PasteBin para atrair ataques. Fonte: Trend Micro

Ataques


Os Hanipot viveram on-line por cerca de sete meses. O primeiro ataque ocorreu um mês após o lançamento do Hanipot online.

Scanners

Havia muito tráfego de scanners de empresas conhecidas - ip-ip, Rapid, Shadow Server, Shodan, ZoomEye e outros. Havia tantos deles que tivemos que excluir seus endereços IP da análise: 610 de 9452 ou 6,45% de todos os endereços IP exclusivos pertenciam a scanners completamente legítimos.

Fraudadores

Um dos maiores riscos que tivemos de enfrentar foi o uso de nosso sistema para fins criminosos: comprar smartphones por meio de uma conta do assinante, dinheiro fora milhas aéreas com cartões de presente e outros tipos de fraude

Mineiros

Um dos primeiros visitantes do nosso sistema acabou sendo um mineiro. Ele enviou o software de mineração Monero para ele. Ele não teria conseguido ganhar muito em nosso sistema específico devido à baixa produtividade. No entanto, se combinarmos os esforços de várias dezenas ou mesmo centenas desses sistemas, pode resultar muito bem.

Extorsionistas

Durante a operação do hanipot, encontramos duas vezes vírus de ransomware reais. No primeiro caso, foi Crysis. Seus operadores efetuaram logon no sistema através do VNC, mas instalaram o TeamViewer e já executaram outras ações com ele. Depois de esperar por uma mensagem de ransomware exigindo um resgate de US $ 10.000 no BTC, entramos em correspondência com os criminosos, pedindo que eles descriptografassem um dos arquivos para nós. Eles atenderam à solicitação e repetiram a demanda de resgate. Conseguimos negociar até 6 mil dólares, após o que simplesmente recarregamos o sistema em uma máquina virtual, porque obtivemos todas as informações necessárias.

O segundo ransomware foi o Phobos. O hacker que o instalou por uma hora examinou o sistema de arquivos do hanipot e examinou a rede e ainda instalou o ransomware.
O terceiro ataque de ransomware acabou sendo falso. Um "hacker" desconhecido baixou o arquivo haha.bat para o nosso sistema, após o qual assistimos por algum tempo como ele estava tentando fazê-lo funcionar. Uma tentativa foi renomear haha.bat para haha.rnsmwr.

imagem
"Hacker" aumenta a nocividade do arquivo bat, alterando sua extensão para .rnsmwr. Fonte: Trend Micro

Quando o arquivo em lote finalmente começou a ser executado, o hacker o editou, aumentando o resgate de US $ 200 para US $ 750. Depois disso, ele "criptografou" todos os arquivos, deixou uma mensagem de ransomware na área de trabalho e desapareceu, alterando as senhas em nosso VNC.

Depois de alguns dias, o hacker voltou e, para se lembrar, lançou um arquivo em lotes, que abriu muitas janelas com um site pornô. Aparentemente, dessa maneira, ele tentou chamar a atenção para sua demanda.

Sumário


Durante o estudo, descobriu-se que, assim que as informações sobre a vulnerabilidade foram publicadas, o hanipot atraiu a atenção e a atividade cresceu dia a dia. Para que a armadilha atraísse a atenção, tivemos que cometer muitas violações de segurança de nossa empresa fictícia. Infelizmente, essa situação está longe de ser rara entre muitas empresas reais que não possuem pessoal de TI e segurança da informação em tempo integral.

No caso geral, as organizações devem usar o princípio do menor privilégio, enquanto implementamos exatamente o oposto para atrair invasores. E quanto mais assistimos aos ataques, mais sofisticados eles se tornaram em comparação aos métodos de teste de penetração padrão.

E o mais importante: todos esses ataques falhariam se medidas de segurança adequadas fossem implementadas ao configurar a rede. As organizações devem garantir que seus equipamentos e componentes de infraestrutura industrial não sejam acessíveis pela Internet, como fizemos especificamente em nossa armadilha.

Embora não tenhamos registrado um único ataque na estação de trabalho do engenheiro, apesar de usar a mesma senha de administrador local em todos os computadores, devemos evitar essa prática para minimizar a possibilidade de invasores. De fato, a falta de segurança serve como um convite adicional para atacar sistemas industriais que há muito interessam os criminosos cibernéticos.

All Articles