কীভাবে ত্রুটিটি ডিবাগ করব "কীবোর্ড দখল করতে পারিনি। কোনও দূষিত ক্লায়েন্ট আপনার সেশনে শ্রুতিমধুর হতে পারে। "


14

আমি উবুন্টু 14.04 এর একটি ইনস্টলেশন চালাচ্ছি যা আমি 6 মাসেরও বেশি সেটআপ করি। প্রায় এক সপ্তাহ আগে, আমি একটি ত্রুটি বার্তা পাওয়া শুরু করেছি:

Could not grab keyboard. A malicious client may be eavesdropping on your session.

বেশ কিছুক্ষণ (সাধারণত রাতারাতি) দূরে থাকার পরে কম্পিউটারে ফিরতে আমি কেবল এটিই দেখেছি। সেট সময় শেষ হওয়ার পরে এটি বেশ কয়েকবার স্ক্রিনটিকে লক করা থেকে বিরত করেছে (যাওয়ার আগে আমি সক্রিয়ভাবে এটি লক করা শুরু করেছি)।

আমি মাদারবোর্ডের একটি ইউএসবি পোর্টের সাথে সরাসরি সংযুক্ত একটি ইউএসবি কীবোর্ড (কিনসিস অ্যাডভান্টেজ) ব্যবহার করছি। আমি একটি বেতার ELECOM মাউস ব্যবহার করছি।

আমি যাওয়ার আগে মাউস ডংলে সংযোগ বিচ্ছিন্ন করার চেষ্টা করতে যাচ্ছি। আমার কীস্ট্রোক ট্র্যাক করতে কোনও দূষিত ক্লায়েন্ট আছে বা এটি কোনও সংযোগের সমস্যা হলে আমি কীভাবে সনাক্ত করব?


1
আপনি যদি নিজের কীট্রোকসটি লগড হয়ে থাকেন বলে মনে করেন তবে সুডো কম্যান্ডস ইস্যু করবেন না !!! পরিবর্তে, একটি পরিষ্কার লাইভ মিডিয়াম বুট করুন এবং সেখান থেকে যান।
j0h

উত্তর:


13

আপনার রহস্য সমাধান করার উপায় এখানে Here তাদের সিস্টেমে যে কোনও প্রক্রিয়ার বিশদ অনুসন্ধান করতে স্ট্যান্ডার্ড উবুন্টু ইউটিলিটিগুলি ব্যবহার করে ব্যবহারকারীদের "কীভাবে মাছ ধরতে হবে" শেখানোর লক্ষ্যটি আরও।

পদক্ষেপ # 1 (বেশিরভাগ কৌতূহলের জন্য): কোন প্রোগ্রাম আপনাকে এই ত্রুটিটি দিচ্ছে তা চিহ্নিত করুন:

# -- You may need to search under more dirs, YMMV
#    List files (incl. binaries) which contain the warning string

$ sudo grep -ral 'malicious client may be eavesdropping' /usr /bin /lib
/usr/lib/openssh/gnome-ssh-askpass

আমার এনভিভিতে কেবলমাত্র এই প্রোগ্রামটিতে এর বাইনারিটিতে এই সতর্কতা স্ট্রিং রয়েছে gnome-ssh-askpass। এই নির্দিষ্ট প্রোগ্রামে কোনও বাগ ফাইল আছে কিনা তা অনুসন্ধান করতে পেরেছি এবং apt-get source ssh-askpass-gnomeআরও তদন্তের জন্য এটির উত্সটি ডাউনলোড করুন (নোট করুন যে প্যাকেজের নাম প্রোগ্রামের নামের চেয়ে আলাদা))

তবে আমি সন্দেহ করি যে মূল কারণটি কোনও সমস্যা নয় gnome-ssh-askpass। যেহেতু gnome-ssh-askpassআপনার পাসফ্রেজের জন্য জিজ্ঞাসা করা হচ্ছে, তাই এর বিকাশকারীরা কীবোর্ডটি ধরতে ব্যর্থ হলে, সবচেয়ে খারাপ পরিস্থিতিটি অনুমান করতে এবং বার্তাটিকে উবার-বিড়ম্বনায় পরিণত করতে ব্যর্থ হলে কেবল সতর্কতার দিক থেকে ভুল করতে বেছে নিয়েছিল। তবে মনে রাখবেন যে দুর্ঘটনাক্রমে কিছু এলোমেলো ওয়েব সাইট ডায়ালগ-বাক্সে আপনার পাসফ্রেজ বা পাসওয়ার্ড টাইপ করা কোনও ভাল ধারণা নয়, সুতরাং সেই দিক থেকে gnome-ssh-askpassবিকাশকারীরা সঠিক কল করেছে।

