Lembra-se do Dieselgate, o escândalo em que certos veículos a diesel detectavam um teste de emissões e rodavam de forma mais limpa, “trapaceando” o teste? Traingate pode apenas colocar isso em perspectiva. Contaremos a história desde o início, mas preparem-se para um passeio selvagem e surpreendente. Tudo começa com os trens poloneses passando por uma revisão de manutenção. Esses trens foram construídos pela Newag, que licitou o contrato de manutenção, mas o contrato foi vencido por outra empresa, a SPS. Esse tipo de revisão envolve dividir cada trem em seus componentes, inspecionar, lubrificar, etc., e montar tudo novamente. O primeiro trem passou por esse processo, foi totalmente remontado e depois recusou-se a se mover. Depois de esgotar todas as medidas convencionais de solução de problemas, o SPS trouxe os hackers.
Dragon Sector é um grupo de pesquisa polonês que ganhou atenção mundial por trabalhar na segurança do BIOS do laptop Toshiba. E acontece que esse era o grupo perfeito para o trabalho. Desde a montagem do hardware até a melhoria do suporte do Ghidra para a arquitetura Infineon TriCore, muito trabalho foi feito para conseguir uma posição segura nos sistemas do trem. Mas finalmente eles puderam fazer despejos de memória e comparar o trem quebrado com os que estavam funcionando. Havia um conjunto de sinalizadores de configuração que pareciam conter a chave. Mas este trem em particular era extremamente necessário em serviço. Então a Newag, o fabricante original, foi finalmente contatada para concluir a manutenção e fazer o trem voltar a funcionar. Os hackers, entretanto, não são nada senão persistentes. Depois de passar a noite toda e com literalmente alguns minutos de sobra, Dragon Sector foi capaz de sobrescrever a memória do trem quebrado com uma configuração válida, e mais uma vez ganhou vida.
Até agora, nada aqui parece suspeito. As verificações de inicialização após a manutenção podem facilmente dar errado, levando a esse tipo de situação. Mas o Dragon Sector continuou cavando, refinando suas ferramentas e descobrindo mais segredos do firmware do trem. E o que eles descobriram foi surpreendente. Em primeiro lugar estavam as coordenadas GPS, correspondentes a todos os pátios ferroviários na Polónia capazes de fazer este tipo de revisão de manutenção. Se um trem ficasse estacionado dentro de qualquer pátio de manutenção, exceto o de Newag, por mais de 10 dias, a bandeira seria acionada e o trem seria desativado. É difícil ver esse “recurso” como algo que não seja uma tentativa flagrante de bloquear qualquer trem que não tenha retornado a Newag para manutenção. Mas espere, tem mais.
A substituição de certos componentes levaria a quebras semelhantes, até que um código de trapaça não documentado fosse inserido no console principal do computador do trem. Em outro caso, um trem quebraria depois de percorrer um milhão de quilômetros. Ainda outro trem estava programado para quebrar devido a um compressor defeituoso em uma determinada data – e um erro de programação atrasou essa falha até um ano depois. Ao todo, a Dragon Sector analisou 29 trens em toda a Polônia e encontrou essas pequenas surpresas maravilhosas em 24 deles. Através do CERT Polska da Polónia, as agências responsáveis pela aplicação da lei foram notificadas sobre este caso.
Em resposta, Newag acusou Dragon Sector de calúnia e crimes informáticos, além de serem ameaças à segurança ferroviária. Tudo o que podemos dizer é que esperamos que uma investigação aprofundada estabeleça a verdade do caso e responsabilize os verdadeiros criminosos.
É sempre DNS
Já se perguntou como um servidor DNS obtém atualizações sobre nomes DNS? Acontece que existem algumas maneiras. Uma delas é que os clientes enviem atualizações diretamente, anunciando seu nome DNS e endereço IP. As atualizações dinâmicas de DNS são suportadas em vários servidores DNS, incluindo o Active Directory (AD), e em praticamente todas as implementações isso tem uma implementação de segurança razoável. Por outro lado, também há atualizações de DNS enviadas como parte de uma solicitação DHCP. E aqueles… tem problemas.
Este artigo é muito focado no Active Directory, mas não nos surpreenderia encontrar um problema semelhante em outros servidores DHCP. Ou seja, a atualização do DNS não é autenticada. Qualquer dispositivo que receba um endereço IP pode solicitar um nome DNS ao mesmo tempo. A forma como isso funciona em um ambiente de servidor Microsoft é que o serviço DNS usa suas próprias credenciais para encaminhar a atualização de DNS para o servidor DNS. Se forem dois servidores separados e o nome já estiver registrado diretamente por outro host, a atualização falhará. Mas um nome não reivindicado, ou mesmo o próprio nome do servidor DHCP, estão em jogo. E no caso dos serviços DNS e DHCP executados no mesmo servidor, praticamente qualquer nome DNS está em jogo. E em um ambiente AD, isso permite todos os tipos de ataques adicionais à autenticação.
Esses problemas foram relatados à Microsoft, que os considera problemas conhecidos, que não merecem uma correção de segurança. Vale a pena conhecê-los ao construir uma rede AD. Para nos ajudar a evitar problemas, a Akamai escreveu Invocar-DHCPCheckup como uma ferramenta do PowerShell para verificar problemas.
Faça o slide JMP
Existe uma técnica usada ao escrever exploits, o slide NOP. É uma série de comandos No Operation seguidos pelo shellcode de destino. A ideia é que uma vulnerabilidade salte para algum lugar nesta área de memória controlada pelo invasor, mas o destino exato pode variar. Isso é usado com tanta frequência que blocos de 0x90 nos dados são um dos sinais de que pode ser malicioso. há um problema com o slide do NOP, pois pode levar mais tempo do que você deseja para passar por todas as instruções do NOP para chegar ao suculento shellcode. E é aí que o slide JMP entra em ação.
A base é que sabemos quantos bytes restam no slide, para que possamos usar as instruções JMP para ir direto para a carga útil. Isso é ótimo, exceto pelo alinhamento. Ou seja, o código de máquina x86 mistura livremente instruções e argumentos. Se você não sabe exatamente onde a instrução irá parar no seu buffer, como saber se está prestes a executar um jmp ou executar o deslocamento como uma instrução? Existem algumas maneiras óbvias de abordar isso, como usar valores 0x90 como argumento para o JMP, seguido por uma zona de deslizamento NOP muito menor para capturar o JMP.
Esse também é um pouco desafiador, porque o comando JMP é baseado em deslocamentos que podem ser positivos ou negativos, e 0x90 é um deslocamento negativo. Isso pode funcionar, mas toda a carga útil do shellcode precisa ser construída de trás para frente para gerenciá-la. Existe uma outra opção, os opcodes JCC de salto condicional. Estes são 0x70-0x7F em código de máquina, que conseguem ser deslocamentos positivos. O único problema é que esses saltos estão condicionados a um valor de registro, que é desconhecido. A solução final é usar o opcode Jump if Greater duas vezes, seguido pelo opcode Jump if Less ou Equal duas vezes. Ambos são compensações positivas e fazem progresso constante através do slide JMP para eventualmente pousar em um pequeno slide NOP para finalmente executar o shellcode. Esperto!
Bits e bytes
Depois de ser demitido, pode ser tentador queimar suas pontes na saída. Se isso inclui limpar repositórios de código, excluir arquivos de log, levar para casa código proprietário, roubar um laptop de trabalho e se passar por colegas… talvez não. Um engenheiro de software do First Republic Bank simplesmente não resistiu à tentação e cumprirá dois anos de prisão, três anos de liberdade condicional e pagará US$ 529,000 mil em indenização por danos. Definitivamente não vale a pena.
E para lembrar por que nem tudo precisa estar conectado à rede ou à Internet, consulte as consequências de um ataque cibernético à Kyivstar na Ucrânia. Este provedor de telefone e Internet foi desativado na terça-feira, no que parece ser um ataque devastador de limpeza de dados. Bancos e lojas estão fechados devido à falha no processamento de pagamentos, e pelo menos uma cidade teve que desconectar manualmente as luzes da rede elétrica, porque o controlador do software foi desativado como subproduto do ataque. Talvez os antigos temporizadores mecânicos fossem melhores, afinal.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- :tem
- :é
- :não
- :onde
- $UP
- 000
- 10
- 24
- 29
- a
- Capaz
- Sobre
- Conta
- acusado
- em
- ativo
- Active Directory
- Ad
- ad rede
- endereço
- Publicidade
- Depois de
- novamente
- agências
- Akamai
- alinhamento
- Todos os Produtos
- permite
- já
- tb
- sempre
- an
- e
- Outro
- qualquer
- nada
- aparece
- abordagem
- arquitetura
- SOMOS
- ÁREA
- argumento
- argumentos
- AS
- At
- ataque
- Ataques
- tentativa
- por WhatsApp.
- autenticado
- Autenticação
- em caminho duplo
- Mau
- seriamente
- Bank
- bancos
- baseado
- base
- BE
- Porque
- sido
- Começo
- ser
- Melhor
- oferta
- Pouco
- BleepingComputer
- Blocos
- ambos
- Break
- Breakdown
- Quebra
- pontes
- Quebrado
- Trazido
- amortecer
- Prédio
- construído
- queimar
- mas a
- by
- veio
- CAN
- capaz
- casas
- luta
- certo
- desafiar
- verificar
- Cheques
- Cidades
- limpador
- clientes
- fechado
- código
- como
- vem
- Empresa
- comparar
- completar
- componentes
- computador
- Configuração
- conectado
- Considerar
- cônsul
- contract
- controlador
- convencional
- Correspondente
- poderia
- Casal
- Credenciais
- Os criminosos
- Ataque cibernético
- dados,
- Data
- dias
- definitivamente
- Atrasado
- destino
- descobrir
- devastador
- dispositivo
- diesel
- diretamente
- inválido
- dns
- do
- fazer
- feito
- não
- down
- dragão
- dois
- dinâmico
- cada
- facilmente
- emissões
- aplicação
- engenheiro
- Todo
- Meio Ambiente
- igual
- erro
- estabelecer
- etc.
- Mesmo
- eventualmente
- Cada
- tudo
- exatamente
- Exceto
- executar
- façanhas
- FALHA
- fallout
- longe
- Arquivos
- final
- Finalmente
- Encontre
- demitido
- Primeiro nome
- Fixar
- bandeiras
- focado
- seguido
- Escolha
- para a frente
- encontrado
- livremente
- da
- totalmente
- mais distante
- ganhou
- ter
- obtendo
- GitHub
- dado
- Go
- gps
- disputa
- ótimo
- maior
- Grade
- Grupo
- hackers
- tinha
- mão
- acontece
- Queijos duros
- Hardware
- Ter
- ajudar
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- batendo
- segurar
- Início
- esperança
- hospedeiro
- Como funciona o dobrador de carta de canal
- Contudo
- HTML
- HTTPS
- idéia
- if
- implementação
- melhorar
- in
- Em outra
- inclui
- Incluindo
- Infineon
- dentro
- instruções
- Internet
- para dentro
- investigação
- envolve
- IP
- Endereço IP
- questões
- IT
- ESTÁ
- se
- Trabalho
- jpg
- saltar
- saltos
- apenas por
- Guarda
- manteve
- Chave
- Saber
- Conhecimento
- conhecido
- Terreno
- laptop
- mais tarde
- Escritórios de
- aplicação da lei
- conduzir
- principal
- mínimo
- esquerda
- menos
- vida
- como
- literal
- pequeno
- log
- mais
- olhou
- lote
- máquina
- a Principal
- manutenção
- fazer
- gerencia
- gestão
- manualmente
- Fabricante
- muitos
- Posso..
- talvez
- medidas
- mecânico
- Memória
- Microsoft
- milhão
- minutos
- mistura
- mais
- mover
- muito
- múltiplo
- nome
- nomeadamente
- nomes
- necessário
- Cria
- negativo
- rede
- não
- nada
- óbvio
- of
- compensar
- compensações
- frequentemente
- Velho
- on
- uma vez
- ONE
- queridos
- só
- Código de operação
- operação
- Opção
- or
- original
- Outros
- Fora
- Acima de
- Inspecionar
- próprio
- parte
- particular
- Pagar
- pagamento
- processo de pagamento
- perfeita
- telefone
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- Polônia
- Polaco
- positivo
- poder
- Malha energética
- PowerShell
- bastante
- prisão
- Problema
- processo
- em processamento
- Programação
- Progresso
- proprietário
- provedor
- puxando
- colocar
- Colocar
- bastante
- Railway
- razoável
- refinação
- cadastre-se
- registrado
- lembrete
- Informou
- República
- solicitar
- pesquisa
- grupo de pesquisa
- resposta
- Viajar
- certo
- Execute
- corrida
- Segurança
- mesmo
- dizer
- Escândalo
- programado
- segredos!
- setor
- segurança
- Vejo
- parecia
- parece
- enviar
- enviei
- separado
- Série
- servir
- servidor
- Servidores
- serviço
- Serviços
- conjunto
- semelhante
- situação
- slide
- Slides
- pequeno
- menor
- So
- Software
- Engenheiro de Software
- solução
- alguns
- algum lugar
- forte
- começa
- inicialização
- estável
- lojas
- História
- rua
- ajuda
- Suportado
- surpresa
- surpresas
- suspeito
- sistemas
- Tire
- tomado
- tomar
- Batido
- Target
- técnica
- dizer
- conta
- teste
- do que
- que
- A
- deles
- Eles
- então
- Lá.
- Este
- deles
- isto
- esta semana
- aqueles
- Apesar?
- ameaças
- três
- Através da
- tempo
- para
- juntos
- disse
- também
- ferramenta
- ferramentas
- Toshiba
- Trem
- trens
- desencadear
- problema
- verdadeiro
- Verdade
- Terça-feira
- voltas
- Twice
- dois
- desconhecido
- até
- Atualizar
- Atualizações
- sobre
- us
- usar
- usava
- usos
- utilização
- válido
- valor
- Valores
- Veículos
- muito
- vulnerabilidade
- esperar
- queremos
- foi
- Caminho..
- maneiras
- we
- semana
- BEM
- fui
- foram
- O Quê
- quando
- qual
- QUEM
- porque
- Selvagem
- precisarão
- limpando
- de
- Ganhou
- Maravilhoso
- Atividades:
- trabalhar
- trabalho
- no mundo todo
- Equivalente há
- digno
- seria
- escrita
- escrito
- ano
- anos
- ainda
- Você
- investimentos
- zefirnet