Ազգային անվտանգության գործակալությունը և ԱՄՆ Հետաքննությունների դաշնային բյուրոն
Drovorub կառավարման կենտրոնը ստանում է JSON ձևաչափով կազմաձևման ֆայլի ուղին որպես հրամանի տողի փաստարկ.
{
"db_host" : " «,
"db_port" : «,
"db_db" : " «,
"db_user" : " «,
"db_password" : " «,
«lport»: «,
"lhost": «,
"ping_sec" : «,
"priv_key_file" : " «,
«արտահայտություն»: »
}
MySQL DBMS-ն օգտագործվում է որպես backend: WebSocket արձանագրությունն օգտագործվում է հաճախորդներին միացնելու համար:
Հաճախորդն ունի ներկառուցված կոնֆիգուրացիա, ներառյալ սերվերի URL-ը, նրա RSA հանրային բանալին, օգտվողի անունը և գաղտնաբառը: Rootkit-ը տեղադրելուց հետո կոնֆիգուրացիան պահպանվում է որպես JSON ձևաչափով տեքստային ֆայլ, որը համակարգից թաքնված է Drovoruba միջուկի մոդուլի միջոցով.
{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
«բանալին»: «Y2xpZW50a2V5»
}
Այստեղ «id»-ը սերվերի կողմից թողարկված եզակի նույնացուցիչ է, որում վերջին 48 բիթերը համապատասխանում են սերվերի ցանցային ինտերֆեյսի MAC հասցեին։ Լռելյայն «բանալին» պարամետրը base64 կոդավորված «clientkey» տողն է, որն օգտագործվում է սերվերի կողմից նախնական ձեռքսեղմման ժամանակ: Բացի այդ, կազմաձևման ֆայլը կարող է պարունակել տեղեկություններ թաքնված ֆայլերի, մոդուլների և ցանցային նավահանգիստների մասին.
{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
«բանալին»: «Y2xpZW50a2V5»,
«մոնիտոր» : {
«ֆայլ» : [
{
"ակտիվ": "ճշմարիտ"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"դիմակ" : "testfile1"
}
],
«մոդուլ» : [
{
"ակտիվ": "ճշմարիտ"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"դիմակ" : "testmodule1"
}
],
«ցանց» : [
{
"ակտիվ": "ճշմարիտ"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
«port» : «12345»,
"protocol": "tcp"
}
]}
}
Drovorub-ի մեկ այլ բաղադրիչ գործակալն է, որի կազմաձևման ֆայլը պարունակում է տեղեկատվություն սերվերին միանալու համար.
{
"client_login" : "user123",
"client_pass" : "pass4567",
«հաճախորդ»՝ «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"
}
«clientid» և «clientkey_base64» դաշտերը սկզբում բացակայում են, դրանք ավելացվում են սերվերում նախնական գրանցումից հետո:
Տեղադրվելուց հետո կատարվում են հետևյալ գործողությունները.
- միջուկի մոդուլը բեռնված է, որը գրանցում է կեռիկներ համակարգային զանգերի համար.
- հաճախորդը գրանցվում է միջուկի մոդուլով;
- Միջուկի մոդուլը թաքցնում է գործող հաճախորդի գործընթացը և դրա գործարկվող ֆայլը սկավառակի վրա:
Հաճախորդի և միջուկի մոդուլի միջև հաղորդակցվելու համար օգտագործվում է կեղծ սարք, օրինակ /dev/zero: Միջուկի մոդուլը վերլուծում է սարքին գրված բոլոր տվյալները, իսկ հակառակ ուղղությամբ փոխանցելու համար այն ուղարկում է SIGUSR1 ազդանշանը հաճախորդին, որից հետո կարդում է տվյալներ նույն սարքից։
Lumberjack-ը հայտնաբերելու համար կարող եք օգտագործել ցանցային երթևեկության վերլուծություն՝ օգտագործելով NIDS (վարակված համակարգում չարամիտ ցանցի գործունեությունը չի կարող հայտնաբերվել, քանի որ միջուկի մոդուլը թաքցնում է իր օգտագործած ցանցային վարդակները, ցանցային ֆիլտրի կանոնները և փաթեթները, որոնք կարող են գաղտնալսվել չմշակված վարդակների կողմից): . Այն համակարգում, որտեղ տեղադրված է Drovorub-ը, կարող եք հայտնաբերել միջուկի մոդուլը՝ ուղարկելով ֆայլը թաքցնելու հրամանը.
հպման փորձարկման ֆայլ
echo «ASDFZXCV:hf:testfile» > /dev/zero
ls
Ստեղծված «testfile» ֆայլը դառնում է անտեսանելի:
Հայտնաբերման այլ մեթոդներ ներառում են հիշողության և սկավառակի բովանդակության վերլուծություն: Վարակումը կանխելու համար խորհուրդ է տրվում օգտագործել միջուկի և մոդուլների ստորագրության պարտադիր ստուգում, որը հասանելի է՝ սկսած Linux միջուկի 3.7 տարբերակից:
Զեկույցը պարունակում է Snort կանոններ Drovorub-ի ցանցային ակտիվությունը հայտնաբերելու համար և Yara-ի կանոններ՝ դրա բաղադրիչները հայտնաբերելու համար:
Հիշեցնենք, որ 85-րդ GTSSS GRU-ն (զորամաս 26165) կապված է խմբի հետ.
Source: opennet.ru