តើអ្វីទៅជា Restricted Shell ហើយហេតុអ្វីបានជាការវាយប្រហារដោយ Jumping Shell មានសារៈសំខាន់?
សែលដែលមានការរឹតបន្តឹងត្រូវបានប្រើដើម្បីគ្រប់គ្រងពាក្យបញ្ជាដែលអ្នកប្រើប្រាស់អាចប្រតិបត្តិបាន ដែលជារឿយៗរារាំងសកម្មភាពដូចជា cdការបើកដំណើរការសែលថ្មី ឬការនាំចេញអថេរបរិស្ថាន។ ជាធម្មតាពួកវាត្រូវបានដាក់ពង្រាយនៅក្នុង CI/CD ភ្នាក់ងារ ឬបង្កើតបរិស្ថាន ដើម្បីកំណត់ឥរិយាបថអ្នកប្រើប្រាស់។ ទោះជាយ៉ាងណាក៏ដោយ អ្នកវាយប្រហារស្វែងរកវិធីដើម្បីអនុវត្ត jumping shell ដែលជាវិធីសាស្ត្រមួយដែលប្រើដើម្បីគេចចេញពីបរិស្ថាន shell ដែលមានការរឹតបន្តឹង និងទទួលបានសិទ្ធិចូលប្រើ shell ដែលមិនមានការរឹតបន្តឹងដូចជា ធុង / បាសពេលចូលទៅក្នុងហើយ itអ្នកវាយប្រហារមានការគ្រប់គ្រងបន្ទាត់ពាក្យបញ្ជាពេញលេញ ដោយរំលងដែនកំណត់ទាំងអស់នៃបរិស្ថានដែលមានការរឹតបន្តឹង។
របៀបដែល Jumping Shell ដំណើរការ៖ ពី Restricted ទៅ bin/bash
គោលដៅនៃការលោតចេញជាសំបក (jumping shell) គឺដើម្បីទាញយកប្រយោជន៍ពីចំណុចខ្សោយនៅក្នុងបរិយាកាសមានកម្រិត និងបង្កឱ្យមានការគេចចេញជាសំបកដែលនាំទៅដល់ ធុង / បាសបច្ចេកទេសទូទៅសម្រាប់ការវាយប្រហារដោយគ្រាប់ផ្លោងដែលមានការរឹតបន្តឹងរួមមាន:
$ ls /bin/bash $ /bin/bashIf ធុង / បាស អាចចូលប្រើបាន ការហៅសាមញ្ញនេះបំពេញវា។
វិធីសាស្រ្តទូទៅមួយទៀត៖
$ echo "/bin/bash" > run.sh $ sh run.sh អ្នកវាយប្រហារក៏អាចកេងប្រវ័ញ្ចអ្នកកែសម្រួលដូចជា vi or តិច:
vi :set shell=/bin/bash :shell វិធីសាស្រ្តទាំងនេះបង្ហាញពីរបៀបដែលការលោតផ្លោងអាចនាំទៅរក ធុង / បាស ការប្រតិបត្តិ ដោយរំលងការការពារសែលដែលមានការរឹតបន្តឹងប្រកបដោយប្រសិទ្ធភាព។
ហានិភ័យពិតប្រាកដនៃការវាយប្រហារទាំងនេះនៅក្នុង DevOps
នៅក្នុងការចែករំលែក CI/CD បរិស្ថាន សំបកដែលមានការរឹតបន្តឹងត្រូវបានប្រើដើម្បីញែកអគារ និងកាត់បន្ថយហានិភ័យ។ ប៉ុន្តែនៅពេលដែលអ្នកវាយប្រហារទទួលបានជោគជ័យជាមួយនឹងសំបកលោត ហើយឈានដល់ ធុង / បាសគំរូសន្តិសុខដួលរលំ។
ហានិភ័យរួមមាន:
- ការចូលប្រើប្រាស់ដោយគ្មានការអនុញ្ញាតចំពោះអាថ៌កំបាំងបរិស្ថាន
- ការកើនឡើងសិទ្ធិតាមរយៈការរឹតបន្តឹង ធុង / បាស
- ការជ្រៀតជ្រែកជាមួយសំណង់ pipelines ឬវត្ថុបុរាណ
- ការដាក់ពង្រាយឧបករណ៍អចិន្ត្រៃយ៍នៅក្នុង pipeline
សំបកដែលមានការរឹតត្បិតការរត់គេចទៅ ធុង / បាស បើកទ្វារទៅរកការសម្របសម្រួលប្រព័ន្ធពេញលេញ ដែលជារឿយៗជាជំហានដំបូងនៅក្នុងភាពទូលំទូលាយជាងមុន ការវាយប្រហារ DevSecOps.
ការត្រួតពិនិត្យ និងការរកឃើញការលោតចេញ Shell និង bin/bash Escapes
ដើម្បីរកឃើញឥរិយាបថ jumping shell និងរារាំងការប៉ុនប៉ង shell ដែលរឹតត្បិតការរត់គេចខ្លួន ក្រុមសន្តិសុខត្រូវតែ៖
- កត់ត្រាសកម្មភាពសែលទាំងអស់ ជាពិសេស / bin / bash ការប្រតិបត្តិ
- ត្រួតពិនិត្យការរំលោភបំពានកម្មវិធីនិពន្ធ និងការប្រើប្រាស់ស្គ្រីបជាវ៉ិចទ័របង្កើតសែល
- តាមដានការចូលប្រើឯកសារកំណត់រចនាសម្ព័ន្ធសែលដូចជា .bashrc or .bash_ ប្រវត្តិរូប
គំរូនៃឥរិយាបថដូចជាការចាប់ផ្តើម ធុង / បាស ពីបរិស្ថានដែលមានការរឹតត្បិតគួរតែត្រូវបានចាត់ទុកថាជាការជូនដំណឹងដែលមានអាទិភាពខ្ពស់។ ការរកឃើញវាតាំងពីដំបូងអាចការពារចលនាទៅចំហៀងកាន់តែជ្រៅ។
ការទប់ស្កាត់ការវាយប្រហារ និងការកេងប្រវ័ញ្ចដោយគ្រាប់ផ្លោងដែលមានការរឹតបន្តឹងលើការរត់គេចខ្លួន
ដើម្បីកាត់បន្ថយហានិភ័យនៃការផ្ទុះគ្រាប់បែក និងការពារអ្នកវាយប្រហារពីការបាញ់ប្រហារ ធុង / បាស:
- ធ្វើឱ្យសំបកដែលមានការរឹតបន្តឹងរឹង៖ ដក ឬបិទ ចូល
- ប្រើ AppArmor ឬ SELinux ដើម្បីកំណត់ការប្រតិបត្តិពាក្យបញ្ជា
- អនុវត្តសិទ្ធិពិសេសតិចបំផុតនៅទូទាំង CI/CD តួនាទី និងអ្នករត់ប្រណាំង
- Containerize បង្កើតជាមួយរូបភាពដែលគ្មានឌីស្ត្រូល ខ្វះសែលដូចជា ធុង / បាស
- ផ្ទៀងផ្ទាត់បរិស្ថានមុន និងក្រោយការបង្កើត ដើម្បីចាប់ភាពមិនប្រក្រតី
ការបង្ការសេណារីយ៉ូសំបកដែលមានការរឹតបន្តឹងការរត់គេចខ្លួនតម្រូវឱ្យមានការគ្រប់គ្រងជាស្រទាប់ៗ មិនមែនគ្រាន់តែពឹងផ្អែកលើសំបកដែលមានការរឹតបន្តឹងនោះទេ។ កុំសន្មតថាសំបកដែលមានការរឹតបន្តឹងមានសុវត្ថិភាពប្រសិនបើ ធុង / បាស ថែមទាំងអាចទៅដល់បានទៀតផង។
សេចក្តីសន្និដ្ឋាន៖ ការរត់គេចពីសំបកគ្រាប់កាំភ្លើងគឺជាចំណុចចូល
គ្រាប់ផ្លោងដែលមានកម្រិតគឺជាស្រទាប់ការពារ មិនមែនជាការធានាទេ។ ការវាយប្រហារដោយគ្រាប់ផ្លោងលោតផ្លោះផ្តោតលើភាពឯកោខ្សោយ និងការផ្ទៀងផ្ទាត់មិនល្អ។ នៅពេលចូលទៅខាងក្នុង / bin / bashអ្នកវាយប្រហារអាចបង្វែរទិសដៅ បន្ត និងសម្របសម្រួលហេដ្ឋារចនាសម្ព័ន្ធ DevSecOps។
ការរកឃើញ និងការញែកដាច់ពីគេគឺមានសារៈសំខាន់។ ការរួមបញ្ចូលគ្នានៃការកត់ត្រាពាក្យបញ្ជា បរិស្ថានដែលមានការរឹតបន្តឹង និងការសម្អាតកម្មវិធីគ្រប់គ្រងកញ្ចប់ឱ្យបានត្រឹមត្រូវ កាត់បន្ថយការប៉ះពាល់។
ជាចុងក្រោយ ឧបករណ៍ដូចជា ស៊ីហ្គេនី ផ្តល់នូវភាពមើលឃើញចំពោះហានិភ័យទាំងនេះ។ ពួកវាជួយពង្រឹងភាពសុចរិតនៃកូដ រកឃើញឥរិយាបថសែលមិនធម្មតា និង ធានាសុវត្ថិភាពរបស់អ្នក។ pipelineពីការគំរាមកំហែងខាងក្នុង និងខាងក្រៅរួមទាំងចំណុចដែលចាប់ផ្តើមដោយការលោតផ្លោះសាមញ្ញមួយទៅ / bin / bash ឬព្យាយាមគេចចេញពីបរិស្ថានសែលដែលមានការរឹតបន្តឹង។






