רוצה לקבל גישת משתמש-על למערכת לינוקס? להלן כמה מהדרכים הטובות ביותר למנות מכונת לינוקס.
ספירה היא אחד משלבי המפתח של בדיקת חדירה. זה הדבר הראשון שצריך לעשות כאשר התפשרת על מערכת יעד בתור בודק חדירה. למרות שיש שפע של כלים להפוך את התהליך הזה לאוטומטיות, תמיד מומלץ לסרוק ידנית ולבדוק שוב את המערכת עבור וקטורים פוטנציאליים להסלמה של הרשאות.
בואו נסתכל על הדרכים השונות למנות ידנית מערכת לינוקס להסלמה של הרשאות.
מדוע ספירה חשובה להסלמה של הרשאות?
הסלמה של פריבילגיה, הידועה גם בשם Escalation of Privilege (EOP) היא מרכיב ליבה של בדיקות חדירה ומתודולוגיית בדיקת החדירה. כפי שהשם מרמז, זה שלב שבו אתה מנסה להעלות את ההרשאות שלך למנהל או, במערכות לינוקס, למשתמש השורש.
כדי לקבל הרשאות שורש, תחילה עליך למצוא פגיעות במערכת. כאן נכנסת לתמונה הספירה. למרות שקיימים כלים לאוטומטיים של ספירה, לעתים קרובות יותר, ספירה ידנית ויסודית יכולה לחשוף תצורות שגויות ופגיעויות אחרות שלא נקלטות על ידי הכלים.
1. ספירת מערכת
הדבר הראשון שעליך לעשות לאחר השגת דריסת רגל ראשונית הוא ללמוד על המערכת שאליו יצרת גישה. זה יעזור לך לייעל את המטענים שלך כדי להתאים לארכיטקטורה ולהבטיח תאימות מקסימלית של המטענים שלך למערכת היעד.
לדוגמה, אם יש לך ניצול של 64 סיביות, תצטרך לשנות אותו אם מערכת היעד שלך תומכת רק בתוכנת 32 סיביות מכיוון שיש הבדל בין מערכות 32 סיביות ל-64 סיביות.
כמו כן, הכרת גרסת הליבה תעזור לך לחפש ניצולים באינטרנט למקרה שתגלה שהגרסה מיושנת ופגיעה לניצול ציבורי. הנה כמה פקודות שיעזרו לך להביא מידע מערכת:
כדי למצוא מידע על מערכת כגון גרסת הליבה, מהדורת מערכת ההפעלה וכו', הקלד:
cat /etc/cpuinfo
uname -a
אם אתה רוצה ללמוד עוד על ארכיטקטורת CPU, השתמש בפקודה lscpu:
lscpu
2. ספירת תהליך
תהליכים הם תוכניות בביצוע. הכרת הרשימה המלאה של תהליכים במערכת לינוקס, יחד עם כמה טקטיקות ספירה אחרות המוזכר במדריך זה יעזור לך לזהות תהליכים שעלולים להיות פגיעים ולמנף אותם כדי להעלות אותם זְכוּת.
לדוגמה, אם אתה מוצא תהליך שרץ עם הרשאות בסיס, ייתכן שתוכל להחדיר לתוכו קוד שרירותי שיכול להוביל להסלמה מוצלחת של הרשאות.
אתה יכול להשתמש הפקודה ps עם ה aux דגלים לרשימת כל התהליכים במערכת:
ps aux
3. ספירת משתמשים וקבוצות
ספירת משתמשים וקבוצות חשובה כדי להבין למי יש גישה לאיזה חלק של המערכת. ידיעה זו מאפשרת לך לתחום את המטרות שלך ביעילות ולבנות אסטרטגיית תקיפה יעילה. יתר על כן, אתה יכול ליצור מיפויים מתאימים ולהבין לעומק את התפקידים וההרשאות של כל חשבון.
חשיפה של חשבונות מועדפים מאפשרת לך לנסות שילובים ידועים של שם משתמש-סיסמה. אתה יכול להדפיס את התוכן של /etc/passwd ו /etc/group קבצים כדי לגשת לרשימת המשתמשים. לחלופין, אתה יכול גם להשתמש בפקודה getent.
ל קבל את רשימת המשתמשים בלינוקס:
getent passwd
כדי לקבל את רשימת הקבוצות:
קבוצה חזקה
4. חוקרת קבצים רגישים
קבצים רגישים כגון /etc/passwd ו /etc/shadow יכול לדלוף מידע רב. מ /etc/shadow אתה יכול למצוא את ה-hash של סיסמת המשתמשים ולנסות לפצח אותם עם כלי פיצוח hash כמו Hashcat או John the Ripper.
יש גם את /etc/sudoers קובץ, שאם אתה יכול לערוך אותו איכשהו, יאפשר לשנות את ההרשאות sudo עבור משתמשים וקבוצות.
5. בודק הרשאות sudo
ניהול נכון של הרשאות sudo הוא חיוני לבטיחות מערכת לינוקס. ניתוח הרשאות sudo יעניק לך תובנה לגבי וקטורים פוטנציאליים להסלמה של הרשאות. אם ישנן תצורות שגויות כמו לתוכניות מסוימות יש רמה מדאיגה של הרשאות, ייתכן שתוכל לנצל אותן כדי לקבל גישת שורש.
זו רק דוגמה למסלולי ההתקפה הרבים שיכולים להיפתח ברגע שיש לך בהירות לגבי הרשאות הסודו במערכת לינוקס. דוגמה נוספת תהיה ניצול לרעה של מנגנון הטעינה המוקדמת של ספריית LD_PRELOAD, אותו תוכל למנות על ידי התבוננות בהרשאות sudo.
sudo -l
6. מציאת ניצול ליבת לינוקס
ניצול ליבה של לינוקס הוא קטלני מכיוון שהם תוקפים את ליבת מערכת ההפעלה הפועלת על המערכת שנפרצה. עם פגם בקרנל קריטי, תוכל לעשות כמעט כל דבר עם המערכת.
כדי למצוא ניצול הליבה, ראשית, גלה את גרסת הליבה ולאחר מכן, באמצעות כלי כמו searchsploit או, באמצעות Google Dorks, מצא ניצול מתאים המשפיע על הגרסה המדויקת של הליבה הפועלת על המערכת.
7. ניצול SUID בינאריים
SUID הוא הקיצור של Set Owner User ID בעת ביצוע. זהו סוג מיוחד של הרשאת קובץ שכאשר היא מוגדרת, מפעילה תוכנית עם הרשאות הבעלים שלה.
אם תוכנית נוצרה על ידי משתמש השורש והסיבית SUID הוגדרה עבורה, התוכנית, כאשר תבוצע, תהיה בעלת הרשאות שורש. כיצד ניתן לעשות שימוש לרעה ב-SUID? זה פשוט.
ספור עבור כל הקבצים הבינאריים עם סיביות SUID, חפש ברשימה, מצא קובץ בינארי שעבורו יש לך גישת כתיבה, וערוך את המקור שלו כדי להוסיף את המטען שלך. אתה יכול להשתמש בפקודה find כדי לחפש קבצים בינאריים של SUID ולהפנות פלט סטנדרטי אליו /dev/null:
find / -perm -4000 2>/dev/null
8. חטיפת ספריות
לפעמים עשויות להיות תוכניות הפועלות במערכת המשתמשות בספריות שאינן מוגנות בכתיבה. בתרחיש כזה, אתה יכול בקלות להחליף את הספרייה בשימוש ולהשתלט על הפונקציונליות של התוכנית.
אם יתמזל מזלך ותמצא תוכנית הפועלת כשורש, אתה יכול לחטוף את הספרייה שהיא תלויה בה ואפשר לקבל גישה למעטפת שורש.
9. חקירה וחטיפת משתני סביבה
משתני סביבה הם סוגים מיוחדים של משתנים המגדירים, במידה מסוימת, את אופן פעולת המערכת והתוכניות. משתנה סביבה חשוב הוא משתנה PATH.
הוא מאחסן את המיקום של כל קבצי ההפעלה הבינאריים במערכת. אתה יכול לתפעל את המשתנה PATH ולשרשר אותו עם נקודות תורפה אחרות כמו חטיפת ספרייה כדי לקבל גישה לשורש.
לדוגמה, נניח שיש קובץ הפעלה עם ערכת סיביות SUID. כדי לתפקד כראוי, הוא קורא לבינארי מבלי להגדיר את הנתיב המלא שלו.
אתה יכול לנצל זאת על ידי יצירת גרסה כפולה וזדונית של הבינארי, ועדכון המשתנה PATH עם המיקום של הבינארי הזדוני, כך שכאשר קובץ ההפעלה SUID מופעל, הבינארי הזדוני שלך יופעל כשורש, ותוכל להוליד מעטפת שורש.
יתר על כן, יש גם סיכוי טוב למצוא מפתחות וסיסמאות סודיים על ידי חיפוש פשוט במשתני הסביבה. אתה יכול להדפיס את כל משתני הסביבה באמצעות הפקודה env:
env
10. מצא חפצים בהיסטוריה של Bash
לעתים קרובות, ההיסטוריה של המשתמש הנוכחי לא תימחק. אתה יכול לנצל זאת לרעה כדי לקבל גישה למידע רגיש או להפעיל מחדש פקודות קודמות עם פרמטרים שהשתנו.
למרות שאלו כנראה לא יובילו להסלמה של הרשאות, זה מקור טוב לדליפות מידע כדי לתת לך בהירות מה המשתמש עושה בדרך כלל במערכת.
11. חטיפת משרות קרון פגיעות
משרות Cron הן תכונה מובנית ורב תושייה של לינוקס. אם עברת מ-Windows, ניתן להשוות ישירות משימת cron למשימה מתוזמנת ב-Windows.
הוא פועל מעת לעת ומבצע פקודות. גם הזמן שבו הוא יפעל וגם הפקודות שהוא יבצע מוגדרים מראש על ידי המשתמש. לפעמים אתה עלול למצוא כמה משרות cron פגיעות להתקפות כמו הזרקת תווים כלליים או ניתנות לכתיבה על ידי המשתמש שעבורו התחברת.
אתה יכול לעשות שימוש לרעה בפגיעויות אלה כדי לקבל גישת שורש למערכת. כדי לנצל משרת cron, תחילה עליך למצוא אחד פגיע. להלן הפקודות לרשימת משימות cron הפועלות כעת ונתונים רלוונטיים אחרים:
ls /etc/cron.d/
crontab -l -u
12. פירוט חבילות מיושנות
כאשר יש לך גישה למערכת, אחד הצעדים הראשונים שעליך לנקוט הוא לרשום את כל חבילות התוכנה המותקנות ולרכז את הגרסאות המותקנות שלהן עם המהדורה האחרונה שלהן.
קיימת אפשרות שמותקנת חבילה לא ברורה, שאולי לא נעשה בה שימוש רב אך היא פגיעה קריטית להתקפת הסלמה של הרשאות. לאחר מכן תוכל לנצל את החבילה הזו כדי לקבל גישת שורש.
השתמש בפקודה dpkg עם ה -ל תג לרשימת חבילות מותקנות במערכות מבוססות דביאן ואובונטו:
dpkg -l
עבור מערכות RHEL/CentOS/Fedora, השתמש בפקודה זו כדי לרשום חבילות מותקנות:
rpm -qa
עכשיו אתה יודע איך למנות את לינוקס באופן ידני להסלמה של הרשאות
הסלמה של הרשאות תלויה אך ורק בספירה. ככל שתהיה לך יותר מידע, כך תוכל לתכנן טוב יותר את אסטרטגיות ההתקפה שלך.
ספירה יעילה היא המפתח לביסוס דריסת רגל, להסלמה של הרשאות ולהתמיד בהצלחה במערכת היעד שלך. למרות שביצוע דברים באופן ידני עוזר, ניתן להקצות חלק מהמשימות לכלים אוטומטיים כדי לחסוך זמן ומאמץ. עליך לדעת על כלי האבטחה הטובים ביותר לסריקת מערכת לאיתור נקודות תורפה.