অন্যান্য ব্যবহারকারীর কাছে কীভাবে একটি প্রক্রিয়া অদৃশ্য করা যায়?


19

আপনি কীভাবে কোনও প্রক্রিয়া চালু করতে এবং topকমান্ডের অদৃশ্য করতে পারেন ? প্রক্রিয়াটি একটি সাধারণ ব্যবহারকারী দ্বারা শুরু করা হয় (মূল নয়) এবং অন্যান্য সাধারণ ব্যবহারকারীর কাছে দৃশ্যমান হওয়া উচিত নয়।


1
এই ধরনের শীর্ষের উদ্দেশ্যকে পরাস্ত করে এবং অপব্যবহার করা খুব সহজ। কেন কেবল প্রক্রিয়াটির নতুন নামকরণ করবেন না? this_is_not_the_process_you_are_looking_for?

আমি দেখছি, ব্যবহারকারীকে কীভাবে আড়াল করবেন?

5
দয়া করে আমাদের বলুন আপনি রুট-কিট লেখার চেষ্টা করছেন না। আপনি কী আপনার পরিস্থিতিটি ব্যাখ্যা করতে পারেন যাতে সম্ভবত আমরা সাধারণত "দুষ্ট" আচরণ বলে বিবেচিত তার পরিবর্তে আরও ভাল সুরক্ষা আর্কিটেকচারের পরামর্শ দিতে পারি?
কালেব

2
আপনি ব্যবহার করতে পারেন grsecurity বা SELinux- র । উভয়ই প্রাথমিক সেটআপের জন্য মূল হস্তক্ষেপের প্রয়োজন।
গিলস

উত্তর:


14

৩.৩ থেকে লিনাক্স কার্নেলে অন্যান্য ব্যবহারকারীর কাছে প্রক্রিয়াগুলি আড়াল করার জন্য সমর্থন রয়েছে।

এটা তোলে দ্বারা সম্পন্ন করা হয় hidepid=এবং gid=বর্ণনা অনুযায়ী জন্য / proc জন্য বিকল্পগুলি মাউন্ট সংশ্লিষ্ট কমিট এবং ডকুমেন্টেশন / ফাইল সিস্টেম / proc.txt

ডেবিয়ান হুইজিও এই বৈশিষ্ট্যটি অন্তর্ভুক্ত করে।


11

topকমান্ড proc, যা সরাসরি কার্নেল থেকে প্রদান করা হয় থেকে ডেটা পড়ে। প্রক্রিয়াগুলি গোপন করার জন্য, আপনাকে মাস্কিং করতে কার্নেলের অভ্যন্তরে কোড ব্যবহার করতে হবে।

সেলইনাক্স এবং গার্সিকিউরিটির মতো সুরক্ষা কাঠামো (অন্য উত্তরগুলিতে উল্লিখিত) ব্যবহার বাদে, রুটকিট-স্টাইল কোডটি আপনার একমাত্র অবশিষ্ট বিকল্প। আমি "স্টাইল" বলি কারণ একটি "রুটকিট" নিজেই খারাপ নয়, এটি এটি কীভাবে ব্যবহৃত হয়। অন্যান্য ব্যবহারকারীর কাছ থেকে প্রক্রিয়াগুলি গোপন করার পিছনে পুরোপুরি বৈধ কারণ রয়েছে, যে কারণে এই দক্ষতাটি সুরক্ষা কাঠামোতে বিদ্যমান exists

এটি কাজ করার জন্য আপনাকে যে মূল পথটি অনুসরণ করতে হবে তা হ'ল লিনাক্স কার্নেলের ফাংশন (গুলি) যা /proc/pid/তথ্য উপাত্ত করে তা হুক করা (বা হাইজ্যাক করা । আমি লিখেছি এমন একটি সুরক্ষা মডিউলে লিনাক্স কার্নেল ফাংশনগুলিতে ঝাঁকুনির একটি পদ্ধতি প্রদর্শন করি:

https://github.com/cormander/tpe-lkm

এর জন্য "উচ্চ স্তরের" কোডটি hijack_syscalls()পদ্ধতিতে রয়েছে security.cএবং এর পিছনে থাকা শয়তান-ইন-দ্য ডিটেল ম্যাজিকটি hijacks.cফাইলটিতে রয়েছে।

