ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin

quick_linkאיך לזהות פריצה למערכת? על rootkits וצרות אחרות

published at 16/01/2004 - 20:44 · ‏פורסם ezaton · ‏tags אבטחת מידע · שלח לחברידידותי למדפסת
אבטחת מידע זיהוי פריצה למערכת הוא תהליך מורכב הדורש ניסיון רב והכרות אינטימית במיוחד עם המערכת. אחד ממכרי "שיחק מחבואים" עם פורץ בזמן שהוא עסוק במלאכתו וגילה, ממש כמו בסרטים, איך דברים נעלמו לו מתחת לידיים (הפורץ מחק את כל תכולת המחשב ברגע שהוא הבין שהוא נתגלה) תוך כדי עבודה ...

למרות שאין ממש דרך חד משמעית לזהות פריצה, יש כמה שיטות שהקלו עלי בעבר באופן אישי. בכל אופן, אם יש לכם חשד כלשהו, נתקו את המכונה מהרשת מיד. שיטות אלו דורשות כאמור לא מעט ניסיון, אבל אני מקווה שתוכלו להתמודד איתן.

השיטות מתבססות כאמור על היכרות עם rootkits נפוצים והמאמר הבא כתוב על סמך התבוננות במקרה פריצה מסוים ולכן הן אינן משקפות את המציאות או מקרים אחרים בהכרח לכן אני מציע לכם לקרא את המאמר כרשימת בדיקה, או הצעות איך להתמודד עם פריצה למערכת וטיפול נקודתי בפריצה אם התרחשה. במקרים קשים יותר, הפורץ עשוי לא להסתפק בהסתרת קבצים, תוכניות, שמות משתמשים אלא לשתול מודולים חדשים לקרנל ועוד.

1) אחת הדרכים הנפוצות בשימוש ב-rootkit הוא ליצור ספריה בעלת שם פשוט בספריית ה dev/ במערכת שלכם. בתוך הספריה הזאת, שלמעשה איננה מערכת קבצים אמיתית, ישבו מספר קבצים בינאריים חדשים שאינם קבצי התקנים, אלא בינאריים מהודרים. במקרה שלי למשל, נוספה ספריה תמימה למראה בשם dev/hda0/ ב- dev/ שכללה בתוכה מגוון כלים חלופיים.

לעיתים קרובות קשה לתפוס אותם, כי הם יושבים בספריה שמכילה שתי נקודות ורווח עצום עד לתו הבא במטרה להצניע את הצגתם ברשימת הקבצים. אם מצאתם ספריה כזו (הספריה עשויה לפעמים לכלול קוד ומקור לאותם בינאריים מחוללים), הרי שפרצו אליכם.

2) השתמשו בפקודה lsattr על כמה ספריות בינארים (כמו למשל bin/ או sbin/) כדי למצוא בינארים שהוגדרו עם לקריאה בלבד (כדי להקשות עליכם להחליפם). אם מצאתם כאלו, סביר שנפרצתם.

3) בדקו את גירסת ה-SSH שמותקן אצלכם וודאו שהיא אכן הגרסה הנכונה. מסתובבת ב-rootkit גירסת OpenSSH רגילה לחלוטין עם טוויסט קטן: עם משתמש וסיסמא מסויימים, ניתן לקבל גישת root. בדקו את קובץ הסיסמאות שלכם ( etc/passwd/) ושימו לב אם מופיע שם משתמש חשוד.

בזמנו מצאתי משתמש שנקרא crontest שהיה, הלכה למעשה, בעל הרשאות רוט. שימו לב שה-UID 0 צריך להיות רק למשתמש root ולא לאף משתמש אחר, אפילו אם הוא נראה לגיטימי. אם יש משתמש לא לגיטימי, אזי פרצו אליכם.

בנוסף, שימו לב שלכל משתמשי המערכת (שעל מערך ההרשאות שלהם רצים שירותים שונים) מוגדר shell כ-nologin או כ- dev/null/. ודאו שה-nologin איננו בינארי שתול, שקורא ל bin/login/ למשל.

4) נפוץ מאוד לראות במערכות שנפרצו את כרטיסי הרשת תחת מצב promiscuous כלומר, מצב בו כרטיס הרשת מאזין לכל תעבורת הרשת. אם הוא במצב כזה, אזי סביר להניח שפרצו אליכם (אלא אם כן אתם עובדים עם ממשק רשת וירטואלי כמו eth0:0 למשל). פעמים רבות גם התוכנית ifconfig מוחלפת בתוכנית שלא מציגה את המצב הזה (ראו סעיף 2).

5) נסו להשתמש בפקודה strace על מספר פקודות פשוטות, כמו ls או ps, ושימו לב לאילו קבצים הן פונות. בינארים אלו, אם הם מוחלפים, מקבלים פרמטרים פעמים רבות מקובץ נחבא, אשר מגדיר להם ממה להתעלם.

6) הציצו בקובץ etc/rc.d/rc.local/ ובידקו האם נוספה לו שורה בסופו (אם התמזל מזלכם אזי אכן רק בסופו) אשר קוראת לבינארי מסויים זה או אחר. אם יש שם משהו שלא אתם שמתם אז כנראה שפרצו אליכם.