সম্প্রতি আরও বেশি ওয়েবসাইটগুলি পপআপ প্রদর্শন, পপআপ ডায়ালগের বাইরে অন্য সমস্ত কিছু ম্লান করে দেওয়া এবং আগ্রাসীভাবে ফোকাস দখল করার অনুশীলনে জড়িত হয়ে গেছে। এটি gnome-ssh-askpassকীবোর্ড দখল করতে ব্যর্থ হওয়ার মূল কারণ হতে পারে । যদি আপনার ব্রাউজারটি এই জাতীয় সাইটে খোলা থাকে তবে ব্রাউজারটি বন্ধ করা বা আক্রমণাত্মক ওয়েব সাইট থেকে সরে যেতে সহায়তা করতে পারে। যদি এটির কারণ হয় তবে আপনি কোনও ডেস্কটপ সেটিংসে আগ্রহী হতে পারেন স্বতন্ত্র প্রক্রিয়াগুলিকে সম্পূর্ণ (সম্পূর্ণ ডেস্কটপ) ফোকাসটি ধরা থেকে বিরত করে। উদাহরণস্বরূপ কে-ডি-তে, এই সেটিংটি ( সিস্টেম-সেটিংস -> উইন্ডো-আচরণ -> ফোকাস -> ফোকাস চুরি প্রতিরোধ ) এর অধীনে পাওয়া যাবে । আপনি যদি সত্যিই অদ্ভুত বোধ করেন তবে আমি এটি সেট করার পরামর্শ দিচ্ছিHigh বাExtreme । অবশ্যই, এটি প্রতিরোধও করতে পারেgnome-ssh-askpassকীবোর্ড দখল থেকে বা আরও সঠিকভাবে: Xফোকাসটি ধরা।

পদক্ষেপ # 2: সন্দেহজনক প্রক্রিয়াগুলি সনাক্ত করুন:

ইউনিক্সে, ডিভাইসগুলি ফাইলগুলি uder এর মত উপস্থিত /devহওয়ার পরে, পরবর্তী প্রশ্নটি ফাইল-সিস্টেমের স্তরক্রমের মধ্যে ডিভাইসটি "কীবোর্ড" কে উপস্থাপন করে। আমরা lsofএটির জন্য (ফাইলগুলির তালিকা খুলুন) ইউটিলিটিটি ব্যবহার করতে পারি ।

# look for processes holding devices open, filter out some common ones:
$ sudo lsof | grep /dev | grep -vE '/(null|urandom|zero)'

লক্ষ্য করুন যে বেশিরভাগ প্রসেস হোল্ডিং ডিভাইসগুলি একটি সাধারণ ডেস্কটপ এনভিতে খোলা থাকে /dev/pts/<N>( সিউডো টাইটি) খোলা থাকে ) উন্মুক্ত। এগুলি হ'ল আগ্রহের "ডিভাইস"।

এখানে কী চলছে সে সম্পর্কে কিছু পটভূমি:

একটি সাধারণ লিনাক্স গ্রাফিকাল ডেস্কটপে, প্রক্রিয়াগুলি সরাসরি কীবোর্ডের সাথে কথা বলে না। পরিবর্তে Xপ্রোগ্রাম (Xorg) একটি ডিভাইসের মাধ্যমে সমস্ত কীবোর্ড ইভেন্টগুলি নিয়ন্ত্রণ করে /dev/input/event<N>Xইভেন্ট ইভেন্ট হ্যান্ডলার (ইভডেভ) ব্যবহার করে যা কীবোর্ড ইভেন্টগুলি পরিচালনা করে things আপনি Xলগ দেখে এটি যাচাই করতে পারেন :/var/log/Xorg.0.log যেখানে keyboardউল্লেখ করা হয়েছে তা ।

