شمارش معکوس کاربران لینوکس

نقاب‌ها رو بردار؛ ببین کی تو سیستم قایم شده!

linux user enum

🕵️‍♀️امروز می‌خوایم بریم سراغ یکی از بحث‌های جذاب توی دنیای لینوکس و تست نفوذ، یعنی Linux User Enumeration. به زبون ساده، این کار یعنی اینکه آمار بگیریم ببینیم چه کسانی توی سیستم یا شبکه وجود دارن، اسمشون چیه، عضو چه گروه‌هایی هستن و کلاً چه خبره. این اطلاعات برای یک ادمین شبکه حیاتیه و برای یک هکر (کلاه سفید البته!)، حکم طلا رو داره.

بریم ببینیم چطور می‌تونیم ته و توی یوزرهای لینوکس رو دربیاریم.


😈۱. کلید اول: فایل‌های سیستمی (گنجینه‌ی اطلاعات)

اولین جایی که باید چک کنیم، خودِ فایل‌های اصلی لینوکسه. لینوکس خیلی رو بازی می‌کنه و اطلاعات کاربری رو توی فایل‌های متنی نگه می‌داره.

🔖فایل etc/passwd/ (دفترچه تلفن عمومی)

این فایل اطلاعات کلی کاربرها رو داره و معمولاً همه می‌تونن بخوننش. با دستور cat یا less بازش کنید:

cat /etc/passwd

چی می‌بینیم؟ هر خط مال یه کاربره و شامل نام کاربری، شناسه کاربر (UID)، شناسه گروه (GID) و مسیر دایرکتوری خانگی (Home Directory) میشه.

🔖فایل etc/shadow/ (گاوصندوق رمزها)

اینجا جای حساس ماجراست! هش پسوردها اینجاست و فقط یوزر root (مدیر کل) می‌تونه بازش کنه.

sudo cat /etc/shadow

چی می‌بینیم؟ نام‌های کاربری به همراه هش رمز عبورشون. اگه دسترسی روت داشتید و این فایل رو خوندید، یعنی نصف راه نفوذ رو رفتید!


😈۲. دستورات لینوکسی: استخراج تمیز اطلاعات

خوندن فایل‌های متنی شلوغ شاید سخت باشه، پس بیاید با دستورات لینوکس اطلاعات رو شسته و رفته بکشیم بیرون.

🔖دستور cut (قیچی کردن نام‌ها)

اگه فقط لیست نام‌های کاربری رو می‌خواید و بقیه اطلاعات اضافه رو نمی‌خواید، از cut استفاده کنید تا ستون اول فایل پسورد رو براتون جدا کنه:

cut -d: -f1 /etc/passwd

🔖دستور getent (پرس‌وجو از دیتابیس)

این دستور خیلی حرفه‌ای‌تره و لیست کاربران رو مستقیماً از دیتابیس سیستم می‌گیره:

getent passwd

😈۳. گروه‌بندی‌ها: کی با کیه؟

دونستن اینکه کی عضو چه گروهیه خیلی مهمه (مثلاً کی عضو گروه sudo یا admin هست).

🔖فایل etc/group/

لیست تمام گروه‌ها و اعضاشون اینجاست:

cat /etc/group

🔖دستور getent group

مشابه قبلی، اینم لیست گروه‌ها رو بهتون میده:

getent group

😈۴. ابزارهای خودکار Enumeration

گاهی وقتا حال و حوصله دستور دستی نداریم یا می‌خوایم یه اسکن عمیق‌تر انجام بدیم. اینجا ابزارها به دادمون میرسن.

🔖ابزار enum4linux

اگه هدفتون یه سرور Samba هست، این ابزار عالیه. قشنگ میره یوزرها و گروه‌ها رو میکشه بیرون:

enum4linux -u target_ip

🔖ابزار linPEAS

این یه اسکریپت فوق‌العاده‌ست که نه فقط یوزرها، بلکه کلی اطلاعات دیگه برای ارتقاء سطح دسترسی (Privilege Escalation) بهتون میده. اسمش رو همیشه یادتون باشه.


😈۵. کارآگاه‌بازی: بررسی دسترسی‌ها و لاگ‌ها

🔖چک کردن Home Directory

با دیدن اینکه چه کسایی پوشه خانگی دارن، می‌تونید بفهمید چه یوزرهای واقعی‌ای توی سیستم هستن:

ls -l /home

🔖لاگ‌های سیستم (ردپای دیجیتال)

همیشه لاگ‌ها رو بخونید! فایل‌های لاگ معمولاً توی /var/log/ هستن. مثلاً فایل auth.log نشون میده کی سعی کرده لاگین کنه:

cat /var/log/auth.log

😈۶. دستورات شبکه‌ای و قدیمی (Old School)

این بخش خیلی جذابه. یه سری دستورات هستن که نشون میدن کی الان آنلاینه یا تو شبکه فعاله.

🔖دستور rusers (کیا آنلاینن؟)

این دستور لیست یوزرهای متصل به سیستم‌های شبکه رو نشون میده. (حواستون باشه که به سرویس RPC نیاز داره و شاید پیش‌فرض نصب نباشه).

حالت ساده:

rusers

آپشن‌ها:

  • نمایش با جزئیات بیشتر (زمان ورود و نام هاست):

rusers -l

نمایش IP به جای اسم هاست (خیلی به درد بخوره):

rusers -n

زورکی! (Force – حتی اگه شبکه مشکل داشته باشه تلاشش رو میکنه):

rusers -f

🔖دستور rwho (کی کجاست؟)

اینم مشابه قبلیه و اطلاعاتی مثل نام کاربر، نام میزبان و زمان ورود رو میده. اینم به RPC وابسته است.

حالت ساده:

rwho
آپشن‌:
نمایش همه (حتی کاربرای غیرفعال که مدتیه کاری نکردن):
rwho -a

🔖دستور finger (انگشت‌نگاری کامل!)

این دستور کلاسیکه و جزئیات خیلی دقیقی از کاربر میده (البته اگه نصب باشه و ادمین نبسته باشه).

حالت ساده (همه کاربرها):

bash

finger

برای یک کاربر خاص:

bash

finger username

آپشن‌ها:

  • فرمت طولانی و کامل (Long):

finger -l

 

فرمت کوتاه (Short – فقط نام و زمان ورود):

finger -s

 

بدون توجه به حروف بزرگ و کوچک (Modify):

finger -m username

بدون نمایش فایل‌های برنامه یا پیام شخصی (No Plan):

finger -p

دیدگاه‌ خود را بنویسید

پیمایش به بالا