Correo electrónico: anwenqq2690502116@gmail.com
Apuntando á Internet das Cousas, unha nova variante do "Gaffyt" Aparece troiano
Recentemente, Huorong Security Lab descubriu un incidente de intrusión de virus, que se confirmou que era unha nova variante do virus troiano Gafgyt despois da investigación e análise.
Gafgyt é un programa de botnet IoT baseado no protocolo IRC, que infecta principalmente a base de Linux Dispositivos IoT para lanzar ataques de denegación de servizo distribuídos (DDoS). É a familia de botnets IoT activa máis grande ademais da familia Mirai.
Despois de filtrarse o seu código fonte e cargarse en GitHub 2015, xurdiron unha tras outra varias variantes e fazañas, supoñen unha maior ameaza de seguridade para os usuarios. Agora mesmo, Os produtos de seguridade Huorong poden interceptar e matar os virus mencionados anteriormente. Pídese aos usuarios empresariais que actualicen a base de datos de virus a tempo para defenderse.
1. Análise da mostra
O virus primeiro renomea o seu propio proceso a "/usr/sbin/dropbear" ou "sshd" para ocultarse:
cambiar o nome do proceso
Entre eles, atópase a cadea cifrada, e o algoritmo de descifrado é o byte XOR de 0xDEDEFFBA. Cando se usa, só os usados se descifran individualmente, pero só 4 están realmente referenciados:
Cadea cifrada e algoritmo de descifrado
A primeira referencia é só para mostrar a cadea correspondente á pantalla, e as dúas referencias do medio son operacións sobre o proceso de control para evitar perder o control debido ao reinicio do dispositivo:
descifrar e citar
As operacións restantes realízanse nun bucle, incluíndo a inicialización da conexión C2 (94.156.161.21:671), enviando o tipo de dispositivo da plataforma, recibindo o comando de retorno e executando a correspondente operación do módulo. E comparado co código fonte filtrado por Gafgy, o formato e o procesamento do comando non cambiaron moito, e o formato do comando aínda é "!*Comando [Parámetro]"
código de operación de bucle
Na función processCmd, un total de 14 responden aos comandos e lánzanse os correspondentes ataques DDOS, incluíndo: "HTTP", "Extensión CUDP", "UDP", "STD", "JSC", "TCP", "SIN" , "ACK", "CXMAS", "NADAL", "CVSE", "TODO", "CNC", "NIGGA"
captura de pantalla do comando - Seguridade IoT
Entre eles, o CUDP, UDP, JSC, e os módulos TCP poden enviar cadeas aleatorias á IP e ao porto especificados, e pode reconstruír paquetes TCP e UDP mediante cabeceiras IP creadas por si mesmo para ocultar o enderezo IP de orixe.
estrutura da mensaxe
Suponse que o prefixo C é a abreviatura de costume. Tomando como exemplo CUDP e UDP, na versión orixinal de Gafgyt, os parámetros do comando emitido inclúen: ip, Porto, tempo, falsificado, tamaño de paquete, pollinterval e outros valores de campo e bits de marca Para a construción de paquetes UDP. Nesta mostra, con todo, os resultados observados mostran que se trata da aplicación destes parámetros a diferentes graos de restrición, que pode mellorar a flexibilidade de tipos específicos de ataques DDOS.
Comparación de CUDP e UDP
As funcións doutros módulos inclúen engadir un gran número de cadeas User-Agent, que se usan para lanzar comandos HTTP para ataques CC:
Ataque CC
Incluído para ataques contra os servidores de Source Engine de Valve: ("Motor fonte" as consultas forman parte da comunicación diaria entre os clientes e servidores de xogos utilizando o protocolo de software Valve)
Ataques contra a industria do xogo
Incluíndo comandos CNC que poden cambiar a IP de conexión:
cambiar IP de conexión
Inclúe ataques SYN e ACK:
Ataques SYN e ACK
Incluíndo ataques de inundación UDP STD:
Ataque de ETS
Incluíndo o ataque XMAS: (é dicir, Ataque á árbore de Nadal, configurando todos os bits de marca de TCP para 1, consumindo así máis recursos de procesamento de respostas do sistema de destino)
Ataque de XMAS
O módulo NIGGA é equivalente ao comando KILLATTK na versión orixinal, que detén os ataques DoSS eliminando todos os procesos fillos excepto o proceso principal
Módulo NIGGA
Análise comparativa
A función processCmd que almacena a lóxica principal no código fonte inclúe PING, GETLOCALIP, ESCÁNER, CORREO ELECTRÓNICO, XORRA, UDP, TCP, ATENCIÓN, KILLATTK, e módulos LOLNOGTFO. Só coexisten versións simplificadas dos módulos UDP e TCP no exploit de variante capturado nesta ocasión. .
E na operación de obtención da IP local, a versión orixinal obtén a IP local a través de /proc/net/route e devólvaa a través do módulo GETLOCALIP. A mesma operación de obtención obsérvase nesta variante, pero non hai módulo GETLOCALIP e non se observan referencias.
Obter a IP local
Paga a pena notar que non existe unha versión orixinal do módulo SCANNER usado para explotar SSH (Porto 22) neste tipo de mostras, e non hai outras variantes que incrusten múltiples "aplicacións/dispositivos" vulnerabilidades para espallar a través de Payload. Pódese ver que o atacante divide o módulo de propagación en programas independentes, e despois de iniciar sesión correctamente no servidor da vítima, descargará a mostra de comunicación para a seguinte etapa executando o shellcode, é dicir, a mostra de análise.
Exemplo de execución de código shell
Tomando como exemplo as mostras obtidas da mesma fonte, o atacante quitou a información de depuración da maioría das mostras, agás uns poucos, como: x86.