Você pode ter notado que adoramos um bom roubo de ATM. Não a ponto de nos tornarmos cibercriminosos, mas se algum hacker o faz, entramos em cena para investigar o caso. No SAS de 2017, principal evento de cibersegurança do ano, os especialistas da Kaspersky Lab Sergey Golovanov e Igor Soumenkov falaram de três casos interessantes.
ATMitch – malware de controle remoto
O caixa eletrônico esvaziou do nada. A equipe do banco não descobriu qualquer arquivo malicioso, impressões digitais estranhas ou qualquer interação física com a máquina, nenhuma placa de circuito adicional ou outros dispositivos que pudessem ser usados para tomar o controle do terminal.
O que encontraram foi um arquivo, kl.txt. Imaginaram que “kl” podia ter algo a ver conosco – você sabe, a Kaspersky Lab – por isso, entraram em contato e começamos a investigar o caso.
Nosso ponto de partida foi o arquivo. Baseado nos conteúdos de registro, criamos uma regra YARA (ferramenta de pesquisa de ameaças). Basicamente, foi composta uma solicitação de busca por repositórios públicos de malware. Ela foi usada para encontrar a amostra original do malware, e depois de um dia, chegaram os resultados: uma DLL chamada tv.dll, que até o momento tinha sido avistada duas vezes, na Rússia e no Cazaquistão. Era o suficiente para começar a desatar esse nó.
Uma análise detalhada viabilizou a aplicação de engenharia reversa por parte de nossos pesquisadores, permitindo o entendimento de como o ataque era executado e até reproduzi-lo em um ATM com dinheiro falso no nosso laboratório de testes. Eis nossas descobertas.
ATMitch em ação
O ataque teve origem com os bandidos explorando uma vulnerabilidade conhecida e não corrigida, que permitiu a entrada no servidor do banco alvo. (Já mencionamos que atualizar softwares é fundamental? Esse caso demonstra o porquê).
Eles usaram código fonte aberto e ferramentas públicas para infectar o banco, mas o malware criado estava escondido na memória do computador, não em qualquer disco rígido. Não havia arquivos, de modo que o ataque era extremamente difícil de ser detectado – basicamente invisível para soluções de segurança. Ainda pior: quase todos os rastros da ameaça somem depois que o sistema é reiniciado.
Os bandidos estabeleceram então, uma conexão com seu servidor de comando e controle, e isso os permitiu instalar remotamente softwares nos ATMs.
#ATMITCH criminals leave the nicest notes for #security researchers… #banking #malware #ATM #TheSAS2017 pic.twitter.com/SDgOFBTxFT
— Kaspersky (@kaspersky) April 3, 2017
O ATMitch foi instalado e executado na máquina usando comandos remotos. Parecida com uma atualização legítima, não alarmou nenhuma das soluções de segurança do banco. Depois disso, o malware começa a procurar por um arquivo chamado command.txt. Ele contém comandos de apenas uma letra que controlam o ATM. Por exemplo, “o” serve para “abrir a bandeja de dinheiro”.
Essa é a parte que o roubo de fato começa. O malware inicia com um comando que exibe a quantidade de dinheiro no ATM, seguido por outro que libera as notas. Na hora que a ordem é enviada, os criminosos já estão no local para pegar o dinheiro.
Os criminosos tentaram não deixar vestígios e não havia executáveis no disco rígido do ATM. Após a retirada do dinheiro, o ATMitch registrava toda informação acerca da operação nos arquivos e apagava o command.txt. Uma nota importante: o programa poderia ser instalado na grande maioria das máquinas desse tipo – a única necessidade é que o alvo conseguisse suportar uma biblioteca XFS, o que se aplica a maioria dos terminais.
Você pode encontrar mais informações sobre o malware ATMitch no Securelist.
Bl@ckb0x_m@g1k – um truque simples e esperto
O próximo caso também tem início com um pedido de um banco. Os registros do ATM também foram limpos. O HD estava intacto e o hacker tampou as câmeras de segurança com fita adesiva.
Pedimos que o banco nos desse o ATM para análise. Nós o desmontamos e fizemos uma descoberta incrível – um adaptador bluetooth conectado à uma porta USB. No HD, encontramos drivers de um teclado Bluetooth.
A partir daí, reconstruir o roubo foi simples. Alguém instala o adaptador bluetooth no equipamento e espera até três meses para a limpeza dos registros. Então, o criminoso volta com um teclado Bluetooth, cobre as câmeras de segurança, usa o teclado para reiniciar o ATM em modo de serviço, e finalmente, executa a operação de esvaziar o caixa. Pronto, simples assim.
Por que é tão fácil hackear caixas eletrônicos? | https://t.co/vUggydjDxV #ATM pic.twitter.com/aogS6tzT91
— Kaspersky Brasil (@Kasperskybrasil) December 16, 2016
A broca
Algumas soluções, como malwares de controle remoto e um teclado Bluetooth parecem um pouco mais elegantes. Não podemos dizer isso do próximo caso.
A história começa como as outras: um banco entra em contato conosco para investigar mais um roubo em ATM. Dessa vez, a investigação descobriu evidências de intervenção física: um buraco perfeitamente circular de 4 cm de diâmetro próximo ao teclado. E nada mais. Esses terminais parecem robustos, mas possuem partes plásticas, facilmente perfuráveis.
Em pouco tempo, esse tipo de caso se espalhou pela Rússia e pela Europa. Quando a polícia capturou um suspeito com um laptop e fios, tudo ficou mais claro.
Como mencionamos, temos um ATM no nosso laboratório. Ao desmontá-lo conseguimos descobrir o que o criminoso queria acessar pelo buraco. Encontramos um componente que conectava basicamente todos os demais – do computador interno à saída de dinheiro.
Também encontramos criptografia que foi extremamente fácil de quebrar.
Recapitulando: uma parte do ATM poderia controlar todas as outras, não há sistema de autenticação entre esses componentes (de modo que qualquer uma poderia ser substituída sem gerar alarde), e os comandos usados para fazer isso eram muito fáceis de entender. Isso não soa nada seguro não é mesmo?
Uma placa capaz de controlar um ATM não custa mais de 15 dólares, além de não levar muito tempo para ser fabricada. Ao utilizá-la, conseguimos fazer com que nosso terminal de testes emitisse dinheiro. Provavelmente, criminosos fizeram a mesma coisa com o banco. A única diferença é que precisaram de um laptop.
Notificamos o banco sobre nossas descobertas, mas o problema aqui, como Igor Soumenkov apontou, é que os ATMs não podem ser atualizados remotamente. As correções demandam mudanças no hardware, ou seja, uma visita técnica ao terminal – o problema: existem muitos desses por aí.
E daí?
No fim das contas, se você não for funcionário de um banco, nenhuma das situações acima muda sua vida. Todas são problemas da instituição financeira, não seus. Contudo, caso seja bancário e tenha influência na proteção dos ATMs, podemos auxiliá-lo no combate ao ATMitch, detectado por todas as soluções da Kaspersky Lab. Claro que não temos nenhum protocolo contra brocas.