National Security Agency och US Federal Bureau of Investigation
Drovorubs kontrollcenter tar emot sökvägen till konfigurationsfilen i JSON-format som ett kommandoradsargument:
{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",
"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",
"priv_key_file" : " ",
"fras" : " »
}
MySQL DBMS används som backend. WebSocket-protokollet används för att ansluta klienter.
Klienten har inbyggd konfiguration, inklusive serverns URL, dess offentliga RSA-nyckel, användarnamn och lösenord. Efter installation av rootkit sparas konfigurationen som en textfil i JSON-format, som döljs från systemet av Drovoruba-kärnmodulen:
{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"key": "Y2xpZW50a2V5"
}
Här är "id" en unik identifierare som utfärdas av servern, där de sista 48 bitarna motsvarar MAC-adressen för serverns nätverksgränssnitt. Standardparametern "key" är en base64-kodad sträng "clientkey" som används av servern under den första handskakningen. Dessutom kan konfigurationsfilen innehålla information om dolda filer, moduler och nätverksportar:
{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"key": "Y2xpZW50a2V5",
"monitor" : {
"fil" : [
{
"active" : "sant"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask" : "testfil1"
}
],
"modul" : [
{
"active" : "sant"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodul1"
}
],
"nät" : [
{
"active" : "sant"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokoll" : "tcp"
}
] }
}
En annan komponent i Drovorub är agenten; dess konfigurationsfil innehåller information för anslutning till servern:
{
"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"
}
Fälten "clientid" och "clientkey_base64" saknas initialt, de läggs till efter den första registreringen på servern.
Efter installationen utförs följande operationer:
- kärnmodulen laddas, som registrerar krokar för systemanrop;
- klienten registrerar sig med kärnmodulen;
- Kärnmodulen döljer den pågående klientprocessen och dess körbara fil på disken.
En pseudoenhet, till exempel /dev/zero, används för att kommunicera mellan klienten och kärnmodulen. Kärnmodulen analyserar all data som skrivits till enheten och för överföring i motsatt riktning skickar den SIGUSR1-signalen till klienten, varefter den läser data från samma enhet.
För att upptäcka Lumberjack kan du använda nätverkstrafikanalys med hjälp av NIDS (skadlig nätverksaktivitet i det infekterade systemet i sig kan inte upptäckas, eftersom kärnmodulen döljer nätverkssockets den använder, nätfilterregler och paket som kan fångas upp av råa sockets) . På systemet där Drovorub är installerat kan du upptäcka kärnmodulen genom att skicka kommandot för att dölja filen:
tryck på testfil
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Den skapade "testfilen"-filen blir osynlig.
Andra detektionsmetoder inkluderar minnes- och diskinnehållsanalys. För att förhindra infektion, rekommenderas det att använda obligatorisk signaturverifiering av kärnan och modulerna, tillgänglig från Linux-kärnan version 3.7.
Rapporten innehåller Snort-regler för att detektera nätverksaktiviteten hos Drovorub och Yara regler för att detektera dess komponenter.
Låt oss komma ihåg att den 85:e GTSSS GRU (militär enhet 26165) är associerad med gruppen
Källa: opennet.ru