jumping shell - bin/bash - escape restricted shell

Jumping Shell: ວິທີທີ່ຜູ້ໂຈມຕີຫຼົບໜີ Shell ທີ່ຖືກຈຳກັດໄປຍັງ /bin/bash

ຫອຍທີ່ຖືກຈຳກັດແມ່ນຫຍັງ ແລະ ເປັນຫຍັງການໂຈມຕີດ້ວຍຫອຍແບບໂດດຈຶ່ງມີຄວາມສຳຄັນ

shell ທີ່ຈຳກັດແມ່ນໃຊ້ເພື່ອຄວບຄຸມຄຳສັ່ງທີ່ຜູ້ໃຊ້ສາມາດປະຕິບັດໄດ້, ເຊິ່ງມັກຈະປ້ອງກັນການກະທຳຕ່າງໆເຊັ່ນ cd, ການເປີດໃຊ້ shell ໃໝ່, ຫຼື ການສົ່ງອອກຕົວແປສະພາບແວດລ້ອມ. ໂດຍປົກກະຕິແລ້ວພວກມັນຈະຖືກນຳໃຊ້ໃນ CI/CD ຕົວແທນ ຫຼື ສ້າງສະພາບແວດລ້ອມເພື່ອຈຳກັດພຶດຕິກຳຂອງຜູ້ໃຊ້. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຜູ້ໂຈມຕີຊອກຫາວິທີທີ່ຈະປະຕິບັດການໂດດເຊວ, ເຊິ່ງເປັນວິທີການທີ່ໃຊ້ເພື່ອຫຼົບໜີສະພາບແວດລ້ອມຂອງເຊວທີ່ຖືກຈຳກັດ ແລະ ເຂົ້າເຖິງເຊວທີ່ບໍ່ຈຳກັດເຊັ່ນ bin/bash. ເມື່ອຢູ່ພາຍໃນແລ້ວ it, ຜູ້ໂຈມຕີມີການຄວບຄຸມບັນທັດຄຳສັ່ງຢ່າງເຕັມທີ່, ໂດຍຂ້າມຂໍ້ຈຳກັດທັງໝົດຂອງສະພາບແວດລ້ອມທີ່ຖືກຈຳກັດ.

ວິທີການເຮັດວຽກຂອງ Jumping Shell: ຈາກ Restricted ໄປຫາ bin/bash

ເປົ້າໝາຍຂອງການກະໂດດແບບ shell ແມ່ນເພື່ອໃຊ້ປະໂຫຍດຈາກຈຸດອ່ອນໃນສະພາບແວດລ້ອມທີ່ຈຳກັດ ແລະ ກະຕຸ້ນການຫຼົບໜີຂອງ shell ທີ່ນຳໄປສູ່ 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 ການປະຕິບັດ, ໂດຍສາມາດຫຼີກລ່ຽງການປົກປ້ອງເປືອກທີ່ຈຳກັດໄດ້ຢ່າງມີປະສິດທິພາບ.

ຄວາມສ່ຽງທີ່ແທ້ຈິງຂອງການໂຈມຕີເຫຼົ່ານີ້ໃນ DevOps

ໃນການແບ່ງປັນ CI/CD ສະພາບແວດລ້ອມ, ເປືອກຫອຍທີ່ຖືກຈຳກັດແມ່ນໃຊ້ເພື່ອແຍກການສ້າງ ແລະ ຫຼຸດຜ່ອນຄວາມສ່ຽງ. ແຕ່ເມື່ອຜູ້ໂຈມຕີປະສົບຜົນສຳເລັດດ້ວຍເປືອກຫອຍແບບໂດດ ແລະ ເຂົ້າເຖິງ bin/bash, ຮູບແບບຄວາມປອດໄພລົ້ມສະຫຼາຍ.