আপনি সম্ভবত fs/proc/লিনাক্স কার্নেলের উত্স কোডের ডিরেক্টরিতে ফাংশনটি সন্ধান করতে পারবেন । মনে রাখবেন যে লিনাক্স একটি স্থিতিশীল এবিআই সরবরাহ করে না, তাই আপনার কোডটি লিনাক্স কার্নেলের বিভিন্ন সংস্করণে কাজ করার জন্য কিছুটা পরিবর্তন করতে হবে। এছাড়াও, মনে রাখবেন যে এই কোডটি সন্নিবেশ করতে সক্ষম হতে আপনার মেশিনে সম্পূর্ণ রুট অ্যাক্সেসের প্রয়োজন।

হালনাগাদ:

যদি আপনি pid_getattrকিছু অতিরিক্ত কোড দিয়ে কার্নেল প্রতীকটি আবদ্ধ করেন তবে এটি করা সহজ। আমি সম্প্রতি এমন কিছু যুক্ত করেছি যা উপরের কার্নেল মডিউলটিতে প্রক্রিয়াগুলি আড়াল করে:

https://github.com/cormander/tpe-lkm/commit/899bd5d74764af343d5fee1d8058756ddc63bfe3

আপনি নির্দিষ্ট ব্যবহারকারী বা গোষ্ঠীর প্রক্রিয়াগুলি রুট এবং সেই ব্যবহারকারী ব্যতীত অন্য কারও দ্বারা দৃশ্যমান না করে এই জাতীয় কিছু করতে পারেন। প্রক্রিয়া নাম দ্বারা এটি করা কিছুটা জটিল, তবে সম্ভব। exe_from_mm()ফাংশনটি একবার দেখুন । উল্লেখ্য সেখানে এটি ভেতরে ব্যবহারের কর্মক্ষমতা প্রভাব হতে পারে যে pid_getattr


4

এটি দুটি প্রধান বিকল্প বলে মনে হচ্ছে।

  • সেলিনাক্স বিভিন্ন লোককে বিভিন্ন সুরক্ষা ডোমেনে এবং এক অর্থে বালি-বক্সিং দিয়ে কাজ করে যাতে তারা একে অপরের স্টাফ দেখতে না পায়। এটি এই প্রশ্নের মধ্যে আবৃত । যেহেতু সেলিনাক্স দ্রুত লিনাক্স বিশ্বে ডি-ফ্যাক্টো সুরক্ষা কাঠামোয় পরিণত হচ্ছে এটি সম্ভবত আপনার দিকে নজর দেওয়া উচিত।

  • অন্যান্য grsecurity হিসাবে marioosh উল্লেখ এবং এই প্রশ্নের জিজ্ঞাসা । কিছু ডিস্ট্রোতে grsecurity প্যাচ প্রয়োগ করে বিকল্প কার্নেল প্যাকেজ রয়েছে। আপনার যদি এটি থাকে তবে আপনি সেগুলি ব্যবহার করতে পারেন।

যদি কোনও কারণে আপনি সেলিনাক্স বা গার্সিকিউরিটির মতো সুরক্ষা কাঠামো সংযোজন না করে এটি করতে চান তবে দয়া করে ব্যাখ্যা করুন আপনি কী করছেন কীভাবে কোনও রুট-কিটটি লিখছেন না।




0

আপনি একটি সমতুল্য কমান্ড লিখতে পারেন যা ঠিক topতেমন কাজ করে তবে নির্দিষ্ট নামের সাথে মিলে যাওয়া প্রক্রিয়াগুলি প্রদর্শন করে না। বিকল্পভাবে আপনি topকমান্ডের উত্স কোড পেতে পারেন এবং সে অনুযায়ী এটি সংশোধন করতে পারেন। তারপরে আপনি আপনার সংস্করণ দিয়ে topকমান্ডটি /usr/sbin(বা যেখানেই হোক না কেন) প্রতিস্থাপন করতে পারেন ।


2
'শীর্ষ' প্রতিস্থাপন কোনও ব্যবহারকারীর শীর্ষস্থানীয় কাজগুলি করা থেকে বিরত রাখে না।
টিম পোস্ট

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