কীবোর্ড ঘটনা থেকে পাঠিয়ে দেওয়া হয় Xইভেন্ট হ্যান্ডলার প্রক্রিয়া যা প্রক্রিয়া মান-ইনপুট যার উপর খোলা থাকা অবস্থায় মারফত যে কোন সময়ে মাউস পয়েন্টার ফোকাস রয়েছে /dev/pts/<N>। কঠোরভাবে বলতে: একটি প্রক্রিয়া আসলে না "কীবোর্ড দখল" না, কীবোর্ড দ্বারা অনুষ্ঠিত হয় X, প্রক্রিয়া শুধুমাত্র আছে (বা দখল) "ফোকাস" বা মনোযোগ Xতাই Xউপর একটি খোলা stdin ফাইল বর্ণনাকারী মাধ্যমে এটি কীবোর্ড ঘটনা ফরোয়ার্ড করতে পারেন /dev/pts/<N>

এক্স ইভাদেবের মাধ্যমে একাধিক সংখ্যক কীবোর্ড ইভেন্টের ডায়াগ্রাম

পদক্ষেপ # 3: কোন প্রক্রিয়াটির কোন নির্দিষ্ট সময়টিতে জর্জ ফোকাস রয়েছে?

কোন প্রক্রিয়াটির কোনও নির্দিষ্ট সময়ে ফোকাস রয়েছে তা কীভাবে চিত্রিত করবেন? এটির একটি উত্তর জিজ্ঞাসা প্রশ্ন এখানে দেওয়া হয়েছে:

মাউসের নীচে অ্যাপ্লিকেশনটি সন্ধান করুন

উত্তরের সংক্ষিপ্তসারটি হ'ল মাউসের সাহায্যে চারদিকে নেভিগেট করার সময় টার্মিনালে নীচের মতো একটি স্ক্রিপ্ট চালানো:

#!/bin/bash
# Print the process tree of the window currently in focus.
# prereqs:
#   sudo apt-get install xdotool psmisc

while true; do
   pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
   sleep 2
done

পদক্ষেপ # 4: প্রক্রিয়া ক্রিয়াকলাপের আরও গভীর খনন করুন

আপনার সন্দেহজনক প্রক্রিয়াটি শনাক্ত হওয়ার পরে, শেষ পদক্ষেপটি হ'ল এই স্বতন্ত্র প্রক্রিয়াটি তদন্ত করা। তার জন্য আপনি লিনাক্স /procফাইল সিস্টেমে ফিরে যেতে পারেন (man 5 proc ) ।

কোনও প্রক্রিয়া সম্পর্কে আপনি জানতে চাইতে পারেন যে কোনও কিছু নীচে উপলব্ধ /proc। প্রকৃতপক্ষে, প্রোগ্রামগুলি lsof(ওপেন ফাইলগুলি তালিকাভুক্ত করা), ডিবাগারগুলি যা প্রক্রিয়া স্থিতি পরীক্ষা করে এবং প্রক্রিয়া-তালিকা ইউটিলিটিগুলি psবা এর মতো top, সমস্ত নির্ভর করে/proc যেমন ডেটার জন্য কার্নেল দ্বারা জনবহুল হয় তার ।

ব্যবহার করে procআপনি প্রক্রিয়া সম্পাদনযোগ্য প্রোগ্রামটি ডিস্কে কোথায় রয়েছে তা আবিষ্কার করতে পারেন (উদাহরণস্বরূপ স্ট্যান্ডার্ড সিস্টেম ডিরেক্টরিগুলির বাইরে কোনও প্রোগ্রাম, বিশেষত যদি এটি "আমার দিকে মনোযোগ দিন না") এর আড়ালে লুকানোর চেষ্টা করছে ধরণের নামের , সন্দেহ হতে পারে) এবং ব্যবহার করে একটি ডিবাগার বা সিস্টেম কল ট্রেসার আপনি পরীক্ষা করতে পারেন যে তারা সিস্টেম কল স্তরে ঠিক কী করছে (এমনকি যদি আপনার কাছে তাদের উত্স কোড নাও থাকে)।

