কোনও পদ্ধতিতে আক্রমণকারী কীভাবে কোনও সিস্টেমের সাথে আপস করার জন্য এমকেডির ব্যবহার করতে পারে?


22

আমি ব্যবহারকারীর জন্য একটি বিধিনিষেধযুক্ত ব্যবহারকারী অ্যাকাউন্ট স্থাপন করছি ricardo, আমার সিস্টেমে একটি ঝামেলার ব্যবহারকারী । আমি তাকে ব্যবহার করে ডিরেক্টরিগুলি তৈরি করার অধিকারটি দিতে চাই sudo, যা তার মাঝে মাঝে করা উচিত। আমি আমার /etc/sudoersফাইলে এই নিয়মটি বিবেচনা করছি :

ricardo   ALL=(root) NOPASSWD: /bin/mkdir

কেবলমাত্র এই নিয়মটি ব্যবহার করেই, কোনও উপায় আছে যা রিকার্ডো ইচ্ছাকৃতভাবে বা দুর্ঘটনাকৃতভাবে সিস্টেমের সাথে আপোস করতে পারে?


2
আপনার যদি স্ট্যাটিক ইনড গণনা সহ কোনও ফাইল সিস্টেম থাকে তবে তিনি আপনার সমস্ত ইনোড ব্যবহার করতে পারেন।
jordanm

2
@ শচাইবা তিনি টিঙ্কারটি দেখতে এবং দেখতে চান তিনি সিস্টেমটি কাজে লাগাতে পারেন কিনা এবং সর্বদা তার পাতার পাতা যতটা পড়া উচিত নয় তা পড়েন না।
রিকার্ডো আলতামিরানো

8
একটি উপযুক্ত ব্যবহারকারীর শিক্ষা, সেই সময়ে কোনও সুডোর সাথে মিলিত হওয়া আমার কাছ থেকে করা প্রস্তাবিত জিনিস হবে।
স্কাইবা

2
@ শাইইবা যেমন বলেছে, আপনি এ জাতীয় ব্যবহারকারীদের তাদের শেখানোর মাধ্যমে এবং তাদের দায়িত্ব দেওয়া (ঘনিষ্ঠ তদারকির অধীনে) ব্যবহার করতে পারেন। আমি সিসডামিন এবং ব্যবহারকারীদের মধ্যে যুদ্ধ দেখেছি, কারণ প্রথমটি সিস্টেমটি খুব বেশি তালাবদ্ধ করার চেষ্টা করেছিল। ব্যবহারকারীরা সিসাদমিনগুলি 10 থেকে 1 ছাড়িয়েছিল এবং তারপরেও ( আজকের ইন্টারনেট অ্যাক্সেস ছাড়াই !) সিসডমিনদের পরাজয় অপমানজনক ছিল। এরকম পজিশনে কখনও নামবেন না!
ভোনব্র্যান্ড

2
এটি অনেক রিকার্ডোর ক্ষেত্রে। বা কমপক্ষে, এভাবে বোফ বলেছেন ...
হরিণ হান্টার

উত্তর:


21

আমি সন্দেহ করি যে এটির মতো আক্রমণটি কাজ করবে, যেখানে «কিছু» একটি কার্নেল মডিউল যা রুটফগুলি মাউন্ট করার পরে লোড করার চেষ্টা করবে:

$ sudo mkdir -m 777 /lib/modules/`uname -r`/a
$ cp evil.ko /lib/modules/`uname -r`/a/«something».ko

এটিও নোট করুন যে আপনি মডিউলটিতে ঘোষিত এলিয়াসগুলির উপর নির্ভর করে অন্যান্য নাম ব্যবহার করতে পারেন। আমি অনুমান করছি যে ডিপোডম চালানো না হওয়া পর্যন্ত এটি লোড হবে না, যা পরের বার কার্নেল আপডেট হওয়ার পরে ঘটবে — সুতরাং সুডো লগটিতে এটি mkdirসম্প্রতি প্রদর্শিত হবে না।

