מדריך | אבטחת מידע (התחלה, התקנת קאלי - Kali,מפת התקיפה על שרת,הסבר פרוטוקול https, הקמת אתר פגיע, פריצת אתר שלב 1 )
-
טוב (אני מקווה שיעבירו את הנושא למדריכים בהקדם)
אז ככה
יתכן ואני איש מוזר אבל ממה שאני מכיר אנשים לרובם החומר על אקינג ואבטחת מידע די נסתר אבל הוא נושא שמסקרן אנשים (שוב ממה שאני מכיר ויש מצב שאני איש שפחות מכיר אנשים שלא מסוקרנים מנושאים האלה)
אז השאלה הגדולה של רוב הציבור היא כזאת מה בעצם עושים שם
ואיפה אני יכול להתחיל ללמוד את הנושא
אז אני הולך לנסות לעשות את זה
(ומי שרק הקדמה גרמה לו לעייפות שיפרוש חבל על הזמן שלו)
אז ככה אני יוצא מנקודת הנחה שאתם יודעים מה זה טרמינל
ומי שלא שיכנס לנושא הזה אומנם זה נועד למשהו אחר, לימוד איך לתפעל קלוד קוד אבל הנושא די דומה ורוב הסבר שם הוא על הטרמינל בכללי
ועכשיו מגיעים לשלב שבו מתחילים את התקנות הראשונות
נכנסים לקישור הבא https://www.kali.org/get-kali/#kali-platforms
ומורידים את קאלי
בקישור שם יש אופציה או להוריד את התמונה של המערכת הפעלה או הורדה של מערכת הפעלה המתואמת למכונה וירטואלית,
יש העדפות לכאן ולכאן
מצד אחד יש יותר שליטה על התאמות בתמונה מצד שני יותר קל להתקין את המכונה המוכנה
אני במאמר הזה כותב רק על רק מוכנה מכונה כי אני לא העמקתי עד כה בתמונה של מערכת הפעלה

כפי שניתן לראות בתמונה יש ארבע סוגי מכונות
יש הבדלים בניהם אני ספיצפית התחלתי עם VirtualBox אבל אם אתם רגילים למכונה אחרת זה בסדר גמור ואפשר להוריד כל אחת שרוצים
שימו לב מדובר במוצר כבד תבדקו שיש מקום ושהמחשב יכול לסחוב את זה
אחרי הורדה תיגשו לאתר של המכונה שהורדתם
אצל מי שהוריד וירטאול בוקס זה קישור הבא https://www.virtualbox.org/
וכאן כמובן נכנסים לתוכנה של מכונה הוירטואלית

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

