لینوکس ۳۰۳؛ شب ۲۵: هشدار بدافزار؛ نه وحشت، نه بیخیالی
فهرست نوشته
اسکنر نوشته «مشکوک». مدیر میخواهد فایل را فوراً پاک کند. امشب یاد میگیریم هشدار را به یک پروندهٔ قابل بررسی تبدیل کنیم و فرق پاککردن علامت با بازیابی اعتماد را بفهمیم.
این جلسه بخشی از دورهٔ لینوکس ۳۰۳ در ۴۰ شب است.
محیط تمرین: Ubuntu 24.04 Clone؛ chkrootkit و rkhunter از مخزن معتبر؛ LMD در VM جدا و اختیاری؛ بدون نمونهٔ بدافزار واقعی.
جایگاه در دوره: هدفهای 332.2، 335.1 آزمون 303-300.
ابزار تشخیص، قاضی نهایی نیست#
Rootkit میتواند حضور یا فعالیت را پنهان کند؛ Trojan خودش را بهجای نرمافزار قابل اعتماد جا میزند. ویروس به الگوی انتشار مشخصی اشاره دارد؛ هر فایل عجیب در لینوکس ویروس نیست. ابزارهای امضامحور و بررسی integrity هم false positive و هم false negative دارند.
پس از نصب بستههای توزیع، فقط بررسی اجرا کن:
sudo chkrootkit
sudo rkhunter --check --sk
خروجی کامل را در دفترچهٔ خصوصی ذخیره و نام ابزار، نسخه و زمان ثبت کن. فقط جستوجوی کلمهٔ INFECTED میتواند هشدارهای دیگر و خطای اجرا را حذف کند. بهروزرسانی دادهٔ تشخیص باید از کانال مستند ابزار انجام شود؛ موفق نبودن update نباید در گزارش «اسکن بهروز» نام بگیرد.
rkhunter --propupd مشخصات فایلها را بهعنوان مبنای تازه میپذیرد؛ پس بعد از هشدار، آن را برای خاموش کردن هشدار اجرا نکن. اول باید تغییر مجاز بودن یا سالم بودن نصب را از شواهد مستقل بفهمی.
LMD و محدودیت نصب قدیمی#
Linux Malware Detect یا LMD با فرمان maldet و فایل conf.maldet در هدفهای آزمون آمده است. آن را از بسته یا release معتبر با بررسی اصالت در VM جدا آماده کن؛ دستور دانلود قدیمی جزوه و مسیر نسخهٔ ثابتشدهٔ چند سال پیش، مبنای نصب تازه نیست. بعد از بررسی help نسخهٔ نصبشده، اسکن یک پوشهٔ اختصاصی را اجرا کن:
sudo maldet --scan-all /srv/lpic303-scan
پوشه باید از قبل با چند فایل متنی بیخطر ساخته شده باشد. quarantine و حذف خودکار را در نخستین آزمایش فعال نکن. هدف این تمرین، شناخت گزارش و مسیر log است، نه آلودهکردن ماشین. فایلهای آموزشی معمولی لزوماً هیچ هشدار مثبتی تولید نمیکنند.
پاسخ به رخداد از چه شروع میشود؟#
اگر احتمال نفوذ جدی است، زمان، نشانه و محدودهٔ دسترسی را ثبت کن؛ دسترسی شبکه را طبق طرح پاسخ محدود و شواهد لازم را حفظ کن. حذف فوری فایل میتواند شواهد را خراب کند. ابزار روی میزبان مشکوک هم ممکن است قابل اعتماد نباشد؛ بررسی offline با رسانه و ابزار شناختهشده و بازسازی از مبنای سالم جایگاه مهمی دارد. رمزها و کلیدهای در دسترس مهاجم هم باید ارزیابی و در صورت نیاز تعویض شوند.
برای زمانبندی، cron باید مسیر مطلق فرمان، کاربر اجرا، log و رفتار خطا داشته باشد. نمونهٔ VM اختصاصی با crontab ریشه:
0 3 * * * /usr/bin/rkhunter --check --sk > /var/log/lpic303-rkhunter.log 2>&1
پیش از ثبت، مسیر واقعی را با command -v rkhunter تأیید و گردش log را تعریف کن. این نمونه برای تولید گزارش است؛ سامانهٔ اعلان رخداد جدا لازم دارد.
تمرین: یک تغییر مجاز بسته چرا میتواند هشدار ایجاد کند؟ پاسخ را با baseline و منشأ تغییر توضیح بده. منابع: chkrootkit ، rkhunter و Linux Malware Detect .