প্রশ্ন কিভাবে আমার সার্ভার শেলশক বাগ সংকট হয় পরীক্ষা করবেন?


আমি কিভাবে আমার বাশ ইনস্টলেশনের ঝুঁকিপূর্ণ তা নিশ্চিত করতে পারেন বাক্রোধ আপডেট পরে বাগ?


77
2017-09-25 14:25


উত্স


দেখ শেলশক ব্যাশ বাগের বিরুদ্ধে আমার সার্ভার সুরক্ষিত কিনা তা পরীক্ষা করার জন্য একটি ছোট কমান্ড আছে? - Martin Schröder
অনুগ্রহ করে নোট করুন যে এখনও দুটি অপ্রয়োজনীয়তা রয়েছে যা এখনও আবদ্ধ নয় (CVE-2014-7186 এবং CVE-2014-7187)। - Deer Hunter
সিএইচ-2014-7186 এবং সিভি-2014-7187 ঠিক করে দেওয়ার প্যাচগুলি হিরার তার মন্তব্য পোস্ট করার পরে অনেকদিনের জন্য উপলব্ধ। আপনার যদি CVE-2014-7169 এর জন্য প্রদত্ত একটি ডিস্ট্রো প্যাচ থাকে তবে আপনার কাছে ইতিমধ্যে 7186/7187 ব্লক করার জন্য যথেষ্ট থাকতে পারে, নীচের কমান্ডগুলির সাথে আপনার সিস্টেম পরীক্ষা করুন এবং দেখুন। এছাড়াও আপনার distro জন্য আরো নিরাপত্তা আপডেট চেক করুন। - BeowulfNode42


উত্তর:


সিভি-2014-6271 দুর্বলতা পরীক্ষা করার জন্য

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

এটি দুর্বল শব্দ ফিরে প্রতিধ্বনি করা উচিত নয়।


সিভি-2014-7169 দুর্বলতা পরীক্ষা করার জন্য
(সতর্কতা: আপনার ব্যর্থ হলে এটি একটি ফাইল তৈরি বা ওভাররাইট করবে /tmp/echo যে পরে আপনি মুছে দিতে পারেন, এবং আবার পরীক্ষা করার আগে মুছে ফেলা প্রয়োজন)

cd /tmp; env X='() { (a)=>\' bash -c "echo date"; cat echo

এটি শব্দ তারিখ তারপর মত একটি বার্তা সঙ্গে অভিযোগ করা উচিত cat: echo: No such file or directory। পরিবর্তে এটি আপনাকে বলবে যে বর্তমান সময়কালটি তখন আপনার সিস্টেমটি দুর্বল।


সিভি-2014-7186 চেক করার জন্য

bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"

এটা টেক্সট ফিরে প্রতিধ্বনি করা উচিত নয় CVE-2014-7186 vulnerable, redir_stack


সিভি-2014-7187 চেক করার জন্য