קליק על הדיספליי ולשנות
ועכשיו המכונה רצה
צריך לבחור סיסמה ושם משתמש מומלץ לבחור משהו קל אין סיבה למשהו קשה
שאני פחות מעוניין להסביר לכם עד הגנבה
יהיה קשה ויצטרכו להפעיל את הראש המון
וזהו המכונה שלכם רצה
בימים הקרובים יעלה המשך לדבר
חשוב לציין שאת רוב הידע שלי שאבתי מאבי סילביה
בתנאי ש @פראירי ו @cfopuser ו @מתכנת-חובב יעזרו לפחות בלתקן את הנזקים שאני עושה
בימים הקרובים אני מקווה לעבור על איך סורקים אתר
מסריקות עדינות ועד האגרסביות שבהם כבר צריך להתחבאות
ואז נלמד על הקמת אתרים לתקיפהתיקון קטן עבור משתמשי נטפרי צריך תעודת אבטחה
בשביל להוריד את תעודת אבטחה הריצו בטרמינל את הפקודה הבאהcurl -sL https://netfree.link/cacert/united/x2/unix.sh | sudo shאוקי וקצת הסבר על הפקודה
curl פקודת הורדה מלינק שמגיע אחריה
-sL הs זה בשביל שגיאות אבטחה היות ועדיין אין תעודה יש שגיאות אבטחה לעתים קרובות וזה נועד למנוע את זה
ה L מיועדת בשביל מעקב אחר הפניות שהכתובת URL תיתן לו
ואחרי זה יש לנו כתובת URL של נטפרי
מי שרוצה לבדוק מה הוא מוריד שיכתוב את כתובת לבד בדפדפן ויראה
ואחרי ה URL יש משהו שנקרא פיפ (לא יודע איך כותבים את זה)
שזה נראה ככה | כדי לעשות את זה לוחצים שיפט והמקש של הבקסלש ביחד
והפיפ הזה אומר שיש המשך לפקודה ותריץ את זה אחרי סיום הפקודה הראשונה והוא גם יודע לקשר את עצמו לקובץ שעכשיו ירד או אחרון שהיה בפקודה האחרונה ולבצע עליו את הפעולה
אחריו מגיע sudo
הsudo היא פקודה של תן לי הרשאה מנהל מערכת (הנקראת רוט)
כלומר המשתמש עכשיו רוצה לנהל את המערכת לכן תבקש ממנו שוב סיסמה ותוודא שהוא המנהל הבעלדי של המערכת
והדבר הבא זה sh
פה אני לא הכי בטוח שאני מסביר נכון אבל אני ינסה
זה פקודה שאומרת תריץ את הקובץ האחרון בטרמינל
חשוב שתבינו משהו
כל הטרמינלים של לינוקס נגמרים בסיומת הזאת
ככה שנטפרי עשו את שגם יש לכם טרמינל מסוג זאש זה עדיין יעבוד לכם
עדכון נוסף
לבנתיים אני לא הצלחתי להתקין את נטפרי ולכן כרגע אני לא ימשיך עד לשחרור שלהם
-
טוב אז רציתי להמשיך היום אבל נטפרי עדיין לא הצליחו לסדר לי את המכונה עם התעודת אבטחה ככה שנלמד משהו שבעצם אמור להיות לפני סתם כי באלי דחיתי אותו אבל בוא ונקדים אותו למקום
אז בוא נתחיל

