שְׁאֵלָה:
מה זה בדיוק CTF וכיצד אוכל כמתכנת להתכונן ל- CTF עם אנשים ידידותיים למתחילים?
MansNotHot
2018-09-04 12:11:00 UTC
view on stackexchange narkive permalink

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

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

מה שכבר יש לי הוא ידע בסיסי ובינוני בכמה שפות תכנות כולל C #, PHP / Javascript / וכו '(בסיסי), C (מאוד בסיסי), Java. אני לא יודע אם זה מועיל, אבל חשבתי שזה לא יכול להזיק.

מה זה בדיוק CTF ואיך אני יכול, כמתחיל לגמרי, להתכונן לאירוע CTF שלי בבעלותך?

אגב: לאתר זה יש [צוות CTF] משלו (https://security.meta.stackexchange.com/questions/1117/a-security-stackexchange-ctf-team) ואנחנו (די בקביעות) משתתפים ב- CTF.הצטרפו אלינו ל- [The DMZ] (https://chat.stackexchange.com/rooms/151/the-dmz) ופגשו את האנשים המקסימים שהם חלק מהצוות!
@TomK: ייתכן שתרצה לכלול את המידע בוויקי תג CTF.
חָמֵשׁ תשובות:
Elcan
2018-09-04 12:37:57 UTC
view on stackexchange narkive permalink

CTFs (לכידת הדגל) הם כמו קורסים בתוך משחקים. חלק מהאתרים מספקים קלים ללמוד את החבלים, עם אתגרים פשוטים בעלי קושי הולך וגובר. לדוגמא http://overthewire.org/wargames/ ילמד אותך כיצד להשתמש בכלים (Hex dump, vi, אפילו הטרמינל עצמו) עם כל אתגר.

העיקרי המטרה היא בדרך כלל למצוא קוד כלשהו, ​​המוטמע בקובץ (stegano), מוסתר בקובץ בתוך שרת שבו תצטרך להתעלל בפגיעות ידועה (CTF רגילים), או אפילו לנצל את קוד המקור של התוכנית כדי למצוא סיסמה סודית (הפוך).

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

כמה קישורים:

https: // www .hackthebox.eu /: קטגוריות שונות של CTF כפי שהוסבר לעיל, החל מקל עד קשה, הרבה כתובות

http://overthewire.org/wargames/: לרוב CTF רגיל עם קובץ מוסתר בשרת וכללים ספציפיים לאיתור / פענוחו. טוב למתחילים, ילמד את הכלים הבסיסיים

ל- Vulnhub יש גם אתגרי CTF רבים כמו גם boot2root ואחרים.רוב אלה מגיעים עם הדרכה שהיא דרך טובה ללמוד אם אתה תקוע.https://www.vulnhub.com/
schroeder
2018-09-04 12:29:31 UTC
view on stackexchange narkive permalink

להגיד "CTF" זה קצת כמו להגיד "משחק וידאו". איך מתכוננים למשחק וידאו? ובכן, זה תלוי מה המשחק! טטריס שונה מאוד מ- Skyrim, השונה ממריו קארט.

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

הדבר היחיד המשותף לכל CTF הוא שבדרך כלל יש הרבה חידות לוגיות.

הדרך הטובה ביותר להתכונן ל- CTF היא לעשות CTF. רוב הכיף של CTF הוא לא לדעת מה אתה צריך לדעת וללמוד במהירות מה אתה צריך כדי להבין את זה.

זה לא מסביר מהו CTF _ למעשה_.זה אומר ש- CTF הוא כמו משחק וידאו, אבל אף פעם לא מסביר מה זה.
@Clonkex נראה כי ה- OP יודע מה זה CTF, טכנית.אני עונה על החלק "איך אני מתכונן".
בהתחשב בכך ששאלת OP כוללת את _ "מה זה בדיוק CTF" _, נראה שחשוב גם לענות על החלק הזה.
lorimer
2018-09-04 20:41:13 UTC
view on stackexchange narkive permalink

מהו CTF? זהו סוג של תחרות אבטחת מחשבים, הנקראת CTF מכיוון שאתה לוכד "דגל", מחרוזת ייחודית, ומגיש אותו לתשתית הניקוד עבור נקודות. CTF כמעט תמיד מוגבל בזמן, לעתים קרובות משהו כמו 24-48 שעות (בדרך כלל רציפות בסוף שבוע, מה שמעניק למתחרים ברחבי העולם זריקה הוגנת ללא קשר לאזור הזמן). ישנם שני סוגים עיקריים של CTF - סכנה והתקפה / הגנה. CTF בסגנון Jeopardy קל יותר לארגן וגם קל יותר לשחק / להעניש פחות עבור שחקנים חדשים. ב- CTF בסגנון סיכון, המארגנים כותבים מערך אתגרים (שירותי בינאריות או אינטרנט פגיעים הפועלים בענן, אתגרי היפוך מסוג crackme, דברים מוסתרים בתמונות דיסק או לכידת מנות, או הודעות מוצפנות), מקצים ערכי נקודה לכל אחד מהם. לאתגר, ולהפוך אותם לזמינים למתחרים (לרוב על לוח כמו זה שנמצא בסכנה, כאשר האתגרים מאורגנים לפי קושי וקטגוריה (ניצול בינארי, הנדסה לאחור, ניצול אתרים, קריפטוגרפיה ופלילים הם הקטגוריות האופייניות). כאשר התחרות מתחילה, המתמודדים מקבלים גישה לרשת האתגרים, אתה פותר אותם ומגיש דגלים לנקודות, ובסוף מי שיש לו הכי הרבה נקודות זוכה (קשרים בדרך כלל נשברים לפי זמן כדי להגיע לנקודת הזכייה הכוללת - מהר יותר עדיף) .

ב- CTF בהתקפה / הגנה, המארגנים עדיין בונים מערך שירותים פגיעים, אך כל צוות צריך להריץ עותק משירותים אלה עליהם עליהם להגן. אתה פורץ צוותים אחרים כדי לגנוב את הדגלים שלהם, ומנסה לתקן את השירותים שלך כדי למנוע מצוותים אחרים לעשות לך את אותו הדבר. CTFs A / D גוררים עבודות לוגיסטיות ותשתית רבות נוספות עבור המארגנים (VPN, מארחי יעד לכל צוות, &c). הם יכולים גם להיות מורידים מאוד עבור שחקנים חדשים אם אתה מקבל דריכה (או שלמישהו יש התמדה בתשתית שלך) ואין שום דבר שאתה יכול לעשות בקשר לזה. הם יכולים גם להיות מאוד מהנים, והם עובדים בכישורים יוצאי דופן כמו טלאים בינאריים וניצול השתקפות.

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

  • מדריך השדה CTF של שבילים של ביטים כולל כמה הרצאות, רשימות כלים והדרכות של בעיות CTF ישנות.
  • picoCTF הוא CTF המיועד לתלמידי תיכון עם מעט מאוד רקע. התחרות הסתיימה, אך המארגנים השאירו את הבעיות לאנשים ללמוד מהם. זה מקום טוב להתחיל בו, ואם יש לך ניסיון בתכנות אתה הרבה לפני העקומה ואמור להיות מסוגל ללעוס את הדברים המוקדמים די מהר. יש גם picoCTF חדש שיגיע באוקטובר אני חושב.
  • pwnable.kr יש מגוון אתגרי ניצול בינאריים טובים להתאמן עליהם.
  • לעתים קרובות מצא באינטרנט רישומי אתגרים של CTF קודמים, שזו דרך טובה להכיר ניבים ctfy במיוחד או סוגים של בעיות שעלולות להופיע ב- ctf מסוים. ctftime.org מצטבר הרשמות, בנוסף לאירוח לוח שנה של ctfs קרובים.

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

Nico
2018-09-04 12:33:15 UTC
view on stackexchange narkive permalink

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

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

כמו ששרדר כבר אמר. קשה מאוד להכין מכיוון שככל הנראה אינך יודע מה יהיו המשימות.

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

Yuu
2019-09-02 11:00:58 UTC
view on stackexchange narkive permalink

אני שם לב שלכאורה נראה כי מרבית התשובות נמנעות משאלתך "כיצד להתכונן ל- CTF", ומכאן שאכנס פנימה.

ראשית, תרצה לעשות את כל ה- CTF מהמארגן, במיוחד בעלי אותו הכותרת. לדוגמה, בטוקיו-ווסטרנס CTF 2019 (מוקדמות CodeBlue) שהתקיימו בסוף השבוע האחרון, הייתה שאלה אחת, "ממיר Emoji Kai Slack" שהתייחס לשאלת CTF נוספת ב- CTF הקודם שלהם בשנה שעברה (2018), "ממיר Emoji Slack". זה נדרש לניצול דומה באמצעות Ghostscript ואם לא היה לך ניסיון, זה היה לוקח זמן מיותר רק לקרוא / ללמוד על הניצול.

שנית, תרצה לבצע OSINT למארגנים. אתה רוצה לדעת מי הם החברים ומה הם פרסמו / גילו לאחרונה.

מדוע כדאי לעשות זאת?
בדיוק כמו בדוגמה הקודמת, כותבי שאלת CTF שואבים השראה ממעללים סביבם. אם הם לא מתייחסים לנצל ישן, כנראה שיש להם חדש. שאלת ה- PHPN באותה CTF דרשה ניצול שניים מהחברים שפורסמו במשותף כבר ביוני. צוותים שהיו מודעים לכך לקחו שעות ספורות לנצל עבודה, ולאלה שלא היו מוכנים לקח יותר מ 12 שעות לפתור. קרא על CVEs שנרכשו לאחרונה ופרסומים אחרונים.

לבסוף, תרצה לקרוא על כל ניצול החומרה הגבוהה ביותר במהלך 1-2 השנים האחרונות (לרמה גבוהה CTF) או סתם מעללים נפוצים / פופולריים (עבור CTF למתחילים).

שים לב שהדבר חל רק על CTF רגיל. אני עדיין לא יודע על דרך אמינה להתכונן לגמר DEFCON.

למידה על מעללים חלה רק אם ה- CTF מתמקד במעללים.זו הסיבה שרוב התשובות האחרות נמנעות מלדבר על אופן ההכנה."CTF" אינו מוגדר לחלוטין.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 4.0 עליו הוא מופץ.
Loading...