# 2 এবং # 3 পদক্ষেপগুলি আপনাকে সমস্ত প্রসেস-আইডি ( PIDগুলি) দিতে হবে যা সম্ভবত আপনার কীবোর্ডটি পড়তে পারে। এই প্রতিটি পিআইডিএসের জন্য (আসুন প্রতিটিকে এরূপ হিসাবে চিহ্নিত করুন $pid) আপনি করতে পারেন:

মানচিত্র - সম্পূর্ণ কমান্ড লাইনে পিড করুন:

cat /proc/$pid/cmdline

মানচিত্র its এটির ডিস্কে পিড কার্যকর করা যায়:

ls -l /proc/$pid/exe

মানচিত্র - এটির বর্তমান কার্যকরী ডিরেক্টরিতে পিড:

ls -l /proc/$pid/cwd

মানচিত্র its এটির আসল পরিবেশে পিড

cat /proc/$pid/environ | tr '\000' '\012'

রিয়েল-টাইমে সিস্টেম-কল ক্রিয়াকলাপটি ট্রেড $ পিড (এবং এটির শিশু-প্রোসস):

strace -f -p $pid

(আরও আছে: দেখুন man 5 proc)

আপনি যদি কোনও অপরিচিত প্রক্রিয়া দেখতে পান যা প্রতিটি কী-প্রেসকে একটি ফাইলের মধ্যে (মাধ্যমে write) স্টোরেজ করে বা নেটওয়ার্কের মাধ্যমে এটিতে পাঠিয়ে প্রতিক্রিয়া দেখায় তবে আপনি sendtoএকটি কীবোর্ড স্নিফার পেয়ে থাকতে পারেন।

কোন প্রসেসের (টিসিপি + ইউডিপি) নেটওয়ার্কের শেষ পয়েন্টগুলি খোলা আছে তাও আপনি দেখতে পারবেন:

# See 'man netstat' for details on all options used below
$ sudo netstat -tunapee

শেষের সারি:

ত্রুটির সম্ভাব্য কারণ ম্যালওয়্যার নয়, তবে একই সময়ে কীবোর্ড নিয়ন্ত্রণ পাওয়ার চেষ্টা করছে একাধিক প্রক্রিয়া। দুটির gnome-ssh-askpassমধ্যে একটি হ'ল (ত্রুটিটি মুদ্রণকারী একটি)। অন্যটি আক্রমণাত্মক ফোকাস-অধিগ্রহণকারী ডায়ালগ বাক্স সহ কোনও সাইটে একটি মুক্ত ব্রাউজার হতে পারে।

এমন কি রিমোট সুযোগেও যে আপনি আসলে কিছু ম্যালওয়্যার ইনস্টল করেছেন, সুসংবাদটি হ'ল যেহেতু আপনি লিনাক্সে রয়েছেন, তাই গবেষণা এবং পরিদর্শন করার জন্য সমস্ত প্রক্রিয়া স্বচ্ছ। ম্যালওয়্যারের পক্ষে সত্যই আপনার কাছ থেকে আড়াল করা বা উপরের কৌশলগুলি ব্যবহার করে সহজেই এটি সনাক্ত করা, এর প্রক্রিয়াগুলি মেরে ফেলা এবং এর সমস্ত ফাইল মুছে ফেলা থেকে বিরত রাখা আপনার পক্ষে খুব কঠিন।


পদক্ষেপ # 2 চলাকালীন, আমি অনেকগুলি প্রক্রিয়া হোল্ড দেখি না /dev/pts/7(কেবল 3 টি অনন্য পিড মান)) ফলাফলগুলির মাধ্যমে স্ক্রোল করা, এটি বেশিরভাগ হেল্ফ ডিভাইস হ'ল /dev/pts/15যদিও কিছু ধরে আছে 1, 3, 12, 16, 17, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 34। কিবোর্ড সবসময় থাকে 7? এর মধ্যে আমার কীবোর্ডটি কীভাবে চিহ্নিত করব?
স্টিভেন সি হাওয়েল