יש לנו כאן תמונה שנותנת לנו המבט על איך מתבצעת התקיפה
אנחנו מתחילים בצורה יחסית פשוטה שהוא בעצם מפוצל ל2- הוא באמצעות חיפוש הכי פשוט על דפי האתר
אתם מתחילים את החיפוש עוברים אחד אחד אז מה בעצם אנחנו מחפשים שם
לפעמים יש רשימת שמות של העובדים לפעמים גם כתובות מייל של חלקם ועוד... ומה הרווח? התשובה היא שאם יש לך כתובות מייל או שמות יש לך חלק (לכאורה חלק משמות המשתמשים של המערכת) ומה עוד לפעמים אתה רואה שמות שמשמשים את האנשי הארגון בפרומים שונים ובטעות הם שואלים על המערכת שלהם ואז אני כבתור תוקף יודע על הגרסה של המערכת שלהם וגם את הפגיעות שלה - יש עוד אופציה לאסוף הכי פסיבי שאפשר כלומר לא להיכנס לאתר אלא להציץ דרך החיפוש
ובשתי השיטות אנחנו לא נכנס לרמה גבוהה שיכולה להראות שאנחנו לא אזרחים תמימים חיפוש שגרתי ולא מחשיד בלבד
נעבור לאיור 2
בשלב הזה עולים רמה ואנחנו כבר צריכים להסתתר על הסתתרות ועוד נדבר אחרי זה
(לא מבטיח קצת מסוכן מידי ואני לא יודע איזה ילדון יראה את החומר הזה)
כאן אנחנו מתחילים בסריקה של שמות משתמשים שחוזרים אלינו כאמיתים
וסורקים את מבנה האירגון כלו בצורה מאוד אגרסיבית
ועוברים לבדיקת כתובות IP ומחפשים פורטים פתוחים
מה אנחנו מצפים למצוא בשלב הזה
גרסאות מדויקות של המערכת (והפעם בודקים בגוגל, יש מצב שהספריה שהם בחרו חלשה, ויש חולשות בכל מקום, לאנשי אבטחה תמיד יש שגיאות, וזה עולה ביוקר)
מחפשים תיקיות פתוחות (יתכן ונמצא שם כל מיני פרטים שלא כל איש אמור לראות)
ואחרי שיש לנו רשימה של החולשות עוברים לדבר הבא
כאן חשוב לי להגדיש אין לרוב האנשים שיראו את זה כאן לברוח מחוק
לא מומלץ להסתכן בשום מחיר שבעולם
כאן אנחנו מתחילים לעבור על החוק בצורה מפורשת
זה אסור בתכלית האיסור
גם לבדוק פגיעיות צריך אישור מראש
אז בשלב הזה
אנחנו מנסים להשיג גישה לא מורשת לשרת האינטרנט של האתר
אם זה בגלל שיש לנו קוד של משתמש שבטעות פורסם במקום לא נכון ובין אם זה ניצול פגיעות של הגרסא שמפעילה את האתר
או סתם פורט שנשאר פתוח במקרה
בשלב הבא
פה המטרה היא ולנסות לעלות את רמת הרשאות שלנו, עד לרמה הגבוהה שהיא משתמש רוט בשרת לינוקס או משתמש הסיסטם בשרת הווינדוס
שלב הבא
אנחנו עושים משהו שאני כבר יסביר עליו מאוחר יותר
אבל אנחנו יוצרים מקום לכניסה קבועה שלנו על מנת שלא נצטרך בכל פעם לעבור את התהליך כולו
שלב הבא
פה מתחיל קטע אחר כבר נכנסנו פנימה, ויש לנו יותר הרשאות
ובגלל שיש לנו יותר הרשאות, יש לנו גישה ליותר דפים ודברים ולכן נרצה לסרוק שוב את האתר (כמובן שאפשר לסנן את מה שכבר גילנו לפני זה)
שלב הבא
פה אספנו כבר מידע מתוך הרשת הפנימית של השרת ויש מצב והוא מחובר למחשבים נוספים ואנחנו ממפים את המחשבים החדשים והנוספים ומנסים לבדוק את החולשות שלהם
ואם הצלחנו למצוא שרת / מחשב נוסף שוב ננסה להשיג הרשאות מתקדמות יותר ושוב לסרוק ושוב לחפש מחשבים חדשים חוזר חלילה
שלב הבא
אז תלוי מי אנחנו
אם אתם אקרים כובע שחור אתם מנסים להצפין את השרת או לבצע נזקים אחרים
ואם אתם בודקי חדירות אתיים אתם רוצים להראות להארגון את הנזק הפונטצאלי אז אתם פשוט מסכמים את המידע ושולחים
שלב הבא
הוא להסתיר את מה שעשינו החל ממחיקת הלוגים וכלה במחיקת סקריפטים זדונים
השלב הבא
הוא מיועד לבודקי חדירות
פשוט עושים את הבדיקה האחרונה ומסכמים ושולחים לחברה
ושוב קרדיט לתמונה אבי סלביה
- הוא באמצעות חיפוש הכי פשוט על דפי האתר
-
פוסט זה נמחק!
-
פוסט זה נמחק!
-
פוסט זה נמחק!
-
ל לנציצ התייחס לנושא זה
-
פוסט זה נמחק!
-
פוסט זה נמחק!
@חייא-שיאומי פליז תעבור לכאן
https://mitmachim.top/topic/97710/הסבר-תגובות-למדריך-על-האבטחת-מידע
אני רוצה מדריך נקי אז תמחק את הודעות שלך -
אוקיי אחרי מלא באלגן עם נטפרי (שכמובן עדיין עוד לא הסתדר)
נאלץ להתמקד בנושא אחר אומנם חשוב אבל לא רציתי ללמד בצורה הזאת
אז
HTTP (ראשי תיבות של HyperText Transfer Protocol) הוא הפרוטוקול הבסיסי המשמש לתקשורת בין דפדפנים, אפליקציות ושרתי אינטרנט. בכל פעם שנכנסים לאתר, שולחים טופס או משתמשים ב־API, מתבצעת למעשה תקשורת באמצעות HTTP.העיקרון פשוט: הלקוח (לדוגמה דפדפן(לסוגיו השונים)) שולח בקשה (Request) לשרת, והשרת מחזיר תגובה (Response). לדוגמה, כאשר מבקשים דף אינטרנט, הדפדפן שולח בקשת GET והשרת מחזיר את תוכן הדף יחד עם מידע נוסף כגון סוג התוכן וקוד הסטטוס.
ויש מספר קודים המסייעים לדפדפן להבין את התוצאה למשל 200 מדווח על הצלחה ו404 על כישלון
לרשימת קודים תכנסו לקישור הבא כאן
HTTP כולל מספר שיטות נפוצות, בהן GET לקבלת מידע, POST לשליחת מידע לשרת,
GET זה ברוב המקרים וזה מבצע בקשה לדף מסוים משרת
POST זה דווקא כאשר אתם שולחים למשל שם משתמש לאתר או כל מידע שהוא
מאפיין מרכזי של HTTP הוא שהוא Stateless(סטסלאס), כלומר כל בקשה מטופלת באופן עצמאי והשרת אינו חייב לזכור בקשות קודמות. מסיבה זו משתמשים לעיתים במנגנונים כמו Cookies כדי לשמור מידע בין בקשות שונות.
כלומר אין הגיון שבכל שליחת פוסט לאתר פה נצטרך להזין מחדש את הסיסמה לכן יש עוגיות ששומרות את זהוי שלנו(ID) בתוך עוגיה
כלומר בוא וניתן פה אנלוגיה לחיים עצמם
נניח ופגשתם קרוב משפחה שלכם ואתם שואלים אותו אם הוא יכול לבוא להתארח אצלכם השבת? והוא עונה השבת אני צריך להיות בצד השני (יש שם שבת חתן) ואז אתם אומרים לו ומה לגביי השבת שאחרי? והוא עונה שבת אחרי אני יכול
עכשיו אם תיגשו אליו ותגידו לו מיד
מה לגביי השבת שאחרי? והוא לא יבין מה אתם רוצים ממנו
אותו דבר זה באתר הוא לא זוכר מה היה לפני בקשה אחת אפילו אם אין לו עוגיות
(ומה אנחנו נעשה עם העוגיות? בדרך כלל צריך אותם בכל סריקה של אתר כדי לתת את מירב הגישה לדפים באתר)
ועכשיו מי שיבדוק ממה עשוי URL שבו גולש כרגע יגלה שהוא גולש דרך HTTPS אז מה זה הS
ה־S שבסוף HTTPS מייצגת את המילה Secure (מאובטח)
האות S מציינת שהתקשורת בין הלקוח (למשל הדפדפן) לבין השרת מוצפנת באמצעות פרוטוקול TLS (בעבר SSL). ההצפנה נועדה למנוע מגורמים בדרך לקרוא או לשנות את המידע המועבר.
לדוגמה, כאשר מתחברים לאתר באמצעות HTTP רגיל, אדם בעל גישה לתעבורת הרשת עשוי לראות את המידע שעובר. לעומת זאת, ב־HTTPS הנתונים מוצפנים, כך שגם אם מישהו יירט את התעבורה, הוא לא יוכל להבין את תוכנהלערך המורחב על הפרוטוקול כאן
עד כאן להיום
ויבוא יום ואני יסביר איך עובדת הצפנה
סורי על המשיכת זמן פשוט נטפרי הורגים אותי בקטע הזה -
אוקיי אחרי מלא באלגן עם נטפרי (שכמובן עדיין עוד לא הסתדר)
נאלץ להתמקד בנושא אחר אומנם חשוב אבל לא רציתי ללמד בצורה הזאת
אז
HTTP (ראשי תיבות של HyperText Transfer Protocol) הוא הפרוטוקול הבסיסי המשמש לתקשורת בין דפדפנים, אפליקציות ושרתי אינטרנט. בכל פעם שנכנסים לאתר, שולחים טופס או משתמשים ב־API, מתבצעת למעשה תקשורת באמצעות HTTP.העיקרון פשוט: הלקוח (לדוגמה דפדפן(לסוגיו השונים)) שולח בקשה (Request) לשרת, והשרת מחזיר תגובה (Response). לדוגמה, כאשר מבקשים דף אינטרנט, הדפדפן שולח בקשת GET והשרת מחזיר את תוכן הדף יחד עם מידע נוסף כגון סוג התוכן וקוד הסטטוס.
ויש מספר קודים המסייעים לדפדפן להבין את התוצאה למשל 200 מדווח על הצלחה ו404 על כישלון
לרשימת קודים תכנסו לקישור הבא כאן
HTTP כולל מספר שיטות נפוצות, בהן GET לקבלת מידע, POST לשליחת מידע לשרת,
GET זה ברוב המקרים וזה מבצע בקשה לדף מסוים משרת
POST זה דווקא כאשר אתם שולחים למשל שם משתמש לאתר או כל מידע שהוא
מאפיין מרכזי של HTTP הוא שהוא Stateless(סטסלאס), כלומר כל בקשה מטופלת באופן עצמאי והשרת אינו חייב לזכור בקשות קודמות. מסיבה זו משתמשים לעיתים במנגנונים כמו Cookies כדי לשמור מידע בין בקשות שונות.
כלומר אין הגיון שבכל שליחת פוסט לאתר פה נצטרך להזין מחדש את הסיסמה לכן יש עוגיות ששומרות את זהוי שלנו(ID) בתוך עוגיה
כלומר בוא וניתן פה אנלוגיה לחיים עצמם
נניח ופגשתם קרוב משפחה שלכם ואתם שואלים אותו אם הוא יכול לבוא להתארח אצלכם השבת? והוא עונה השבת אני צריך להיות בצד השני (יש שם שבת חתן) ואז אתם אומרים לו ומה לגביי השבת שאחרי? והוא עונה שבת אחרי אני יכול
עכשיו אם תיגשו אליו ותגידו לו מיד
מה לגביי השבת שאחרי? והוא לא יבין מה אתם רוצים ממנו
אותו דבר זה באתר הוא לא זוכר מה היה לפני בקשה אחת אפילו אם אין לו עוגיות
(ומה אנחנו נעשה עם העוגיות? בדרך כלל צריך אותם בכל סריקה של אתר כדי לתת את מירב הגישה לדפים באתר)
ועכשיו מי שיבדוק ממה עשוי URL שבו גולש כרגע יגלה שהוא גולש דרך HTTPS אז מה זה הS
ה־S שבסוף HTTPS מייצגת את המילה Secure (מאובטח)
האות S מציינת שהתקשורת בין הלקוח (למשל הדפדפן) לבין השרת מוצפנת באמצעות פרוטוקול TLS (בעבר SSL). ההצפנה נועדה למנוע מגורמים בדרך לקרוא או לשנות את המידע המועבר.
לדוגמה, כאשר מתחברים לאתר באמצעות HTTP רגיל, אדם בעל גישה לתעבורת הרשת עשוי לראות את המידע שעובר. לעומת זאת, ב־HTTPS הנתונים מוצפנים, כך שגם אם מישהו יירט את התעבורה, הוא לא יוכל להבין את תוכנהלערך המורחב על הפרוטוקול כאן
עד כאן להיום
ויבוא יום ואני יסביר איך עובדת הצפנה
סורי על המשיכת זמן פשוט נטפרי הורגים אותי בקטע הזהטוב נטפרי סוף סוף שיחררו אותי אומנם לא לגמריי אבל בסדר
אז ככה היום נסביר על הקמת אתר פגיע אנחנו נכנסים לדפדפן
ברירת המחדל בקאלי פרייפוקס וכותבים https://vwad.owasp.org/
למידע נוסף תכתבו בגוגל owasp והוא ייתן לכם את המידע מי הקים את הדבר ומה נותנות הסמכות בו (אם אני לא טועה הוא מוסמך לתת רשיונות באבטחת מידע לפותרים את התרגילים)
ויש גם גיטאהב שנותן את המידע לאתגרים הטובים ביותר של השנה
אוקיי אז נכנסנו לאתר והוא נראה ככה

