E-mail: anwenqq2690502116@gmail.com
Gericht op het internet der dingen, een nieuwe variant van de "Gaffyt" Trojaans paard verschijnt
Onlangs, Huorong Security Lab ontdekte een virusinbraakincident, waarvan na onderzoek en analyse werd bevestigd dat het een nieuwe variant van het Gafgyt Trojan-virus was.
Gafgyt is een IoT-botnetprogramma gebaseerd op het IRC-protocol, die voornamelijk Linux-gebaseerd infecteert IoT-apparaten om gedistribueerde denial-of-service-aanvallen te lanceren (DDoS). Het is de grootste actieve IoT-botnetfamilie, afgezien van de Mirai-familie.
Nadat de broncode was gelekt en naar GitHub was geüpload 2015, verschillende varianten en exploits ontstonden de een na de ander, vormt een grotere bedreiging voor de veiligheid van gebruikers. Momenteel, Huorong-beveiligingsproducten kunnen de bovengenoemde virussen onderscheppen en doden. Enterprise-gebruikers worden verzocht de virusdatabase op tijd bij te werken ter verdediging.
1. Monsteranalyse
Het virus hernoemt eerst zijn eigen proces naar "/usr/sbin/dropbear" of "sshd" zichzelf te verbergen:
proces hernoemen
Onder hen, de gecodeerde string is gevonden, en het decoderingsalgoritme is de byte XOR van 0xDEDEFFBA. Wanneer gebruikt, alleen de gebruikte worden individueel gedecodeerd, maar alleen 4 worden daadwerkelijk verwezen:
Gecodeerde tekenreeks en decoderingsalgoritme
De eerste referentie is alleen om de corresponderende string naar het scherm uit te voeren, en de middelste twee referenties zijn bewerkingen op het watchdog-proces om te voorkomen dat u de controle verliest als gevolg van het opnieuw opstarten van het apparaat:
ontcijferen en citeren
De overige bewerkingen worden in een lus uitgevoerd, inclusief het initialiseren van de C2-verbinding (94.156.161.21:671), het verzenden van het platformapparaattype, het ontvangen van het retourcommando en het uitvoeren van de overeenkomstige modulebewerking. En vergeleken met de door Gafgy gelekte broncode, het formaat en de verwerking van de opdracht zijn niet veel veranderd, en het formaat van de opdracht is nog steeds "!*Commando [Parameter]"
lusbewerkingscode
In de processCmd-functie, een totaal van 14 Er wordt op commando's gereageerd en overeenkomstige DDOS-aanvallen worden gelanceerd, inbegrepen: "HTTP", "CUDP-extensie", "UDP", "soa", "JSC", "TCP", "SYN" , "ACK", "CXMAS", "KERSTMIS", "CVSE", "ALLES", "CNC", "NIGGA"
screenshot van de opdracht - IoT-beveiliging
Onder hen, het CUDP, UDP, JSC, en TCP-modules kunnen allemaal willekeurige reeksen naar het opgegeven IP-adres en de opgegeven poort sturen, en kan TCP- en UDP-pakketten reconstrueren door zelfgebouwde IP-headers om het bron-IP-adres te verbergen.
bericht structuur
Er wordt aangenomen dat het voorvoegsel C de afkorting is van custom. Neem CUDP en UDP als voorbeelden, in de originele versie van Gafgyt, de parameters in de uitgegeven opdracht omvatten: ik p, haven, tijd, vervalst, pakketgrootte, pollinterval en andere veldwaarden en vlagbits Voor de constructie van UDP-pakketten. In dit monster, Echter, de waargenomen resultaten laten zien dat het gaat om de toepassing van deze parameters op verschillende mate van beperking, die de flexibiliteit van specifieke soorten DDOS-aanvallen kunnen vergroten.
Vergelijking van CUDP en UDP
De functies van andere modules omvatten het toevoegen van een groot aantal User-Agent-reeksen, die worden gebruikt om HTTP-opdrachten voor CC-aanvallen te starten:
CC-aanval
Inbegrepen voor aanvallen op de Source Engine-servers van Valve: ("Bronmotor" vragen maken deel uit van de dagelijkse communicatie tussen klanten en spelservers met behulp van het Valve-softwareprotocol)
Aanvallen tegen de game-industrie
Inclusief CNC-opdrachten die verbindings-IP kunnen schakelen:
schakelverbinding IP
Inclusief SYN- en ACK-aanvallen:
SYN- en ACK-aanvallen
Inclusief UDP STD-overstromingsaanvallen:
SOA aanval
Inclusief XMAS-aanval: (dat is, Aanval op de kerstboom, door alle vlagbits van TCP in te stellen 1, waardoor meer responsverwerkingsbronnen van het doelsysteem worden verbruikt)
XMAS-aanval
De NIGGA-module is gelijk aan het KILLATTK-commando in de originele versie, die DoSS-aanvallen stopt door alle onderliggende processen te doden, behalve het hoofdproces
NIGGA-module
Vergelijkende analyse
De functie processCmd die de hoofdlogica in de broncode opslaat, omvat PING, GETLOCALIP, SCANNER, E-MAIL, rommel, UDP, TCP, UITSTEL, KILLATTK, en LOLNOGTFO-modules. Alleen vereenvoudigde versies van UDP- en TCP-modules bestaan naast elkaar in de variant-exploit die dit keer is vastgelegd. .
En bij het verkrijgen van het lokale IP-adres, de originele versie verkrijgt het lokale IP-adres via /proc/net/route en retourneert dit via de GETLOCALIP-module. Dezelfde get-bewerking wordt in deze variant waargenomen, maar er is geen GETLOCALIP-module en er worden geen referenties waargenomen.
Ontvang een lokaal IP-adres
Het is vermeldenswaard dat er geen originele versie is van de SCANNER-module die wordt gebruikt om SSH te vernietigen (haven 22) in dit type monster, en er zijn geen andere varianten die meerdere insluiten "toepassingen/apparaat" kwetsbaarheden die zich via Payload kunnen verspreiden. Het is te zien dat de aanvaller de propagatiemodule opsplitst in onafhankelijke programma's, en na succesvol inloggen op de slachtofferhost, hij zal het communicatievoorbeeld voor de volgende fase downloaden door de shellcode uit te voeren, dat is, het analysemonster.
Voer een shellcode-voorbeeld uit
Als voorbeeld nemen we de monsters afkomstig van dezelfde bron, de aanvaller heeft de foutopsporingsinformatie voor de meeste voorbeelden verwijderd, op een paar na, zoals: x86.