ຄວາມສ່ຽງລວມມີ:

  • ການເຂົ້າເຖິງຄວາມລັບຂອງສິ່ງແວດລ້ອມໂດຍບໍ່ໄດ້ຮັບອະນຸຍາດ
  • ການເພີ່ມສິດທິພິເສດຜ່ານການບໍ່ຈຳກັດ bin/bash
  • ການແຊກແຊງການກໍ່ສ້າງ pipelines ຫຼື ສິ່ງປະດິດ
  • ການນຳໃຊ້ເຄື່ອງມືທີ່ຍືນຍົງພາຍໃນ pipeline

ເປືອກທີ່ຈຳກັດການຫຼົບໜີ bin/bash ເປີດປະຕູສູ່ການປະນີປະນອມລະບົບຢ່າງຄົບຖ້ວນ, ເຊິ່ງມັກຈະເປັນການເຄື່ອນໄຫວທຳອິດໃນຂອບເຂດທີ່ກວ້າງຂວາງກວ່າ ການໂຈມຕີ DevSecOps.

ການຕິດຕາມກວດກາ ແລະ ການກວດພົບການໂດດຂອງ Shell ແລະ bin/bash Escapes

ເພື່ອກວດຫາພຶດຕິກຳຂອງ jumping shell ແລະ ສະກັດກັ້ນຄວາມພະຍາຍາມຂອງການ escape shell ທີ່ຈຳກັດ, ທີມງານຮັກສາຄວາມປອດໄພຕ້ອງ:

  • ບັນທຶກກິດຈະກຳຂອງເຊວທັງໝົດ, ໂດຍສະເພາະ / bin / bash ການປະຕິບັດ
  • ຕິດຕາມກວດກາການໃຊ້ຕົວແກ້ໄຂໃນທາງທີ່ຜິດ ແລະ ການໃຊ້ສະຄຣິບເປັນເວັກເຕີ spawn ຂອງເຊວ
  • ຕິດຕາມການເຂົ້າເຖິງໄຟລ໌ config ຂອງ shell ເຊັ່ນ .bashrc or .bash_ ໂປຣໄຟລ

ຮູບແບບພຶດຕິກຳເຊັ່ນ: ການເປີດຕົວ bin/bash ຈາກສະພາບແວດລ້ອມທີ່ຈຳກັດຄວນຖືກພິຈາລະນາວ່າເປັນການແຈ້ງເຕືອນທີ່ມີຄວາມສຳຄັນສູງ. ການກວດພົບມັນແຕ່ຫົວທີສາມາດປ້ອງກັນການເຄື່ອນໄຫວຂ້າງທີ່ເລິກເຊິ່ງກວ່າໄດ້.

ການປ້ອງກັນການໂຈມຕີ ແລະ ການຂຸດຄົ້ນແບບ Shell ທີ່ຈຳກັດການຫຼົບໜີ

ເພື່ອຫຼຸດຜ່ອນຄວາມສ່ຽງດ້ານການກະໂດດຂອງລະເບີດ ແລະ ປ້ອງກັນບໍ່ໃຫ້ຜູ້ໂຈມຕີຍິງປືນ bin/bash:

  • ເຮັດໃຫ້ເປືອກຫອຍທີ່ຖືກຈຳກັດແຂງຂຶ້ນ: ເອົາອອກ ຫຼື ຕັນ ການເຂົ້າເຖິງ
  • ໃຊ້ AppArmor ຫຼື SELinux ເພື່ອຈຳກັດການປະຕິບັດຄຳສັ່ງ
  • ບັງຄັບໃຊ້ສິດທິພິເສດໜ້ອຍທີ່ສຸດໃນທົ່ວ CI/CD ບົດບາດ ແລະ ຜູ້ແລ່ນ
  • ສ້າງ Containerize ດ້ວຍຮູບພາບທີ່ບໍ່ມີການກະຈາຍທີ່ບໍ່ມີເປືອກເຊັ່ນ: bin/bash
  • ກວດສອບສະພາບແວດລ້ອມກ່ອນ ແລະ ຫຼັງການສ້າງເພື່ອກວດຈັບຄວາມຜິດປົກກະຕິ

