Joint Sigint Cyber Unit Summerschool 2025
28 juli - 8 augustus 2025
Save the date: De datum voor de JSCU Summerschool 2025 is bekend! Zet 28 juli tot 8 augustus alvast in je agenda. Komende lente worden de challenges gepubliceerd.
Wil je een bericht ontvangen als de challenges voor editie 2025 online staan? Stuur een mailtje naar het e-mailadres onderin deze pagina, dan houden we je op de hoogte wanneer het zo ver is.
Voor wie is de Summerschool?
Ben jij nieuwsgierig naar hoe wij aan elk sprookje een goed einde breien? Ben je een ervaren avonturier of kan je pas net je veters strikken?
De Summerschool staat open voor iedereen met een interesse in cyberveiligheid, die graag hun technische kennis en skills op cybervlak wil verbeteren. We streven ernaar om een evenwichtige groep deelnemers samen te stellen; iedereen (ongeacht leeftijd of gender) is welkom om zich aan te melden.
Schroom niet: ga zelf op avontuur en los (een aantal) opdrachten op! Dan kun je alvast goed oefenen voor de challenges voor 2025.
Programma
Week 1
In deze week word je bijgespijkerd, zodat je een goede basis hebt om te snuffelen aan alle facetten van ons werk! Zo leren we je wat goede Cyber Threat Intelligence is en volg je een malwarecursus. En vooral lekker praktisch: je gaat gegarandeerd zelf aan de slag met statische en dynamische malware-analyse, Wireshark, IDA, Ghidra en Windows debuggers. En af en toe wat scripten natuurlijk.
In de laatste twee dagen word je getraind door offensive security specialisten van de Joint Sigint Cyber Unit. Iedere deelnemer wordt deelgenoot gemaakt van onze kennis over pentesting en Red-teaming. We zetten fictieve, afgeschermde netwerken voor je op zodat je helemaal los kunt gaan. We werken met verschillende moeilijkheidsgraden. Er is dus voor ieder wat wils.
Week 2
In de tweede week werk je in teams aan een casus. Je team neemt iedere dag een andere rol aan. Op dinsdag ben je bijvoorbeeld een malware analist, op donderdag een offensive security specialist. Je maakt zo kennis met alle aspecten die het werken voor de Joint Sigint Cyber Unit in zich heeft.
Summerschool 2024
Ben jij er klaar voor om de hoogste toren te beklimmen en de prins(es) te bevrijden? Om de grote boze wolf te verslaan? En om de kruimels te volgen door het sprookjesbos? Dan heb je geluk: de sprookjeseditie van de JSCU Summerschool 2024 is begonnen!
Ook jij hebt nu de kans om deze zomer twee weken lang je weg te verliezen in het cyberbos. Tijdens deze twee weken leer je alles over malware, forensics, blue-teaming en red-teaming, en van hunting tot hacking.
Challenges
Hans Christian Andersdenkend
Uit deze toren bungelen enkele challenges. De flags hebben een vast formaat, dat lijkt op het voorbeeld hieronder:
SUMMERSCHOOL{D3Z3_TELT_N1ET}
Behalve de challenges die je in de rest van de vlecht vindt, zijn er ook wat flags te verdienen met wat verborgen easter eggs in de site. Deze flags vergen wat speurwerk en buiten-de-boxdenken. Vind jij ze allemaal?
Soms zijn er voor een challenge extra hints beschikbaar. Om spoilers te voorkomen zijn die altijd base64-gecodeerd.
Hint 1: SGVlbCBnb2VkLCBqaWogc25hcHQgd2F0IHdlIGJlZG9lbGVuIQ==
Hint 2: T2tlZSwgb21kYXQgamUgdG9jaCBlZW4gYmFzZTY0LWRlY29kZXIgaGVidCBnZXZvbmRlbiwgaGllciBpcyBlZW4gZ3JhdGlzIHZsYWc6IFNVTU1FUlNDSE9PTHtERVozX1czTF9TVUNDM1NfTUVUX0QzX1JFNVR9IA==
MD5 flag 1: 22265d51764a9d63f16586c171d82b35
MD5 flag 2: 838179886787238ce1ac0b883b2a76c5
MD5 flag 3: db231943568c3042db7a5aef509b37bf
MD5 flag 4: 0b97748373b2bf732d2461f5c5315a97
Drie biggetjes
Er is ingebroken bij de drie biggetjes! Gelukkig hebben we de Windows Event logs kunnen veiligstellen. Kan jij ons helpen dit incident te onderzoeken?
- De aanvaller is als eerste binnengekomen bij
big1
.- Wat is de gebruikersnaam van de aanvaller?
- Vanaf welk IP-adres heeft de aanvaller ingelogd?
- Wat is de Share Name behorend bij de File Share waarmee de aanvaller is binnengekomen?
- Wat is de OS-versie van de computer van
big1
? - De aanvaller heeft nog een aantal commando's uitgevoerd om informatie in te winnen over het systeem. Welke commando's waren dit?
- De aanvaller heeft op het eerste account onderzoek gedaan om bij
big2
te komen.- Welk programma heeft de aanvaller gebruikt voor het uitvoeren van commando's?
- Bij welk commando's maakt de aanvaller een typefout?
- Naar welke map binnen
Documents
navigeert de aanvaller bijbig1
? - Welke twee bestanden uit de map zijn geopend?
- Wat was het wachtwoord waarmee de aanvaller op het account van
big2
heeft ingelogd?
- Als laatste heeft de aanvaller ingebroken bij
big3
.- Met welk commando heeft de aanvaller ingelogd bij
big3
? - Welke executable heeft de aanvaller geprobeerd uit te voeren?
- Met welk commando heeft de aanvaller ingelogd bij
Downloads
SHA1 DrieBiggetjes.evtx: d47d35bdbdb743daeccc2c2d24e691c9c52873c0
Niemand weet, niemand weet hoe mijn domeintje heet
niemand-weet-niemand-weet-hoe-mijn-domeintje-heet.pcapng
SHA1 niemand-weet-niemand-weet-hoe-mijn-domeintje-heet.pcapng: b91a9f21395e6df3d3e4117d62496baa050e552b
Hint 1: SW4gc3Byb29ramVzIGxlZXMgamUgZGUgVFhUIHZhbiBib3ZlbiBuYWFyIGJlbmVkZW4u
Hint 2: U3Byb29ramVzZmlndXJlbiBtb2V0ZW4gdmFhayBraWV6ZW4gdHVzc2VuIGhldCBlZW4gb2YgaGV0IGFuZGVyLCBtYWFyIG5pZXQgYWxsZWJlaSBlbiBkYXQga2FuIGplIGJlc3QgYWxsZW1hYWwgcHJvYmVyZW4gdmFuIDB4MDAgdG90IDB4ZmYu
MD5 flag 1: bc10cadd2474bd3ff30b09a2ec44acd0
De Sprookjeskoning
Lang geleden in het jaar 1853 regeerde Koning van Beieren, de Sprookjeskoning, over zijn Rijk. Het jaar 1853 staat bekend als een rumoerig jaar met een behoorlijke dreiging vanuit het Oosten.
Met deze dreiging wordt het Koning van Beieren te heet onder zijn voeten, en hij besluit daarom dat hij een aantal wachttorens om bij Koninkrijk laat bouwen. Hiervoor roept hij hulp in bij zijn Hoofd Engineer voor het bepalen van de locatie van deze torens.
De Hoofd Engineer gaat aan de slag en komt uiteindelijk terug bij Koning van Beieren met een lijst waarmee je een kaart kan opbouwen. Bijvoorbeeld:
WT 0 0
GG 0 1
GG 0 2
GG 0 3
...
GG 5 3
GG 5 4
WT 5 5
De lijst van de Hoofd Engineer bestaat uit een aantal regels die elke weer bestaan uit een code voor het type (WT
is de code voor wachttoren, GG
is de code voor groen gras, etc), het x
coordinaat gevolgd door het y
coordinaat.
Koning van Beieren is heel blij met het resultaat en laat de Wachttorens bouwen. Na 2023 dagen en 18 uur bouwen zijn alle wachttorens klaar. Koning van Beieren besluit dat er elke dag een Ridder alle wachttorens moet controleren of deze nog intakt zijn.
Hiervoor stelt Koning van Beieren Ridder van Pommeren aan. Hij geeft Ridder van Pommeren de lijst met coordinaten van de wachttorens en stuurt Ridder van Pommeren op pad.
Ridder van Pommeren ziet de lijst en plot de locatie van de wachtorens op een kaart. Bijvoorbeeld:
#---#
#-#--
-----
#-#--
#---#
Ridder van Pommeren probeert te bedenken hoe hij het snelst langs alle wachttorens kan lopen. Hiervoor bepaalt Ridder van Pommeren samen met zijn Knecht Ingeborg (jij) de kortste route tussen alle wachttorens. Ridder van Pommeren kan alleen naar boven, naar beneden, links of rechts lopen. Diagonale stappen zijn niet toegestaan. Daarnaast is het land van de Sprookjeskoning niet zo groot dat het de hele wereldbol bevat, dus kan Ridder van Pommeren niet direct van de linkerrand naar de rechterrand of andersom verplaatsen.
Het kortste pad van het voorbeeld is 20
:
#####
###-#
--#-#
###-#
#####
Met het Rijk van Koning van Beieren netjes afgebakend door het kortste pad van Ridder van Pommeren, wil Koning van Beieren graag weten hoe groot zijn Koninkrijk daadwerkelijk is. De oppervlakte in zijn bezit wil hij graag uitgedrukt als de hoeveelheid coordinaatpunten van het kortste pad, plus alle coordinaatpunten binnen het gebied dat begrenst wordt door het kortste pad.
De oppervlakte van het Koninkrijk in het voorbeeld is 23
. 20 van het kortste pad plus 3 punten die binnen de grenzen vallen.
#####
#####
--###
#####
#####
Deel 1
Kun jij, Knecht Ingeborg, Ridder van Pommeren en Koning van Beieren helpen bij het uitwerken van het kortste pad langs alle wachttorens en de opppervlakte van het Koninkrijk beschreven in kingdom.txt
?
Wat is het kortste pad van het Koninkrijk dat gedefineerd is in kingdom.txt
?
MD5 flag 1: 8f85517967795eeef66c225f7883bdcb
Wat is de oppervlakte van het Koninkrijk dat gedefineerd is in kingdom.txt
?
MD5 flag 2: c4b31ce7d95c75ca70d50c19aef08bf1
Deel 2
De tijd verstrijkt en Koning van Beieren breidt zijn macht flink uit. Zijn Rijk wordt zo groot dat je het een Keizerrijk kan noemen.
Kun jij, Knecht Ingeborg, Ridder van Pommeren en Koning van Beieren helpen bij het uitwerken van het kortste pad langs alle wachttorens en de opppervlakte van Keizerrijk beschreven in empire.txt
?
Wat is het kortste pad van het Keizerrijk dat gedefineerd is in empire.txt
?
MD5 flag 3: bba660971075c5bffd10540f43bc69c7
Wat is de oppervlakte van het Keizerrijk dat gedefineerd is in empire.txt
?
MD5 flag 4: 3dd9fd8611e8c9bccabebf0279a0a5e9
Hint 1: T20gamUgYW50d29vcmQgdGUgY29udHJvbGVyZW4ga3VuIGplIGRlIE1ENSB2YW4gaGV0IGdldGFsIHdhdCBlcnVpdCBrb210IHZlcmdlbGlqa2VuLiBJbiBoZXQgc2FtcGxlIGlzIGRlIE1ENSB2YW4gZGUgb3BwZXJ2bGFrdGUgZHVzIDM3NjkzY2ZjNzQ4MDQ5ZTQ1ZDg3YjhjN2Q4YjlhYWNkLiBIaWVyIGhvZWZ0IGR1cyBnZWVuIFNVTU1FUlNDSE9PTHt9IG9taGVlbg==
Bonus
Op welk gebouw lijkt het kasteel van Koning/Keizer van Beieren?
SHA1 sample.txt: 7bc08737e8b992a35ba3bf2feb009b905f9e8900
SHA1 kingdom.txt: a8ed019046e9171086abfe02044365bcc1fba8f5
SHA1 empire.txt: 289006bd7a59e47dd431ee848ffd64c4c91a59bd
Legenda
GG: Groen gras
BW: Blauw water
WT: Wacht toren
BD: Gebouwdeel
PT: Pad
YY: Yellow Yellow
WW: Wit wit
De 7 Dataminers
De Koning in het land van Sneeuwitje mist zijn partner en heeft geen idee waarom ze opeens weg is. Op zoek naar wat er gebeurd is, komt hij 7 dwergen tegen on het bos. De dwergen lijken wel meer te weten, maar weigeren iets te zeggen. De Koning gaat verder op zoek en komt erachter dat het datadwergen zijn, zie allemaal in de data-mijn werken. Kun jij de Koning helpen en uitvinden wat er gebeurd is met zijn lief? De Koning en zijn rijk zullen je eeuwig dankbaar zijn.
SHA1 datamining.7z: 061120992062840ce912df6efd1f914e6202e8c0
MD5 flag 1: 0b070ca9b0759f6bedfa74ea9f59b1b2
MD5 flag 2: 8fd4b996416a8b1eab8d2a3e6260d95b
MD5 flag 3: 049501325b7c4656dc5a822248ba8d72
MD5 flag 4: 16ff9ee2b3c94caa03ec4b51a3081d0c
MD5 flag 5: f0a8305a3cd3c0a41f9cb4b4e8f57ece
MD5 flag 6: 721b11a2872e0535947a50ab6002a230
MD5 flag 7: 1d50d31c7e0ca42ec7657bff5416f9a7
MD5 flag 8: 195e40f0fca3e926e536ff817f7af158
Lang & Gelukkig
Je bent net achttien geworden en je wilt de wijde wereld intrekken. In sprookjesland betekent dat natuurlijk: een geschikte partner vinden en zo snel mogelijk trouwen! Je hoorde dat de laatste trend een nieuwe webapp is: "Lang & Gelukkig". Je haast je naar naar hun site.
SHA1 lang_en_gelukkig.ova: 2f917ffbdfff0c5bc5c228784b06af537b659621
MD5 flag 1: 33e6f48f2e1378860db32e324c395793
MD5 flag 2: 0de01852b6b4130f0a340146def3fa8c
MD5 flag 3: e8d95d9aa9f347309a0cabc3fe403220
Rootcapje
Beste Rootcapje, De Wolf heeft de koekjesfabriek van Oma gehackt! Kan jij de fabriek overnemen? Deze challenge is getest met VMWare Player 17 en VirtualBox 7.
SHA1 rootcapje.ova: f07f093aeb26fbd0ff9b21219bfe4680b69340de
MD5 flag 1: 14b58133cc75c7a64e5c93bbdf4c4517
MD5 flag 2: 25618363b87a32b739e65c61ea198715
MD5 flag 3: 44f02438b7921e196d9a3620d5553a6b
MD5 flag 4: 5fb820ba5e3ab29959664f5d01b30ee1
MD5 flag 5: 31acb57e908522df9fd68799282632f1
Doornroosje slaapt en heeft een flag verstopt
Oh nee! Doornroosje heeft zichzelf geprikt aan het spinnewiel en is nu in een oneindige slaap beland. Kan jij er voor zorgen dat ze weer wakker wordt?
Hint 1: V2Vya3QgZGUgY2hhbGxlbmdlIG5pZXQgb3AgVWJ1bnR1IDIwLjA0PyBQcm9iZWVyIFVidW50dSAyMi4wNC4=
SHA1 doornroosje: aab78d9b680bb7e1856e63c3a6a58b8734557393
MD5 flag 1: 857e3509f0016de67e0179a34b584aeb
MD5 flag 2: 2676c62c30711f26771f8acc908807a1
MD5 flag 3: 6c4e8bf856fee28e4f75b5de92c3f666
In de buik van de wolf
De wolf heeft roodkapje opgegeten! Weet jij haar te redden? Let op: het is een forensics challenge, geen steganografie challenge.
SHA1 grote-boze-wolf.jpeg: 3953e0538c486096d998a1f779fbd55e43769c00
Hint 1: RGV6ZSBmb3RvIGlzIHdlbCBoZWVsIG91ZC4gSXMgZXIgbWV0IG5vZyBtZWVyIG1ldGFkYXRhIGdlc2pvZW1lbGQ/
Hint 2: SWsgemllIGJpam5hIGdlZW4gdmVyc2NoaWwgdHVzc2VuIGRlemUgc3Byb29ramVzLg==
Hint 3: V2F0IGhlZWZ0IGRpZSByb29ka2FwamUgYWxsZW1hYWwgeml0dGVuIGRvZW4/
MD5 flag 1: 5c75e99068220f483e6a287a62298fe9
MD5 flag 2: 6310b804829cc88565f3bf0472040576
MD5 flag 3: 3142271463197609854b718eb7389948
MD5 flag 4: 26488c243d2b9b8ec3276214c81038ec
KRUIMELspoor
Hans en Grietje zijn verdwaald in het bos. Gelukkig hebben we een PCAP met daarin genoeg kruimels om de weg terug te vinden. Help Hans en Grietje de KRUIMEL malwareinfectie te analyseren en beantwoord onderstaande onderzoeksvragen. Documenteer ook de stappen die je hebt genomen om de vragen te beantwoorden; met alleen het antwoord krijg je niet alle punten. Let op: je hoeft niet de hele challenge op te lossen om de vragen van deel 3 te beantwoorden.
SHA1 kruimel.pcap: 7d2886bfe07d02184c5ff87236cd8dfbf4b1b644
Deel 1. Verdwaald in het bos
- Hoe heet het bestand dat wordt gedownload? Via welke user agent wordt dit gedownload?
- Zijn er andere downloads of sessies waar we iets mee kunnen?
- Wat doet het bestand?
- Een van de dingen die het bestand doet is iets ontsleutelen. Hoe werkt deze 'versleuteling'? Wat is de sleutel?
- Welke bestanden worden weggeschreven naar disk? Wat zijn de exacte paden? Wordt er nog iets anders met een van deze paden gedaan?
- Beschrijf hoe het KRUIMEL bestandsformaat werkt en schrijf een parser om het bestandsformaat te parsen.
Deel 2. De Heks en het Huisje van Brood
Voordat je verder kan gaan met de challenge, moet je minimaal twee bestanden hebben gevonden. De SHA1 hashes van deze bestanden zijn: 42b369797a651e449d819f7a6e64c51061805b44 en f1bcf69901eaa6133b7bc2b42c0ae8329c0caebe.
- Een van de bestanden die je hebt gevonden is een nieuwe executable. Reverse engineer de executable. Welke module wordt als eerste ingeladen? Vanuit welk bestand wordt deze module ingeladen?
- Hoe roept de executable een module aan? Wat doet de executable voordat een module 'bruikbaar' is? Bonusvraag: Hoe kan de executable een module inladen zonder dat deze op disk wordt gezet?
- Pak de modules uit en ontsleutel ze. Beschrijf per module wat deze doet.
- In het
midden
van de executable wordt er een functie herhaaldelijk uitgevoerd? Welke functie is dit? Wat doet deze functie? - Ontsleutel het verkeer dat deze functie genereert. Hoe zou je dit type verkeer noemen?
- Beschrijf wat er in het ontsleutelde verkeer staat.
- Wat gebeurt er als Hans niets meer wil eten?
Deel 3. Eind goed, al goed?
Ook al heb je niet deze hele challenge opgelost, dan kan je alsnog proberen om onderstaande vragen te beantwoorden:
- Hoe zou jij anderen beschermen tegen de KRUIMEL malware? Schrijf een of meerdere Yara en/of Surricataregels.
- Kan je op basis van dit bewijs een hypothese vormen hoe het eerste bestand op de computer van Hans en Grietje is gekomen?
- Zijn er anderen die de KRUIMEL malware al kennen? Waarom denk je dat (niet)?
- Kunnen we achterhalen of er nog andere (actieve) KRUIMEL C2 servers zijn?
- Zie jij manieren om KRUIMEL malware (wereldwijd) te detecteren?
- Als jij de schrijver van de KRUIMEL malware zou zijn, wat zou jij anders gedaan hebben?
- Wil je nog iets anders kwijt over deze challenge of hoe je de KRUIMEL malware hebt geanalyseerd?
Assepoester naar het ChaChaBal
De boze stiefmoeder en stiefzusters vragen zich al een tijdje af waar Assepoester elke avond toch heen gaat. Daarom besloten ze een observatieteam te starten. Wij hebben een van hun observatielogs onderschept. Helaas zijn sommige berichten vercijferd, maar gelukkig lijkt de boze stiefmoeder een klassieke blunder te hebben gemaakt. Kun jij de berichten ontcijferen? De vlag heeft de vorm: SUMMERSCHOOL{[md5sum van het ontcijferde tweede (kortere) bericht]}.
SHA1 conversatie.json: 3a25e65d38cac146445bf206b4f17478aba9f7dd
Hint 1: SFFJQlBFWEVaTVVH
MD5 flag 1: a3c33fc180956c028f075451092349cd
1001 bestanden
De grote boze heks heeft de prachtige prozabundel over flags in 1001 (of toch 9?) stukjes gescheurd.
Met behulp van een hoop dwergen hebben ze elk stukje, dat één letter bevat, gedigitaliseerd en opslagen onder een gekke bestandsnaam. Om te voorkomen dat iemand deze zomaar de flags kan uitlezen, moet er een filter worden geschreven om juiste bestanden te vinden die samen een flag vormen.
In het zip-bestand vindt je 1001 bestanden terug die er over het algemeen als volgt uitzien:
Bestandsnaam: Part<Getal> - <Random karakters>.txt
Inhoud: <Enkele karakter>
Hieronder een voorbeeld ter illustratie (bestandsnaam:inhoud):
./Part0001 - flsifkln.txt:T
./Part0002 - bpofbbsd.txt:U
./Part0003 - efsioefi.txt:E
./Part0004 - sfmywnxn.txt:M
./Part0005 - sdfbwien.txt:S
./Part0006 - lkfsklmi.txt:T
> Input:
$ cat *i*.txt
> Output:
TEST
Weet je de 'W' te behalen en alle flags te vinden?
SHA1 1001-bestanden.zip: 88011b36e390ebdce6c7ca50746b0679cbe8459a
Hint 1: V2hhdCBjYW4geW91IGZpbHRlciBvbiwgdGhhdCB5b3UgYWxyZWFkeSBrbm93IGZvciBzdXJlPw==
Hint 2: SWYgdGhlIHRlcm1pbmFsIHZpZXcgZG9lcyBub3Qgd29yaywgdHJ5IGEgR1VJIHZpZXcgZm9yIG9uY2UgOyk=
Hint 3: V2F0Y2ggb3V0IGZvciBmYWxzZSBmbGFnIG9wZXJhdGlvbnM=
Hint 4: WW91IGNhbiBjb3VudCBvbiBpdCB0aGF0IHRoaXMgY2hhbGxlbmdlIGRlbGl2ZXJzIGdyZWF0IGNvbnRlbnQ=
MD5 flag 1: 8b30cb933ac5ece8bce0b617c5c111a8
MD5 flag 2: 7d00390d948231b90e6507ba74d7b74d
MD5 flag 3: 97f652dd8375e061844f5173eacd7e9b
MD5 flag 4: 789ca21a855581912e706426e7f1163e
MD5 flag 5: 6e7340260af6ebc69dac375ae01d3215
Ali Baba en de 40 Rovers
Ali Baba beheert sinds kort de milieuzone in Den Haag. Hij heeft een hekel aan grote brandstofslurpende auto's. In het bijzonder heeft hij een broertje dood aan rovers. Telkens als een rover de milieuzone in rijdt wordt deze door Ali geflitst. De nationaliteit en het kenteken van de rover wordt doorgegeven aan zijn broer Kassim die bij de administratie werkt en de boetes verstuurt.
Vanwege de privacywet mag Ali de kentekens niet onvercijferd naar zijn broer sturen. Maar daar heeft Ali iets op bedacht. Omdat kentekens veelal dezelfde patronen volgen denkt hij dat het voldoende is om Kassim een SHA256
(om precies te zijn SHA2-256
) hash te sturen van de vorm LAND{KENTEKEN}
.
Voorbeeld
Morgiana komt uit P3RZ1k@
en heeft kenteken R0GG3.$luIt-U!
. De SHA256
hash van P3RZ1k@{R0GG3.$luIt-U!}
is gelijk aan 51988c43715c435aa4b3c433c1590fa4b1fc8e691dcd0bd6d8f51f571f42a273
. Dit is de hash die Kassim ontvangt en waaruit hij moet terugredeneren wat het kenteken was. Kassim wist hiervan maar door al die hoge boetes die hij mag innen wordt hij heel vergeetachtig. Het enige wat hij nog heeft liggen is een oud papiertje met kentekens van 40 bekende rovers horende bij 10 verschillende landen. Op zijn computer staat software zoals Hashcat
en John the Ripper
. Hij kan ook simpele programma'tjes schrijven in Python
en hij heeft woordenboeken als OpenTaal
op zijn computer staan.
Ali begint een nieuwe werkdag en stuurt de volgende elf hashes naar Kassim:
067bee0b8200c3bfae6adfdab09a1bbbaf9e466e6454b865ff46bd81568a1406
38fab26a812e560b9d47c5be17a13292374e17fb7a188b432c34af7d44971167
8dc36a5555032dd1fed5924d812061ec628890b1b95587685cbe39c79a16d445
feef2ac1e4e0b91e9202ab8008af610ae7fa1da0c7dca602b2089edaabc7d4ae
f98968fe6aa33af4efb0b8a32ebdc2b6ddf6cfdf9d426bef42dc7cb507ad5ea2
c948158ffc060484f62e5f413cac8f11a6dd69dfecbb7331649439fdbfa18f51
7ef8b9cd97ddb56bac5813d9d8c37060ce4c2d63050d4a00e75748054dddba8b
58b6dff8f81938a71ebb6540097fd2f5af9076d679f004c2145d804ee30345d4
e163a6e89733acd7656b73290ab1f45d9b25ccdaad23fc7a04cf2e622e848c48
1eb1a11690f51b5017e0be5accaf6273bf343f6ddecad7e81475154829b4fd01
c01b036050ddcefd76ed17ecfacb531e2e79011a20af82e740bf53c9fb27dd05
Kassim merkt al gauw dat geen van deze rovers bekend is en dus moet hij iets nieuws bedenken om de kentekens te vinden. Tot grote vreugde van Kassim ziet hij patronen en variaties waarmee hij tien van de elf hashes kan kraken en de flags (kentekens) kan vinden. De laatste hash is een stuk moeilijker; kan jij Kassim daarmee helpen? Kan jij alle elf hashes kraken en de flags vinden?
Voor het omzetten van nationaliteit en kenteken naar een flag gebruiken we het volgende recept:
- Neem de MD5
van LAND{KENTEKEN}
en noem dit X
.
- Let op dat X
hexidecimaal is en uitgeschreven is met hoofdletters in plaats van kleine letters.
- Je flag is nu SUMMERSCHOOL{X}
.
Voorbeeld: Morgiana komt uit P3RZ1k@
en heeft kenteken R0GG3.$luIt-U!
. De MD5-hash van P3RZ1k@{R0GG3.$luIt-U!}
is 02131746C2293425D31E3ABD64A30950
. Dus de flag die hierbij hoort is: SUMMERSCHOOL{02131746C2293425D31E3ABD64A30950}
.
Carnavalskraker
Men zegt dat als je lang genoeg naar deze muziek luistert, je vanzelf allerlei verborgen boodschappen te horen krijgt. Zouden ze gelijk hebben?
SHA1 Carnavalskraker.mp3: f51a4fe940929eec9d1fd9d6c7825f16d22dff9a
MD5 flag 1: 6d9628e7b16a2d700c51d10dad261b7c
MD5 flag 2: 6fbb84232e42d3b78bce2d69c33aecec
Assenpoetser
Het is bijna twaalf uur, dus voor Assenpoester is het tijd om te vertrekken van het bal. De DJ draait nog een laatste nummer, maar het liedje klinkt erg raar. Het lijkt erop alsof het nummer opgepoetst moet worden. Kan jij als goede fee de vlag tevoorschijn toveren zodat Assenpoester nog een laatste keer kan dansen voordat ze de plaat poetst?
Downloads
SHA1 Assenpoetser.wav: ab2cc2f4541bf70044c535422ccefe60ba9ed753
MD5 flag 1: de367c19aada7d6ff9aa61b936e8bf15
Kennisbank
Loop je vast bij een van de challenges?
Geen zorgen, wij hebben per categorie een lijst samengesteld met handige bronnen, tutorials en tools. Dit overzicht is niet uitputtend: zelf op onderzoek gaan is een van de belangrijke aspecten van het spelen van CTFs en werken voor de JSCU.
Software en tools
Algemeen
- Cyberchef - Een door het Britse GCHQ ontwikkelde must-have webapplicatie voor encryptie, encodering, compressie en data-analyse toepassingen.
Hex editors
- XXD - Linux tool voor het maken van een hexdump
- HexEdit - CLI hex editor voor Linux
- Bless - GUI hex editor voor Linux
- HxD - GUI hex editor voor Windows
- Hex Fiend - GUI hex editor voor MacOS
PE analyse
- PE Studio - Tool voor initiele malware triage
- CFF Explorer - Parser en editor voor Windows PE binaries
Disassemblers
- IDA - Interactieve Disassembler voor diverse uitvoerbare bestandsformaten en architecturen
- Ghidra - Reverse engineering tool ontwikkeld door de Amerikaanse National Security Agency (NSA)
Dynamische analyse
- x64 Debugger - Windows Tool voor het debuggen van binaries
- Fakenet - Tool voor het simuleren van generieke internetdiensten in een labomgeving ontwikkeld door FireEye
- iNetSIM - Tool voor het simuleren van generieke internetdiensten in een labomgeving
Netwerkanalyse
- WireShark - Tool voor het analyseren van netwerkprotocollen
- Networkminer - Passieve sniffer en packet capturing tool. Ook geschikt voor het exploreren van netwerkverkeer
- Moloch - Tool voor het opvangen, indexeren en doorzoeken van netwerkverkeer
- Brimsecurity - Desktopapplicatie voor het indexeren en doorzoeken van netwerkverkeer
- Snort - Open-source Intrusion Detection System (IDS), Intrusion Prevention System (IPS)
- Suricata - Open-source Intrusion Detection System (IDS), Intrusion Prevention System (IPS) en Network Security Monitor (NSM)
- Zeek - Open-source Network Security Monitor (NSM)
Data-analyse en visualisatie
- Kibana - Tool voor het exploreren en visualiseren van Elasticsearch data
- Elasticsearch - Open-source gedistribueerde zoekmachine voor diverse soorten data
Operating Systems
- SIFT - Linux OS voorzien van diverse Digital Forensics en Incident Response tooling ontwikkeld door SANS
- REMNUX - Linux OS voorzien van diverse malware analyse tools
- Kali - Linux OS voorzien van diverse Penetration Testing en Ethical Hacking tools
- FlareVM - Windows OS voorzien van diverse malware analyse tools
Mobiele apps analyseren
- JD-GUI - Open-source Java Disassembler voor het herbouwen van ".class" bestanden
- APKTool - Tool voor het reverse engineeren van APK bestanden
- Dex2Jar - Open-source tool om Android Dex bestanden te veranderen in Jar bestanden.
Memory Forensics
- Volatility - Open-source memory forensics toolkit
- Rekall - Open-source memory forensics framework, bevat aanvullende functies voor Forensics en Incident Response
Forensics
- The Sleuth Kit - Een verzameling van CLI tools voor forensisch onderzoek op disk images
- Dissect - Een verzameling van tools voor incident response onderzoek op disk images
Virtualisatie
- VMWare Player - Virtualisatie software voor Linux, Windows en MacOS
- VirtualBox - Virtualisatie software voor Linux, Windows en MacOS
Leesmateriaal
Reverse engineering informatie
- Automated Malware Analysis - Een overzicht van gratis tools- en webservices geschikt voor geautomatiseerde malware analyse
- Malware Analysis Tools - Een overzicht van gratis frameworks voor geautomatiseerde malware analyse
- Remnux Malware Analysis Tips - Een cheat sheet van diverse tools beschikbaar in de REMnux Linux distributie
- Analyzing Malicious Documents - Een cheat sheet voor het analyseren van malicieuze documenten
- Malware Analysis Cheat Sheet - Een cheat sheet voor het analyseren van malicieuze software
- Didier Stevens Tools - Een overzicht van diverse tools ontwikkeld door beveiligingsonderzoeker Didier Stevens
Reverse engineering tutorials
- Flare-On Challenge 2021 - Oplossingen van de Flare-On 8 Challenge
- Flare-On Challenge 2022 - Oplossingen van de Flare-On 9 Challenge
Cheat sheets (algemeen)
- SANS Digital Forensics Cheat Sheet - SANS overzicht van cheat sheets voor diverse forensische tools en software
- The Ultimate List of SANS Cheat Sheets - SANS overzicht van cheat sheets op het gebied van IT Security, Digital Forensics, Incident Response en Penetration Testing
Write-up insturen
Heb jij één of meerdere challenges opgelost? Dan zijn we als JSCU erg onder de indruk van je technische vaardigheden en kom je misschien wel in aanmerking om in een volgende editie samen met de diensten op avontuur te gaan tijdens ons zeer exclusieve computerzomerkamp.
Hoewel de inschrijvingsperiode voor 2024 alweer voorbij is, kan het alsnog leerzaam (en vooral leuk) zijn om je te storten op de challenges, en daarvan een goede write-up (technisch verslag) te schrijven. Als je feedback wilt over hoe je het hebt gedaan, kun je dat verslag vervolgens opsturen naar het e-mailadres hieronder.
Kun je bijna geen van de oplossingen vinden, maar heb je wel veel geprobeerd? Schrijf dat op! De challenges op deze website zijn (expres) erg moeilijk. We vinden het namelijk altijd interessant om te zien hoe iemand een probleem aanpakt waarvan ze vooraf niet allang wist hoe je het antwoord moet vinden. Laat ons dus vooral in hoog detail weten wat je hebt geprobeerd, en misschien mag je jouw unieke denkwijze toe komen passen in een volgende editie van de JSCU Summerschool.
... ..- -- -- . .-. ... -.-. .... --- --- .-.. .--.-. -- .. -. -... --.. -.- .-.-.- -. .-..
Changelog
12 nov 2024
- Datum Summerschool 2025 bekend gemaakt.
5 apr 2024
- Moeilijkheidsgraad van In de buik van de wolf bijgesteld.
22 apr 2024
- Extra hint geplaastst bij Doornroosje slaapt en heeft een flag verstopt.
- Flag 1 van De 7 dataminers heeft een afwijkend formaat. De MD5 is daarop aangepast.
6 mei 2024
- MD5-hash gecorrigeerd van flag 1 van 1001 bestanden. (Was: 99d96a20e07808fb7df083d5831e3e9a.)
BD
toegevoegd in de legenda van De Sprookjeskoning.- Lees- en vindbaarheid vergroot van de legenda van De Sprookjeskoning.
21 mei 2024
- Hint gecorrigeerd in De Sprookjeskoning.
- MD5-hash gecorrigeerd van flag 1 van Assenpoetser. (Was: b0d3524f04b67d5ad7a578bd57ef4667.)