(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"

এটা টেক্সট ফিরে প্রতিধ্বনি করা উচিত নয় CVE-2014-7187 vulnerable, word_lineno


সিভি-2014-6277 চেক করার জন্য। আমি এই বিষয়ে 100% নিশ্চিত নই কারণ এটি একটি আংশিকভাবে আবদ্ধ সিস্টেমের উপর নির্ভর করে বলে মনে হচ্ছে যা আমার আর অ্যাক্সেস নেই।

env HTTP_COOKIE="() { x() { _; }; x() { _; } <<`perl -e '{print "A"x1000}'`; }" bash -c "echo testing CVE-2014-6277"

এই একটি পাস ফলাফল এটি শুধুমাত্র টেক্সট ফিরে প্রতিধ্বনি testing CVE-2014-6277। এটি পার্ল রান করে বা যদি এটি অভিযোগ করে যে perl ইনস্টল করা না হয় তবে নিশ্চিতভাবে ব্যর্থ হয়। আমি অন্য কোন ব্যর্থতার বৈশিষ্ট্য সম্পর্কে নিশ্চিত নই যেহেতু আমি আর কোন অপঠিত সিস্টেম নেই।


সিভি-2014-6278 চেক করার জন্য। আবার, আমি এই পরীক্ষার 100% নিশ্চিত না যে আমার আর কোন অপঠিত সিস্টেম নেই।

env HTTP_COOKIE='() { _; } >_[$($())] { echo hi mom; id; }' bash -c "echo testing CVE-2014-6278"

এই পরীক্ষার জন্য একটি পাস এটি শুধুমাত্র পাঠ্য প্রতিধ্বনি করা উচিত testing CVE-2014-6278। যদি আপনার ফিরে echooes hi mom যে কোন জায়গায় স্পষ্টভাবে একটি ব্যর্থ হয়।


83
2017-09-26 07:49



আমরা সাধারণ পরীক্ষা যোগ করতে পারেন foo='() { echo not patched; }' bash -c foo এটা কি? ফাংশন এক্সপোর্টগুলি পৃথক নামস্পেসে রাখা না হওয়া পর্যন্ত, আমরা পরবর্তীতে এক পার্সার বাগ থেকে চলতে থাকব না। - billyw
যে পরীক্ষা একটি সিভি আছে? এই সমস্যা বর্ণনা করার জন্য আপনার কোন রেফারেন্স আছে? এছাড়াও এই ধরণের তথ্যটি শেলশক সম্পর্কে অন্য প্রশ্নগুলির মধ্যে একটি হতে পারে কারন এই প্রশ্নটি কীভাবে বিদ্যমান প্যাচগুলির সফলতা বা ব্যর্থতার পরীক্ষা করে। - BeowulfNode42
এটি মিচেল জালেভস্কির ব্লগ পোস্টের কিছু আসন্ন শেলশক সিভি এর (lcamtuf.blogspot.com/2014/09/...)। এটি সিভি-2014-6278 এর প্রস্তাবিত পরীক্ষা যা এখনও অ-জনসাধারণ। মনে হচ্ছে আমি পরীক্ষার সাধারণতা সম্পর্কে ভুল ছিলাম, যদিও; আমি ইতোমধ্যেই জেলভস্কির পরীক্ষা পাস করার ক্ষেত্রে একটি মামলা করেছি কিন্তু সিভি-2014-7187 পরীক্ষা ব্যর্থ হয়েছে। - billyw
এবং এখানে সিভি-2014-6277 এবং সিভি-2014-6278 এর পূর্ণ প্রকাশ রয়েছে, যাতে তাদের পরীক্ষা করার জন্য কমান্ডগুলি সহ: seclists.org/fulldisclosure/2014/Oct/9 - billyw
এক বিন্দু নোট: এমনকি যদি BASH সংস্করণটি দুর্বল হয়, এমনকি যদি এটি ব্যবহার করে না (যেমন ডেমনগুলির দ্বারা ব্যবহৃত সমস্ত অ্যাকাউন্ট, যেমন "www" বা "cups" বা যাই হোক না কেন) BASH এর ডিফল্ট শেল হিসাবে কনফিগার করা হয় এবং এর মধ্যে কোনও আপনার কোড সিস্টেম () বা অনুরূপ বলে মনে করে, দুর্বল সংস্করণটি কম ঝুঁকিপূর্ণ হতে পারে তবে এখনও, যত তাড়াতাড়ি সম্ভব BASH আপগ্রেড করুন। - DTK


একটি বিশেষভাবে তৈরি করা পরিবেশগত পরিবর্তনশীল রপ্তানি করুন যা বাশের দুর্বল সংস্করণগুলির দ্বারা স্বয়ংক্রিয়ভাবে মূল্যায়ন করা হবে:

$ export testbug='() { :;}; echo VULNERABLE'

আপনি যদি সেই পরিবর্তনশীলটিকে নিজের ব্যবহার না করেন তবে ব্যাশটি $ testbug এ কোডটি মূল্যায়ন করবে কিনা তা দেখতে একটি সহজ প্রতিচ্ছবি চালান:

$ bash -c "echo Hello"
VULNERABLE
Hello

যদি এটি "ভলনারবেল" স্ট্রিংটি দেখায় তবে উত্তরটি স্পষ্ট। অন্যথায়, আপনাকে চিন্তা করতে হবে না এবং আপনার প্যাচ সংস্করণটি বাশ ঠিক আছে।

দয়া করে মনে রাখবেন প্রধান লিনাক্স বিতরণগুলি দ্বারা একাধিক প্যাচ ছেড়ে দেওয়া হয়েছে এবং কখনও কখনও তারা সম্পূর্ণরূপে দুর্বলতাকে ঠিক করে না। নিরাপত্তা উপদেষ্টা চেক এবং রাখা সিভি এন্ট্রি এই বাগ জন্য।


32
2017-09-25 14:25



সিভি-2014-6271 ছাড়াও, রেড হ্যাট থেকে অসম্পূর্ণ ফিক্সটির নিজস্ব নিজস্ব রয়েছে যা অনুসরণযোগ্য: জন্য CVE-2014-7169। - DocMax
আপনার শেল এনভিকে দূষিত করে না এমন এক-মাছচালক এবং 'যদি আপনি বিকল্প লগইন শেলটি ব্যবহার করেন তবেও এটি কাজ করে। export): env testbug='() { :;}; echo VULNERABLE' bash -c "echo Hello" - Lloeki
এখানে কিছু উবুন্টু নির্দিষ্ট বিবরণ আছে askubuntu.com/questions/528101/... - সমস্যা সমাধানের জন্য ব্যক্তিগতভাবে আমাকে উবুন্টু 13.10 থেকে 14.04 এ আপগ্রেড করতে হয়েছিল - dodgy_coder


ShellShock কার্যত হয় একাধিক দুর্বলতা দুর্বলতা একটি সংমিশ্রণ, এবং এই মুহুর্তে এই দুর্বলতাকে কাজে লাগায় এমন মালওয়েরও আছে, তাই ShellShock এখনও একটি সমস্যা হতে পারে, একটি আছে এই সমস্যা সম্পর্কে RedHat থেকে আপডেট সঙ্গে থ্রেড

রেডহাত নিম্নলিখিত recommeds: 

আপনার আদেশ প্রদান করুন:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"

যদি আউটপুট হয়:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
vulnerable
bash: BASH_FUNC_x(): line 0: syntax error near unexpected token `)'
bash: BASH_FUNC_x(): line 0: `BASH_FUNC_x() () { :;}; echo vulnerable'
bash: error importing function definition for `BASH_FUNC_x'
test

আপনার কোন ফিক্স নেই।

যদি আউটপুট হয়:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
bash: error importing function definition for `BASH_FUNC_x()'
test

তোমার আছে CVE-2014-6271 ঠিক করা

যদি আপনার আউটপুট হয়:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `BASH_FUNC_x'
test

আপনি দুর্বল না।

শেলশক চেকের অন্য অংশ হলো সিভি-2014-7169 দুর্বলতা পরীক্ষাটি ফাইল তৈরির সমস্যা থেকে সিস্টেম সুরক্ষিত কিনা তা নিশ্চিত করে। বাশের আপনার সংস্করণটি CVE-2014-7169 এ দুর্বল কিনা তা পরীক্ষা করার জন্য নিম্নলিখিত কমান্ডটি চালান:

$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
bash: x: line 1: syntax error near unexpected token `='
bash: x: line 1: `'
bash: error importing function definition for `x'
Fri Sep 26 11:49:58 GMT 2014

আপনার সিস্টেমটি দুর্বল হলে, সময় এবং তারিখ প্রদর্শন করবে এবং / tmp / echo তৈরি হবে।

যদি আপনার সিস্টেমটি দুর্বল না হয়, তবে আপনি আউটপুট দেখতে পাবেন:

$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
date
cat: /tmp/echo: No such file or directory

2
2017-09-29 14:43





আমি একটি সিএলআই ইউটিলিটি লিখেছেন ShellShocker CGI স্ক্রিপ্টগুলিতে দুর্বলতার জন্য আপনার ওয়েবসার্ভার পরীক্ষা করতে। আপনার সাইট পরীক্ষা করার জন্য, আপনি চালানো হবে:

python shellshocker.py <your-server-address>/<cgi-script-path>

অর্থাত

python shellshocker.py http://example.com/cgi-bin/possibly-vulnerable-script.cgi

সম্পাদনা করুন: এই ইউটিলিটিটি নিচে নিয়ে যাওয়া হয়েছে, দুঃখিত: '(


2
2017-09-26 17:24



আপনার লিঙ্ক মৃত - SSK
@ এসএসকে দুঃখিত;) মিসপেইপ। - Liam Marshall
আপনার লিঙ্ক এখনও মৃত। - Mxx
হ্যাঁ, দুঃখিত, আমি এটা নিচে গ্রহণ। এটা আমি চাই না শোষিত হচ্ছে। - Liam Marshall