/ ইত্যাদিতে প্রচুর জিনিস রয়েছে যা কখনও কখনও পুনরাবৃত্তির সাথে ডিরেক্টরিতে সমস্ত ফাইল পড়ে। এর চেয়েও খারাপ, এই ডিরেক্টরিগুলির মধ্যে কয়েকটি ডিফল্টরূপে বিদ্যমান নেই এবং সেগুলি সম্পর্কে জানার একমাত্র উপায় হ'ল ম্যানপেজ, আরআইডি স্ক্রিপ্টস ইত্যাদি সেগুলি ব্যবহার করে এমন প্রোগ্রামটি পড়া। কিছু, আরও খারাপ, পিছনের দিকে সামঞ্জস্যযোগ্য জিনিসগুলি হ্রাস করা হয়, এবং এমনকি এটি আর নথিভুক্তও করা যায় না।

সম্পাদনা করুন: আরও কয়েকটি ডিরেক্টরি ভেবেছিলেন /usr/local:

  • /usr/local/lib/perl/5.14.2(পার্ল সংস্করণের উপর নির্ভর করে পৃথক হয়ে perl -Vওঠার চেষ্টা করুন )। Fileসেখানে একটি উপ-ডিরেক্টরি তৈরি করুন Find.pmএবং এটিতে একটি লিখুন । এখন যখনই কেউ ব্যবহার করবে File::Find, তারা আক্রমণকারীর সংস্করণ ব্যবহার করবে। একইভাবে, একই সঙ্গে Getopt::Long। সিস্টেম ইউটিলিটিগুলি প্রায়শই পার্ল-এ লেখা হয়, সুতরাং এটি সম্ভবত শিকড় দেয়। (চেষ্টা করুন ack-grep --color -a 'use.+::' /usr/sbin | less -R)
  • আমি পাইথন, রুবি ইত্যাদির একই রকম ডিরেক্টরি রয়েছে বলে মনে করি। সিস্টেম ইউটিলিটিগুলি পাইথনেও লেখা হয়।
  • যার সাবডাইরেক্টরিগুলির সাথে কেউ সংকলন করে এমন অনেকগুলি বিষয় উপস্থাপন করুন /usr/local/include

ওহ, তবে <কুরুচিপূর্ণ ব্যবহারকারীরা মডিউলগুলি যেখানে কার্নেল এগুলি লোড করবে সেগুলি অনুলিপি করতে পারে, খেলা শুরু হওয়ার আগেই শেষ।
ভোনব্র্যান্ড

1
@ ভনব্র্যান্ড <অশুভ ব্যবহারকারী> সাধারণত করতে পারে না, তবে তার ব্যবহার sudo mkdirকরতে পারে যেখানে তিনি পারেন একটি নতুন ডিরেক্টরি তৈরি করতে।
ডারোবার্ট

20

mkdirরুট হিসাবে চলার মাধ্যমে , ব্যবহারকারী পূর্বে অভিন্ন নাম (এবং / অথবা ভুল অধিকার) সহ ডিরেক্টরি তৈরি করে নতুন ফাইল এবং ডিরেক্টরি তৈরি করতে অন্যান্য প্রক্রিয়া / ব্যবহারকারীদের ব্লক করতে পারে।

এটি বিশেষত লগ- এবং লক- ফাইলগুলির সাথে সুরক্ষা সম্পর্কিত হতে পারে ।

হিসাবে jordanm উল্লিখিত সর্বোচ্চ সংখ্যা inodes এছাড়াও আপ ব্যবহার করা যাবে, যা পুরো সিস্টেম ব্লক করতে পারেন।

নির্দিষ্ট গ্রুপগুলিতে (বা এসিএল ব্যবহার করে ) ব্যবহারকারীকে যুক্ত করার মাধ্যমে আপনার কোনও অধিকার না দিয়ে সমস্যাগুলি সমাধান করতে সক্ষম হওয়া উচিত sudo


দুর্দান্ত পয়েন্ট। mkdirরিকার্ডো যে কমান্ড ব্যবহার করার অনুমতি রয়েছে তার তালিকা আমি সম্ভবত ছেড়ে দেব ।
রিকার্ডো আলতামিরানো

যদি এটি ক্লান্তিকর for((i = 0;; i++)); do touch $i; doneইনোডের জন্য হয় তবে একটি সরল সূক্ষ্ম কাজ করবে (বাশিজম, দুঃখিত; তবে আপনি ধারণাটি পাবেন)।
ভনব্র্যান্ড

