Detecção e morte do Tinder

Visando a Internet das Coisas, uma nova variante do "Gaffyt" Trojan aparece

Visando a Internet das Coisas, uma nova variante do "Gaffyt" Trojan aparece. Recentemente, Huorong Security Lab descobriu um incidente de intrusão de vírus, que foi confirmado ser uma nova variante do vírus Trojan Gafgyt após investigação e análise.

Visando a Internet das Coisas, uma nova variante do "Gaffyt" Trojan aparece

Recentemente, Huorong Security Lab descobriu um incidente de intrusão de vírus, que foi confirmado ser uma nova variante do vírus Trojan Gafgyt após investigação e análise.

Gafgyt é um programa de botnet IoT baseado no protocolo IRC, que infecta principalmente sistemas baseados em Linux Dispositivos IoT para lançar ataques distribuídos de negação de serviço (DDoS). É a maior família de botnets IoT ativa, além da família Mirai.

Depois que seu código-fonte vazou e foi carregado no GitHub em 2015, várias variantes e explorações surgiram uma após a outra, representando uma ameaça maior à segurança dos usuários. Atualmente, Os produtos de segurança Huorong podem interceptar e eliminar os vírus mencionados acima. Os usuários corporativos são solicitados a atualizar o banco de dados de vírus a tempo de defesa.

Tinder detection and killing - Aiming at the Internet of Things, a new variant of the "Gafgyt" Trojan appears

1. Análise de amostra
O vírus primeiro renomeia seu próprio processo para "/usr/sbin/dropbear" ou "sshd" esconder-se:

process rename
renomear processo

Entre eles, a string criptografada foi encontrada, e o algoritmo de descriptografia é o byte XOR de 0xDEDEFFBA. Quando usado, apenas os usados ​​são descriptografados individualmente, se apenas 4 são realmente referenciados:

Encrypted string and decryption algorithm
String criptografada e algoritmo de descriptografia

 

A primeira referência é apenas para enviar a string correspondente para a tela, e as duas referências do meio são operações no processo watchdog para evitar a perda de controle devido à reinicialização do dispositivo:

decrypt and quote

descriptografar e citar

 

As operações restantes são realizadas em loop, incluindo a inicialização da conexão C2 (94.156.161.21:671), enviando o tipo de dispositivo da plataforma, recebendo o comando de retorno e executando a operação do módulo correspondente. E comparado com o código fonte vazado pelo Gafgy, o formato e o processamento do comando não mudaram muito, e o formato do comando ainda é "!*Comando [Parâmetro]"

loop operation code

código de operação de loop

 

Na função processCmd, um total de 14 os comandos são respondidos e os ataques DDOS correspondentes são lançados, Incluindo: "HTTP", "Extensão CUDP", "UDP", "DST", "JSC", "TCP", "SIN" , "CONFIRMAR", "Natal", "NATAL", "CVSE", "TUDO", "CNC", "PRETO"

command screenshot - IoT security
captura de tela do comando - Segurança IoT

 

Entre eles, o CUDP, UDP, JSC, e módulos TCP podem enviar strings aleatórias para o IP e porta especificados, e pode reconstruir pacotes TCP e UDP por meio de cabeçalhos IP autoconstruídos para ocultar o endereço IP de origem.

 

message structure
estrutura da mensagem

 

Supõe-se que o prefixo C seja a abreviatura de custom. Tomando CUDP e UDP como exemplos, na versão original do Gafgyt, os parâmetros no comando emitido incluem: IP, porta, tempo, falsificado, tamanho do pacote, pollinterval e outros valores de campo e bits de flag Para a construção de pacotes UDP. Nesta amostra, no entanto, os resultados observados mostram que é a aplicação desses parâmetros a diferentes graus de restrição, que pode aumentar a flexibilidade de tipos específicos de ataques DDOS.

Comparação de CUDP e UDP

As funções de outros módulos incluem adicionar um grande número de strings User-Agent, que são usados ​​para lançar comandos HTTP para ataques CC:

Ataque CC

Incluído para ataques contra servidores Source Engine da Valve: ("Mecanismo de origem" consultas fazem parte da comunicação diária entre clientes e servidores de jogos usando o protocolo de software Valve)

Ataques contra a indústria de jogos

Incluindo comandos CNC que podem mudar o IP da conexão:

mudar IP de conexão

Inclui ataques SYN e ACK:

Ataques SYN e ACK

Incluindo ataques de inundação UDP STD:

Ataque de DST

Incluindo ataque de Natal: (aquilo é, Ataque à árvore de Natal, definindo todos os bits de flag do TCP para 1, consumindo assim mais recursos de processamento de resposta do sistema alvo)

Ataque de NATAL

O módulo NIGGA equivale ao comando KILLATTK na versão original, que interrompe ataques DoSS eliminando todos os processos filhos, exceto o processo principal

Módulo NIGGA

Análise comparativa
A função processCmd que armazena a lógica principal no código-fonte inclui PING, GETLOCALIP, SCANNER, E-MAIL, PORCARIA, UDP, TCP, SEGURAR, KILLATTK, e módulos LOLNOGTFO. Apenas versões simplificadas de módulos UDP e TCP coexistem na exploração variante capturada desta vez. .

E na operação de obtenção do IP local, a versão original obtém o IP local através de /proc/net/route e o retorna através do módulo GETLOCALIP. A mesma operação get é observada nesta variante, mas não há módulo GETLOCALIP e nenhuma referência é observada.

Obtenha IP local

Vale ressaltar que não existe uma versão original do módulo SCANNER usado para explodir SSH (porta 22) neste tipo de amostra, e não há outras variantes que incorporem vários "aplicativos/dispositivo" vulnerabilidades para se espalhar através do Payload. Pode-se observar que o invasor divide o módulo de propagação em programas independentes, e depois de fazer login com sucesso no host da vítima, ele fará o download do exemplo de comunicação para o próximo estágio executando o shellcode, aquilo é, a amostra de análise.

Exemplo de execução de shellcode

Tomando as amostras obtidas da mesma fonte como exemplo, o invasor retirou as informações de depuração da maioria das amostras, exceto alguns, como: x86.

Compartilhe seu amor

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *