Het Drovorub-malwarecomplex infecteert Linux OS

National Security Agency en het Amerikaanse Federal Bureau of Investigation een rapport gepubliceerd, volgens welke het 85e belangrijkste centrum van speciale service is Hoofddirectoraat van de generale staf van de Russische strijdkrachten (85 GCSS GRU) Er wordt gebruik gemaakt van een malwarecomplex genaamd “Drovorub”. Drovorub bevat een rootkit in de vorm van een Linux-kernelmodule, een tool voor het overbrengen van bestanden en het omleiden van netwerkpoorten, en een controleserver. Het clientgedeelte kan bestanden downloaden en uploaden, willekeurige opdrachten uitvoeren als rootgebruiker en netwerkpoorten omleiden naar andere netwerkknooppunten.

Het Drovorub-controlecentrum ontvangt het pad naar het configuratiebestand in JSON-indeling als opdrachtregelargument:

{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_wachtwoord" : " ",

"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",

"priv_key_file" : " ",
"zin" : " »
}

MySQL DBMS wordt gebruikt als backend. Het WebSocket-protocol wordt gebruikt om clients te verbinden.

De client heeft een ingebouwde configuratie, inclusief de server-URL, de openbare RSA-sleutel, gebruikersnaam en wachtwoord. Na het installeren van de rootkit wordt de configuratie opgeslagen als een tekstbestand in JSON-formaat, dat voor het systeem verborgen is door de Drovoruba-kernelmodule:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"sleutel": "Y2xpZW50a2V5"
}

Hier is "id" een unieke identificatiecode uitgegeven door de server, waarbij de laatste 48 bits overeenkomen met het MAC-adres van de netwerkinterface van de server. De standaardparameter "key" is een met base64 gecodeerde tekenreeks "clientkey" die door de server wordt gebruikt tijdens de eerste handshake. Bovendien kan het configuratiebestand informatie bevatten over verborgen bestanden, modules en netwerkpoorten:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"sleutel": "Y2xpZW50a2V5",
"monitor" : {
"bestand" : [
{
"actief": "waar"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask": "testbestand1"
}
],
"module": [
{
"actief": "waar"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"netto" : [
{
"actief": "waar"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"poort" : "12345",
"protocol": "tcp"
}
] }
}

Een ander onderdeel van Drovorub is de agent; het configuratiebestand bevat informatie voor verbinding met de server:

{
"client_login": "gebruiker123",
"client_pass" : "pass4567",
"clientid" : "e391847c-bae7-11ea-b4bc-000c29130b71",
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"public_key",
"server_host" : "192.168.57.100",
"server_poort" :"45122″,
"server_uri" :"/ws"
}

De velden “clientid” en “clientkey_base64” ontbreken in eerste instantie; ze worden toegevoegd na de eerste registratie op de server.

Na de installatie worden de volgende handelingen uitgevoerd:

  • de kernelmodule wordt geladen, die hooks voor systeemaanroepen registreert;
  • de client registreert zich bij de kernelmodule;
  • De kernelmodule verbergt het actieve clientproces en het uitvoerbare bestand op schijf.

Een pseudo-apparaat, bijvoorbeeld /dev/zero, wordt gebruikt om te communiceren tussen de client en de kernelmodule. De kernelmodule parseert alle gegevens die naar het apparaat zijn geschreven en stuurt voor verzending in de tegenovergestelde richting het SIGUSR1-signaal naar de client, waarna hij gegevens van hetzelfde apparaat leest.

Om de Lumberjack te detecteren, kunt u netwerkverkeersanalyse gebruiken met behulp van NIDS (kwaadaardige netwerkactiviteit in het geïnfecteerde systeem zelf kan niet worden gedetecteerd, omdat de kernelmodule de netwerksockets verbergt die hij gebruikt, netfilterregels en pakketten die kunnen worden onderschept door onbewerkte sockets) . Op het systeem waarop Drovorub is geïnstalleerd, kunt u de kernelmodule detecteren door hem de opdracht te sturen om het bestand te verbergen:

touch testbestand
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Het gemaakte “testfile”-bestand wordt onzichtbaar.

Andere detectiemethoden omvatten analyse van geheugen- en schijfinhoud. Om infectie te voorkomen, wordt aanbevolen om verplichte handtekeningverificatie van de kernel en modules te gebruiken, beschikbaar vanaf Linux-kernelversie 3.7.

Het rapport bevat Snort-regels voor het detecteren van de netwerkactiviteit van Drovorub en Yara-regels voor het detecteren van de componenten ervan.

Laten we niet vergeten dat de 85e GTSSS GRU (militaire eenheid 26165) geassocieerd is met de groep APT28 (mooie beer), verantwoordelijk voor talloze cyberaanvallen.

Bron: opennet.ru