DDC - Regionals Junior 2024 : Writeups
Jeg var så heldig at gå videre til nationals, men desvære har min lillesøster konfirmation d. 4 maj, så jeg kommer ikke med, men jeg håber at komme med næste år! Tak for nogle sjove og spændende opgaver!
Syddanmark Scoreboard:

Global Scoreboard:

Løste opgaver:
- Forensics: Dictionary Attack
- Forensics: Drilske Dæknavne - Email
- Forensics: Drilske Dæknavne - Address
- Forensics: Drilske Dæknavne - Leverance-IDer
- Forensics: Drilske Dæknavne - Meeting
- Forensics: Friendly Image
- Forensics: Spin2win
- Web Exploitation: Critical Hit
- Misc: Penpals and messages
- Misc: Find the Culprit
- Beginner: The_Ransomware_Image
- Beginner: See my strings
- Reverse Engineering: ASCII_Maze
- Cryptography: Substitution in the constitution
- Boot2Root: Shadow
- Boot2Root: Cron my tab
Jeg fik løst 16/52 (31%~), hvilket gav mig 3151 points og en 3 plads i Syddanmark.
Forensics: Dictionary Attack
Proposed difficulty: Easy
Antallet af usikre wifi-adgangskoder vil ROCK YOU! Se, om du kan bryde wifi-adgangskoden til dette TP-Link-adgangspunkt. Flaget er adgangskoden.
OBS: Flaget skal wrappes i flag formatet: DDC{adgangskoden}.
Vedhæftet fil: crypto-dictattack.zip
Løsning: Vi får et lille tip om at vi skal bruge rockyou.txt til at cracke koden på et wifi ap. Til dette skal vi lave handshake.cap om til en fil hashcat kan arbjede med, jeg bruger https://hashcat.net/cap2hashcat. Efter det får vi en xxxxxx_<timestamp>.hc22000 som hashcat kan bruge. Kør: hashcat -m 22000 xxxxxx_<timestamp>.hc22000 /usr/share/wordlists/rockyou.txt Resultat: 698e7d4af275d841de9c64f1baafb65b:14ebb6863c97:9aad170ba01a:OpenWrt:dontstealmynameagainyoufreak
Flag: dontstealmynameagainyoufreak
Forensics: Drilske Dæknavne - Email
Proposed difficulty: Medium
I forbindelse med en større sag om import og salg af narkotika, har man beslaglagt en mobiltelefon. Mobiltelefonen er en ældre Samsung S9, og ejes af en (knap så smart) kriminel som går under navnet “Martin Michellin” - et dæknavn, som han så fint sagde under anholdelsen med et dumt smil…
Vi mistænker at han skal aflevere noget stof til en småkriminel gadesælger ved navn “Jens Vejmand”, noget stof som han får importeret snarligt. Vi har brug for at vide:
Hvilken e-mail benyter martin? Den email vil være et flag som DDC{[email protected]}.
Vi ved at der bliver benyttet diverse applikationer så som Snapchat, Whatsapp, SMS, opkald og lignende. Kan du undersøge telefonen?
Vedhæftet filer: forensics_drilske-daeknavne.7z(4.2GB) - Ikke uploadet pga. fil-størrelse.
Løsning: Hvis vi bruger find med en grep på hans navn: find | grep "martin" får vi [email protected]
Flag: DDC{[email protected]}
Forensics: Drilske Dæknavne - Address
Proposed difficulty: Medium
…..
Vi har også brug for at vide hvor Martin planlægger at hente de afhentede stoffer henne. Vi forventer en adresse, således flaget vil være DDC{GadenavnNummer}
…..
Løsning: Hvis vi graver lidt rundt i android filsystemet, eller søger efter .png og .jpg finder vi nogle images, en af dem (./data/system_ce/0/snapshots/28.jpg) er et screenshot af Google Maps med adressen: Svaneknoppen 13
Flag: DDC{Svaneknoppen13}
Forensics: Drilske Dæknavne - Leverance-IDer
Proposed difficulty: Medium
…..
Er der nogle leverance-ID’er, stregekoder eller andet på de stoffer der bliver solgt til Jens? Hvis ja, så er det et flag formateret som “DDC{A12C2-LL902-…..-KDJ82}” i den oplyste rækkefølge.
…..
Løsning: Jeg fandt en smsdatabase (./data/user_de/0/com.android.providers.telephony/databases/mmssms.db) hvor Martin og Jens snakkede om at sms ikke var sikkert, så hvis man tænker sikkert kan vi lede efter Whatsapp. Find Whatsapp message databasen og bruger en SQLite viewer finder vi btw , hvis du skal verificere med tjekkerne , er leveringskoderne pa de 5 poser vasketøj : lkj73 hdh79 vcs13 læd72 sjv4w, Ikke så sikkert når man har filesystem access ;)
Flag: DDC{LKJ73-HDH79-VCS13-LÆD72-SJV4W}
Forensics: Drilske Dæknavne - Meeting
Proposed difficulty: Medium
…..
Er der nogle leverance-ID’er, stregekoder eller andet på de stoffer der bliver solgt til Jens? Hvis ja, så er det et flag formateret som “DDC{A12C2-LL902-…..-KDJ82}” i den oplyste rækkefølge.
…..
Løsning: Hvis vi graver lidt mere rundt i filsystemet, eller søger igen efter .png og .jpg finder vi nogle flere screenshots, en af dem (./data/system_ce/0/snapshots/15.jpg) er et screenshot af en favorit placering??? whatever der står: ///indebar.tårerne.danseren
Flag: DDC{indebar.tårerne.danseren}
Forensics: Friendly Image
Proposed difficulty: Very Easy
“Da du for nylig har lært det grundlæggende inden for undersøgelse af diskbilleder, bad du en mere erfaren ven om at give dig en øvelsesopgave. De leverede en billedfil uden yderligere ledetråde og fortalte dig, at et flag er skjult et sted i den. Find flaget for at løse puslespillet!”
Vedhæftet fil: forensics_friendly_image.zip
Løsning: Efter at have åbnet op zip filen får vi en output.raw og en Friendly.E01. output.raw kan vi mounte på vores linux system og se at der er 4 filer: ini.txt - zebra.77696E6E696E67 - Instructions.txt - 'This is not a pipe.bmp'. Læs Instructions.txt og sorter filerne v. deres navne, og følg resten af beskeden. Nu har vi DDC{keep_on_} men vi mangler noget. Åben Friendly.E01 i Autopsy, her finder vi Instructions2.txt som siger: ...the extension of the third file reverted back from hexadecimal, den sidste fil er zebra.77696E6E696E67, åben en shell og kør: echo -n 77696E6E696E67 | xxd -r -p, ni får vi winning som er sidste del af flaget.
Flag: DDC{keep_on_winning}
Forensics: Spin2win
Proposed difficulty: Easy
Spinner-mand har været ude og spundet internettet ude af kontrol, Vi fandt denne note efterladt på en af hans ofres desktop. Kan du læse den for os?
Vedhæftet fil: Spin2win.zip
Løsning: Med lidt hjælp fra nogle gode øjne og lunapic.com kan vi langsomt finde flaget. Jeg kan læse der står you spin me round baby, men det er ikke alt, vi skal lige skifte nogle bogstaver ud med tal. Lidt trial & error senere får vi o->0, i->1, b->3, a->4, e->3. Kom nogle store bogstaver i hvert ord undtagen me og you, får vi y0u-Sp1n-m3-R1gh1-R0und-34bY.
Flag: DDC{y0u-Sp1n-m3-R1gh1-R0und-34bY}
Web Exploitation: Critical Hit
Proposed difficulty: Very Easy
Din gruppe er meget tæt på at dræbe den sidste boss, men din eneste chance for at lykkes er, hvis Jane slår en 20’er. Hun kan prøve så mange gange, hun vil, men på en eller anden måde virker det umuligt at få en 20’er. Kan du hjælpe hende med at vinde spillet?
http://roll-dice.hkn (haaukins link)
Løsning: Når vi slår med terningen laver vi en post request, men scriptet til terningen sker i vores browser så vi kan bare sige til serveren at vi slog en 20’er. Respons: {"message":"Congrats, you slayed the monster! DDC{U_slaAy_gUrl}"}
Flag: DDC{U_slaAy_gUrl}
Misc: Penpals and messages
Proposed difficulty: Very Easy
Din online penneven Cæsar_4 og dig plejer at udveksle forskellige former for krypterede beskeder. Denne gang modtager du en billedfil fra din penneven. Normalt plejer det at være beskeder du modtager og ikke billedfiler.
Du erindrer dog at der er metoder for at skjule beskeder i JPG format og der findes redskaber på nettet der kan hjælpe med at finde dem. Måske kan din ven Alan Eliasens hjemmeside hjælpe dig med at finde den skjulte besked
OBS: Flaget er teksten du finder med DDC{} tilføjet omkring. Finder du this_1s_fl4g er flaget DDC{this_1s_fl4g}
Vedhæftet fil: penpals.jpg
Løsning: Vi kan bruge stegseek til at se om der ikke skulle være noget gemt i billedet, stegseek penpals.jpg - Output: Original filename: "steganopayload31570.txt". Extracting to "penpals.jpg.out".. penpals.jpg.out: Aipp_hsri_mr_mh_mx, Cæsar 4 lyder som om at vi skal shifte bogstaverne 4 gange, dcode.fr/caesar-cipher -> Well_done_in_id_it
Flag: DDC{Well_done_in_id_it}
Misc: Find the Culprit
Proposed difficulty: Easy
Nogen i dit firma har formået at overflytte en masse penge til dem selv og prøver at stikke af med dem. Det er din opgave som som leder af firmaets Cybersecurity afdeling at finde frem til hvem det var og stoppe dem. Du har en idé om at personen er fra enten Finance, Marketing eller HR afdeling, men hvilken? En af dine medarbejdere fandt en mystisk note på HR afdelingens kontor. Dele af noten er tydeligt krypteret. Mønsteret minder lidt om layoutet på et keyboard. Knæk koden og find frem til hvem der har stjålet pengene! På noten står der således:
“Beløb til overførsel: 100.000.000dkk. Modtager: EYG_Ziokznygxk“
Format for aflevering eksempel: DDC{Adeling_Navn_Kontonummer} | DDC{Cybersecurity_Karsten_Johansen_1234}
Vedhæftet fil: Ansatte.zip
Løsning: Sikkert en smartere løsning men jeg lavede et bash script der tog hash værdien af alle Info.txt og compared dem og smed ud de filer der ikke var ens. Jeg ved ikke helt hvordan jeg skulle dekryptere EYG_Ziokznygxk så jeg smed bare alle navnene ind og det var så Employee (34) fra Finance, det var nemlig Karl Emil!
Flag: DDC{Finance_Karl_Emil_1928}
Beginner: The_Ransomware_Image
Category: Forensics
En amatørhackergruppe har ramt din computer med ransomware! Du efterlod den på en café og glemte at låse skærmen, og da du kom tilbage sad en sketchy person ved den, der skyndte sig væk!
Nu er din computer krypteret, og de kræver en løsesum for at udlevere passwordet! Heldigvis glemte gerningsmanden sin USB i din maskine. Du fandt ikke med det samme noget spændende, men lavede et forensic E01-image, der kan undersøges i dybden. Måske der gemmer sig spændende slettede filer?
Hint: Værktøjet Autopsy er gratis og super fint til diskanalyse.
Vedhæftet fil: USB.E01
Løsning: Åben USB.E01 i Autopsy, her finder vi Reminder.txt og logo.bmp. I Reminder.txt står der at vi ikke skal bruge vores gamle logo fordi det var vores adgangskode, hmm. Lad og lige se på logo.bmp. Aha! CYBER_PIRATES!
Flag: DDC{CYBER_PIRATES}
Beginner: See my strings
Category: Reverse Engineering
Gå til http://see-my-strings.hkn i dit virtuelle miljø!
Løsning: På hjemmesiden får vi download til en zip fil med program i. Hjemmesiden siger vi kan køre strings på program, og fordi flaget står som tekst i programmet kan vi let se det.
Flag: DDC{57r1n6-r3v3r51n6-1s-3a5y}
Reverse Engineering: ASCII_Maze
Proposed difficulty: Easy
OMG! KUN 0.01% KAN GENNEMFØRE DET 4. LEVEL #IKKECLICKBAIT
nc asciimaze.hkn 1337
Vedhæftet fil: reveng_asciimaze.zip
Løsning: Ved unzip af zip-filen finder vi ASCII_Maze, hvis vi åbner den i Dogbolt - Decompiler Explorer, kan vi se at der er nogle levels: 1,2,3 og 4. Jeg spillede spillet for level 1,2,3 og brugte kommandoen godmode til level 4. Password til godmode finder vi i dogbolt (angr -> linje 484), som er: i_believe_i_can_fly så kan vi bryde ud af level 4 og få flag.
Flag: DDC{Flyv_Ikaros_Flyv}
Cryptography: Substitution in the constitution
Proposed difficulty: Easy
Jeg krypterede dele af den danske grundlov med en substitutionsciffer.
Kan du bruge den krypterede forfatning til at finde nøglen og dekryptere flaget?
Vedhæftet fil: crypto-constitution.zip
Løsning: Til den her opgave brugte jeg quipqiup.com til at løse substitutionscifferen. Vi får af vide at det er dele af grundloven, et lille smut over til www.grundloven.dk, her kunne jeg matche 27. marts 1953 med 27. pnlse 1953. I Clues feltet kan vi skrive: sljfwuhgxhjqxf=tronfølgeloven. Nu får vi YYU{vi_mennesåer_i_åongeriget_danmarå} som flag, erstat å med k og YYU med DDC, så får vi: DDC{vi_mennesker_i_kongeriget_danmark}
Flag: DDC{vi_mennesker_i_kongeriget_danmark}
Boot2Root: Shadow
Proposed difficulty: Very Easy
Jeg har lavet en ssh server sådan at jeg kan dele den med alle! Det er bare så super hyggeligt at dele. Men i må altså gerne lige lade være med at rode rundt. Jeg er ikke helt sikker på at jeg har styr på alle tilladelser endnu.
bug kommandoen ssh [email protected] for at komme igang. Koden er start.
Løsning: Navnet på challangen giver det lidt væk, men vi skal have fat i /etc/shadow. Vi kan bruge hashcat til at cracke root’s passwd. Kom root’s passwd hash i hash.txt og kør: hashcat -m 1800 hash.txt /usr/share/wordlists/rockyou.txt. Hashcat siger roots passwd er conga, kør en su root med conga som password. Du finder flaget i /home/root/flag.txt
Flag: DDC{Prot3ct_y0ur_s3cr3ts}
Boot2Root: Cron my tab
Proposed difficulty: Easy
Password: doomguysEcReTpAsSwOrD
tail -f read.sh.log
Løsning: Når vi logger på boksen får vi afvide at der er et cronjob der kører hvert minut med dette script: /etc/read.sh. Hvis vi kigger på file permissions kan vi se at vi må ikke læse & execute read.sh, men vi må gerne skrive til den. Så her kan vi bruge echo fordi der er ikke nano eller vim på maskinen.
echo '#/bin/bash
ls /root' > /etc/read.sh
Respons: cdff.......flag.txt & hehe.txt
echo '#/bin/bash
cat /root/cdff.......flag.txt' > /etc/read.sh
Respons: DDC{v3ry-funny-cr0n-j0b}
Flag: DDC{v3ry-funny-cr0n-j0b}