]> git.somenet.org - pub/jan/ctf-seminar.git/blob - README.md
GITOLITE.txt
[pub/jan/ctf-seminar.git] / README.md
1 [192.092] Capture The Flag (SE)
2 ===============================
3
4 Don’t be a Security Tourist... BE A HACKER!
5
6
7 Info
8 ----
9 Official course page on [TISS](https://tiss.tuwien.ac.at/course/educationDetails.xhtml?dswid=8296&dsrid=617&courseNr=192092&semester=2019W).
10
11 The course is coordinated by:
12
13 * Marco Squarcina aka `lavish`, [web](https://minimalblue.com) [twitter](https://twitter.com/blueminimal)
14 * Georg Merzdovnik aka `georg`, [twitter](https://twitter.com/gmerzdovnik)
15 * Mauro Tempesta aka `MrStorm`, [twitter](https://twitter.com/mau_tempesta)
16 * Michael Pucher aka `cluosh`
17
18 Communication and announcements on [mattermost](https://mattermost.w0y.at), please refer to this [guide](mattermost_for_CTFs.md) on how to use use Gitlab/Mattermost for collaboration during CTFs.
19
20 Send your questions - if any - to [ctf@list.tuwien.ac.at](mailto:ctf@list.tuwien.ac.at).
21
22
23 Meetings
24 --------
25 * 15/10, 18:00 - 20:00, FAV Hörsaal 1: [Course intro](meetings/20191015/course-intro.pdf), [CTF intro](meetings/20191015/ctf-intro.pdf)
26 * 22/10, 17:00 - 20:00, FAV Hörsaal 1, Hack.lu CTF 2019
27 * 29/10, 17:00 - 20:00, FAV Hörsaal 1, Talks
28 * 12/11, 17:00 - 20:00, FAV Hörsaal 1, Talks
29 * 19/11, 17:00 - 20:00, FAV Hörsaal 1, RuCTFe preparation meeting
30 * 23/11, 10:00 - 20:00, SBA Research (Floragasse 7), RuCTFe 2019
31 * 26/11, 17:00 - 20:00, FAV Hörsaal 1, Talks
32 * 10/12, 15:00 - 18:00, [GM 8/9 Hörsaal des Internationalen Wiener Motorensymposiums](https://www.tuwien.at/index.php?id=1691), Talks
33 * 17/12, 17:00 - 20:00, FAV Hörsaal 1, Talks
34
35
36 List of CTFs
37 ------------
38 * 19/10 - 20/10: SECCON 2019 CTF (on-line)
39 * 22/10 - 24/10: Hack.lu CTF 2019 (on-site)
40 * 26/10 - 27/10: TastelessCTF 2019 (on-line)
41 * 15/11 - 17/11: ASIS CTF Finals 2019 (on-line)
42 * 23/11: RuCTFe 2019 (on-site, mandatory attendance to the preparation meeting of November 19 and the entire CTF for those who want to participate)
43 * 30/11 - 01/12: CTFZone Quals 2019 (on-line)
44 * 01/12 - 26/12: OverTheWire Advent Bonanza 2019 (on-line, at least 4 different challenges must be played)
45 * 27/12 - 29/12: hxp 36C3 CTF (on-line)
46
47
48 CTF Participation
49 -----------------
50 As specified in the [Course intro](meetings/20191015/course-intro.pdf), each student is required to attend at least 1 CTF on-site and 3 CTFs overall. On-line attendance is assessed via an individual detailed write-up reporting everything that has been done during the competition, including failed attempts at solving challenges. No write-up is required to prove on-site attendance.
51
52 Write-ups must be submitted directly on [Gitlab](https://gitlab.w0y.at/ctf-seminar/ws19) under the directory `writeups/<nickname>/` as a single Markdown file called after the CTF. Say, for instance, that your handle is `l33th4ck3r` and you want to submit the write-up for the SECCON'19 CTF, then just create the file `writeups/l33th4ck3r/seccon19.md`. If you need to store additional files to complement your write-up, such as scripts or screenshots, add a subfolder (such as `writeups/l33th4ck3r/seccon19/`) in your own directory and save those files there.
53
54 Your write-up file should provide an overall personal consideration of the CTF in retrospective and then a detailed technical analysis of the challenges that you attempted to solve, either successfully or not. A good example of *detailed technical analysis* of a challenge can be found [here](https://w0y.at/writeup/2019/10/27/tasteless-2019-gabbr.html).
55
56 According to the ECTS breakdown in the lecture description on TISS, one should expect 20h for meetings and 130h of individual project work for preparing the talk (see below), playing CTFs and reporting on them.
57 It follows that if you decide to play 3 CTFs overall, you should invest an average of 40h for each of them. We highly suggest to specify in your write-ups the time spent for each challenge you approached and reported on.
58
59 If you feel like one of the tasks you solved is particularly interesting, let us know and we will consider it for publication in the [w0y website](https://w0y.at).
60
61
62 Talks
63 -----
64 As part of the evaluation process you are also required to present the solution to a CTF challenge in one of the scheduled meetings. The presentation can be done either individually or as a team of 2 persons. Students teaming up are expected to present more complex challenges than those handled individually. The expected duration of the talk is defined as:
65 * 15 minutes for individual presentations
66 * 30 minutes for team presentations (15 minutes each student)
67
68 To book a slot for your talk in one of the meetings listed in the "Tentative Schedule", go to [TISS](https://tiss.tuwien.ac.at/education/course/groupList.xhtml?dswid=9829&dsrid=944&courseNr=192092&semester=2019W) and register in one of the available groups. Keep in mind anyway that there is a limited amount of slots per day, so start booking yours in one of the earliest dates if possible! To get it approved, send a mail to [ctf@list.tuwien.ac.at](mailto:ctf@list.tuwien.ac.at) to propose a challenge you would like to discuss along with the chosen date.
69
70 Some recommendations for your talk:
71 * Provide an overview of the intended functionalities of the application
72 * Describe all the attempts you made to find the vulnerabilities, including unsuccessful ones (time permitting)
73 * Explain the exploitation steps in an understandable manner
74 * If possible, describe the impact of this security threat in a realistic scenario and discuss possible countermeasures
75
76 We have created a public [Github repository](https://github.com/w0y/CTF-Seminar-Presentations) where you should upload your presentation after giving the talk. Add your slides/material to the directory `<ctf_name>-<year>/<challenge_name>/` (e.g., `hacklu-2019/rpdg`) and issue a pull request when you are done with the changes! Don't forget to add a reference to your challenge in the main `README.md` file of the repository.
77
78
79 Evaluation
80 ----------
81
82 Talks are evaluated according to the following criteria:
83 * adherence to the guidelines above
84 * clarity of the presentation
85 * correctness and understanding of the topic
86 * time management
87
88 Similarly, write-ups are evaluated on:
89 * clarity of the write-up
90 * correctness and understanding of the topics
91 * provided level of details