Agjencia e Sigurisë Kombëtare dhe Byroja Federale e Hetimit të SHBA
Qendra e kontrollit Drovorub merr shtegun për në skedarin e konfigurimit në formatin JSON si një argument i linjës së komandës:
{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",
"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",
"priv_key_file" : " ",
"fraza": " »
}
MySQL DBMS përdoret si një backend. Protokolli WebSocket përdoret për të lidhur klientët.
Klienti ka konfigurim të integruar, duke përfshirë URL-në e serverit, çelësin e tij publik RSA, emrin e përdoruesit dhe fjalëkalimin. Pas instalimit të rootkit, konfigurimi ruhet si një skedar teksti në formatin JSON, i cili fshihet nga sistemi nga moduli i kernelit Drovoruba:
{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"çelësi": "Y2xpZW50a2V5"
}
Këtu "id" është një identifikues unik i lëshuar nga serveri, në të cilin 48 bitet e fundit korrespondojnë me adresën MAC të ndërfaqes së rrjetit të serverit. Parametri i paracaktuar "kyç" është një varg i koduar "klientkey" në bazë64 që përdoret nga serveri gjatë shtrëngimit fillestar të duarve. Përveç kësaj, skedari i konfigurimit mund të përmbajë informacione rreth skedarëve të fshehur, moduleve dhe portave të rrjetit:
{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"çelësi": "Y2xpZW50a2V5",
"monitor" : {
"skedar" : [
{
"aktiv": "e vërtetë"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"maskë" : "testfile1"
}
],
"moduli": [
{
"aktiv": "e vërtetë"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"neto" : [
{
"aktiv": "e vërtetë"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokolli" : "tcp"
}
] }
}
Një komponent tjetër i Drovorub është agjenti; skedari i tij i konfigurimit përmban informacione për t'u lidhur me serverin:
{
"client_login" : "user123",
"client_pass" : "pass4567",
"klienti" : "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"
}
Fillimisht mungojnë fushat "clientid" dhe "clientkey_base64", ato shtohen pas regjistrimit fillestar në server.
Pas instalimit, kryhen veprimet e mëposhtme:
- ngarkohet moduli i kernelit, i cili regjistron grepa për thirrjet e sistemit;
- klienti regjistrohet me një modul kernel;
- Moduli i kernelit fsheh procesin e klientit që funksionon dhe skedarin e tij të ekzekutueshëm në disk.
Një pseudo-pajisje, për shembull /dev/zero, përdoret për të komunikuar ndërmjet klientit dhe modulit të kernelit. Moduli i kernelit analizon të gjitha të dhënat e shkruara në pajisje dhe për transmetim në drejtim të kundërt dërgon sinjalin SIGUSR1 te klienti, pas së cilës lexon të dhënat nga e njëjta pajisje.
Për të zbuluar Lumberjack, mund të përdorni analizën e trafikut të rrjetit duke përdorur NIDS (aktiviteti keqdashës i rrjetit në vetë sistemin e infektuar nuk mund të zbulohet, pasi moduli i kernel fsheh bazat e rrjetit që përdor, rregullat e filtrit të rrjetit dhe paketat që mund të përgjohen nga bazat e papërpunuara) . Në sistemin ku është instaluar Drovorub, mund të zbuloni modulin e kernelit duke i dërguar komandën për të fshehur skedarin:
skedari i testit me prekje
echo "ASDFZXCV:hf:testfile" > /dev/zero
ls
Skedari i krijuar "test file" bëhet i padukshëm.
Metoda të tjera të zbulimit përfshijnë analizën e memories dhe përmbajtjes së diskut. Për të parandaluar infeksionin, rekomandohet përdorimi i verifikimit të detyrueshëm të nënshkrimit të kernelit dhe moduleve, i disponueshëm duke filluar nga versioni 3.7 i kernel Linux.
Raporti përmban rregullat Snort për zbulimin e aktivitetit të rrjetit të Drovorub dhe rregullat Yara për zbulimin e komponentëve të tij.
Kujtojmë se GRU 85 GTSSS (njësia ushtarake 26165) është e lidhur me grupin
Burimi: opennet.ru