Agenția Națională de Securitate și Biroul Federal de Investigații al Statelor Unite , conform căruia 85 Centrul Principal al Serviciului Special ((85 CPCSS GRU) utilizează un complex de software malițios numit „Drovorez”. În componența „Drovorez” se află un rootkit sub forma unui modul kernel Linux, un instrument pentru transferul de fișiere și redirecționarea porturilor de rețea și un server de control. Partea client poate descărca și încărca fișiere, efectua comenzi arbitrare în numele utilizatorului root și redirecționa porturile de rețea către alte noduri din rețea.
Centrul de control „Drovorez” primește ca argument al liniei de comandă calea către fișierul de configurare în format JSON:
{
„db_host” : „”,
„db_port” : „”,
„db_db” : „”,
„db_user” : „”,
„db_password” : „”,
„lport” : „”,
„lhost” : „”,
„ping_sec” : „”,
„priv_key_file” : „”,
„phrase” : „”
}
Ca backend se folosește baza de date MySQL. Protocolul WebSocket este utilizat pentru conectarea clienților.
Clientul are o configurație încorporată, inclusiv URL-ul serverului, cheia publică RSA, numele utilizatorului și parola. După instalarea rootkit-ului, configurația este salvată sub formă de fișier text în format JSON, care este ascuns de sistem prin modulul kernel „Drovorez”:
{
„id” : „cbcf6abc-466b-11e9-853b-000c29cb9f6f”,
„key”: „Y2xpZW50a2V5”
}
Aici „id” este un identificator unic acordat de server, în care ultimele 48 de biți corespund adresei MAC a interfetei de rețea a serverului. Parametrul „key” este în mod implicit o șir codificat în format base64 „clientkey”, care este utilizat de server în cadrul handshake-ului inițial. În plus, fișierul de configurare poate conține informații despre fișierele ascunse, module și porturi de rețea:
{
„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”
}
]
}
}
Un alt component al „Drovorez” este agentul, fișierul său de configurare conținând informațiile necesare pentru a se conecta la 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»
}
Câmpurile «clientid» și «clientkey_base64» nu sunt prezente inițial, acestea sunt adăugate după înregistrarea primară pe server.
După instalare, se efectuează următoarele operațiuni:
- se încarcă modulul nucleu, care înregistrează hook-uri pentru apelurile sistemului;
- clientul efectuează înregistrarea în modulul nucleu;
- modulul nucleu ascunde procesul activ al clientului și fișierul său executabil pe disc.
Pentru interacțiunea clientului cu modulul nucleu se folosește o pseudo-construcție, de exemplu /dev/zero. Modulul nucleu analizează toate datele scrise în dispozitiv, iar pentru a transmite în direcția opusă, trimite clientului un semnal SIGUSR1, după care acesta citește datele din același dispozitiv.
Pentru a detecta „Drovorub”, se poate folosi analiza traficului de rețea cu ajutorul mijloacelor NIDS (nu se poate detecta activitatea malițioasă în sistemul infectat, deoarece modulul nucleu ascunde socketurile de rețea utilizate de acesta, regulile netfilter și pachetele care ar putea fi interceptate de socketurile raw). Într-un sistem în care este instalat „Drovorub”, se poate observa modulul nucleu, trimițându-i comanda de ascundere a fișierelor:
touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Fișierul creat „testfile” devine astfel invizibil.
Alte metode de detectare includ analiza memoriei și a conținutului discului. Pentru a preveni infectarea, se recomandă utilizarea verificării obligatorii a semnăturii nucleului și modulelor, disponibilă începând cu versiunea nucleului linux 3.7.
Raportul conține reguli Snort pentru detectarea activității rețelei „Drovorub” și reguli Yara pentru detectarea componentelor sale.
Amintim că 85 GCSs GRU (în/c 26165) este asociat cu grupul , responsabil pentru numeroase atacuri cibernetice.
Sursa: opennet.ro
