ցատկող կճեպ - բին/բախում - փախչել սահմանափակ կճեպից

Թռչող Շենք. Ինչպես են հարձակվողները խուսափում սահմանափակ Շենքերից /bin/bash-ում

Ի՞նչ է սահմանափակված կեղևը և ինչու են կարևոր ցատկող կեղևային հարձակումները

Սահմանափակված կեղևները օգտագործվում են օգտատերերի կողմից կատարվող հրամանները կառավարելու համար, հաճախ կանխելով այնպիսի գործողություններ, ինչպիսիք են՝ cd, նոր shell-երի գործարկում կամ միջավայրի փոփոխականների արտահանում: Դրանք սովորաբար տեղակայվում են CI/CD գործակալներ կամ կառուցել միջավայրեր՝ օգտատիրոջ վարքագիծը սահմանափակելու համար։ Այնուամենայնիվ, հարձակվողները փնտրում են ցատկող shell կատարելու եղանակներ, որը մեթոդ է սահմանափակ shell միջավայրերից խուսափելու և անսահմանափակ shell-երին մուտք գործելու համար, ինչպիսիք են՝ bin/bash. Մի անգամ ներսում it, հարձակվողն ունի հրամանի տողի լիակատար վերահսկողություն՝ շրջանցելով սահմանափակ միջավայրի բոլոր սահմանափակումները։

Ինչպես է աշխատում Jumping Shell-ը. Սահմանափակումից մինչև bin/bash

Թռչող խեցիի նպատակն է շահագործել սահմանափակ միջավայրերի թույլ կողմերը և առաջացնել խեցիից փախուստ, որը հանգեցնում է bin/bashՍահմանափակված արկային հարձակումներից խուսափելու տարածված տեխնիկաները ներառում են՝

$ ls /bin/bash $ /bin/bash

If bin/bash հասանելի է, այս պարզ կանչը լրացնում է այն։

Մեկ այլ տարածված մեթոդ.

$ echo "/bin/bash" > run.sh $ sh run.sh 

Հարձակվողները կարող են նաև շահագործել այնպիսի խմբագիրներ, ինչպիսիք են՝ vi or ավելի քիչ:

vi :set shell=/bin/bash :shell 

Այս մեթոդները ցույց են տալիս, թե որքան հեշտությամբ կարող է ցատկող կճեպը հանգեցնել bin/bash կատարում՝ արդյունավետորեն շրջանցելով սահմանափակ shell պաշտպանությունները։

Այս հարձակումների իրական ռիսկերը DevOps-ում

Համօգտագործվող CI/CD միջավայրերում սահմանափակված shell-երը օգտագործվում են կառուցվածքները մեկուսացնելու և ռիսկը նվազեցնելու համար: Բայց երբ հարձակվողը հաջողության է հասնում ցատկող shell-ով և հասնում է bin/bash, անվտանգության մոդելը փլուզվում է։

Ռիսկերը ներառում են.

  • Շրջակա միջավայրի գաղտնիքներին չարտոնված մուտք
  • Արտոնությունների բարձրացում անսահմանափակ ռեժիմով bin/bash
  • Կառուցվածքի մեջ կեղծում pipelineկամ արտեֆակտներ
  • Մշտական ​​գործիքակազմի տեղակայումը ներսում pipeline

Փախուստը սահմանափակեց պարկուճը bin/bash բացում է դուռը համակարգի ամբողջական փոխզիջման համար, որը հաճախ առաջին քայլն է ավելի լայն շրջանակում DevSecOps հարձակում.

Թռիչքային Shell-ի և bin/bash-ի փախուստների մոնիթորինգ և հայտնաբերում

Թռչող արկի վարքագիծը հայտնաբերելու և փախուստի սահմանափակմամբ արկի փորձերը կանխելու համար անվտանգության թիմերը պետք է.

  • Գրանցեք բոլոր shell գործողությունները, մասնավորապես՝ / bin / bash ամայացում
  • Վերահսկեք խմբագրի չարաշահումը և սկրիպտի օգտագործումը որպես shell spawn վեկտորներ
  • Հետևել shell կարգավորման ֆայլերի մուտքին, ինչպիսիք են՝ .bashrc or .բաշ_պրոֆիլ

Վարքային օրինաչափություններ, ինչպիսիք են մեկնարկը bin/bash Սահմանափակ միջավայրից եկող ազդանշանները պետք է համարվեն բարձր առաջնահերթության ազդանշաններ: Դրա վաղ հայտնաբերումը կարող է կանխել ավելի խորը կողմնային շարժումը:

Սահմանափակված փախուստի հարձակումների և շահագործումների կանխարգելում

Նավարկության ցատկի ռիսկերը մեղմելու և հարձակվողներին արկ նետելուց կանխելու համար bin/bash:

  • Կարծրացրեք սահմանափակված պատյանները. հեռացրեք կամ արգելափակեք մուտք
  • Հրամանների կատարումը սահմանափակելու համար օգտագործեք AppArmor-ը կամ SELinux-ը
  • Կիրառել նվազագույն արտոնությունը ամբողջ տարածքում CI/CD դերեր և վազորդներ
  • Կոնտեյներացրեք կառուցվածքներ՝ առանց դիստրիբյուտորի պատկերներով, որոնք չունեն այնպիսի կեղևներ, ինչպիսիք են bin/bash
  • Ստուգեք միջավայրերը կառուցվածքներից առաջ և հետո՝ անոմալիաները հայտնաբերելու համար

Սահմանափակված shell սցենարներից խուսափելու համար անհրաժեշտ է շերտավորված կառավարում, այլ ոչ թե միայն սահմանափակ shell-երի վրա հույս դնել։ Մի ենթադրեք, որ սահմանափակ shell-երը անվտանգ են, եթե bin/bash նույնիսկ պոտենցիալ հասանելի է։

Եզրակացություն. Shell Escapes-ը մուտքի կետեր են

Սահմանափակված արկերը պաշտպանական շերտ են, այլ ոչ թե երաշխիք: Ցատկող արկերի հարձակումները թիրախավորում են թույլ մեկուսացումը և վատ վավերացումը: Ներսում լինելուց հետո / bin / bash, հարձակվողները կարող են փոխվել, համառել և վտանգել DevSecOps ենթակառուցվածքը։

Հայտնաբերումը և մեկուսացումը կարևոր են: Հրամանների գրանցման, սահմանափակ միջավայրերի և փաթեթների կառավարիչների պատշաճ մաքրման համադրությունը նվազեցնում է ազդեցության ռիսկը:

Վերջապես, գործիքներ, ինչպիսիք են Քսիգենի ապահովում են այս ռիսկերի տեսանելիությունը։ Դրանք օգնում են ապահովել կոդի ամբողջականությունը, հայտնաբերել թաղանթի անսովոր վարքագիծը և ապահովեք ձեր pipelineներքին և արտաքին սպառնալիքներից, ներառյալ նրանք, որոնք սկսվում են պարզ ցատկող խեցիով դեպի / bin / bash կամ փորձում է խուսափել սահմանափակ shell միջավայրերից։

sca-tools-software-composition-analysis-tools
Առաջնահերթություն տվեք, շտկեք և պաշտպանեք ձեր ծրագրային ռիսկերը
Ստացեք ձեր անվճար հաշիվը։
Ոչ մի վարկային քարտ չի պահանջվում:

Ապահովեք ձեր ծրագրային ապահովման մշակումը և մատակարարումը

Xygeni Product Suite-ի հետ