2.3 הסלמת הרשאות בלינוקס 2 הרצאה
בדקו האם המכונה היא SELinux
מערכות לינוקס מסוימות משתמשות ב-SELinux (Security-Enhanced Linux), מנגנון אבטחה שמוסיף בקרות גישה מחמירות. אם SELinux פעיל, ייתכן שיהיו מגבלות נוספות על ביצוע פעולות מסוימות, גם למשתמש root.
- בגדול אם אנחנו בSELINUX עלינו לפעול בזהירות יותר, כי יהיה קל יותר לתפוס אותנו.
נסו לקרוא קונפיגורציות שונות על מנת להבין על מה המערכת מנטרת ועל מה לא.
- הריצו
getenforceכדי לבדוק אם SELinux מופעל. הפלט יכול להיות:Enforcing– SELinux פעיל ומיישם את כל המדיניות.Permissive– SELinux פעיל אך רק מתעד הפרות במקום לחסום אותן.Disabled– SELinux כבוי לחלוטין.
- בדקו את קובץ הקונפיגורציה
/etc/selinux/configכדי לראות האם SELinux יופעל לאחר אתחול מחדש (SELINUX=enforcingאוSELINUX=permissive). -
אם SELinux פעיל, נסו לבדוק לוגים של SELinux עם:
ייתכן שתמצאו שם ניסיונות שנחסמו על ידי SELinux, וניתן לבדוק איך לעקוף אותם.
בדקו האם אנחנו נמצאים בתוך קונטיינר (Docker, LXC, וכו')
אם אתם בתוך קונטיינר, המטרה תהיה לברוח ממנו ולהגיע למערכת ההפעלה הראשית של השרת המארח- בשביל לקבל יותר הרשאות לביצוע פעולות שונות על המחשב.
-
הריצו את הפקודות הבאות כדי לבדוק אם אתם בתוך קונטיינר:
אם אתם רואים שורות עם
docker,lxcאוcontainerd, סימן שאתם בתוך קונטיינר.אם הפלט מראה מידע מצומצם מאוד או שונה מהרגיל, ייתכן שאתם בתוך קונטיינר.
אם הקובץ
.dockerenvקיים, אתם כנראה בתוך קונטיינר Docker. -
אם אתם אכן בתוך קונטיינר, חפשו דרכים לברוח ממנו, למשל:
- בדקו אם יש לכם הרשאות
cap_sys_admin, שעשויות לאפשר בריחה. - חפשו mounted volumes שמובילים למערכת המארחת.
- בדקו אם
privilegedmode מופעל עםcat /proc/self/status | grep CapEff. - נסו לנצל קבצים משותפים בין הקונטיינר למארח.
- בדקו אם יש לכם הרשאות
קצת נדבר על linPEAS¶
הכלי linPEAS (Linux Privilege Escalation Awesome Script) הוא כלי שמטרתו לבצע בדיקות אוטומטיות כדי למצוא חולשות פוטנציאליות שמאפשרות העלאת הרשאות במערכת.
בגדול מסכם לכם בדוח אחד,
-
ניתן להוריד ולהריץ אותו כך:
-
linPEASיסרוק את המערכת ויציג מידע שימושי כמו:- הרשאות שגויות על קבצים קריטיים.
- תהליכים מעניינים שרצים עם הרשאות גבוהות.
- הגדרות מסוכנות ב-
sudo,cronו-systemd. - יכולת לנצל
capabilitiesמיוחדות של קבצים.
כאשר אתם מריצים linpease לראשונה עברו על כל הדוח במלואו! הבינו כל דבר בדוח, כנראה תתקלו בדברים שאתם לא מכירים- קראו את הידע החסר לכם.
לאחר שתקראו דוח linpease אחד במלואו, בעתיד יהיה לכם יותר קל להתמצא בו ולדעת מה יותר רלוונטי.
אז מה עושים עם root¶
יש לנו root? נהדר! עכשיו נוכל להשתמש בעוד פקודות!
- הריצו
cat /etc/shadowכדי להביא את ה-hash של הסיסמאות של כל המשתמשים במערכת – ננסה לשבור אותם באמצעות כלי כמוhashcatאוjohn. - הריצו
tcpdumpכדי להסניף על המכונה ולהבין קצת יותר את הרשת שבה נמצאת המכונה. ניתן לבדוק תעבורה מעניינת כך:
- השתמשו ב-
findכדי לחפש קבצים מעניינים כמו מפתחות SSH פרטיים, קבצי קונפיגורציה, והיסטוריה של פקודות שהורצו בעבר:
find / -name "*.pem" -o -name "*.key" -o -name "id_rsa" 2>/dev/null
find / -type f -iname ".*history" 2>/dev/null
- בזכות הroot נוכל לעשות עוד המון במכונה, לשנות קבצים, להתקין כלי סייבר שונים וכו.
עברו להרצאה הבאה :)
עוד פקודות רשתיות¶
נעבור על פקודות רשתיות שכדאי לנו להריץ כדי לקבל מידע על רשת המחשבים שאנחנו נמצאים בה.
- להציג את כתובות הIP של המחשב והאינטרפייסים השונים
- להציג את טבלת הניתוב של המחשב
- להציג את הפורטים הפתוחים במחשב
- להציג את הarp cache במחשב
- להציג את הcache של הdns
- להציג רשומות סטטיות של dns
- להציג רשומות iptables במחשב (להריץ עם root)