יש בו אתגר אקראי לחלוטין יש מצב שאתם תיראו משהו אחר בכלל
בכל אופן גוללים קצת למטה
ויש שם תיבת חיפוש עם פרמטרים

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

כאן יש כמה אופציות הורדה
שבגדול מתחלקות לשתיים
אחד התקנה רגילה מה שאומר שצריך להגדיר את הקונטנרים לבד
והשניה עם דוקר שהוא בונה הקונטנרים לבד ומגדיר לבד
אני אישית לא באתי לסבך כמה שיותר אלא לקצר (להאריך תמיד אפשר עם קצת עזרה מAI)
אז אנחנו נשתמש בדוקר אז באתר תלחצו על הדוקר ותגיעו לגיטאהב
נגלול קצת למטה (מי שמעוניין יש את הרדמי הקבוע)(ויש גם הדרכות ביוטיוב הקישורים בגיטהאב)
עד שנגיע לפקודה הבאהgit clone https://github.com/webpwnized/mutillidae-docker.git cd mutillidae-docker docker compose -f .build/docker-compose.yml up --build --detachונריץ את הפקודה בטרמינל
ונקווה לטוב (לי אישית עשה בעיות ככה שאני לא יכול להציג את מה שהיה אצלי)
אחרי הרצה של השורה הקודמת אתם נכנסים לכתובת http://127.0.0.1/ שימו לב שבכוונה הכתובת לא מאובטחת אין את הS
האתר אמור להראות ככה

