Het National Security Agency en de Federal Bureau of Investigation van de VS , volgens welke het 85e hoofdkantoor van de speciale dienst ((85 GTS GRU) gebruik maakt van een soort malware genaamd 'Drovobub'. Drovobub bestaat uit een rootkit in de vorm van een Linux-kernelmodule, een hulpmiddel voor het verzenden van bestanden en het omleiden van netwerkpoorten, evenals een beheerserver. De clientzijde kan bestanden downloaden en uploaden, willekeurige opdrachten uitvoeren met root-gebruikersrechten en netwerkpoorten naar andere knooppunten in het netwerk omleiden.
De beheerserver van Drovobub ontvangt een configuratiepad via de opdrachtregel in JSON-formaat:
{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",
"lport" : "",
"lhost" : "",
"ping_sec" : "",
"priv_key_file" : "",
"phrase" : ""
}
Als backend wordt de MySQL-database gebruikt. Voor het verbinden van clients wordt het WebSocket-protocol gebruikt.
De client heeft een ingebouwde configuratie, inclusief de URL van de server, zijn openbare RSA-sleutel, gebruikersnaam en wachtwoord. Na de installatie van de rootkit wordt de configuratie opgeslagen als een tekstbestand in JSON-formaat, dat verborgen is voor het systeem door de kernelmodule van Drovobub:
{
"id" : "cbcf6abc-466b-11e9-853b-000c29cb9f6f",
"key": "Y2xpZW50a2V5"
}
Hier is "id" een unieke identificatie die door de server is verstrekt, waarbij de laatste 48 bits overeenkomen met het MAC-adres van de netwerkaansluiting van de server. De parameter "key" is standaard een base64-gecodeerde string "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",
"key": "Y2xpZW50a2V5",
"monitor" : {
"file" : [
{
"active" : "true",
"id" : "d9dc492b-5a32-8e5f-0724-845aa13fff98",
"mask" : "testfile1"
}
],
"module" : [
{
"active" : "true",
"id" : "48a5e9d0-74c7-cc17-2966-0ea17a1d997a",
"mask" : "testmodule1"
}
],
"net" : [
{
"active" : "true",
"id" : "4f355d5d-9753-76c7-161e-7ef051654a2b",
"port" : "12345",
"protocol" : "tcp"
}
]
}
}
Een ander onderdeel van Drovobub is de agent, waarvan het configuratiebestand informatie bevat voor het verbinden met de server:
{
"client_login" : "user123",
"client_pass" : "pass4567",
"clientid" : "e391847c-bae7-11ea-b4bc-000c29130b71",
"clientkey_base64" : "Y2xpZW50a2V5",
"pub_key_file" :"public_key",
"server_host" : "192.168.57.100",
"server_port" :"45122"
«server_uri» :»/ws»
}
De velden «clientid» en «clientkey_base64» zijn oorspronkelijk afwezig, ze worden toegevoegd na de eerste registratie op de server.
Na de installatie worden de volgende handelingen uitgevoerd:
- de core-module wordt geladen, die hooks registreert voor systeemoproepen;
- de client registreert zich bij de core-module;
- de core-module verbergt het draaiende proces van de client en zijn uitvoerbare bestand op de schijf.
Voor de interactie tussen de client en de core-module wordt een pseudo-apparaat gebruikt, bijvoorbeeld /dev/zero. De core-module analyseert alle gegevens die naar het apparaat worden geschreven, en voor de terugzending stuurt ze een SIGUSR1-signaal naar de client, waarna deze gegevens uit hetzelfde apparaat leest.
Om «Drovoreb» te detecteren, kan netwerkverkeer worden geanalyseerd met behulp van NIDS (het is niet mogelijk om kwaadaardige netwerkactiviteit in het al geïnfecteerde systeem te identificeren, omdat de core-module de netwerksockets, netfilter-regels en pakketten die door raw-sockets zouden kunnen worden opgevangen, verbergt). In een systeem waar «Drovoreb» is geïnstalleerd, kan de core-module worden ontdekt door de volgende opdracht voor het verbergen van een bestand te verzenden:
touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Het aangemaakte bestand «testfile» wordt hierdoor onzichtbaar.
Andere detectiemethoden omvatten geheugen- en schijfinhoudanalyse. Om infectie te voorkomen, wordt aanbevolen om verplicht te controleren op de handtekening van de kernel en modules, wat beschikbaar is vanaf versie 3.7 van de linux-kernel.
In het rapport zijn Snort-regels opgenomen voor het detecteren van de netwerkactiviteit van «Drovoreb» en Yara-regels voor het detecteren van zijn componenten.
Ter herinnering: 85 GCSS GRU (v/ch 26165) is geassocieerd met de groep , verantwoordelijk voor talloze cyberaanvallen.
Bron: opennet.ru
