മറ്റുള്ളവരുടെ ടെർമിനലുകളിൽ എസ്‌കേപ്പ് സീക്വൻസുകൾ ചേർക്കാൻ അനുവദിക്കുന്ന ഒരു ദുർബലത

util-linux പാക്കേജിൽ വിതരണം ചെയ്‌തതും ടെർമിനലുകളിലേക്ക് സന്ദേശങ്ങൾ അയയ്‌ക്കുന്നതിന് ഉദ്ദേശിച്ചുള്ളതുമായ വാൾ യൂട്ടിലിറ്റിയിൽ ഒരു ദുർബലത (CVE-2024-28085) തിരിച്ചറിഞ്ഞിട്ടുണ്ട്, ഇത് മറ്റ് ഉപയോക്താക്കളുടെ ടെർമിനലുകളിൽ എസ്‌കേപ്പ് സീക്വൻസുകളിൽ കൃത്രിമം കാണിച്ച് ആക്രമണം നടത്താൻ അനുവദിക്കുന്നു. ഇൻപുട്ട് സ്ട്രീമിലെ എസ്‌കേപ്പ് സീക്വൻസുകളെ വാൾ യൂട്ടിലിറ്റി തടയുന്നതാണ് പ്രശ്‌നത്തിന് കാരണം, എന്നാൽ കമാൻഡ് ലൈൻ ആർഗ്യുമെൻ്റുകളിൽ അങ്ങനെ ചെയ്യാത്തത്, മറ്റ് ഉപയോക്താക്കളുടെ ടെർമിനലുകളിലെ രക്ഷപ്പെടൽ സീക്വൻസുകളിൽ നിന്ന് രക്ഷപ്പെടാൻ ആക്രമണകാരിയെ അനുവദിക്കുന്നു.

