UNHIDE(8) UNHIDE(8)

unhide — ابزار جرم‌شناسی جهت کشف فرآیندهای پنهان

unhide-linux [OPTIONS] TEST_LIST
unhide-posix proc | sys

ابزار unhide ابزاری جرم‌شناسی جهت شناسایی فرآیندهای پنهان در سیستم‌های یونیکس است که توسط روت‌کیت‌ها / ماژول‌های هسته یا هر روش پنهان‌سازی دیگری مخفی شده‌اند. این ابزار از شش روش شناسایی بهره می‌گیرد.

گزینه‌ها تنها برای unhide-linux در دسترس هستند و نه برای unhide-posix.

انجام یک بررسی کنترل مضاعف در آزمون 'brute' برای کاهش احتمال موارد مثبت کاذب.
ایجاد یک فایل گزارش وقایع (unhide-linux.log) در دایرکتوری جاری اجرا.
نمایش پیام راهنما.
انجام چندین آزمون الحاقی؛ از نسخه 2012-03-17 این گزینه فقط در آزمون‌های 'procfs'، 'procall'، 'checkopendir' و 'checkchdir' معتبر است.
به همراه گزینه -v اعمال می‌شود.
استفاده از یک نسخه جایگزین از آزمون sysinfo.
نمایش نسخه و خروج.
فعال‌سازی خروجی اشکال‌زدایی به همراه پیام‌های خطا (امکان تکرار چندین باره به صورت -vv).
ارسال داده‌های بدون بافر به خروجی استاندارد. این گزینه زمانی مفید است که unhide توسط فرآیند دیگری اجرا می‌شود (برای مثال توسط unhideGui به کار می‌رود).
ارائه خروجی با خوانایی بهتر برای انسان. این گزینه پیام‌های پایانی را به آزمون‌ها افزوده و مواردی را که هیچ فرآیند پنهانی یافت نشود مشخص می‌کند.

بررسی‌ها شامل یک یا چند مورد از آزمون‌های زیر است:
آزمون‌های استاندارد در عمل مجموعه‌ای از چندین آزمون پایه‌ای هستند.

آزمون‌های استاندارد:

آزمون 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 موجود است.

0
در صورت موفقیت و عادی بودن همه‌چیز.
1
در صورتی که یک فرآیند/رشته پنهان یا ساختگی شناسایی شود.

یک آزمون فوق‌العاده سریع:
unhide quick
آزمون سریع:
unhide quick reverse
آزمون استاندارد:
unhide sys proc
یک آزمون جامع:
unhide -m -d sys procall brute reverse

می‌توانید اشکالات unhide را در ردیاب باگ GitHub گزارش دهید: https://github.com/YJesus/Unhide/issues
با آخرین نسخه‌های هسته لینوکس (> 2.6.33)، آزمون sysinfo ممکن است موارد مثبت کاذب گزارش کند. این امر می‌تواند ناشی از بهینه‌سازی در زمان‌بند، استفاده از cgroup یا حتی systemd باشد. استفاده از وصله PREEMPT-RT احتمال وقوع این مشکل را تشدید می‌کند. این موضوع در حال حاضر تحت بررسی است.

unhide-tcp (8).

این راهنما توسط Francois Marier (francois@debian.org) و Patrick Gouin (patrickg.github@free.fr) تهیه شده است.
مجوز کپی، توزیع و تغییر این سند تحت شرایط مجوز گنو، نسخه ۳ یا نسخه‌های بعدی منتشر شده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود.

مجوز GPLv3+: مجوز عمومی همگانی گنو نسخه ۳ یا بالاتر http://gnu.org/licenses/gpl.html.
این نرم‌افزار آزاد است؛ شما در اصلاح و بازتوزیع آن آزاد هستید. این نرم‌افزار بدون هرگونه ضمانت ارائه می‌شود.

مه ۲۰۲۴ دستورات مدیریتی