| UNHIDE(8) | UNHIDE(8) |
نام (NAME)
unhide — ابزار جرمشناسی جهت کشف فرآیندهای پنهان
خلاصه دستور (SYNOPSIS)
unhide-linux [OPTIONS] TEST_LIST
unhide-posix proc | sys
توضیحات (DESCRIPTION)
ابزار unhide ابزاری جرمشناسی جهت شناسایی فرآیندهای پنهان در سیستمهای یونیکس است که توسط روتکیتها / ماژولهای هسته یا هر روش پنهانسازی دیگری مخفی شدهاند. این ابزار از شش روش شناسایی بهره میگیرد.
گزینهها (OPTIONS)
گزینهها تنها برای unhide-linux در دسترس هستند و نه برای unhide-posix.
- -d
- انجام یک بررسی کنترل مضاعف در آزمون 'brute' برای کاهش احتمال موارد مثبت کاذب.
- -f
- ایجاد یک فایل گزارش وقایع (unhide-linux.log) در دایرکتوری جاری اجرا.
- -h
- نمایش پیام راهنما.
- -m
- انجام
چندین
آزمون
الحاقی؛ از
نسخه 2012-03-17 این
گزینه فقط
در
آزمونهای
'procfs'، 'procall'، 'checkopendir' و 'checkchdir'
معتبر است.
به همراه گزینه -v اعمال میشود. - -r
- استفاده از یک نسخه جایگزین از آزمون sysinfo.
- -V
- نمایش نسخه و خروج.
- -v
- فعالسازی خروجی اشکالزدایی به همراه پیامهای خطا (امکان تکرار چندین باره به صورت -vv).
- -u
- ارسال دادههای بدون بافر به خروجی استاندارد. این گزینه زمانی مفید است که unhide توسط فرآیند دیگری اجرا میشود (برای مثال توسط unhideGui به کار میرود).
- -H
- ارائه خروجی با خوانایی بهتر برای انسان. این گزینه پیامهای پایانی را به آزمونها افزوده و مواردی را که هیچ فرآیند پنهانی یافت نشود مشخص میکند.
فهرست آزمونها (TEST_LIST)
بررسیها
شامل یک یا
چند مورد از
آزمونهای
زیر است:
آزمونهای
استاندارد
در عمل
مجموعهای
از چندین
آزمون
پایهای
هستند.
آزمونهای استاندارد:
آزمون brute
شامل حمله
جستجوی
فراگیر (brute force)
روی تمامی
فضای
شناسههای
فرآیند (PIDها)
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون proc شامل مقایسه محتوای دایرکتوری /proc با خروجی دستور /bin/ps است.
آزمون procall
دو آزمون proc و
procfs را ترکیب
میکند.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون procfs
شامل
مقایسه
اطلاعات
بهدستآمده
از /bin/ps با
دادههای
حاصل از
پیمایش procfs
است.
به همراه
گزینه -m،
این آزمون
بررسیهای
بیشتری
انجام
میدهد؛
برای
اطلاعات
بیشتر به checkchdir
مراجعه
کنید.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون quick
آزمونهای
proc، procfs و sys را در
یک ساختار
اجرایی
'سریع' ترکیب
میکند که
تا ۲۰ برابر
سریعتر از
سایر
آزمونها
است اما
ممکن است
موارد مثبت
کاذب
بیشتری
تولید کند.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون reverse
شامل
اعتبارسنجی
این نکته
است که آیا
تمامی
فرآیندها و
رشتههایی
که توسط /bin/ps
دیده
میشوند با
جستجو در procfs و
فراخوانیهای
سیستمی
واقعاً
وجود دارند
یا خیر. هدف
این است که
مشخص شود
آیا /bin/ps
دستکاری
شده است تا
نشان دهد
برنامههایی
در حال اجرا
هستند که در
واقعیت
اجرا
نشدهاند.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون sys شامل مقایسه اطلاعات بهدستآمده از /bin/ps با برخی فراخوانیهای سیستمی است.
آزمونهای پایهای:
آزمون checkbrute
شامل
پیمایش
فراگیر
تمام فضای
فرآیندها
(PIDها) در
سیستم است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkchdir
شامل
مقایسه
اطلاعات
حاصل از /bin/ps و
مقایسه آن
با اجرای ()chdir
در procfs است.
با گزینه -m،
همچنین
بررسی
میشود که
آیا رشته در
فهرست "leader process"
ظاهر
میشود یا
خیر.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetaffinity
شامل
مقایسه
اطلاعات
بهدستآمده
از /bin/ps با
نتیجه
فراخوانی
سیستمی ()sched_getaffinity
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetparam
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
نتیجه
فراخوانی
سیستمی ()sched_getparam
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetpgid
شامل
مقایسه
اطلاعات
بهدستآمده
از /bin/ps با
نتیجه
فراخوانی
سیستمی ()getpgid
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetprio
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
نتیجه
فراخوانی
سیستمی ()getpriority
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkRRgetinterval
شامل
مقایسه
اطلاعات /bin/ps
با نتیجه
فراخوانی
سیستمی ()sched_rr_get_interval
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetsched
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
نتیجه
فراخوانی
سیستمی ()sched_getscheduler
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkgetsid
شامل
مقایسه
اطلاعات
بهدستآمده
از /bin/ps با
نتیجه
فراخوانی
سیستمی ()getsid
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkkill
شامل
مقایسه
اطلاعات
بهدستآمده
از /bin/ps با
نتیجه
فراخوانی
سیستمی ()kill
است.
توجه: هیچ
فرآیندی با
این آزمون
خاتمه داده
نمیشود
(کشته
نمیشود).
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checknoprocps
شامل
مقایسه
نتایج
اطلاعات
بهدستآمده
از هر یک از
فراخوانیهای
سیستمی و
جستجوی
اختلافات
میان آنها
است. در این
آزمون از /bin/ps
یا /proc
استفاده
نمیشود.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkopendir
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
نتیجه
اجرای ()opendir روی
procfs است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkproc
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
دادههای /proc
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkquick
آزمونهای
proc، procfs و sys را در
یک ساختار
سریع ترکیب
میکند که
تا ۲۰ برابر
سریعتر از
سایر
آزمونهاست
ولی ممکن
است موارد
مثبت کاذب
بیشتری
ارائه دهد.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkreaddir
شامل
مقایسه
اطلاعات
حاصل از /bin/ps با
نتیجه
اجرای ()readdir در /proc
و /proc/pid/task است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checkreverse
شامل بررسی
این موضوع
است که تمام
فرآیندها و
رشتههای
دیدهشده
توسط /bin/ps
واقعاً در procfs
و از طریق
فراخوانیهای
سیستمی
موجود
باشند. هدف
پی بردن به
این است که
آیا /bin/ps
دستکاری
شده تا
برنامههای
ناموجود را
در حال اجرا
نشان دهد یا
خیر.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checksysinfo
شامل
مقایسه
تعداد
فرآیندهای
شمارششده
توسط /bin/ps در
برابر
تعداد
فرآیندهای
گزارششده
توسط
فراخوانی
سیستمی ()sysinfo
است.
این روش
تنها در
نسخه unhide-linux
موجود است.
آزمون checksysinfo2
نسخه
جایگزین checksysinfo
است، فرض بر
این است که
در
هستههای
دارای
وصلههای RT،
preempt یا latency و
همچنین
هستههایی
که از
زمانبند
استاندارد
استفاده
نمیکنند
عملکرد
بهتری دارد.
این آزمون
هنگام اجرا
با گزینه -r
به صورت
ضمنی اجرا
میشود.
این روش
تنها در
نسخه unhide-linux
موجود است.
مقادیر بازگشتی (Exit Status):
- 0
- در صورت موفقیت و عادی بودن همهچیز.
- 1
- در صورتی که یک فرآیند/رشته پنهان یا ساختگی شناسایی شود.
مثالها (EXAMPLES)
- یک آزمون فوقالعاده سریع:
- unhide quick
- آزمون سریع:
- unhide quick reverse
- آزمون استاندارد:
- unhide sys proc
- یک آزمون جامع:
- unhide -m -d sys procall brute reverse
گزارش اشکالات (BUGS)
میتوانید
اشکالات unhide
را در ردیاب
باگ GitHub گزارش
دهید: https://github.com/YJesus/Unhide/issues
با آخرین
نسخههای
هسته
لینوکس (> 2.6.33)،
آزمون sysinfo
ممکن است
موارد مثبت
کاذب گزارش
کند. این امر
میتواند
ناشی از
بهینهسازی
در
زمانبند،
استفاده از
cgroup یا حتی systemd
باشد.
استفاده از
وصله PREEMPT-RT
احتمال
وقوع این
مشکل را
تشدید
میکند. این
موضوع در
حال حاضر
تحت بررسی
است.
همچنین ببینید (SEE ALSO)
unhide-tcp (8).
نویسندگان (AUTHORS)
این
راهنما
توسط Francois Marier (francois@debian.org)
و Patrick Gouin (patrickg.github@free.fr)
تهیه شده
است.
مجوز کپی،
توزیع و
تغییر این
سند تحت
شرایط مجوز
گنو، نسخه ۳
یا
نسخههای
بعدی منتشر
شده توسط
بنیاد
نرمافزارهای
آزاد اعطا
میشود.
مجوز (LICENCE)
مجوز GPLv3+:
مجوز عمومی
همگانی گنو
نسخه ۳ یا
بالاتر
http://gnu.org/licenses/gpl.html.
این
نرمافزار
آزاد است؛
شما در
اصلاح و
بازتوزیع
آن آزاد
هستید. این
نرمافزار
بدون
هرگونه
ضمانت
ارائه
میشود.
| مه ۲۰۲۴ | دستورات مدیریتی |