@ ভনব্র্যান্ড বাদে এগুলি মূল হিসাবে নয়, সুতরাং এটি কোনও কোটা দ্বারা থামানো হবে। অবশ্যই, sudoওপি যে অন্যান্য কমান্ড বিবেচনা করছে তা ক্লান্তিকর ইনডকেও অনুমতি দিতে পারে; ওপিকে সেই ডস ভেক্টর সম্পর্কে সচেতন হওয়া দরকার।
ডারোবার্ট

11

আপনার তাকে ক্রুট কারাগারে পুনর্নির্দেশ করা উচিত। বা আরও ভাল, একটি সামান্য ভিএম, যে তিনি একটি ঘন্টা একবার ক্র্যাশ করতে পারেন। আপনাকে যা করতে হবে তা হ'ল একটি নতুন অনুলিপি সরবরাহ করা।


আমি অত্যন্ত এটি সুপারিশ। তাকে তার নিজের ভিএম এ রুট অ্যাক্সেস দিন।
এমোরি

একটি ক্রুটে ^ এইচ ^ এইচ ^ এইচ ^ এইচটি ount হেঁটি জেল ...
হরিণ হান্টার

6

লেখার অ্যাক্সেসের সাথে ডিরেক্টরি তৈরি করতে সক্ষম হওয়ার কারণে সম্ভাবনা রয়েছে। সঙ্গে ব্যবহারকারী যাই হোক না কেন তারা নতুন ডিরেক্টরির মধ্যে পছন্দ লিখতে পারেন। আপনার অন্য সিস্টেম হিসাবে ইতিমধ্যে চলমান সিস্টেমে এমন একটি প্রক্রিয়া প্রয়োজন যা কনফিগারেশন, স্ক্রিপ্টস বা মডিউল লোড করতে ডিরেক্টরি ট্রি পুনরুক্ত করবে। তারপরে ব্যবহারকারী সম্ভবত তাদের নিজস্ব জিনিস লোড বা চালাতে যুক্ত করতে পারে। প্রথম জিনিসটি আমি ভাবতে পারি যদি আপনি কোনও ওয়েব সার্ভার চালান যা পিএইচপি বা সিজিআই চালাতে পারে। এরপরে আপনি সেই ব্যবহারকারী হিসাবে স্ক্রিপ্ট চালাতে পারেন। আমি আরও বাস্তব বিশ্বের উদাহরণগুলি নিয়ে আসার জন্য লড়াই করছি, বিশেষত এগুলি তবে আমি নিশ্চিত যে তারা সম্পর্কে। mkdir -m 777 blahricardoroot

ssh একটি ডেমন এর উদাহরণ যা এই ধরণের দৃশ্যের ফাঁদে পড়ে। আপনি যদি .sshএমন কোনও ব্যবহারকারীর জন্য একটি ডিরেক্টরি তৈরি করেন যার একটি নেই এবং নিজের authorized_hostsফাইলটি জায়গায় রেখে দেয়। sshdডিরেক্টরিগুলির অনুমতিগুলি খুব বেশি উন্মুক্ত এবং জনসাধারণ কী কী উপেক্ষা করে তা লক্ষ্য করুন।

আপনি অবশ্যই ডিরেক্টরি তৈরির ক্ষেত্রে একটি উপদ্রব তৈরি করতে পারেন যেখানে ফাইলগুলি চালু হওয়ার আশা করা হয় (ট্রান্সিয়েন্ট টিএমপি বা স্যুপ ফাইলগুলির মতো) যা প্রচুর প্রোগ্রাম সুন্দরভাবে পরিচালনা করতে পারে না।

আপনি প্রচুর সিগ্রুপ তৈরি করতে পারেন তবে এগুলি দিয়ে আপনি কিছু করেছেন বলে মনে হচ্ছে না। আপনি কোনও সিস্টেমকে কমপক্ষে হাঁটুতে আনতে সক্ষম হতে পারেন। এটা তোলে জন্য 256M সঙ্গে একটি বাক্সে 10000 সম্পর্কে Cgroups গ্রহণ করা হলে OOM kills হত্যাকারী sshd কমান্ড খুঁজে নিতে।

যদি আপনি পরিবেশের -mবিকল্প mkdirএবং ইউএমএএসকে নিয়ন্ত্রণ করেন তবে sudoআমি মনে করি এটি কেবল উপদ্রব হয়ে ফিরে এসেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.