משופע בבינה מלאכותית ובסיכוני האבטחה של השימוש בה, ה 2023 SANS Holiday Hack Challenge הייתה חוויה מעשירה של ניווט בסדרה של 21 יעדים שבדקו והרחיבו מיומנויות אבטחת סייבר מרובות.
האתגרים הטובים ביותר עבורי היו לצוד הזיות בינה מלאכותית בדו"ח של תקציר, הסלמה של הרשאות במערכת לינוקס, חיפוש אחר צ'יטים במשחקי Game Boy, שימוש ב-Azure REST API כדי לחפש קוד מקור של אפליקציית Azure Function ובסופו של דבר לנצל קוד פגיע. שירות תעודות SSH, תרגול השימוש ב Impacket חבילת כלים ו אישור לנצל פגיעים שירותי אישורי Active Directory, וניצול פגיעויות של הזרקת SQL ו-Java דה-serialization באפליקציות חלל.
להלן, אני משתף את הדרך בה הלכתי לפיצוח כמה מהאתגרים הבולטים ביותר.
מדווח
ChatNPT, מודל שפה גדול (LLM) המשמש ליצירת כמה אתגרים, יצר א דוח בדיקת חדירה על נקודות תורפה שהתגלו ברשת של North Pole Systems, חלקן מופיעות כחלק מהאתגרים הקרובים. עם זאת, ChatNPT הוזה חלק מהפרטים בדו"ח. באמצעות ChatGPT, או LLM מועדף אחר, המשימה הייתה לסמן את המדורים עם מידע הזוי. הגישה שלי הייתה לשאול שאלות ספציפיות של ChatGPT על התוכן כדי להסביר מה לא הבנתי בהתחלה ובסופו של דבר לגלות את החריגות. שלושה מתוך תשעת הסעיפים הכילו שגיאות.
כפי שאושר על ידי ChatGPT, לקטע הזה היה מספר יציאה לא חוקי של 88,555, הרבה מעל מספר היציאה התקף הגבוה ביותר של 65,535:
כאן שמתי לב מיד ש-SEND היא לא שיטת בקשת HTTP.
ChatNPT בלבל את מספר גרסת ה-PHP המוזכר בסעיף שמיני של הדו"ח כגרסת פרוטוקול HTTP או כטקסט שגוי למה שהיה צריך להיות "בקשת HEAD HTTP" בסעיף זה. בנוסף, חשיפת רישום Windows או מפתחות מוצר בכותרת המיקום היא עצה גרועה.
Linux PrivEsc
באתגר זה, המטרה הסופית הייתה לענות על שאלה, אך שאלה זו הוסתרה בקובץ הפעלה בלתי נגיש:
בעוד שיש שיטות שונות כדי להסלים הרשאות במחשב לינוקס, אתגר זה אפשר קובץ הפעלה מותאם אישית בשם עותק פשוט עם סיבית SUID מוגדרת לשימוש לרעה. אם ביט ה-SUID עבור הבעלים של הקובץ מוגדר והבעלים כן שורש, אז הקובץ הזה מבוצע תמיד עם הרשאות שורש אפילו על ידי משתמשים שאינם שורשיים במערכת. השתמשתי בפקודה הבאה כדי לחפש בכל המערכת קבצים רגילים שבהם מוגדר סיבית SUID עבור הבעלים, תוך ביטול כל פלט שגיאה:
עותק פשוט נראה היה כגרסה פגיעה, אך פשוטה, של התקן cp תוֹעֶלֶת. ואכן הודעת העזרה הציעה אותו הדבר:
שימוש: simplecopy
הגישה שלי הייתה הבאה: צור את המידע עבור משתמש עם הרשאות שורש, הוסף מידע זה לעותק של ה- / etc / passwd קובץ, ולאחר מכן החלף את הישן פסח קובץ עם העותק. לאחר מכן, השתמש su כדי להתחבר כמשתמש החדש.
עם גישת שורש למערכת, הצלחתי למצוא את קובץ ההפעלה runmetoanswer ב /שורש, הפעל אותו ונחש את התשובה: סנטה.
התשובה ניתנה גם בקובץ התצורה /etc/runtoanswer.yaml, אך ניתן היה לקרוא את הקובץ הזה רק עם הרשאות שורש או באמצעות עותק פשוט להעתיק אותו אליו /dev/stdout.
מחסניות משחק: כרך 2 וכרך 3
שני אתגרים כללו הנדסה לאחור קלה של קבצי Game Boy ROM. הראשון היה משחק שבו המטרה הייתה לעבור שומר, לחשוף פורטל ולפענח את התשובה בגל האוויר. קיבלנו שתי גרסאות של המשחק יחד עם רמז להסתכל על הבדל ביניהם. העתקה של כמה מהבייטים המשונים השונים מגרסה אחת לאחרת הספיקה כדי לחשוף את הפורטל, שהוביל לחדר עם רדיו המשדר את התשובה בקוד מורס:
קוד מורס |
דא-דה-דיט |
די-דה-די-דיט |
דא-דה-דה-דה-דה |
די-דה-דיט |
דא-די-דה-דה |
|
הערות נוספות |
g |
l |
0 |
r |
y |
השני היה משחק שבו אתה יכול לצבור נקודות על ידי קפיצה כדי לאסוף מטבעות; עם זאת, צבירת מעל 998 נקודות תוביל את הנקודות שלך ל-0, ובתנאים מסוימים תפעיל הודעה על שגיאת הצפה. המטרה הייתה לחשוף מדרגות צפות לחלק הבא של המפה שבו אוחסן הדגל, אבל זה דרש מיומנות בקפיצה. במקום זאת, הבנתי איך לטוס בעזרת ה אמולטור BGB Game Boy ושילוב של פונקציית חיפוש הצ'יטים שלו ובדיקה חזותית של זיכרון RAM במהלך המשחק כדי למצוא את ה-hex byte השולט במיקום ה-y של השחקן על המפה - בעצם, הבנתי משחק כריש קוד.
הדגל היה !tom+elf!.
תעודת SSHenanigans
למרות ששימוש בתעודות במקום צמדי מפתחות ציבוריים-פרטיים משפר את האבטחה של אימות באמצעות SSH, שירות חתימת תעודות SSH שהוגדר בצורה שגויה עשוי לאפשר לתוקף להשיג אישור לא לגיטימי לאימות כמשתמש אחר. האתגר הוקם בצורה הבאה.
An פונקציית Azure אפליקציה פרוסה ב northpole-ssh-certs-fa.azurewebsites.net מחזירה תעודות SSH לכל מי שמספק מפתח SSH ציבורי. ניתן להשתמש באישורים אלה כדי לאמת באמצעות SSH ssh-server-vm.santaworkshopgeeseislands.org בתור המשתמש צג.
המארח בדומיין זה הוא מכונה וירטואלית של Azure, אז לאחר ההתחברות הצעד הראשון שלי היה לאסוף מידע מה- מטא נתונים של מופע מכיוון שזה יהיה נחוץ עבור קריאות ל-Azure REST API מאוחר יותר, במיוחד, הייתי צריך את מזהה המנוי ושם קבוצת המשאבים. הייתי צריך גם אסימון גישה כדי להשתמש ב-API הזה, אותו הצלחתי לרכוש על ידי שימוש בזהות מנוהלת. לאחר מכן יש להשתמש בטוקן שנרכש זה בכותרת HTTP Authorization בעת ביצוע קריאות ל-Azure REST API.
בשלב זה, היה לי כל מה שצריך כדי לבצע את הקריאה ל-API קבל את תצורת בקרת המקור של אפליקציית Azure Function. ביצעתי את השיחה ובין מאפייני התצורה זיהיתי כתובת URL ל- קוד המקור של האפליקציה ב-GitHub.
בדיקה של קוד המקור העלתה שהאפליקציה מקבלת פרמטר שני: ראשי. אם בקשת ה-HTTP POST ל- /api/create-cert נקודת הקצה לא שולחת ערך עבור ראשי, ואז ברירת מחדל של שדון מוחזר, אבל כאן טמונה פגיעות. באמצעות סוויטת ברפ אני יכול ליירט את בקשת ה-HTTP POST ולהכניס את הערך מנהל. ידעתי לבקש מנהל כי זה היה המנהל ב /etc/ssh/auth_principals/alabaster קובץ במחשב הווירטואלי ורציתי לקבל גישה לספריית הבית של Alabaster.
עם אישור SSH למנהל המנהל ביד, התחברתי לאותה מכונה וירטואלית כמו בהט ומצא את רשימת TODO של Alabaster בספריית הבית שלו. הרשימה הכילה את מילת הדגל: עוגיות זנגביל.
של Active Directory
החל על אותה מכונה וירטואלית כמו האתגר הקודם, אתגר זה בחן כיצד הוגדרה שגויה שירות אישורי Active Directory יכול להיות מנוצל לרעה על ידי תוקף כדי לאמת כמשתמש אחר. כפי ש בהט הייתה לי ספרייה מלאה Impacket כלים אבל רובם דורשים שם דומיין וכתובת IP של שרת יעד, ושם משתמש וסיסמה לכניסה - מידע שעדיין לא היה לי.
אז צעד ראשון טוב היה להבין את ההרשאות שלי ל-Azure REST API מכיוון שאין צורך להתקשר ל-API אחד אחרי השני רק כדי לפגוש הודעת הרשאה נדחתה. לפיכך, אני פירט את כל ההרשאות עבור קבוצת המשאבים שגיליתי באתגר הקודם.
מאז שראיתי שיש לי כמה הרשאות סביב קריאת כספות מפתח, עברתי ל רישום אותם ומצא שניים: northpole-it-kv ו northpole-ssh-certs-kv.
הגיע הזמן להחליף ממשקי API. עד עכשיו עשיתי שיחות לנקודות קצה management.azure.com אבל חלקים מסוימים של Azure Key Vault פועלים vault.azure.net ומשאב זה דורש אסימון גישה משלו. שוב השתמשתי בשלי זהות מנוהלת כדי לרכוש אסימון גישה אבל הפעם מעבירים את המשאב ל vault.azure.net.
In northpole-it-kv, אני מצא את השם לסוד. באמצעות השם הזה, אני ביקש את הערך עבור הסוד הזה, שהתברר כסקריפט עבור PowerShell יצירת משתמש Active Directory נקרא אלפי. באופן קריטי, עכשיו היה לי את כל המידע הדרוש כדי למנף את חבילת הכלים של Impacket.
שימוש GetADUsers.py חשף משתמש אחר בדומיין שיכול לעניין: וומבליקוב. הצלחתי גם להתחבר דרך SMB לשרת Active Directory באמצעות smbclient.py. נתח העניין הכיל את א מחקר_סודי_על ספרייה אבל לא יכולתי לקרוא אותה בתור אלפי.
למזלי, הייתה לי גישה לכלי אחר: אישור. זה משמש כדי למצוא תבניות אישורים שגוויות עבור שירותי אישורים של Active Directory ולנצל אותם לרעה. הכלי מנה תבנית אחת פגיעה בשל כך שהיא מאפשרת למבקש אישור לספק תבנית שרירותית נושא חלופי נושא והאישור שהונפק המעניק אימות ללקוח עבור השם שסופק.
לאחר בקשת אישור עם וומבליקוב הוכנס לשדה השם החלופי לנושא, השתמשתי גם ב-Certipy כדי לקבל את ה-hash עבור NT וומבליקוב באמצעות האישור הזה. לאחר מכן, על ידי העברת ה-hash של וומבלי אל smbclient.py, הצלחתי להתחבר דרך SMB לשרת Active Directory כ וומבליקוב ולקבל גישה ל מחקר_סודי_על ספרייה, שהכילה את ההוראות לאתגר הבא ב InstructionsForEnteringSatelliteGroundStation.txt.
רמקול גישה לדלת Space Island
כדי לקבל גישה לאתגרים במערכת החלל קטע קרקע, נדרש להשתמש ב-LLM כדי ליצור קול מזויף של Wombley Cube המדבר את משפט הסיסמה. בהתחשב בקובץ שמע של וומבלי מספר סיפור ומשפט הסיסמה, זה היה טריוויאלי להשתמש LOVO AI ליצור קול המדמה את קולו של וומבלי כדי לומר את משפט הסיסמה ולאמת בהצלחה.
ללא אמצעי הגנה נוספים, אימות קולי עומד בפני אתגרים רציניים כמנגנון אבטחה בעידן של LLMs.
גישה למצלמה
לאחר שאמרתי את משפט הסיסמה, עליתי על רכבת שהרחיקה אותי אל הקטע הקרקעי האחראי לתקשורת עם משחק בתוך המשחק. קובסאט, סוג של לוויין קטן. בתחנת הקרקע קיבלנו א מגן תצורה להגדרת חיבור מוצפן ל-CubeSat זה.
התוכנה בלוויין זה תואמת ל- NanoSat MO Framework (NMF), מסגרת תוכנה שפותחה על ידי סוכנות החלל האירופית עבור CubeSats. מסגרת זו מגיעה עם SDK לפיתוח ובדיקת אפליקציות חלל. הוא גם מספק את כלי בדיקת הצרכנים (CTT), הן כאפליקציה קרקעית והן ככלי שורת פקודה, לחיבור למפקח המשולב, מתזמר תוכנה שדואג להפעיל ולעצור אפליקציות שטח וכן לתאם משימות אחרות.
האתגר היה להבין כיצד להורות לאפליקציית המצלמה המשולבת לצלם תמונה, ואז לאחזר את תמונת המצב. עשיתי את הצעדים הבאים.
לאחר אתחול ממשק CTT, נכנסתי ל-URI של המפקח כדי להתחבר למפקח. לאחר מכן בדקתי את האפליקציות הזמינות, מצאתי את אפליקציית המצלמה והפעלתי אותה. אפליקציית המצלמה החזירה את ה-URI שלה, שבו השתמשתי כדי להתחבר אליה. לאחר מכן, ביצעתי את פעולת Base64SnapImage, אשר הורתה למצלמה המשולבת לצלם תמונה.
אפליקציית המצלמה מציעה גם שירות פרמטרים שיכול להחזיר שני ערכים: מספר התמונות שצולמו ותמונת ה-JPG המקודדת ב-base64. עם זאת, נראה שממשק ה-CTT לא סיפק דרך לצפות בתמונה וגם לא להעתיק ערכי פרמטרים ישירות מהממשק, למרות שיכולתי לראות שהערך הרצוי קיים. אז הייתי צריך שיטת סיבוב לרכישת התמונה.
גיליתי שלממשק CTT יש EnableGeneration לחצן שמפעיל פרסום מתוזמן קבוע של ערך פרמטר. משורת הפקודה CTT, אז יכולתי להירשם לפרמטר הרצוי, לקבל את הערך כאשר הוא פורסם, ולנתב אותו מחדש לקובץ.
מכיוון שהרצתי CTT בקונטיינר של Docker, העתקתי את הקובץ למערכת המארחת שלי docker cp, הסיר את הקטע מתוכן הקובץ, ואז base64 פיענח את התמונה כדי להציג את הדגל: לכבוש את עונת החגים!.
הסחת טילים
האתגר האחרון היה להשתמש ב- מערכת-מיקוד טילים אפליקציה ב-CubeSat במשחק כדי להפנות טיל מכדור הארץ לשמש. אפליקציה זו סיפקה רק פעולה אחת: לנפות. נראה שהפעלתו לא עשתה הרבה מלבד להדפיס את ה-SQL גִרְסָה הפקודה והפלט שלה כאילו היא הופעלה על ידי מסד נתונים המשמש את האפליקציה:
VERSION(): 11.2.2-MariaDB-1:11.2.2+maria~ubu2204
מיד תהיתי אם יש פגיעות של הזרקת SQL במשחק. ממשק ה-CTT סיפק שדה להזנת ארגומנט עבור לנפות פעולה, אז ניסיתי להחדיר פקודה אחרת:
; הצג מענקים עבור CURRENT_USER();
מענקים עבור targeter@%: GRANT USAGE ON *.* TO `targeter`@`%` מזוהה על ידי סיסמה '*41E2CFE844C8F1F375D5704992440920F11A11BA' |
מענקים עבור targeter@%: GRANT SELECT, INSERT ON `missile_targeting_system`.`satellite_query` TO `targeter`@`%` |
מענקים עבור targeter@%: GRANT SELECT ON `missile_targeting_system`.`מצב_הצבעה` ל`מטרה`@`%` |
מענקים עבור targeter@%: GRANT SELECT ON `missile_targeting_system`.`הודעות` ל`מיקוד`@`%` |
מענקים עבור targeter@%: GRANT SELECT ON `missile_targeting_system`.`target_coordinates` TO `targeter`@`%` |
מענקים עבור targeter@%: GRANT SELECT ON `missile_targeting_system`.`pointing_mode_to_str` TO `targeter`@`%` |
ובכן, הגיע הזמן לשדוד את מסד הנתונים! ה מצב_הצבעה ו pointing_mode_to_str טבלאות ציינו לאן הטיל מכוון כעת:
; SELECT * FROM pointing_mode;
מזהה: 1 | מצב_מספרי: 0 |
; SELECT * FROM pointing_mode_to_str;
מזהה: 1 | מצב_מספרי: 0 | str_mode: מצב נקודת אדמה | str_desc: כאשר pointing_mode הוא 0, מערכת המיקוד מיישמת את target_coordinates על כדור הארץ. |
מזהה: 2 | מצב_מספרי: 1 | str_mode: מצב נקודת שמש | str_desc: כאשר pointing_mode הוא 1, מיקוד המערכת מצביע על השמש, תוך התעלמות מהקואורדינטות. |
מהמידע הזה יכולתי לראות שאני צריך לשנות את מצב_מספרי ערך ב- מצב_הצבעה שולחן אל 1, אבל לא הייתה לי הרשאה לעדכן את הטבלה הזו.
אכן הייתה לי הרשאה להוסיף שורות חדשות ל- Satellite_query טבלה, שכרגע הייתה לה שורה אחת עם ערך עדיין לא ידוע ב- אובייקט עמודה וקוד המקור של מחלקת Java שנקראת SatelliteQueryFileFolderUtility ב תוצאות עמודה.
עד לנקודה זו הפלט מה- לנפות ניתן היה לצפות בפעולה בקלות בחלונית בתחתית שירות מפעיל אפליקציות לשונית מסופקת על ידי המפקח בממשק CTT. עם זאת, נראה שערך האובייקט לא מוצג כהלכה בחלונית. באופן אידיאלי, זה יהיה טוב לראות את ה-hex dump של האובייקט, שניתן להשיג בעזרתו Wireshark או באמצעות SQL HEX פוּנקצִיָה. זה גילה שיש לי עסק עם אובייקט Java מסודר.
לאחר לקרוא על פרוטוקול הסדרת אובייקט Java, הצלחתי לפענח את ה-hex bytes:
hex byte |
סמל/משמעות |
הערה (ערכי ASCII של בתים hex בגופן חד-רווח) |
ACED |
STREAM_MAGIC |
מספר קסם. |
0005 |
STREAM_VERSION |
גרסת פרוטוקול הזרם היא 2. |
73 |
TC_OBJECT |
התחלה של אובייקט. |
72 |
TC_CLASSDESC |
תחילתה של הגדרת מחלקה. |
001F |
אורך |
אורך שם המחלקה הוא 31 בתים. |
536174656C6C697465517 |
ערך |
שם הכיתה הוא SatelliteQueryFileFolderUtility. |
12D4F68D0EB392CB |
סדרתי |
מזהה ייחודי המשויך למחלקה מסודרת זו. |
02 |
SC_SERIALIZABLE |
המחלקה ניתנת לסידרה. |
0003 |
fieldCount |
לכיתה שלושה שדות. |
5A |
סוג נתונים - ערך ASCII Z |
השדה הראשון הוא בוליאני. |
0007 |
אורך |
השם של שדה זה הוא באורך של 7 בתים. |
69735175657279 |
שם |
השם של השדה הזה הוא isQuery. |
5A |
סוג נתונים - ערך ASCII Z |
השדה השני הוא בוליאני. |
0008 |
אורך |
השם של שדה זה הוא באורך של 8 בתים. |
6973557064617465 |
שם |
השם של השדה הזה הוא isUpdate. |
4C |
סוג נתונים - ערך ASCII L |
השדה השלישי הוא אובייקט. |
000F |
אורך |
השם של שדה זה הוא באורך של 15 בתים. |
706174684F72537 |
שם |
השם של השדה הזה הוא pathOrStatement . |
74 |
TC_STRING |
סוג המחלקה של אובייקט זה ניתן במחרוזת. |
0012 |
אורך |
למחרוזת זו אורך של 18 בתים. |
4C6A6176612F6C616E |
ערך |
סוג המחלקה של אובייקט זה הוא java/lang/String. |
78 |
TC_ENDBLOCKDATA |
סוף הגדרת מחלקה. |
70 |
TC_NULL |
לא מוגדר מעמד-על. |
00 |
ערך |
השדה הבוליאני isQuery יש את הערך שקר. |
00 |
ערך |
השדה הבוליאני isUpdate יש את הערך שקר. |
74 |
TC_STRING |
הערך של pathOrStatement שדה הוא מחרוזת. |
0029 |
אורך |
הערך של pathOrStatement לשדה יש אורך של 41 בתים. |
2F6F70742F536174656C6 |
ערך |
הערך של pathOrStatement שדה /opt/SatelliteQueryFileFolderUtility.java |
רכישת אובייקט זה באמצעות Wireshark החזירה מספר קסם שגוי ו סדרתי, אך לא בעת שימוש בפונקציית HEX.
להבין מה א INSERT אל Satellite_query טבלה יתאים, הכנסתי את האובייקט הזה לשורה חדשה של הטבלה וקיבלתי בחזרה את אותו קוד מקור Java ב- תוצאות טור. למעשה, התנהגות זו תאמה את מה שראיתי בקוד הזה כ- קבל תוצאות פונקציה של א SatelliteQueryFileFolderUtility אובייקט.
פונקציה זו לוקחת נתיב ביצוע שונה בהתאם לערכי שלושת השדות של האובייקט: isQuery, isUpdate, ו pathOrStatement. אם אניsQuery ו isUpdate הם שקריים, אז הפונקציה בודקת אם ה- pathOrStatement הוא נתיב וספרייה. אם כן, הוא מחזיר את רשימת הקבצים הכלולים בספרייה; אחרת, הוא מניח שסופק קובץ ומנסה להחזיר את התוכן של אותו קובץ.
מצד שני, אם isQuery ו-isUpdate הם אמת, אז הפונקציה מבצעת את התוכן של pathOrStatement בתור SQL עדכון הַצהָרָה. מה שהייתי צריך לבצע זה הדבר הבא:
UPDATE pointing_mode SET numerical_mode = 1;
שיניתי את הבתים הדרושים (מודגשים למטה) באובייקט המסודר, והזרמתי את הפקודה המנצחת:
; INSERT INTO satellite_query
(לְהִתְנַגֵד)
ערכים
(0xACED00057372001F536174656C6C697465517565727946696C65466F6C6465725574696C69747912D4F68D0EB392CB0200035A0007697351756572795A000869735570646174654C000F706174684F7253746174656D656E747400124C6A6176612F6C616E672F537472696E673B7870010174002C55504441544520706F696E74696E675F6D6F646520534554206E756D65726963616C5F6D6F6465203D20313B)
תארוז
אלו הם רק חלק מהתחומים המכוסים ב-2023 SANS Holiday Hack Challenge; היו רבים אחרים שהסתכלו על הביטחון של אסימוני אינטרנט של JSON, פיצוח סיסמאות עם hashcat, פיצוח וירטואלי של מנעולי מזוודות ו מנעולי קומבינציה סיבוביים, הזרקת Python NaN, משתמש ב שפת שאילתות קוסטו ל ציד איומים, בודק רשומות DKIM ו-SPF כדי לסייע בזיהוי מיילים זדוניים ומיני-משחקים הניתנים לפריצה.
בסך הכל, אני בטוח שמערכת כל כך רחבת טווח של אתגרים מהנים לא יכולה שלא להיות מלמדת לכל מי שמנסה להתמודד איתם. ולמרות שאני כבר מצפה לאתגר של השנה הבאה, תודה מוצלחת למארגני אתגר ה-SANS Holiday Hack על שהרכיבו את האתגר השנה.
אתה יכול לקרוא את הדגשים שלי מאתגר 2022 בכתובת פיצח את זה! הבהרה מ-KringleCon 5: Golden Rings.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://www.welivesecurity.com/en/cybersecurity/cracking-2023-sans-holiday-hack-challenge/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 11
- 15%
- 2022
- 2023
- 31
- 32
- 41
- 65
- 7
- 8
- a
- יכול
- אודות
- מֵעַל
- התעללות
- התעלל
- מקבל
- גישה
- לרכוש
- נרכש
- רכישה
- פעולה
- פעיל
- של Active Directory
- תוספת
- נוסף
- כתובת
- מנהל
- עצה
- לאחר
- שוב
- גיל
- סוכנות
- AI
- תעשיות
- להתיר
- מותר
- מאפשר
- לאורך
- כְּבָר
- גם
- חלופה
- למרות
- תמיד
- am
- בין
- an
- ו
- אחר
- לענות
- כל
- כל אחד
- API
- ממשקי API
- האפליקציה
- חל
- גישה
- אפליקציות
- ARE
- אזורים
- טענה
- סביב
- AS
- לשאול
- המשויך
- מניח
- At
- ניסיונות
- אודיו
- לאמת
- אימות
- אימות
- אישור
- זמין
- רָחוֹק
- תכלת
- בחזרה
- רע
- בעיקרון
- BE
- כי
- היה
- התנהגות
- להלן
- הטוב ביותר
- קצת
- שניהם
- תַחתִית
- שידור
- אבל
- לַחְצָן
- by
- שיחה
- נקרא
- שיחות
- חדר
- CAN
- לא יכול
- אשר
- מסוים
- תעודה
- תעודות
- לאתגר
- האתגרים
- שינוי
- השתנה
- ChatGPT
- בָּדוּק
- בדיקה
- בדיקות
- בכיתה
- לקוחות
- CloudFlare
- קוד
- מטבעות
- לגבות
- טור
- שילוב
- מגיע
- תקשורת
- תואם
- תנאים
- תְצוּרָה
- מְאוּשָׁר
- מבולבל
- לְחַבֵּר
- הקשר
- צרכן
- הכלול
- מכולה
- תוכן
- תוכן
- לִשְׁלוֹט
- בקרות
- תיאום
- הַעתָקָה
- צורה נכונה
- התכתב
- יכול
- מכוסה
- סדק
- פיצוח
- לִיצוֹר
- יצירה
- כיום
- מנהג
- אבטחת סייבר
- מסד נתונים
- התמודדות
- בְּרִירַת מֶחדָל
- מוגדר
- הגדרה
- תלוי
- פרס
- רצוי
- פרטים
- מפותח
- מתפתח
- DID
- למות
- אחר
- נבדלים זה מזה
- ישירות
- לגלות
- גילה
- do
- סַוָר
- מיכל דוקר
- עושה
- תחום
- שם תחום
- דֶלֶת
- מטה
- ראוי
- שפך
- בְּמַהֲלָך
- לזכות
- רווחים
- כדור הארץ
- בקלות
- או
- מיילים
- מוצפן
- מוצפן
- סוף
- נקודת קצה
- נקודות קצה
- הנדסה
- מספיק
- זן
- נכנס
- שלם
- שגיאה
- שגיאות
- להסלים
- אֵירוֹפִּי
- סוכנות החלל האירופית
- אֲפִילוּ
- הכל
- אלא
- לבצע
- יצא לפועל
- מוציאים להורג
- הוצאת להורג
- ניסיון
- להסביר
- לנצל
- פנים
- עובדה
- FAIL
- מְזוּיָף
- שקר
- רחוק
- משתתפים
- מעטים
- שדה
- שדות
- תרשים
- חשבתי
- שלח
- קבצים
- סופי
- ראשון
- צף
- בעקבות
- הבא
- בעד
- קדימה
- מצא
- מסגרת
- החל מ-
- מלא
- כֵּיף
- פונקציה
- לְהַשִׂיג
- מִשְׂחָק
- משחק
- משחקים
- ליצור
- נוצר
- לקבל
- נתן
- Goes
- זָהוּב
- טוב
- להעניק
- הענקת
- מענקים
- קרקע
- קְבוּצָה
- שומר
- לפרוץ
- היה
- יד
- שירים
- יש
- ראש
- לעזור
- כאן
- HEX
- מוּסתָר
- הגבוה ביותר
- מודגש
- פסים
- שֶׁלוֹ
- חַג
- עמוד הבית
- המארח
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- ציד
- i
- ID
- באופן אידיאלי
- מזוהה
- מזהה
- לזהות
- זהות
- if
- תמונה
- מיד
- משפר
- in
- במשחק
- לא נגיש
- הצביע
- מידע
- מידע
- במקום
- הוראות
- אינטרס
- מִמְשָׁק
- אל תוך
- מעורב
- IP
- כתובת IP
- אי
- הפיקו
- IT
- שֶׁלָה
- Java
- jpg
- מפתח
- מפתחות
- שפה
- גָדוֹל
- מאוחר יותר
- הוביל
- אורך
- תנופה
- שקרים
- אוֹר
- קו
- לינוקס
- רשימה
- ברשימה
- מיקום
- מנעולים
- מחובר
- רישום
- התחבר
- נראה
- נראה
- הסתכלות
- מכונה
- עשוי
- קסם
- לעשות
- עשייה
- זדוני
- הצליח
- רב
- מַפָּה
- מאי..
- me
- מנגנון
- לִפְגוֹשׁ
- מוּזְכָּר
- הודעה
- שיטה
- מיקרוסופט
- מצב
- מודל
- רוב
- נִרגָשׁ
- הרבה
- מספר
- צריך
- my
- שם
- מנווט
- הכרחי
- צורך
- נחוץ
- רשת
- חדש
- הבא
- תֵשַׁע
- לא
- ולא
- צפון
- יַקִיר
- עַכשָׁיו
- nt
- מספר
- אובייקט
- מטרה
- יעדים
- להשיג
- מושג
- of
- המיוחדות שלנו
- on
- על הסיפון
- פעם
- ONE
- רק
- or
- מארגנים
- אחר
- אחרים
- אַחֶרֶת
- הַחוּצָה
- תפוקה
- יותר
- שֶׁלוֹ
- בעלים
- זוגות
- זגוגית
- פרמטר
- חלק
- חלקים
- חולף
- סיסמה
- סיסמאות
- עבר
- נתיב
- רשות
- הרשאות
- PHP
- תמונה
- לְחַבֵּר
- מקום
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- לְשַׂחֵק
- שחקן
- נקודה
- נקודות
- כניסה
- הודעה
- PowerShell
- להציג
- קודם
- מנהל
- קופונים להדפסה
- הרשאות
- המוצר
- נכסים
- פרוטוקול
- לספק
- ובלבד
- מספק
- ציבורי
- מפתח ציבורי
- לאור
- הוצאה לאור
- מכניס
- שאלה
- שאלות
- R
- רדיו
- RAM
- חומר עיוני
- קריאה
- לקבל
- קיבלו
- הפניה
- הַרשָׁמָה
- רגיל
- באופן קבוע
- הוסר
- טיוח
- להחליף
- לדווח
- לבקש
- המבקש
- לדרוש
- נדרש
- דורש
- משאב
- אחראי
- REST
- לַחֲזוֹר
- החזרות
- לגלות
- גילה
- חושף
- להפוך
- סיכונים
- חֶדֶר
- שורש
- גישה שורש
- שׁוּרָה
- הפעלה
- ריצה
- אמצעי הגנה
- אותו
- הלוויין
- ראה
- מתוכנן
- תסריט
- חיפוש
- חיפוש
- שְׁנִיָה
- סעיף
- סעיפים
- אבטחה
- סיכוני אבטחה
- לִרְאוֹת
- נראה
- קטע
- בחר
- לשלוח
- סדרה
- רציני
- שרת
- שרות
- שירותים
- סט
- כמה
- שיתוף
- צריך
- לְהַצִיג
- חתימה
- פָּשׁוּט
- פשוט
- מיומנויות
- קטן
- SMB
- תמונת בזק
- So
- תוכנה
- כמה
- מָקוֹר
- קוד מקור
- מֶרחָב
- לדבר
- מדבר
- ספציפי
- במיוחד
- SQL
- SQL Injection
- התחלה
- החל
- החל
- הצהרה
- תחנה
- שלב
- צעדים
- סְתִימָה
- מאוחסן
- סיפור
- זרם
- מחרוזת
- נושא
- הירשמו
- מִנוּיים
- בהצלחה
- כזה
- מערכת
- שמש
- שסופק
- לספק
- בטוח
- מתג
- מערכת
- שולחן
- לקחת
- משימות
- לוקח
- יעד
- מיקוד
- המשימות
- משימות
- אומר לי
- תבנית
- תבניות
- מבחן
- נבדק
- בדיקות
- טֶקסט
- להודות
- זֶה
- השמיים
- המידע
- המקור
- אותם
- אז
- שם.
- אלה
- שְׁלִישִׁי
- זֶה
- שְׁלוֹשָׁה
- כָּך
- זמן
- כותרת
- ל
- יַחַד
- אסימון
- לקח
- כלי
- כלים
- רכבת
- ניסיתי
- להפעיל
- נָכוֹן
- הסתובב
- שתיים
- סוג
- בסופו של דבר
- תחת
- להבין
- ייחודי
- לא ידוע
- עד
- בקרוב ב
- עדכון
- URI
- כתובת האתר
- נוֹהָג
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- משתמשים
- באמצעות
- תועלת
- תקף
- ערך
- ערכים
- קמרון
- קמרונות
- גרסה
- באמצעות
- לצפיה
- וירטואלי
- מכונה וירטואלית
- חזותי
- קול
- אימות קולי
- פגיעויות
- פגיעות
- פגיע
- רציתי
- היה
- דֶרֶך..
- we
- אינטרנט
- טוֹב
- היו
- מה
- מתי
- אם
- אשר
- בזמן
- מי
- ויקיפדיה
- רוח
- חלונות
- זכייה
- עם
- Word
- היה
- עוד
- אתה
- זפירנט