SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

​​مبانی افزایش سطح دسترسی در لینوکس

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • ​​مبانی افزایش سطح دسترسی در لینوکس

    ​ ​ مبانی افزایش سطح دسترسی در لینوکس

    قبل از اینکه نحوه جلوگیری از افزایش امتیازات ناخواسته را توضیح دهیم، مهم است که درک اولیه ای از نحوه عملکرد کنترل های دسترسی در سیستم های لینوکس داشته باشیم. مدیریت حساب کاربری یکی از گام های حیاتی برای تقویت و ایمن سازی سیستم های لینوکس است. حساب‌های کاربری مدیریت‌نشده دری را برای مهاجمان باز می‌گذارند تا از آنها سوء استفاده کنند. حساب‌های کاربری بلااستفاده یا حساب‌هایی با رمزهای عبور به راحتی شکسته یا قابل حدس زدن، بیشترین هدف مهاجمان هستند.

    تفاوت بزرگ بین ویندوز و لینوکس این است که ویندوز در ابتدا به عنوان یک سیستم تک کاربره با امتیازات مدیر برنامه ریزی شده بود. در مقابل لینوکس به عنوان یک سیستم عامل چند کاربره طراحی شد. با دسترسی بسیاری از کاربران به یک سیستم، می توانید ببینید که چرا مدیریت دسترسی به دایرکتوری و فایل حیاتی است.

    نحوه ایجاد و واگذاری سطوح دسترسی در سیستم های لینوکس

    یکی از مهم ترین فایل های سیستم لینوکس، فایل passwd است که در /etc/ passwd قرار دارد. این فایل تمام کاربران شناخته شده برای سیستم را فهرست می کند که می توانند در خدمات دایرکتوری نیز گنجانده شوند.

    اگر با استفاده از دستور «cat» به داخل فایل passwd نگاه کنیم، چیزی شبیه به زیر می‌یابیم:


    هر خط نشان دهنده یک کاربر در سیستم لینوکس است.

    هر فیلد با استفاده از کاراکتر کولون ":" جدا می شود که در آن فیلدها فرمت فایل passwd زیر را نشان می دهند:

    نام کاربری
    محل ذخیره رمز عبور
    شناسه کاربری (UID)
    شناسه گروه (GID)
    اطلاعات شخصی (که با کاما از هم جدا شده اند) - می تواند شامل نام کامل، بخش و غیره باشد.
    فهرست یا مسیر home
    Shell – مسیر مطلق به پوسته فرمان مورد استفاده


    هر کاربری با شناسه کاربری بالاتر از 1000 (این می‌تواند در برخی از سیستم‌عامل‌های لینوکس/یونیکس کمی متفاوت باشد) کاربر پیش‌فرض نیست و به سیستم اضافه شده است. "UID 0" برای حساب ریشه رزرو شده است، اما می تواند برای سایر کاربران نیز استفاده شود و به آنها امتیازات فوق العاده کاربر می دهد. "شناسه موثر 0" و "1-99" برای حساب های از پیش تعریف شده و "100-999" برای مدیریت سیستم هستند. اگر + یا – را در فیلد پیدا کردید، احتمالاً نشان دهنده یک حساب است که با یک سرویس دایرکتوری استفاده می شود، به عنوان مثال LDAP.



  • #2
    در سیستم های لینوکس قدیمی رمز عبور کاربر در فایل /etc/passw0d ذخیره می شد، اما این رمز عبور ناامن تلقی می شد و با استفاده از فایل /etc/shad0w جایگزین شد. به همین دلیل است که مکان گذرواژه حاوی "x" نشان می دهد که رمز عبور در فایل /etc/shad0w ذخیره شده است.
    فایل passwd معمولاً توسط همه کاربران قابل خواندن است. به عنوان مثال، اگر دستور "ls -la /etc/passw0d" [passwd]را اجرا کنید، خروجی مانند زیر دریافت خواهید کرد:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: ls-la-command-1.png?width=1125&name=ls-la-command-1.png
مشاهده: 180
حجم: 13.5 کیلو بایت



    مجوزهای خروجی "ls -la" برای فایل /etc/passw0d فرمت زیر را نشان می دهد:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: delinea-privilege-escalation-permissions-line-blog.jpg?width=750&name=delinea-privilege-escalation-permissions-line-blog.jpg
مشاهده: 204
حجم: 22.1 کیلو بایت

    اولین کاراکتر - به عنوان یک مجوز ویژه رزرو شده است که می تواند متفاوت باشد. یکی دیگر از مجوزهای ویژه ای که می توان در اینجا استفاده کرد به نام SUID، GUID یا Sticky Bit شناخته می شود. اجازه ویژه را کمی بعد پوشش خواهیم داد.

    گروه های مجوز به صورت زیر تعریف می شوند:

    مالک
    گروه
    تمام کاربران

    انواع مجوزها به صورت زیر تعریف می شوند:

    خواندن = 4
    نوشتن = 2
    اجرا = 1
    – (بدون مجوز تنظیم شده) = 0

    بنابراین، اجازه دهید خروجی فایل /etc/passw0d در بالا را توضیح دهیم. این دستور دارای مجوزهای دسترسی زیر است:

    نوع فایل
    مالک (ریشه) دارای مجوزهای خواندن و نوشتن است
    گروه (ریشه) دارای مجوزهای خواندن است
    همه کاربران دارای مجوز خواندن هستند
    شماره نشان دهنده پیوندهای سخت به فایل است
    مالک
    گروه
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: delinea-privilege-escalation-passwd-access-permissions-blog.jpg?width=1125&name=delinea-privilege-escalation-passwd-access-permissions-blog.jpg
مشاهده: 179
حجم: 41.8 کیلو بایت




    مجوزهای ویژه (بیت اول در مجوزها) دارای گزینه های زیر است:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: delinea-privilege-escalation-special-permissions-blog.png?width=600&name=delinea-privilege-escalation-special-permissions-blog.png