আপনি এই অনলাইন পরীক্ষায় আপনার CGI URL জমা দিতে পারেন:

http://shellshock.iecra.org


1
2017-09-25 20:46



এটা downvotes জন্য কারণ প্রদান নম্র। - David
"আমরা সব স্ক্যান লগ" ??? ছম্ছমে। আমি পাইথন ডাউনলোড করতে চাই এবং নিজে চালাই। - Brad
@ ব্র্যাড অন্তত তারা আপনাকে বলছে। আমি নিশ্চিত যে যদি আমি কোনও হোয়াইটহাট নিরাপত্তা পরিষেবা সরবরাহ করি যা এই পরিষেবাটি সরবরাহ করে তবে আমি ভালভাবে লগ ইন করতে পারি (যদি কেবল কোন ব্যক্তিগত বিশদ সহ কাউন্টারে থাকে) কতজন ব্যক্তি অন্ধকারে তাদের সাইটটিতে প্রবেশ করে সেটি যে ওয়েবসাইটে গিয়ে বলেছে পরীক্ষার জন্য সাইটটির সত্যতা সম্পর্কে অনেক কিছু জানার পরে, কোনও অনুপ্রবেশ পরীক্ষার চেষ্টা করার জন্য ... এবং তারা এমন কোনও লগ চাইত যাকে কেউ যদি তাদের পরিষেবাগুলি অন্যদের সাথে সম্পর্কিত দুর্বল সাইটগুলি খুঁজে পেতে ব্যবহার করে তবেও ... - Rob Moir


টাইপ env x = '() {:;}; echo vulnerable 'bash -c "echo এটি একটি পরীক্ষা" এবং যদি এটি দুর্বল হয়ে যায় এবং এটি একটি পরীক্ষা এটি অর্থাত্ আপনার OSX / Linux মেশিন প্রভাবিত হয়। প্রতিকার bash এর সর্বশেষ সংস্করণে আপডেট করা হয়।


-1
2017-09-27 11:33



রুট হিসাবে কেন? সম্পূর্ণ অপ্রয়োজনীয়। - Mat