ການປ້ອງກັນສະຖານະການການຫຼົບໜີຂອງ shell ທີ່ຈຳກັດຮຽກຮ້ອງໃຫ້ມີການຄວບຄຸມຫຼາຍຊັ້ນ, ບໍ່ພຽງແຕ່ອີງໃສ່ shell ທີ່ຈຳກັດເທົ່ານັ້ນ. ຢ່າສົມມຸດວ່າ shell ທີ່ຈຳກັດຈະປອດໄພຖ້າ bin/bash ແມ່ນມີທ່າແຮງທີ່ຈະສາມາດເຂົ້າເຖິງໄດ້.

ສະຫຼຸບ: ການຫຼົບໜີຈາກເປືອກຫອຍແມ່ນຈຸດເຂົ້າ

ລູກປືນທີ່ຖືກຈຳກັດແມ່ນຊັ້ນປ້ອງກັນ, ບໍ່ແມ່ນການຮັບປະກັນ. ການໂຈມຕີດ້ວຍລູກປືນແບບກະໂດດແມ່ນແນໃສ່ການໂດດດ່ຽວທີ່ອ່ອນແອ ແລະ ການກວດສອບຄວາມຖືກຕ້ອງທີ່ບໍ່ດີ. ເມື່ອຢູ່ພາຍໃນແລ້ວ / bin / bash, ຜູ້ໂຈມຕີສາມາດປ່ຽນທິດທາງ, ຄົງຢູ່ ແລະ ປະນີປະນອມໂຄງສ້າງພື້ນຖານ DevSecOps ໄດ້.

ການກວດຈັບ ແລະ ການແຍກຕົວແມ່ນສິ່ງຈຳເປັນ. ການລວມເອົາການບັນທຶກຄຳສັ່ງ, ສະພາບແວດລ້ອມທີ່ຈຳກັດ, ແລະ ການເຮັດຄວາມສະອາດຜູ້ຈັດການແພັກເກດທີ່ເໝາະສົມຊ່ວຍຫຼຸດຜ່ອນການເປີດເຜີຍ.

ສຸດທ້າຍ, ເຄື່ອງມືຕ່າງໆເຊັ່ນ ຊີເກນີ ສະເໜີໃຫ້ເຫັນເຖິງຄວາມສ່ຽງເຫຼົ່ານີ້. ພວກມັນຊ່ວຍບັງຄັບໃຊ້ຄວາມສົມບູນຂອງລະຫັດ, ກວດພົບພຶດຕິກຳທີ່ຜິດປົກກະຕິຂອງ shell, ແລະ ຮັບ​ປະ​ກັນ​ຂອງ​ທ່ານ pipelineຈາກໄພຂົ່ມຂູ່ພາຍໃນ ແລະ ພາຍນອກ, ລວມທັງສິ່ງທີ່ເລີ່ມຕົ້ນດ້ວຍການກະໂດດງ່າຍໆໄປຫາ / bin / bash ຫຼື ພະຍາຍາມຫຼົບໜີສະພາບແວດລ້ອມທີ່ຖືກຈຳກັດ.

ເຄື່ອງມືວິເຄາະອົງປະກອບຊອບແວ SCA
ຈັດລຳດັບຄວາມສຳຄັນ, ແກ້ໄຂ ແລະ ຮັກສາຄວາມສ່ຽງດ້ານຊອບແວຂອງທ່ານໃຫ້ປອດໄພ
ຮັບບັນຊີຟຣີຂອງທ່ານ.
ບໍ່ຕ້ອງມີບັດເຄດິດ.

ຮັບປະກັນການພັດທະນາຊອບແວ ແລະ ການຈັດສົ່ງຂອງທ່ານ

ດ້ວຍຊຸດຜະລິດຕະພັນ Xygeni