ਇੱਕ ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲ ਕੀ ਹੈ ਅਤੇ ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਹਮਲੇ ਕਿਉਂ ਮਾਇਨੇ ਰੱਖਦੇ ਹਨ
ਪ੍ਰਤਿਬੰਧਿਤ ਸ਼ੈੱਲਾਂ ਦੀ ਵਰਤੋਂ ਉਪਭੋਗਤਾ ਕਿਹੜੀਆਂ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾ ਸਕਦੇ ਹਨ, ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਕਸਰ ਇਸ ਤਰ੍ਹਾਂ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ cd, ਨਵੇਂ ਸ਼ੈੱਲ ਲਾਂਚ ਕਰਨਾ, ਜਾਂ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਿਰਯਾਤ ਕਰਨਾ। ਉਹ ਆਮ ਤੌਰ 'ਤੇ CI/CD ਏਜੰਟ ਜਾਂ ਉਪਭੋਗਤਾ ਵਿਵਹਾਰ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ ਵਾਤਾਵਰਣ ਬਣਾਉਂਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਹਮਲਾਵਰ ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਕਰਨ ਦੇ ਤਰੀਕੇ ਲੱਭਦੇ ਹਨ, ਇੱਕ ਤਰੀਕਾ ਜੋ ਸੀਮਤ ਸ਼ੈੱਲ ਵਾਤਾਵਰਣ ਤੋਂ ਬਚਣ ਅਤੇ ਅਣ-ਪ੍ਰਤੀਬੰਧਿਤ ਸ਼ੈੱਲਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ bin/bash. ਇੱਕ ਵਾਰ ਅੰਦਰ it, ਹਮਲਾਵਰ ਕੋਲ ਸੀਮਤ ਵਾਤਾਵਰਣ ਦੀਆਂ ਸਾਰੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਦੇ ਹੋਏ, ਪੂਰਾ ਕਮਾਂਡ-ਲਾਈਨ ਨਿਯੰਤਰਣ ਹੁੰਦਾ ਹੈ।
ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਸੀਮਤ ਤੋਂ ਬਿਨ/ਬੈਸ਼ ਤੱਕ
ਇੱਕ ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਦਾ ਟੀਚਾ ਸੀਮਤ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕਮਜ਼ੋਰੀਆਂ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਨਾ ਅਤੇ ਇੱਕ ਸ਼ੈੱਲ ਬਚਣ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਹੈ ਜੋ bin/bash. ਬਚਣ ਲਈ ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲ ਹਮਲਿਆਂ ਲਈ ਆਮ ਤਕਨੀਕਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
$ ls /bin/bash $ /bin/bashIf 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
- ਉਸਾਰੀ ਨਾਲ ਛੇੜਛਾੜ pipelineਜਾਂ ਕਲਾਕ੍ਰਿਤੀਆਂ
- ਦੇ ਅੰਦਰ ਸਥਾਈ ਟੂਲਿੰਗ ਦੀ ਤੈਨਾਤੀ pipeline
ਇਸਕੇਪ ਨੇ ਸ਼ੈੱਲ ਨੂੰ ਇਸ ਤੱਕ ਸੀਮਤ ਕਰ ਦਿੱਤਾ bin/bash ਪੂਰੇ ਸਿਸਟਮ ਸਮਝੌਤੇ ਦਾ ਦਰਵਾਜ਼ਾ ਖੋਲ੍ਹਦਾ ਹੈ, ਅਕਸਰ ਇੱਕ ਵਿਸ਼ਾਲ ਖੇਤਰ ਵਿੱਚ ਪਹਿਲਾ ਕਦਮ DevSecOps ਹਮਲਾ.
ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਅਤੇ ਬਿਨ/ਬਾਸ਼ ਦੇ ਬਚਣ ਦੀ ਨਿਗਰਾਨੀ ਅਤੇ ਖੋਜ ਕਰਨਾ
ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਵਿਵਹਾਰ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਬਚਣ-ਪ੍ਰਤੀਬੰਧਿਤ ਸ਼ੈੱਲ ਕੋਸ਼ਿਸ਼ਾਂ ਨੂੰ ਰੋਕਣ ਲਈ, ਸੁਰੱਖਿਆ ਟੀਮਾਂ ਨੂੰ ਇਹ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
- ਸਾਰੀਆਂ ਸ਼ੈੱਲ ਗਤੀਵਿਧੀਆਂ ਨੂੰ ਲੌਗ ਕਰੋ, ਖਾਸ ਕਰਕੇ / ਬਿਨ / ਬੈਸ਼ ਲਾਗੂ ਕਰਨਾ
- ਸ਼ੈੱਲ ਸਪੌਨ ਵੈਕਟਰਾਂ ਦੇ ਤੌਰ 'ਤੇ ਸੰਪਾਦਕ ਦੀ ਦੁਰਵਰਤੋਂ ਅਤੇ ਸਕ੍ਰਿਪਟ ਵਰਤੋਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ।
- ਸ਼ੈੱਲ ਕੌਂਫਿਗ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਟਰੈਕ ਕਰੋ ਜਿਵੇਂ ਕਿ .bashrc or .bash_profile
ਵਿਵਹਾਰਕ ਪੈਟਰਨ ਜਿਵੇਂ ਕਿ ਲਾਂਚਿੰਗ bin/bash ਇੱਕ ਸੀਮਤ ਵਾਤਾਵਰਣ ਤੋਂ ਆਉਣ ਵਾਲੇ ਅਲਰਟ ਨੂੰ ਉੱਚ-ਪ੍ਰਾਥਮਿਕਤਾ ਵਾਲੇ ਅਲਰਟ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸਦਾ ਜਲਦੀ ਪਤਾ ਲਗਾਉਣ ਨਾਲ ਡੂੰਘੀ ਪਾਸੇ ਦੀ ਗਤੀ ਨੂੰ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਬਚਣ ਵਾਲੇ ਪ੍ਰਤਿਬੰਧਿਤ ਸ਼ੈੱਲ ਹਮਲਿਆਂ ਅਤੇ ਸ਼ੋਸ਼ਣਾਂ ਨੂੰ ਰੋਕਣਾ
ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਜੋਖਮਾਂ ਨੂੰ ਘਟਾਉਣ ਅਤੇ ਹਮਲਾਵਰਾਂ ਨੂੰ ਲਾਂਚ ਕਰਨ ਤੋਂ ਰੋਕਣ ਲਈ bin/bash:
- ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲਾਂ ਨੂੰ ਸਖ਼ਤ ਕਰੋ: ਹਟਾਓ ਜਾਂ ਬਲਾਕ ਕਰੋ ਪਹੁੰਚ
- ਕਮਾਂਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ AppArmor ਜਾਂ SELinux ਦੀ ਵਰਤੋਂ ਕਰੋ
- ਘੱਟੋ-ਘੱਟ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਲਾਗੂ ਕਰੋ CI/CD ਭੂਮਿਕਾਵਾਂ ਅਤੇ ਦੌੜਾਕ
- ਕੰਟੇਨਰਾਈਜ਼ ਬਿਲਡਾਂ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਡਿਸਟ੍ਰੋਲੈੱਸ ਚਿੱਤਰ ਹਨ, ਜਿਵੇਂ ਕਿ ਸ਼ੈੱਲਾਂ ਦੀ ਘਾਟ ਹੈ bin/bash
- ਵਿਗਾੜਾਂ ਨੂੰ ਫੜਨ ਲਈ ਬਿਲਡ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਦੇ ਵਾਤਾਵਰਣਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰੋ।
ਬਚਣ ਵਾਲੇ ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲ ਦ੍ਰਿਸ਼ਾਂ ਦੀ ਰੋਕਥਾਮ ਲਈ ਪਰਤਬੱਧ ਨਿਯੰਤਰਣਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਨਾ ਕਿ ਸਿਰਫ਼ ਸੀਮਤ ਸ਼ੈੱਲਾਂ 'ਤੇ ਨਿਰਭਰਤਾ। ਇਹ ਨਾ ਮੰਨੋ ਕਿ ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲ ਸੁਰੱਖਿਅਤ ਹਨ ਜੇਕਰ bin/bash ਇਹ ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਵੀ ਹੈ।
ਸਿੱਟਾ: ਸ਼ੈੱਲ ਏਸਕੇਪ ਐਂਟਰੀ ਪੁਆਇੰਟ ਹਨ
ਪਾਬੰਦੀਸ਼ੁਦਾ ਸ਼ੈੱਲ ਇੱਕ ਰੱਖਿਆ ਪਰਤ ਹਨ, ਗਾਰੰਟੀ ਨਹੀਂ। ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਹਮਲੇ ਕਮਜ਼ੋਰ ਆਈਸੋਲੇਸ਼ਨ ਅਤੇ ਮਾੜੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੇ ਹਨ। ਇੱਕ ਵਾਰ ਅੰਦਰ ਜਾਣ 'ਤੇ / ਬਿਨ / ਬੈਸ਼, ਹਮਲਾਵਰ DevSecOps ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਨੂੰ ਘੇਰ ਸਕਦੇ ਹਨ, ਕਾਇਮ ਰਹਿ ਸਕਦੇ ਹਨ ਅਤੇ ਸਮਝੌਤਾ ਕਰ ਸਕਦੇ ਹਨ।
ਖੋਜ ਅਤੇ ਆਈਸੋਲੇਸ਼ਨ ਜ਼ਰੂਰੀ ਹਨ। ਕਮਾਂਡ ਲੌਗਿੰਗ, ਸੀਮਤ ਵਾਤਾਵਰਣ, ਅਤੇ ਪੈਕੇਜ ਮੈਨੇਜਰਾਂ ਦੀ ਸਹੀ ਸਫਾਈ ਨੂੰ ਜੋੜਨ ਨਾਲ ਐਕਸਪੋਜ਼ਰ ਘੱਟ ਜਾਂਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਟੂਲ ਜਿਵੇਂ ਕਿ ਜ਼ਾਇਗੇਨੀ ਇਹਨਾਂ ਜੋਖਮਾਂ ਵਿੱਚ ਦਿੱਖ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਉਹ ਕੋਡ ਦੀ ਇਕਸਾਰਤਾ ਨੂੰ ਲਾਗੂ ਕਰਨ, ਅਸਾਧਾਰਨ ਸ਼ੈੱਲ ਵਿਵਹਾਰ ਦਾ ਪਤਾ ਲਗਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ, ਅਤੇ ਆਪਣੇ pipelineਅੰਦਰੂਨੀ ਅਤੇ ਬਾਹਰੀ ਖਤਰਿਆਂ ਤੋਂ, ਉਹਨਾਂ ਸਮੇਤ ਜੋ ਇੱਕ ਸਧਾਰਨ ਜੰਪਿੰਗ ਸ਼ੈੱਲ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ / ਬਿਨ / ਬੈਸ਼ ਜਾਂ ਪ੍ਰਤਿਬੰਧਿਤ ਸ਼ੈੱਲ ਵਾਤਾਵਰਣਾਂ ਤੋਂ ਬਚਣ ਦੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ।