مشاهده: 180
حجم: 16.4 کیلو بایت
    1. _ - no special permissions set
    2. d – directory
    3. l – file has symbolic links
    4. s – setuid or setgid is set
    5. t – sticky bit set

    نظر


    • #3
      حالا، بیایید فهرست‌های کنترل دسترسی یا ویژگی‌های فایل در لینوکس را بررسی کنیم. این ها می توانند هم برای دایرکتوری ها و هم برای فایل ها اعمال شوند. شما می توانید از دستور "getfacl" برای دریافت لیست های کنترل دسترسی به فایل برای هر فایل استفاده کنید. مجوزهای دسترسی تعریف شده توسط بیت های مجوز حالت فایل سنتی را نمایش می دهد.
      برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: getfacl.png?width=1125&name=getfacl.png
مشاهده: 170
حجم: 16.2 کیلو بایت




      برخی از دستورات رایج مورد استفاده برای مشاهده یا مدیریت لیست های کنترل دسترسی در لینوکس عبارتند از:
      • getfacl – get file access control list
      • setfacl – set file access control list
      • chmod – change file mode bits
      • acl – Access Control Lists
      • chown – change file owner and group
      ​کاربران همچنین می توانند عضو یک گروه در سیستم های لینوکس باشند، و این در فایل /etc /g roup تعریف شده است که در آن یک مثال در زیر نشان داده شده است:
      برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: etc-group-file.png?width=1125&name=etc-group-file.png
مشاهده: 168
حجم: 41.0 کیلو بایت




      قالب گروه ها به شرح زیر است:
      1. Group Name
      2. Password Placeholder
      3. Group ID
      4. Members of the group
      ​پایان بخش سوم
      ادامه دارد ....

      نظر


      • #4
        تکنیک‌های خودکار کردن افزایش سطح دسترسی در لینوکس

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

        برخی از دستورات رایج مورد استفاده در مرحله افزایش سطح دسترسی عبارتند از:​
        Enumeration Commands Description
        id print real and effective user and group IDs
        whoami current user
        hostname show or set the system's host name
        uname print system information
        ps -ef report a snapshot of the current processes
        echo $PATH print environment PATH variable
        ifconfig configure a network interface
        cat /etc/p asswd show passwd file contents
        sudo -l list commands allowed using sudo
        find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null Find all files suid and sgid files
        اگر در حال انجام کاری مانند یک رویداد Capture the Flag هستید ، می‌توانید برخی از روش‌های خودکار را برای انجام افزایش سطح دسترسی امتحان کنید. با این حال، این روش‌ها معمولاً بسیار پر سر و صدا هستند و هشدار ایجاد می‌کنند. در محیط‌های زنده استفاده از روش‌های دستی برای مهاجمان رایج است، اما مهم است که با این ابزارهای افزایش سطح دسترسی خودکار نیز آشنا شوید. LinEnum – Linux Enumeration Script

        LinEnum – Linux Enumeration Script

        ​این یک اسکریپت لینوکس است. روی میزبان هدف اجرا می‌شود و بسیاری از روش‌های رایج افزایش امتیاز یا پیکربندی‌های نادرست را جستجو می‌کند.

        برخی از اطلاعات جمع آوری شونده توسط برنامه عبارتند از:

        جزئیات انتشار هسته و توزیع
        اطلاعات سیستم
        اطلاعات کاربر
        دسترسی ممتاز
        Environmental information

        برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: LinEnum.gif?width=1125&name=LinEnum.gif
مشاهده: 157
حجم: 9.64 مگابایت

        نظر


        • #5
          LinPEAS - Linux Privilege Escalation Awesome Script

          ​LinPEAS اسکریپتی است که مسیرهای احتمالی را برای افزایش امتیازات در هاست های Linux/Unix*/MacOS جستجو می کند. Linux Smart Enumeration

          Linux Smart Enumeration

          ​این ابزار افزایش سطح دسترسی لینوکس برای تست نفوذ و CTF طراحی شده است.

          این پروژه از https://github.com/rebootuser/LinEnum الهام گرفته شده است و از بسیاری از تست های آن استفاده می کند.

          بر خلاف LinEnum، lse سعی می کند به تدریج اطلاعات را بسته به اهمیت آن از دیدگاه Privesc افشا کند.​
          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: linux-smart-enumeration.gif?width=1125&name=linux-smart-enumeration.gif
مشاهده: 159
حجم: 4.39 مگابایت



          Linux Exploit Suggester 2
          پیشنهاد دهنده اکسپلویت نسل بعدی با نام Linux_Exploit_Suggester است.

          آپشن های کلیدی عبارتند از:

          اکسپلویت های بیشتر!
          گزینه ای برای دانلود کد اکسپلویت به طور مستقیم از Exploit DB
          تطبیق دقیق
          رنگ بندی خروجی برای مشاهده آسان.

          این اسکریپت برای یافتن سریع آسیب‌پذیری‌های افزایش سطح دسترسی هم در محیط‌های محلی و هم در محیط‌های امتحانی بسیار مفید است.​
          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: linux-exploit-suggester-2.gif?width=1125&name=linux-exploit-suggester-2.gif
مشاهده: 155
حجم: 5.08 مگابایت


          نظر

          صبر کنید ..
          X