7) בחנו גם את השירותים שעולים באופן אוטומטי. בדקו האם מדובר בשירותים שהגדרתם בעצמכם או כאלו שאתם מודעים לקיומם מההתקנה. בחנו את תוכן הספריות etc/rc.d/rc5.d/ ו- etc/rc.d/rc3.d/ במיוחד. לעיתים ירשמו שם שירותים פיקטיביים שתפקידם להכניס "סוס טרויאני" למערכת עם הפעלתה.

8) האזינו גם לתעבורה נכנסת ויוצאת מהמכונה לאורך זמן. נסו לבדוק האם יש תעבורה חשודה ל-IRC. לא מעט rootkits משתמשים בערוצי IRC כדי לזרוק לשם סיסמאות שנתפסות מהרשת (אם אתם עובדים במצב טקסט בלבד, עם תוכניות כמו telnet או FTP, לדוגמא).

9) בדקו רצף ההודעות בלוגים תקין או ישנם פערים גדולים מממש. לעיתים קרובות הפורצים לא מסתבכים במחיקה סלקטיבית של כניסות בלוגים, אלא ממש מוחקים את כל הלוגים כולם, על תוכנם, ואפילו הורגים את שירות syslog., לכן כדאי גם לבדוק באמת אם הוא רץ ושאכן מדובר בו.

זכרו! לא מספקי לסגור פורטים. וודאו שיש לכם גם פיירוול (firewall) פעיל, עם רישום לוגים רלוונטי לכל נסיון חשוד, גם אם הוא לגיטימי. אם הפיירוול נמצא במכונה נפרדת, מה טוב.

שימוש בשרת לוגים יכול להציל את עורכם אף הוא. בעיקר אם לשרת הלוגים יש סט סיסמאות שונה. פעולות שבוצעו לפני ניטרול מכאניזם התיעוד במחשב יראו בשרת הלוגים, ולא תהיה דרך לפורץ למחוק אותן (אלא על ידי פריצה למכונה נוספת כמובן).

עז (ezaton), מנהל פורום לינוקס בתפוז

הערה: המאמר התפרסם לראשונה בפורום לינוקס בתפוז
 

קישורים רלוונטיים

איך לזהות פריצה למערכת? על rootkits וצרות אחרות | כניסה / יצירת מנוי חדש | 4 תגובות
סף חסימה
  
ההערות הינן מטעם כותביהן. אין צוות האתר לוקח אחריות על תוכנן
Re: איך לזהות פריצה למערכת? על rootkits וצרות אחרות (ניקוד: 1)
ע"י דוביקס ב 16/01/2004 - 21:06

(מידע על משתמש | שלח הודעה) http://
קיימת תוכנה שמתיימרת לזהות rootkits למיניהם וניתן להתקין אותה מ http://www.chkrootkit.org/

מאמר נוסף באותו נושא הוא: http://www.linuxworld.com/story/32846.htm

שני הקישורים הנ"ל לקוחים מפרק האבטחה במדריך ווטסאפ (אליו נוסף כעת גם קישור למאמר הנוכחי).

דוביקס.

[ השב לזאת ]

מתיימרת אבל נכשלת (ניקוד: 1)
ע"י WolfSign (shay_u@yahoo.com)
ב 16/01/2004 - 22:52
(מידע על משתמש | שלח הודעה) http://www.geocities.com/shay_u
בקובץ passwd נוסף לי משתמש חשוד... כמו כן כאשר ביצעתי את פקודת lsattr על ספריית bin קיבלתי מלא הודעות של הרשאות גישה שנדחו.
הרצתי את chkrootkit והיא לא מצאה שום דבר חשוד...

[ השב לזאת ]

Re: איך לזהות פריצה למערכת? על rootkits וצרות אחרות (ניקוד: 1)
ע"י lord_rel ב 17/01/2004 - 14:11

(מידע על משתמש | שלח הודעה)
לא מזיק גם לשנות את הפורטים של ישונים למספר שונה ויותר גבוהה כדי להקשות אם אפילו במקצת על סריקות ונסיונות פריצה

בתנאים מסויימים אולי עדיף להשתמש בטלנט ולא בssh מכיוון שטלנט יותר פשוט ויש בו פחות בעיות אבטחה

רוטג'ייל הוא גם כלי חיוני ושימושי לשרותים רבים ( למרות שהדבר הכי שימושי הוא להמנע מלהריץ שרותים לא חיוניים )

כמות הבאגים שמופיעה בישומים המשתמשים בPAM היא לא קטנה אני מציע להמנע בשימוש בPAM אבל זו רק דעתי

להסיר חבילות של תוכנות מיותרות בהחלט הן רעיון טוב

ולהריץ שרתים במערכות שננעלו נגד שיוניים ( לקרוא מסמכים המדברים על system hardening בהחלט זה רעיון טוב )

כמו גם למנוע גישה מקומים למשתמשים מסויימים בעזרת כיוון ספריית הבסיס שלהם ל/bin/false

ולא חסרות עצות טובות באבטחה השאלה היא כמה זמן ומאמץ משקיעים בנעילה של מערכת והאם זה בכלל נחוץ

[ השב לזאת ]

Re: איך לזהות פריצה למערכת? על rootkits וצרות אחרות(ניקוד: 0)
ע"י פינגווין אנונימי ב 17/01/2004 - 15:00
אני קורא טוב?? טלנט עם פחות בעיות אבטחה ?!

[ השב לזאת ]