אם לא תירצו את הפקודה הבאה# Requesting Mutillidae database be built. curl http://127.0.0.1/set-up-database.php;שימו לב האתר מגיע בלי משתמשים כלל כדי להוסיף משתמשים צריך את הפקודה הבאה
# Install LDAP Utilities including ldapadd sudo apt-get update sudo apt-get install -y ldap-utils # Add users to the LDAP database ldapadd -c -x -D "cn=admin,dc=mutillidae,dc=localhost" -w mutillidae -H ldap://localhost:389 -f .build/ldap/configuration/ldif/mutillidae.ldifיש באתר מגוון פגיעות נסו לגלות אותם לפני ולעלות אותם לתגובות
כאן
אני ישתדל בהקדם להסביר על פגיעות שבאתר
זהו לבנתיים הצלחה -
אוקיי חברה מתנצל אבל אחרי שראיתי שהגדר של ניסוח מדרכים באמצעות AI נהיה הפקר גם אני החלטתי לחסוך זמן
וכמובן שלא סמכתי עליו לחלוטין אלא בדקתי כל פקודה שהוא הביא לראות אם היא תקינה ועובדת כמו שצריךהיום נרד לשטח ונבדוק תרחיש אמיתי של תקיפת קופסה שחורה - Black Box (בלק בוקס).
כלומר תקיפה די על עיוור אנחנו לא בדקנו מראש דפים פגיעים יותר או פחות אלא ישר באנו לנגח את האתר
במצב כזה, אנחנו מגיעים לאתר כהאקרים זרים מהאינטרנט. אין לנו שם משתמש, סיסמה או קוקיז - Cookies (קוקיז) שיאפשרו לנו להיכנס לעמודים הפנימיים. השער היחיד שפתוח בפנינו הוא עמוד הלוגין - Login (לוגין) הציבורי.אנחנו הולכים לנצל פגיעות SQL Injection (סקוול אינג'קשן) בשדה שם המשתמש (username) של טופס ההתחברות, כדי לעקוף את מנגנון האבטחה ולהכריח את השרת להוציא לנו את כל המידע הרגיש החוצה - ישירות למסך של קאלי (Kali).
דרישת קדם: הגדרת רמת האבטחה במעבדה
לפני שמתחילים, עלינו לוודא שהמעבדה נמצאת במצב הפגיע ביותר שלה.
באתר של Mutillidae (מוטילידיי), גשו לתפריט העליון, חפשו את הכפתור Toggle Security (טוגל סקיוריטי) ולחצו עליו עד שתראו שרמת האבטחה שונה למצב 0 (Security Level: 0). מצב זה מדמה אתר אמיתי שנכתב בצורה רשלנית לחלוטין וללא שום הגנות על שדות הקלט.שלב 1: מיפוי ובדיקת פגיעות
הפנינו את הכלי ישירות אל עמוד הלוגין. מכיוון שטופס ההתחברות נשלח בשיטת POST (פוסט) שבה הנתונים חבויים בגוף הבקשה, הגדרנו את הפרמטרים שלו בעזרת הדגל --data.פתח את הטרמינל והרץ את הפקודה הבאה:
sqlmap -u "https://127.0.0.1/index.php?page=login.php" --data="username=test&password=test&login-php-submit-button=Login" -p username --dbms=mysql --batch --dbsפירוט הפרמטרים בפקודה:
-u (קיצור של URL - יוראל): מגדיר את כתובת היעד הציבורית של עמוד הלוגין שאותו אנחנו רוצים לבדוק.--data (דאטה): מכיל את השדות שנשלחים בטופס ה-POST (פוסט). הכנסנו ערכי דמי (username=test&password=test) פלוס השם של כפתור השליחה כדי שהשרת יחשוב שמשתמש אמיתי לחץ עליו.
-p username (פרמטר): פקודה מפורשת לכלי לבדוק רק את השדה של שם המשתמש, ולא לבזבז זמן על בדיקת שדה הסיסמה או לחצן השליחה.
--dbms=mysql (די-בי-אמ-אס): אומר לכלי שמסד הנתונים מאחורי הקלעים הוא MySQL (מאי-סקוול). זה חוסך בדיקות מיותרות של סוגי מסדי נתונים אחרים כמו אורקל או סקוול-סרבר.
--batch (באטץ'): פקודה שאומרת לכלי לעבוד במצב אוטומטי - לבחור תמיד באפשרות ברירת המחדל (Yes - יס) ולא לעצור באמצע הסריקה כדי לשאול אותנו שאלות.
--dbs (דאטאבייסז): הוראה מפורשת שאומרת: אם מצאת פגיעות, תשלוף מיד את רשימת בסיסי הנתונים הקיימים בשרת.
מה קרה כאן מאחורי הקלעים?
השרת ניסה לייצר עבור הכלי עוגיית אורח זמנית בשם PHPSESSID (פי-אייץ'-פי-סס-אי-די). הכלי אישר אותה אוטומטית כדי לשמור על קשר רציף מול האתר. הוא זיהה ששדה ה-username פגיע, ובסיום הסריקה הציג לנו רשימה של בסיסי נתונים. זיהינו שהבסיס המרכזי של האתר נקרא mutillidae (מוטילידיי).שלב 2: שליפת הטבלאות מתוך בסיס הנתונים
עכשיו כשיש לנו את שם ה-Database (דאטאבייס), אנחנו רוצים לדעת אילו טבלאות קיימות בתוכו כדי למקד את התקיפה. הרצנו את הפקודה הבאה:sqlmap -u "https://127.0.0.1/index.php?page=login.php" --data="username=test&password=test&login-php-submit-button=Login" -p username --dbms=mysql --batch -D mutillidae --tablesפירוט הפרמטרים החדשים בפקודה:
-D mutillidae (דאטאבייס): מגדיר לכלי באיזה בסיס נתונים ספציפי להתמקד (במקרה שלנו, זה שגילינו בשלב הקודם).--tables (טייבלז): פקודה לשלוף את שמות כל הטבלאות (ה"מגירות") שנמצאות בתוך אותו בסיס נתונים.
מה קרה כאן מאחורי הקלעים?
הכלי לא סרק את האתר מחדש. הוא טען את נקודת ההזרקה ששמר בזיכרון מהסבב הקודם (טכניקה שנקראת Resumed Session - ריזומד סשן). הוא שלח שאילתה ששלפה רשימה של 13 טבלאות. מתוכן, סימנו את הטבלה המעניינת ביותר עבורנו: accounts (אקאונטס), שם שמורים המשתמשים.שלב 3: מיפוי העמודות בטבלת המשתמשים
לפני שאנחנו מורידים מידע סתם, אנחנו צריכים להבין את המבנה הפנימי של הטבלה שבחרנו. נרצה לדעת אילו טורים (Columns - קולומז) קיימים בה:sqlmap -u "https://127.0.0.1/index.php?page=login.php" --data="username=test&password=test&login-php-submit-button=Login" -p username --dbms=mysql --batch -D mutillidae -T accounts --columnsפירוט הפרמטרים החדשים בפקודה:
-T accounts (טייבל): מנחה את הכלי להתמקד אך ורק בטבלה הספציפית שנקראת accounts (אקאונטס).--columns (קולומז): הוראה לשלוף את שמות הטורים (הכותרות) ואת סוגי המידע שיש בטבלה הזו.
מה קרה כאן מאחורי הקלעים?
הכלי חילץ את המבנה וגילה שיש בטבלה 10 עמודות שונות, כולל שדות כמו שם פרטי, סטטוס מנהל, ומה שחשוב לנו באמת: העמודות username (יוזרניים) ו-password (פסוורד).שלב 4: הורדת המידע (The Dump - הדאמפ)
זהו שלב סגירת המעגל. ביקשנו מהכלי לשלוף רק את שני הטורים שמעניינים אותנו ולרוקן את התוכן שלהם למחשב שלנו:sqlmap -u "https://127.0.0.1/index.php?page=login.php" --data="username=test&password=test&login-php-submit-button=Login" -p username --dbms=mysql --batch -D mutillidae -T accounts -C username,password --dumpפירוט הפרמטרים החדשים בפקודה:
-C username,password (קולומז): הגדרה מפורשת לשלוף נתונים אך ורק משתי העמודות האלו, כדי לא לבזבז זמן ותעבורה על מידע לא רלוונטי.--dump (דאמפ): הפקודה שמבצעת את חילוץ הנתונים בפועל והורדתם למסך.
התוצאה הסופית:
מסד הנתונים הריץ לולאה והחזיר פלט נקי של 41 משתמשים רשומים במערכת בטקסט גלוי (Clear Text - קליר טקסט), כולל שם המשתמש והסיסמה של מנהל המערכת (admin / adminpass). בנוסף, המידע נשמר אוטומטית כקובץ בתצורת CSV (סי-אס-וי) בתוך תיקיית הפלט של הכלי בקאלי.שורה תחתונה לחלק זה: כשעמוד ציבורי כמו לוגין אינו מאובטח (רמת אבטחה 0), הגנות פנימיות כמו עוגיות או בדיקות הרשאות הופכות ללא רלוונטיות. האקר יכול להשיג שליטה מלאה בנתונים מבלי לעבור את דף הבית. בפרק הבא נראה מה עושים כאשר האתר מוגן יותר, ואיך עובדים מול עמודים פנימיים באמצעות עוגיות מהדפדפן (Grey Box Testing - גריי בוקס טסטינג).
ועוד נקודה לציון הבדל בין קופסה אפורה לשחורה הוא
בשחורה אנחנו באים על עיוור בלי קוקיז ותוקפים בדף פגיע
באפורה אנחנו באים עם קוקיז חיבור בהרשאה מסוימת לאתר וממנו מנסים לעלות למעלה בהרשאה
וחברה אם משהו לא ברור הוא לא מובן וכמו כן כל הערה והארה יתקבלו בברכה
מצפה לתגובות כאן