כעת ננסה דרך אחרת של הזרקת SQL. בוא נראה אם מסד הנתונים ממשיך לזרוק הודעות שגיאה. שיטה זו נקראת "המתנה לעיכוב", והעיכוב עצמו כתוב כך: waitfor delay 00:00:01'. אני מעתיק את זה מהקובץ שלנו ומדביק אותו בשורת הכתובת של הדפדפן.
כל זה נקרא "הזרקת SQL זמנית עיוורת". כל מה שאנחנו עושים כאן זה לומר, "חכה לעיכוב של 10 שניות". אם שמתם לב, בצד שמאל למעלה יש לנו את הכיתוב "מתחבר...", כלומר, מה עושה העמוד שלנו? הוא ממתין לחיבור, ולאחר 10 שניות מופיע העמוד הנכון על הצג שלך. באמצעות טכניקה זו אנו יוצרים קשר עם בסיס הנתונים כדי שיאפשר לנו לשאול אותו עוד כמה שאלות, למשל אם המשתמש הוא ג'ו, אז צריך להמתין 10 שניות. זה ברור? אם המשתמש הוא dbo, המתן גם 10 שניות. זוהי שיטת הזרקת SQL עיוורת.
אני חושב שמפתחים לא מתקנים את הפגיעות הזו בעת יצירת תיקונים. זוהי הזרקת SQL, אבל גם תוכנית ה-IDS שלנו לא רואה אותה, כמו שיטות קודמות של הזרקת SQL.
בוא ננסה משהו יותר מעניין. בואו נעתיק את השורה הזו עם כתובת ה-IP ונדביק אותה בדפדפן. זה עבד! סרגל ה-TCP בתוכנית שלנו הפך לאדום, התוכנית ציינה 2 איומי אבטחה.
מעולה, בוא נראה מה קרה אחר כך. יש לנו איום אחד על מעטפת XP, ואיום נוסף - ניסיון הזרקת SQL. בסך הכל נרשמו שני ניסיונות לתקוף את אפליקציית האינטרנט.
אוקיי, עכשיו תעזרו לי בהיגיון. יש לנו חבילת נתוני חדירה שבה IDS אומר שהיא הגיבה לפריצות שונות למעטפת XP.
אם נגלול למטה, נראה טבלה של קודי HEX, שמימין לה יש דגל עם ההודעה xp_cmdshell + &27ping, וברור שזה גרוע.
בוא נראה כאן מה קרה. מה עשה שרת SQL?
שרת SQL אמר: "אתה יכול לקבל את הסיסמה למסד הנתונים שלי, אתה יכול לקבל את כל הרשומות במסד הנתונים שלי, אבל אחי, אני לא רוצה שתפעיל את הפקודות שלך עליי, זה לא מגניב בכלל"!
מה שעלינו לעשות הוא להבטיח שגם אם ה-IDS מדווח על איום על מעטפת ה-XP, התעלמות מהאיום. אם אתה משתמש ב-SQL Server 2005 או ב-SQL Server 2008, אם מזוהה ניסיון הזרקת SQL, מעטפת הפקודות של מערכת ההפעלה תינעל, וימנע ממך להמשיך בעבודתך. זה מאוד מעצבן. אז מה אנחנו צריכים לעשות? כדאי לנסות לשאול את השרת בחביבות רבה. האם אתה צריך להגיד את זה: "בבקשה, אבא, אפשר לקבל את העוגיות האלה"? זה מה שאני עושה, ברצינות, אני שואל את השרת בנימוס רב! אני מבקש אפשרויות נוספות, אני מבקש הגדרה מחדש, ואני מבקש לשנות את הגדרות מעטפת XP כדי להפוך את המעטפת לנגישה כי אני צריך את זה!
אנחנו רואים ש-IDS זיהה את זה - אתה מבין, 3 איומים כבר צוינו כאן.
רק תראה כאן - פוצצנו את יומני האבטחה! זה נראה כמו עץ חג המולד, יש כל כך הרבה תלוי כאן! עד 27 איומי אבטחה! היי חברים, תפסנו את ההאקר הזה, השגנו אותו!
אנחנו לא מודאגים שהוא יגנוב את הנתונים שלנו, אבל אם הוא יכול לבצע פקודות מערכת ב"קופסה" שלנו - זה כבר רציני! אתה יכול לצייר מסלול של Telnet, FTP, אתה יכול להשתלט על הנתונים שלי, זה מגניב, אבל אני לא דואג בקשר לזה, אני פשוט לא רוצה שתשתלט על הקליפה של ה"קופסה" שלי.
אני רוצה לדבר על דברים שבאמת הביעו אותי. אני עובד בארגונים, עבדתי בהם הרבה שנים, ואני אומר לך את זה כי חברה שלי חושבת שאני מובטלת. היא חושבת שכל מה שאני עושה זה לעמוד על הבמה ולפטפט, זה לא יכול להיחשב לעבודה. אבל אני אומר: "לא, שמחה שלי, אני יועץ"! זה ההבדל - אני אומר את דעתי ומקבל על זה תשלום.
אני אגיד את זה - אנחנו, כהאקרים, אוהבים לפצח את הקליפה, ומבחינתנו אין תענוג גדול יותר בעולם מאשר "לבלוע את הקליפה". כשאנליסטים של IDS כותבים את הכללים שלהם, אתה רואה שהם כותבים אותם כדי להגן מפני שיבוש קליפות. אבל אם תדבר עם ה-CIO על בעיית מיצוי הנתונים, הוא יבקש ממך לחשוב על שתי אפשרויות. נניח שיש לי אפליקציה שעושה 100 "חתיכות" לשעה. מה יותר חשוב לי: הבטחת אבטחת כל הנתונים באפליקציה הזו או אבטחת מעטפת ה"קופסה"? זו שאלה רצינית! ממה אתה צריך לדאוג יותר?
רק בגלל שמעטפת ה"קופסה" שלך פגומה לא אומר בהכרח שמישהו השיג גישה לפעולה הפנימית של היישומים. כן, זה יותר מסביר, ואם זה לא קרה עדיין, זה עשוי לקרות בקרוב. אך שימו לב שמוצרי אבטחה רבים בנויים על ההנחה שתוקף עובר דרך הרשת שלכם. אז הם שמים לב לביצוע פקודות, לביצוע פקודות, ואתה חייב לשים לב שזה דבר חמור. הם שמים לב לפרצות טריוויאליות, לסקריפטים פשוטים מאוד בין אתרים, להזרקות SQL פשוטות מאוד. לא אכפת להם מאיומים מתקדמים או הודעות מוצפנות, לא אכפת להם מדברים מהסוג הזה. אפשר לומר שכל מוצרי האבטחה מחפשים רעש, הם מחפשים יאפ, הם מחפשים לעצור משהו שנושך את הקרסול. הנה מה שלמדתי כשעסקתי במוצרי אבטחה. אתה לא צריך לקנות מוצרי בטיחות, אתה לא צריך לנהוג במשאית ברוורס. אתה צריך אנשים מוכשרים ומיומנים שמבינים את הטכנולוגיה. כן, אלוהים, בדיוק אנשים! אנחנו לא רוצים לזרוק מיליוני דולרים על הנושאים האלה, אבל רבים מכם עבדו בתחום הזה ויודעים שברגע שהבוס שלכם רואה מודעה, הוא רץ לחנות בצרחות, "אנחנו חייבים להשיג את הדבר הזה! " אבל אנחנו לא באמת צריכים, אנחנו רק צריכים לתקן את הבלגן שמאחורינו. זו הייתה הנחת היסוד להופעה הזו.
סביבת האבטחה היא משהו שבו ביליתי הרבה זמן בהבנת איך מנגנוני האבטחה עובדים. ברגע שמבינים את מנגנוני ההגנה, לא קשה לעקוף את ההגנה. לדוגמה, יש לי יישום אינטרנט שמוגן על ידי חומת אש משלו. אני מעתיק את הכתובת של חלונית ההגדרות, מדביק אותה בשורת הכתובת של הדפדפן ונכנס להגדרות ומנסה לעשות סקריפטים בין אתרים.
כתוצאה מכך, אני מקבל הודעת חומת אש על איום - נחסמתי.
אני חושב שזה רע, אתה מסכים? נתקלת במוצר אבטחה. אבל מה אם אני מנסה משהו כזה: אני מזין את הפרמטר Joe'+OR+1='1
כפי שאתה יכול לראות, זה עבד. תקן אותי אם אני טועה, אבל ראינו את הזרקת SQL מביס את חומת האש של היישום. עכשיו בואו נעמיד פנים שאנחנו רוצים להקים חברת הטמעת אבטחה, אז נשב על כובע יצרן התוכנה שלנו. עכשיו אנחנו מגלמים את הרוע כי זה כובע שחור. אני יועץ, אז אני יכול לעשות את אותו הדבר עם יצרני תוכנה.
אנחנו רוצים ליצור ולפרוס מערכת חדשה לזיהוי חבלה, אז נקליק חברה לזיהוי חבלה. Snort, כמוצר קוד פתוח, מכיל מאות אלפי חתימות איומים מחבלים. עלינו לפעול בצורה אתית, ולכן לא נגנוב את החתימות הללו מיישומים אחרים ונכניס אותן למערכת שלנו. אנחנו פשוט נשב ונכתוב את כולם מחדש - היי, בוב, טים, ג'ו, קדימה, עברו במהירות על כל 100 החתימות האלה!
אנחנו צריכים גם ליצור סורק פגיעות. אתה יודע שלנסוס, תוכנית לחיפוש אוטומטי של פרצות, יש 80 אלף חתימות ותסריטים שבודקים פרצות. נפעל שוב בצורה אתית ונכתוב את כולם מחדש לתוכנית שלנו בעצמנו.
אנשים שואלים אותי, "ג'ו, אתה עושה את כל הבדיקות האלה באמצעות תוכנות קוד פתוח כמו Mod Security, Snort וכדומה, עד כמה הן דומות למוצרים של יצרנים אחרים?" אני עונה להם: "הם בכלל לא דומים!" מכיוון שהיצרנים לא גונבים דברים ממוצרי אבטחה בקוד פתוח, הם יושבים וכותבים את כל הכללים האלה בעצמם.
אם אתה יכול לגרום לחתימות ולמחרוזות תקיפה משלך לעבוד מבלי להשתמש במוצרי קוד פתוח, זו הזדמנות מצוינת עבורך. אם אינכם מסוגלים להתחרות במוצרים מסחריים, מתקדמים בכיוון הנכון, עליכם למצוא קונספט שיעזור לכם להתפרסם בתחומכם.
כולם יודעים שאני שותה. תן לי להראות לך למה אני שותה. אם אי פעם ביצעת ביקורת קוד מקור בחייך, אתה בהחלט תשתה, תאמין לי, אחרי זה תתחיל לשתות.
אז, השפה האהובה עלינו היא C++. בואו נסתכל על תוכנית זו - Web Knight, היא אפליקציית חומת אש עבור שרתי אינטרנט. יש לו חריגים כברירת מחדל. זה מעניין - אם אני פורס חומת אש זו, היא לא תגן עלי מפני Outlook Web Access.
נִפלָא! הסיבה לכך היא שספקי תוכנה רבים שולפים כללים מאפליקציה אחת ומדביקים אותם במוצר שלהם מבלי לעשות חבורה שלמה של מחקר. אז כשאני פורס את אפליקציית חומת האש באינטרנט, אני מגלה שכל מה שקשור לדואר אינטרנט נעשה בצורה שגויה! מכיוון שכמעט כל דואר אינטרנט שובר את האבטחה כברירת מחדל. יש לך קוד אינטרנט שמבצע פקודות מערכת ושאילתות עבור LDAP או כל חנות מסד נתונים אחרת של משתמשים ישירות באינטרנט.
תגיד לי, באיזה כוכב דבר כזה יכול להיחשב בטוח? רק תחשוב על זה: אתה פותח את Outlook Web Access, לוחץ ctrl +K, מחפש משתמשים וכל זה, אתה מנהל את Active Directory ישירות מהאינטרנט, אתה מבצע פקודות מערכת בלינוקס, אם אתה משתמש ב-Squirrel Mail, או Horde או כל דבר אחר אַחֵר. אתה שולף את כל ההחלשות האלה וסוגים אחרים של פונקציונליות לא בטוחה. לכן, חומות אש רבות לא כוללות אותן מרשימת סיכוני האבטחה, נסה לשאול את יצרן התוכנה שלך על כך.
בואו נחזור לאפליקציית Web Knight. זה גנב הרבה כללי אבטחה מסורק ה-URL, שסורק את כל טווחי כתובות ה-IP הללו. אז, האם כל טווחי הכתובות הללו אינם נכללים במוצר שלי?
האם מישהו מכם רוצה להתקין את הכתובות האלה ברשת? האם אתה רוצה שהרשת שלך תפעל על הכתובות האלה? כן זה מדהים. אוקיי, בוא נגלול למטה את התוכנית הזו ונסתכל על דברים אחרים שחומת האש הזו לא רוצה לעשות.
הם נקראים "1999" והם רוצים ששרת האינטרנט שלהם יחזור אחורה בזמן! האם מישהו מכם זוכר את הזבל הזה: /scripts, /iishelp, msads? אולי כמה אנשים יזכרו בנוסטלגיה כמה כיף היה לפרוץ דברים כאלה. "אתה זוכר, אחי, כמה מזמן "הרגנו" שרתים, זה היה מגניב!"
עכשיו, אם תסתכל על החריגים האלה, תראה שאתה יכול לעשות את כל הדברים האלה - msads, מדפסות, iisadmpwd - כל הדברים האלה שאף אחד לא צריך היום. מה עם הפקודות שאסור לך לבצע?
אלה הם arp, at, cacls, chkdsk, cipher, cmd, com. כשאתה מפרט אותם, אתה מוצף בזיכרונות מהימים ההם, "אחי, זוכר מתי השתלטנו על השרת הזה, זוכר את הימים ההם"?
אבל הנה מה שבאמת מעניין - מישהו רואה כאן WMIC או אולי PowerShell? תאר לעצמך שיש לך אפליקציה חדשה שמתפקדת על ידי הפעלת סקריפטים במערכת המקומית, ואלו סקריפטים מודרניים כי אתה רוצה להריץ את Windows Server 2008, ואני הולך לעשות דבר נהדר על ידי הגנה עליו עם כללים המיועדים ל-Windows 2000. אז בפעם הבאה שספק יגיע אליך עם אפליקציית האינטרנט שלו, שאל אותם: "היי אחי, האם כללת דברים כמו ביטים אדמין, או הפעלת פקודות Powershell, האם בדקת את כל שאר הדברים, כי אנחנו הולכים לעדכן ולהשתמש בגרסה החדשה של DotNET"? אבל כל הדברים האלה צריכים להיות נוכחים במוצר אבטחה כברירת מחדל!
הדבר הבא שאני רוצה לדבר איתך עליו הוא שגיאות לוגיות. נעבור ל-192.168.2.6. זה בערך אותו יישום כמו הקודם.
ייתכן שתבחין במשהו מעניין אם תגלול למטה בעמוד ותלחץ על הקישור צור קשר.
אם תסתכל על קוד המקור של לשונית "צור קשר", שהיא אחת משיטות הבדיקה שאני עושה כל הזמן, תבחין בשורה הזו.
תחשוב על זה! אני שומע שכשהם ראו את זה, רבים אמרו: "וואו"! פעם עשיתי בדיקות חדירה עבור, למשל, בנק מיליארדר, ושמתי לב למשהו דומה. אז, אנחנו לא צריכים שום הזרקת SQL או סקריפטים בין-אתרים - יש לנו את היסודות, שורת הכתובת הזו.
אז בלי הגזמה - הבנק אמר לנו שיש להם גם מומחה רשת וגם מפקח אינטרנט, והם לא העירו שום הערות. כלומר, הם ראו שזה נורמלי שאפשר לפתוח קובץ טקסט ולקרוא אותו דרך דפדפן.
כלומר, אתה יכול פשוט לקרוא את הקובץ ישירות ממערכת הקבצים. ראש צוות האבטחה שלהם אמר לי: "כן, אחד הסורקים מצא את הפגיעות הזו, אבל חשב שהיא מינורית". על זה עניתי, אוקיי, תן לי דקה. הקלדתי filename=../../../../boot.ini בשורת הכתובת והצלחתי לקרוא את קובץ האתחול של מערכת הקבצים!
על זה אמרו לי: "לא, לא, לא, אלה לא קבצים קריטיים"! עניתי - אבל זה שרת 2008? הם אמרו שכן, זה הוא. אני אומר - אבל לשרת הזה יש קובץ תצורה שנמצא בספריית השורש של השרת, נכון? "נכון," הם עונים. "נהדר," אני אומר, "מה אם תוקף עושה את זה," ואני מקליד filename=web.config בשורת הכתובת. הם אומרים - אז מה, אתה לא רואה שום דבר על הצג?
אני אומר - מה אם אני לוחץ לחיצה ימנית על הצג ואבחר באפשרות Show Page Source? ומה אמצא כאן? "שום דבר קריטי"? אני אראה את סיסמת מנהל השרת!
ואתה אומר שאין פה בעיה?
אבל החלק האהוב עליי הוא זה הבא. אתה לא מאפשר לי לבצע פקודות בתיבה, אבל אני יכול לגנוב את סיסמת מנהל שרת האינטרנט ואת מסד הנתונים, לעיין במסד הנתונים כולו, לקרוע את כל החומר על מסד הנתונים וכשלים במערכת, ולצאת מהכל. זה מקרה של הבחור הרע שאומר, "היי בנאדם, היום זה היום הגדול"!
אל תתנו למוצרי בטיחות לעשות אתכם חולים! אל תתנו למוצרי בטיחות לעשות אתכם חולים! מצא כמה חנונים, תן להם את כל המזכרות של מסע בין כוכבים, עורר בהם עניין, עודדו אותם להישאר איתך, כי המסריחים המשעממים האלה שלא מתקלחים כל יום הם אלה שגורמים לרשתות שלך לעבוד. צריך! אלה האנשים שיעזרו למוצרי האבטחה שלך לעבוד כפי שהם צריכים.
תגידו לי, כמה מכם מסוגלים לשהות זמן רב באותו חדר עם אדם שכל הזמן אומר: "אה, אני צריך בדחיפות להקליד את התסריט הזה!", ומי עסוק בזה כל הזמן? אבל אתה צריך את האנשים שגורמים למוצרי האבטחה שלך לעבוד.
אני אגיד את זה שוב - מוצרי אבטחה הם טיפשים כי אורות כל הזמן עושים טעויות, כל הזמן עושים דברים מחורבנים, הם פשוט לא מספקים אבטחה. מעולם לא ראיתי מוצר אבטחה טוב שלא דרש מאדם עם מברג להדק אותו היכן שצריך כדי שהוא יעבוד פחות או יותר רגיל. זו רק רשימה ענקית של כללים שאומרים שזה רע, זה הכל!
אז אני רוצה שתסתכלו על חינוך, דברים כמו בטיחות, הכשרה פוליטכנית, כי יש הרבה קורסים מקוונים בחינם בנושאי בטיחות. למד Python, למד Assembly, למד בדיקת יישומי אינטרנט.
זה מה שבאמת יעזור לך להגן על הרשת שלך. אנשים חכמים מגנים על רשתות, מוצרי רשת לא! חזור לעבודה ותגיד לבוס שלך שאתה צריך יותר תקציב לעוד אנשים חכמים, אני יודע שזה משבר, אבל תגיד לו בכל זאת - אנחנו צריכים יותר כסף לאנשים, בשביל להכשיר אותם. אם אנחנו קונים מוצר אבל לא קונים קורס איך להשתמש בו כי הוא יקר, אז למה אנחנו קונים אותו בכלל אם אנחנו לא מתכוונים ללמד אנשים איך להשתמש בו?
עבדתי עבור הרבה ספקי מוצרי אבטחה, ביליתי כמעט את כל חיי ביישום המוצרים האלה, ונמאס לי מכל בקרת הגישה לרשת וכאלה כי התקנתי והרצתי את כל המוצרים המזוינים האלה. פעם הגעתי ללקוח, הם רצו ליישם את תקן 802.1x עבור פרוטוקול EAP, אז היו להם כתובות MAC וכתובות משניות לכל יציאה. באתי, ראיתי שזה רע, הסתובבתי והתחלתי ללחוץ על כפתורים במדפסת. אתה יודע, המדפסת יכולה להדפיס דף ניסיון של ציוד רשת עם כל כתובות ה-MAC וכתובות ה-IP. אבל התברר שהמדפסת לא תומכת בתקן 802.1x, ולכן יש לשלול אותה.
לאחר מכן ניתקתי את המדפסת מהחשמל ושיניתי את כתובת ה-MAC של המחשב הנייד לכתובת ה-MAC של המדפסת וחיברתי את המחשב הנייד, ובכך עקפתי את פתרון ה-MAC היקר הזה, תחשבו על זה! אז מה יכול לעזור לי פתרון MAC זה אם אדם יכול פשוט להעביר כל ציוד כמדפסת או טלפון VoIP?
אז היום, מה שמעניין אותי הוא שאני מבלה זמן בניסיון להבין ולהבין את מוצר האבטחה שהלקוח שלי רכש. כיום בכל בנק שאני עושה בו בדיקות חדירה יש את כל HIPS, NIPS, LAUGTHS, MACS ועוד חבורה שלמה של ראשי תיבות שהם חרא מוחלט. אבל אני מנסה להבין מה המוצרים האלה מנסים לעשות ואיך הם מנסים לעשות את זה. ואז, ברגע שאני מבין באיזו מתודולוגיה והיגיון הם משתמשים כדי לספק הגנה, זה הופך להיות לא קשה בכלל לעקוף את זה.
המוצר האהוב עליי שאשאיר אתכם הוא MS 1103. זהו ניצול מבוסס דפדפן ש"מרסס" HIPS, Host Intrusion Prevention Signature, או חתימות למניעת חדירת מארח. למעשה, הוא נועד לעקוף חתימות HIPS. אני לא רוצה להראות איך זה עובד כי אני לא רוצה זמן להדגים את זה, אבל זה עושה עבודה מצוינת לעקוף את האבטחה הזו ואני רוצה שתנסה את זה.
בסדר חברים, אני עוזב עכשיו.
כמה מודעות 🙂
תודה שנשארת איתנו. האם אתה אוהב את המאמרים שלנו? רוצים לראות עוד תוכן מעניין? תמכו בנו על ידי ביצוע הזמנה או המלצה לחברים,
Dell R730xd זול פי 2 במרכז הנתונים Equinix Tier IV באמסטרדם? רק כאן
מקור: www.habr.com