এটি উপরের যে কোনও হতে পারে। ফিজিক্যাল কীবোর্ড ডিভাইস (আসলে উপলব্ধকারী Xorg দ্বারা খোলা থাকা অবস্থায় /usr/bin/X) নামে /dev/input/eventNযেখানে আপনি আপনার জানতে পারেন Nস্ট্রিং দিকে তাকিয়ে evdevমধ্যে /var/log/Xorg.0.log। জর্স তারপরে প্রতিটি কীবোর্ডের সেই পৃথক প্রক্রিয়াতে ক্লিক করে "ফরোয়ার্ড" করে যা সেই নির্দিষ্ট তাত্ক্ষণিকতায় মাউস পয়েন্টারটির "ফোকাস" থাকে। আমি যখন চালনা ssh-askpassকরি দেখি এটি /dev/pts/3উন্মুক্ত আছে তবে কোনও এনভির মধ্যে এটি কোনও সিউডো টিটি ডিভাইস হতে পারে। সুতরাং আপনার যে কোনও একটি /dev/pts/Nএখানে প্রাসঙ্গিক হতে পারে।
আরিফেল

@ stvn66 আমি আপনাকে একটি ছোট স্ক্রিপ্ট যুক্ত করেছি যা বলছে কোন প্রক্রিয়াটিতে বারবার "ফোকাস" রয়েছে (জিজ্ঞাসাবান্টু সম্পর্কিত সম্পর্কিত প্রশ্নের উল্লেখ)। আছে HTH।
আরিফেল

স্ক্রিপ্টটি চালানোর পরে কোন প্রক্রিয়াটি মাউসকে ধারণ করছে তা সনাক্ত করার জন্য, আমি কীভাবে সন্দেহভাজনকে সনাক্ত করব? মনে হয় আমি যেই অ্যাপ্লিকেশনটি সিলেক্ট করেছি, যেমন টার্মিনালটি স্ক্রিপ্টটি {firefox}চালানোর সাথে সাথে শুরু হবে, যখন আমি ফায়ারফক্সে ক্লিক করব তখন স্যুইচ করে যখন আমি {thunderbird}থান্ডারবার্ড নির্বাচন করব তখন আবার স্যুইচ করে। কিছুই অপ্রত্যাশিত হিসাবে দাঁড়িয়ে না। সম্ভবত এটি আপনার বটম লাইনে চলে গেছে : কীবোর্ডটি ধরার কোনও বিষয় থেকে সমস্যাটি আসেনি। আমার ইচ্ছা এই নোটিশটি অর্থহীন বা এটি নির্মূল করতে পারে।
স্টিভেন সি হাওল

@ stvn66 আমি আপনাকে শুনেছি :) আপনি সময়মতো ফিরে যেতে পারবেন না এবং মূলত যে ফোকাসটি রেখেছিলেন সেই প্রক্রিয়াটি বের করতে পারবেন না। সেই প্রক্রিয়াটি তখন থেকেই উপস্থিত থাকতে পারে। হতে সত্যিই নিশ্চিত, আপনি নকল করা সক্ষম হতে হবে। আমার সেরা অনুমানটি হ'ল firefoxফোকাস-দখল পপ-আপ সহ কোনও ওয়েব সাইট দেখার সময় এটি ছিল আপনার ব্রাউজার ( )। সন্দেহজনক (নন-ক্যানোনিকাল) উত্সগুলি থেকে আপনি নিয়মিত সফ্টওয়্যার ডাউনলোড এবং ইনস্টল না করলে আমি অত্যন্ত সন্দেহ করি যে আপনি দুর্ঘটনাক্রমে উবুন্টুতে একটি কীবোর্ড স্নিফার ইনস্টল করেছেন। কিছুটা ভৌতিক হওয়া ভাল, তবে এটি অতিরিক্ত ঘামানোর দরকার নেই।
আরিলফ

1

আমার সমস্যাটি ছিল দুটি সমবর্তী gnome-ssh-askpassউইন্ডো কারণে । এসএসএইচের মাধ্যমে একই সার্ভারে আমার দুটি আরএসএনসি চাকরী ছিল এবং দুজনেই এসএসএইচ শংসাপত্রের পাসওয়ার্ড জিজ্ঞাসা করার চেষ্টা করেছিল। গ্রুপিং (এবং শৃঙ্খলা) তাদের একসাথে আমার জন্য সমাধান!

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