E-post: anwenqq2690502116@gmail.com
Syftar på Internet of Things, en ny variant av "Gaffyt" Trojan visas
Nyligen, Huorong Security Lab upptäckte en incident med virusintrång, som bekräftades vara en ny variant av Gafgyt Trojan-viruset efter undersökning och analys.
Gafgyt är ett IoT-botnätsprogram baserat på IRC-protokollet, som främst infekterar Linux-baserat IoT-enheter att inleda distribuerade överbelastningsattacker (DDoS). Det är den största aktiva IoT-botnätfamiljen förutom Mirai-familjen.
Efter att dess källkod läckte och laddades upp till GitHub in 2015, olika varianter och bedrifter uppstod efter varandra, utgör ett större säkerhetshot för användarna. För närvarande, Huorongs säkerhetsprodukter kan fånga upp och döda ovan nämnda virus. Företagsanvändare uppmanas att uppdatera virusdatabasen i tid för försvar.
1. Provanalys
Viruset döper först om sin egen process till "/usr/sbin/dropbear" eller "sshd" att gömma sig:
byta namn på processen
Bland dem, den krypterade strängen hittas, och dekrypteringsalgoritmen är byten XOR för 0xDEDEFFBA. När den används, endast de använda dekrypteras individuellt, men endast 4 är faktiskt refererade:
Krypterad sträng och dekrypteringsalgoritm
Den första referensen är endast att mata ut motsvarande sträng till skärmen, och de två mittersta referenserna är operationer på övervakningsprocessen för att undvika att tappa kontrollen på grund av omstart av enheten:
dekryptera och citera
De återstående operationerna utförs i en slinga, inklusive initialisering av C2-anslutningen (94.156.161.21:671), skickar plattformsenhetstypen, ta emot returkommandot och exekvera motsvarande moduloperation. Och jämfört med källkoden som läckt av Gafgy, formatet och bearbetningen av kommandot har inte förändrats mycket, och formatet på kommandot är stilla "!*Kommando [Parameter]"
loop operationskod
I processCmd-funktionen, en summa av 14 kommandon besvaras och motsvarande DDOS-attacker startas, Inklusive: "HTTP", "CUDP-förlängning", "UDP", "STD", "JSC", "TCP", "SYN" , "ACK", "CXMAS", "JUL", "CVSE", "ALLT", "CNC", "NIGGA"
kommandoskärmdump - IoT-säkerhet
Bland dem, CUDP, UDP, JSC, och TCP-moduler kan alla skicka slumpmässiga strängar till angiven IP och port, och kan rekonstruera TCP- och UDP-paket med självbyggda IP-huvuden för att dölja käll-IP-adressen.
meddelandestruktur
Prefixet C antas vara en förkortning av custom. Med CUDP och UDP som exempel, i originalversionen av Gafgyt, parametrarna i det utfärdade kommandot inkluderar: ip, hamn, tid, förfalskade, paketstorlek, pollinterval och andra fältvärden och flaggbitar För konstruktion av UDP-paket. I detta prov, dock, de observerade resultaten visar att det är tillämpningen av dessa parametrar på olika grader av begränsning, vilket kan förbättra flexibiliteten för specifika typer av DDOS-attacker.
Jämförelse av CUDP och UDP
Funktionerna i andra moduler inkluderar att lägga till ett stort antal User-Agent-strängar, som används för att starta HTTP-kommandon för CC-attacker:
CC attack
Ingår för attacker mot Valves Source Engine-servrar: ("Källmotor" frågor är en del av den dagliga kommunikationen mellan kunder och spelservrar med hjälp av Valve-mjukvaruprotokollet)
Attacker mot spelindustrin
Inklusive CNC-kommandon som kan byta anslutnings-IP:
switch anslutning IP
Inkluderar SYN- och ACK-attacker:
SYN och ACK attacker
Inklusive UDP STD översvämningsattacker:
STD attack
Inklusive XMAS attack: (det är, Julgransattack, genom att sätta alla flaggbitar för TCP till 1, sålunda förbrukar mer resurser för svarsbearbetning av målsystemet)
XMAS attack
NIGGA-modulen motsvarar kommandot KILLATTK i originalversionen, som stoppar DoSS-attacker genom att döda alla underordnade processer utom huvudprocessen
NIGGA-modul
Jämförande analys
Funktionen processCmd som lagrar huvudlogiken i källkoden inkluderar PING, GETLOCALIP, SCANNER, E-POST, SKRÄP, UDP, TCP, HÅLL, KILLATTK, och LOLNOGTFO-moduler. Endast förenklade versioner av UDP- och TCP-moduler samexisterar i variantexploatet som fångades den här gången. .
Och i driften av att erhålla den lokala IP-adressen, den ursprungliga versionen erhåller den lokala IP-adressen via /proc/net/route och returnerar den via GETLOCALIP-modulen. Samma get-operation observeras i denna variant, men det finns ingen GETLOCALIP-modul och inga referenser observeras.
Skaffa lokal IP
Det är värt att notera att det inte finns någon originalversion av SCANNER-modulen som används för att spränga SSH (hamn 22) i denna typ av prov, och det finns inga andra varianter som bäddar in flera "applikationer/enhet" sårbarheter att spridas via nyttolast. Det kan ses att angriparen delar upp spridningsmodulen i oberoende program, och efter att ha lyckats logga in på offervärden, han kommer att ladda ner kommunikationsexemplet för nästa steg genom att exekvera skalkoden, det är, analysprovet.
Exekvera skalkodsexempel
Ta proverna från samma källa som ett exempel, angriparen tog bort felsökningsinformationen för de flesta proverna, förutom några få, Till exempel: x86.