ഉദാഹരണത്തിന്, 'wall $(printf "\033[33mHI")' എക്സിക്യൂട്ട് ചെയ്യുന്നതിലൂടെ നിങ്ങൾക്ക് "HI" മഞ്ഞ നിറത്തിൽ പ്രിൻ്റ് ചെയ്യാം. പോയിൻ്റർ നീക്കാനും സ്ക്രീനിലെ ഉള്ളടക്കം മായ്‌ക്കാനും മാറ്റിസ്ഥാപിക്കാനും നിങ്ങളെ അനുവദിക്കുന്ന എസ്‌കേപ്പ് സീക്വൻസുകൾ ഉപയോഗിക്കുന്നതിലൂടെ, മറ്റൊരു ഉപയോക്താവിൻ്റെ ടെർമിനലിൽ സുഡോ പാസ്‌വേഡ് പ്രോംപ്റ്റ് കാണിക്കുന്നത് നിങ്ങൾക്ക് അനുകരിക്കാനാകും. ഉപയോക്താവ് ഈ തന്ത്രം ശ്രദ്ധിക്കാതെ അവൻ്റെ പാസ്‌വേഡ് നൽകിയാൽ, പാസ്‌വേഡ് ഇൻപുട്ട് ചരിത്രത്തിൽ നിലവിലില്ലാത്ത കമാൻഡായി ദൃശ്യമാകും (വാസ്തവത്തിൽ, ഉപയോക്താവ് കമാൻഡിന് പകരം കമാൻഡ് ലൈനിൽ തൻ്റെ പാസ്‌വേഡ് നൽകും). “\033[3A” // കഴ്‌സർ മുകളിലേക്ക് 3 വരികൾ നീക്കുക “\033[K” // മുമ്പത്തെ ഔട്ട്‌പുട്ട് ഇല്ലാതാക്കുക “[sudo] a_user:” പാസ്‌വേഡ് ഇല്ലാതാക്കുക // ഒരു ഡമ്മി സുഡോ അഭ്യർത്ഥന പ്രദർശിപ്പിക്കുക “\033[?25l” / / "\033[38;2;48;10;36m" ഇൻപുട്ട് മറയ്ക്കാൻ പശ്ചാത്തല നിറം സജ്ജമാക്കുക

നൽകിയ കമാൻഡ് കണ്ടെത്തിയില്ല എന്ന മുന്നറിയിപ്പ് നൽകുമ്പോൾ, പല വിതരണങ്ങളും /usr/lib/command-not-found ഹാൻഡ്‌ലർ പ്രവർത്തിപ്പിക്കുന്നു, ഇത് നഷ്ടപ്പെട്ട കമാൻഡ് അടങ്ങിയ പാക്കേജ് തിരിച്ചറിയാനും അത് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയുമോ എന്നതിനെക്കുറിച്ചുള്ള സൂചന നൽകാനും ശ്രമിക്കുന്നു. . കമാൻഡ്-നോട്ടൺ-ഫണ്ട് ഹാൻഡ്‌ലർ സമാരംഭിക്കുമ്പോൾ, നിലവിലില്ലാത്ത ഒരു കമാൻഡ് അതിലേക്ക് ഒരു കമാൻഡ് ലൈൻ പാരാമീറ്ററായി കൈമാറുന്നു എന്നതാണ് പ്രശ്‌നം, ഇത് സിസ്റ്റത്തിലെ പ്രോസസ്സുകൾ കാണുമ്പോൾ ദൃശ്യമാകും (ഉദാഹരണത്തിന്, അൺഇൻസ്റ്റാൾ ചെയ്ത യൂട്ടിലിറ്റി പ്രവർത്തിപ്പിക്കാൻ ശ്രമിക്കുമ്പോൾ. "xsnow", "/usr" പ്രക്രിയകളുടെ പട്ടികയിൽ ദൃശ്യമാകും /lib/command-not-found - xsnow"). അതനുസരിച്ച്, ആക്രമണകാരിക്ക് പ്രവർത്തിക്കുന്ന പ്രക്രിയകൾ നിരീക്ഷിക്കാൻ കഴിയും (ഉദാഹരണത്തിന്, പ്രവചിച്ച PID നമ്പറിനായി "/proc/$pid/cmdline" സംഭവിക്കുന്നത് വിശകലനം ചെയ്തുകൊണ്ട്) കമാൻഡ് ലൈനിൽ ഇര നൽകിയ പാസ്‌വേഡ് നിർണ്ണയിക്കുക.

ഒരു സാങ്കൽപ്പിക സുഡോ പ്രോംപ്റ്റിന് മറുപടിയായി ഉപയോക്താവിന് ഒരു പാസ്‌വേഡ് നൽകുന്നതിന്, ഒരു തന്ത്രം നിർദ്ദേശിച്ചിട്ടുണ്ട്, അതിൻ്റെ സാരാംശം പ്രക്രിയകളുടെ പട്ടികയിൽ സുഡോ യൂട്ടിലിറ്റിയുടെ യഥാർത്ഥ ലോഞ്ച് ട്രാക്കുചെയ്യുക, അത് പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കുക, കൂടാതെ അതിനുശേഷം ഉടൻ തന്നെ "മതിലിലൂടെ" ഒരു ആക്രമണം നടത്തുക. എസ്‌കേപ്പ് സീക്വൻസുകൾ കൈകാര്യം ചെയ്യുന്നതിലൂടെ, ഒരു ആക്രമണകാരിക്ക് സുഡോയുടെ യഥാർത്ഥ നിർവ്വഹണത്തിന് ശേഷം വ്യാജ പാസ്‌വേഡ് റീ-എൻട്രി പ്രോംപ്റ്റ് ഉപയോഗിച്ച് സന്ദേശം മാറ്റിസ്ഥാപിക്കാൻ കഴിയും. "കമാൻഡ്-നോട്ട്-ഫൗണ്ട്" ഹാൻഡ്‌ലറുടെ വാദങ്ങളിൽ പാസ്‌വേഡ് വെളിപ്പെടുത്തിക്കൊണ്ട്, പാസ്‌വേഡ് നൽകുമ്പോൾ തനിക്ക് ഒരു തെറ്റ് സംഭവിച്ചുവെന്ന് ഇര വിചാരിച്ചേക്കാം, രണ്ടാമതും പാസ്‌വേഡ് നൽകുക.

വിജയകരമായ ഒരു ആക്രമണത്തിന് "mesg" മോഡ് "y" ആയി സജ്ജീകരിക്കേണ്ടതുണ്ട്, അത് Ubuntu, Debian, CentOS/RHEL എന്നിവയിൽ സ്ഥിരസ്ഥിതിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. ആക്രമണം ഉബുണ്ടു 22.04-ൽ അതിൻ്റെ സ്ഥിരസ്ഥിതി കോൺഫിഗറേഷനിൽ ഗ്നോം-ടെർമിനൽ ഉപയോഗിച്ച് പ്രദർശിപ്പിച്ചിരിക്കുന്നു. ഡെബിയനിൽ, ആക്രമണം ബുദ്ധിമുട്ടാണ്, കാരണം വിതരണത്തിൽ "കമാൻഡ്-നോട്ട്-ഫണ്ട്" ഹാൻഡ്‌ലർ ഡിഫോൾട്ടായി പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല, കൂടാതെ CentOS/RHEL-ൽ ആക്രമണം പ്രവർത്തിക്കില്ല, കാരണം സെറ്റ്ജിഡ് ഫ്ലാഗ് കൂടാതെ മതിൽ യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു. മറ്റ് ആളുകളുടെ ടെർമിനലുകളിലേക്ക് പ്രവേശനമില്ല. വിൻഡോസ്-ടെർമിനൽ ഉപയോഗിക്കുമ്പോൾ, ക്ലിപ്പ്ബോർഡിലെ ഉള്ളടക്കങ്ങൾ മാറ്റുന്നതിന് ആക്രമണം പരിഷ്കരിക്കാനാകും.

2013 മുതൽ util-linux പാക്കേജിൽ ഈ കേടുപാടുകൾ നിലവിലുണ്ട്, 2.24 പതിപ്പിന് ശേഷം വാൾ കമാൻഡ് ലൈനിൽ ഒരു സന്ദേശം വ്യക്തമാക്കാനുള്ള കഴിവ് ചേർത്തു, എന്നാൽ എസ്കേപ്പ് സീക്വൻസുകൾ വൃത്തിയാക്കാൻ മറന്നു. util-linux 2.40-ൻ്റെ ഇന്നലത്തെ റിലീസിൽ അപകടസാധ്യതയ്ക്കുള്ള ഒരു പരിഹാരം ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. util-linux 2.39 ൻ്റെ റിലീസിലെ കേടുപാടുകൾ പരിഹരിക്കാൻ ശ്രമിക്കുമ്പോൾ, സമാനമായ മറ്റൊരു അപകടസാധ്യത തിരിച്ചറിഞ്ഞു എന്നത് ശ്രദ്ധേയമാണ്, ഇത് ലോക്കലുകളുടെ കൃത്രിമത്വത്തിലൂടെ നിയന്ത്രണ പ്രതീകങ്ങൾ മാറ്റിസ്ഥാപിക്കാൻ അനുവദിക്കുന്നു.

അവലംബം: opennet.ru

ഒരു അഭിപ്രായം ചേർക്കുക