Zum Inhalt springen →

Massimo Castell Beiträge

PicoCTF 2022 – Abschluß

Manchmal spielt das Leben ein anders Spiel als man es sich vorgenommen hat. Und so bin ich leider nicht mehr dazugekommen für jede Kategorie einen Blog Post zu schreiben. Gestern war der letzte Tag der Challenge, deswegen werde ich hier mal einen zusammenfassenden Post schreiben.
Ich habe 39 Flags gefunden, 5300 Punkte erzielt und damit Platz 1687 erreicht. Für meine erste CTF recht zufriedenstellend, auch wenn ich in jeder Kategorie nur die Aufgaben mit den niedrigen Punkten habe lösen können. Aber was wäre das für eine Herausforderung, wenn man als Anfänger sofort durchmarschieren würde.

Cryptography
10 gelöst
Mit dieser Kategorie habe ich, wie hier schon erwähnt, angefangen. Das lag mir, als kleiner Rätselfan, am besten. In Erinnerung ist mir das Rätsel mit dem Rail Fence Cypher geblieben. Auch weil ich das mehrfach manuell und auch mit einem Python Skript zu lösen versucht habe. Alles ohne Erfolg. Erst gestern habe ich dann ein Online Tool verwendet um alle Techniken darauf anzusetzen. Und dann mit dem Wissen, dass es ein Leetspeach Flag sein wird, die Lösung gefunden.

Forensics
10 gelöst
Vor Jahren ging es durch die Presse, dass in Esslingen a. N. der Studiengang IT Forensik aufgesetzt wird. Ich habe damals wirklich nachgedacht den Weg einzuschlagen. Verbrecherjagd mit IT Hilfsmittel. Und so war ich von dieser Kategorie auch sehr angetan. Ich habe viel gelernt. Tool wie StegSolve, ZSteg und Sleuthkit sind ab jetzt in meinem Toolset. Und Letzteres wird mir sicherlich auch in meinem Job irgendwann behilflich sein.

Reverse Engineering
9 gelöst
Da diese Kategorie am nähsten zur Programmierung steht, bin ich diese danach angegangen. Hier habe ich nur 9 gelöst, aber es war eine 300 Punkte Aufgabe dabei. Bei der nächsten 300 Punkte Aufgabe hätte ich sehr viel Zeit investieren müssen. Denn die Funktionsweisen der benötigten Tools GDB und Radare2 sind mir noch unbekannt. Ich denke bei der nächsten CTF bin ich sattelfester,

Binary Exploitation
4 gelöst
Diese Kategorie hat mich zum Wahnsinn gebracht. Alle Videos zu CTFs, die ich angeschaut habe, haben sich hauptsächlich um diese Kategorie und z.B. Buffer Overflows gedreht. Aber zu sehen wie es gemacht wird und dann mal selber machen sind echt Welten. Auch hier waren mein GDB Kenntnisse nicht ausreichend. Tja, da muss ich wohl noch ein paar Kohlen nachlegen.

Web Exploitation
5 gelöst
Diese Kategorie habe ich als letztes bearbeitet. Im Nachhinein war es nicht so klug, denn das ist die Kategorie, die meinem Job am nächsten kommt. OK OK. Ich bin DevOpsler, aber meine Abteilung entwickelt eine Web-basierte Anwendung. Und bei dieser Schwachstellen finden zu können, um sie besser zu machen, ist nicht ganz unwichtig. Doch auch hier bin ich nicht weitergekommen. Zum Einen, weil ich echt nicht viel Zeit für das Alles hatte. Und zum Anderen, weil ich an dieser komischen Cookie Challenge gescheitert bin. Ich bin echt gepannt, auf die Write-Ups die in den nächsten Tagen überall erscheinen werden. Denn eine Lösung habe ich nicht finden können. Auch nicht mit Hilfe von älteren Write-ups ähnlicher Challenges. Wobei eine 200 Punkte Challenge eigentlich nicht so schwer sein sollte.

Fazit
Wer genau aufgepasst hat und alle Lösungen zusammen gezählt hat, dem fällt auf, dass Eine fehlt. Ich finde das auch sehr merkwürdig. Aber die Summe wird von der Webseite angezeigt und ich habe die Kategorien mehrfach durchgezählt ohne einen Fehler zu finden.
Wie dem auch sei. Es hat viel Spaß gemacht und eine komplett neue Welt für mich geöffnet. Ich werde sicherlich bei weiteren CTFs mitmachen. Ich lerne viel und für meinen Job ist auch ein Benefit drin.

Schreibe einen Kommentar

PicoCTF 2022 – erste Schritte

Gestern und heute habe ich mich weiter mit den Kryptographie Challenges auseinander gesetzt. Manche konnte ich gut lösen, andere nerven. Bei einer Challenge bin ich nicht auf die Lösung gekommen, also habe ich sie einfach per Brute Force geknackt. Zum Glück sind die Lösungen oft in Leetspeech, dadurch leicht zu erkennen in einer Liste. Was aber natürlich nervig ist, denn ich hätte es gerne „richtig“ gemacht. Auf der anderen Seite, was ist schon „richtig“. Finde das Flag ist Aufgabe und das wurde erreicht.

Demnächst werde ich mal die nächste Kategorie angehen. Mal sehen wie ich mich dort schlage.

Schreibe einen Kommentar

PicoCTF 2022 – Start

Es ist gerade ruhig hier, da ich gerade echt eingespannt bin. Ich schaffe es auch nicht ins Training. Und weil das nicht gut ist, muss ich mich ein wenig fordern. Da kommt es gerade recht, dass heute die PicoCTF 2022 Competition gestartet. Schön viele Rätsel rund um IT Security. Also hinsetzen und los geht’s.
IT Security und alles Drumherum ist ja nicht ganz mein Metier, aber durch meinen DevOps Job und die Erlebnisse rund um Log4J während des Jahreswechsel wurde mir bewusst, dass ich das stärken sollte. Und ich als Praktiker bin für so eine Herausforderung gepaart mit Gamification voll zu haben.
Wobei das mit dem Hinsetzen und los, war nicht ganz der Fall. Die Rätsel wurden um 17 Uhr freigeschaltet und die Server waren überlastet. Aber da ich eh Anfänger bin und es, wie beim Advent of Code, unmöglich ist in den oberen Rängen mitzuspielen, habe ich etwas gewartet. Und als es dann ging, habe ich mich um warm zu werden auf die Kryptographie Rätsel gestürzt. Und so konnte ich 3 Rätsel lösen bevor das Abendessen rief.
Morgen geht es dann weiter. Die Competition läuft bis zum 29.03. Also ihr könnt noch mitmachen.

Ein Kommentar

Jedi Tricks – xclip

Ich bin vor Kurzem auf CTFs (capture the flags) aufmerksam geworden. Ich finde diese kleinen Herausforderungen richtig interessant. Ähnlich wie Advent of Code, hat man immer ein kleines Rätsel zu lösen. Wobei ich zugeben muss, dass diese Aufgaben eher zu meinem DevOps Job passen wir diese Programmieraufgaben. Mal sehen ob ich da tiefer einsteige.

Bei diesen Aufgaben erledigt man viele Aufgaben in der Konsole oder in kleinen Skripten. Und weil man am Ende das gefunden Flag immer in einer Webseite eingeben muss, ist ein Übertrag in die Zwischenablage notwendig. Und da ich schon beim Tippen bin, würde ich das auch gerne per Tastatur und Befehl durchführen. Dafür gibt es ein kleinen Linux Tool das xclip heißt. Leider habe ich es nicht so richtig zum Laufen gebracht. Und die ersten Recherchen im Internet haben es immer erwähnt, aber nie dass es nicht geht. Ich bin dann durch Zufall auf diesen Eintrag gestoßen.

https://stackoverflow.com/a/4208191/9307482

12 Jahre alt und nicht einmal die beste Antwort! Aber der Entscheidende Hinweiß, dass man unbedingt diesen Alias in die .bashrc einfügen muss

alias xclip="xclip -selection c"

Bitte schön!

Schreibe einen Kommentar

Not your keys, not your money

Das war einer der ersten Sprüche die ich gelernt habe, als ich meine Fühler Richtung Kryptowährungen ausgestreckt habe. Dieser Privatekey ist nun mal der Schlüssel zu dem Tresor in dem deine Cryptoassets liegen.
Vor mehreren Monaten, vielleicht sogar Jahren, ging eine Geschichte durchs Internet von einer Person, die ihren Schlüssel vergessen hat und nur noch ein paar Versuche hat bevor alle Bitcoins gelöscht werden. Ich kann mich an den Fall so gut erinnern, weil ich mich damals gefragt habe wie denn auf dem Ledger per Falscheingabe etwas gelöscht werden kann. Jedoch war in den ganzen Schlagzeile, zumindest die ich gelesen habe, nie etwas von einer Hardwarewallet erwähnt.

Eine Hardwarewallet wurde entwickelt um uns gemütlichen Menschen das Leben zu erleichtern. Es ist ein intelligenter USB Dongel auf den man seinen Privatekey speichert und mit einer PIN versieht. Und schon muss man sich den 51 stelligen Alphanumerischen Code nicht merken, sondern nur noch eine vier oder fünfstellige Zahl. Und ein Sicherheitsfeature dieser Wallet ist das Löschen des kompletten Inhaltes wenn der PIN zu oft falsch eingegeben wird. Und da sind wir wieder bei dem Spruch. Denn der Key gehört sozusagen nicht dir sondern der Wallet.

Die Geschichte ist wieder aus dem Gedächtnis verschwunden bis heute Morgen. Denn da hat der, manchmal gar nicht mal so schlechte, YouTube Algorithmus mir dieses Video vorgeschlagen. Ich weiß nicht, ob der Protagonist der Gleiche ist, wie der aus der oben genannten Geschichte. Auch weil es um Theta und nicht Bitcoin geht, aber es ist die gleiche Story. Theta im Wert von 2 Millionen Dollar in einer Hardwarewallet, den PIN vergessen und nicht mehr viele Versuche möglich. Er kontaktiert diesen YouTuber, der ein Hardware Hacker ist, und fragt ob man die sichere Hardwarewallet knacken kann.

Ich habe diese halbe Stunde echt genossen. Vielleicht ihr auch.

Schreibe einen Kommentar

Frohe Weihnachten!

Jeden Tag einen Post und dann war es plötzlich still hier. Was soll ich sagen, es ist log4shell / log4j passiert. Das war/ist ja in aller Munde, deswegen werde ich auch hier nicht weiter technisch eingehen. Ich zitiere jedoch mal eine Schlagzeile: „Das Internet brennt„. Und nicht nur das Internet, auch bei mir im Job ging es deswegen heiß her. Und so wurden die Tage vor meinem Urlaub echt stressig, die anderen Aufgaben haben ja auch nicht pausiert. Dafür habe ich eine Menge gelernt, kann jetzt auch den Angriff nachstellen und werde wohl mal mehr meine Fühler Richtung DevSecOps ausstrecken.
Meine Advent of Code Teilnahme hat auch darunter gelitten. Auch weil an ein paar Tagen Pathfinding, Recursion und 3D Vektor / Cubicles Berechnungen erforderlich waren. Dieses Wissen mir anzueignen konnte ich jedoch nicht, denn mein Kopf war mit dem oben genannten Thema ausgelastet. Und so habe ich an ein paar Tagen keine oder nur silberne Sterne. Heute zum Beispiel habe ich Teil 1 sogar nur „auf Papier“ gelöst, aber dazu mehr im dazugehörigen Post. Diese werde ich vermutlich jetzt nicht mehr in der „richtigen“ Reihenfolge veröffentlichen.
Und #Projekt55? Das ist komplett unter die Räder gekommen. Ich habe nach dem letzten Training weder die Zeit noch die Lust gehabt in den Kimono zu steigen. Und so hatte ich beschlossen, als das oben genannte Thema aufgetaucht ist, bis Januar zu pausieren um mir auch mental Freiraum zu schaffen und nicht immer ein schlechtes Gewissen zu haben.

Auch wenn ich gerade nicht so in Stimmung für Weihnachten bin, ich freue mich auf diese kommenden ruhigen Tage.

Euch wünsche ich ein frohes Fest und geniest die Ruhe in den kommenden Tagen.

Schreibe einen Kommentar

Advent of Code 2021 – Tag 8

„Wie Tag 8?“ werdet ihr euch fragen. Wir haben doch heute den 10. Dezember. Ja ich hänge mit den Blogposts hinterher. Die Woche hat es dann doch geschafft mich zeittechnisch in die Knie zu zwingen. Dazu kamen noch die Rätsel von Tag 8 und 9 die mich gefordert haben so dass ich keine Zeit mehr für die Posts hatte. Heute (Tag 10) war das Rätsel nicht allzu schwer. Während die Pasta auf dem Herd kocht, konnte ich das Rätsel lösen und jetzt noch zusätzlich den Post.

Tag 8 ging es um 7 Segment Anzeigen, die Geisel meiner Elektroniker Ausbildung. Sowohl als Schaltkreis wie auch als Ausgabe für unsere Z80 Programme. Man waren das Zeiten.
Teil 1 ging. Da ging es nur aus den Daten die Zahlen 1, 4, 7 und 8 herauszufinden. Das ist einfach, denn diese Zahlen haben eine eindeutige Anzahl angeschalteter Segmente.
Teil 2 war dann doch ein wenig anspruchsvoller. Da ist echt Zeit draufgegangen. Die Lösung kam mir dann erst als ich auf Papier rumgespielt habe.

Jetzt folgt ein Spoiler für die Lösung. Wer es selbst lösen will, der sollte jetzt aufhören zu lesen, alle Anderen einfach weiterscrollen.


























Und so sehen meine Gedanken aus. Nachdem ich so vieles versucht habe, bin ich auf die Idee gekommen einfach festgelegte Zahlen wegzulöschen und damit immer wieder Segmente zu finden die im „Rest“ einen einmalige Anzahl haben.

Und das immer wieder (also nur zwei Mal) bis die Decodier-Tabelle fertig war. Das war fordernd und hat echt Spaß gemacht.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 7

Heute bin ich spät dran mit dem Bloggen. Das Rätsel habe ich wie gestern am Morgen erledigt. Ich bin selbst erstaunt wie es diese Jahr läuft und das ich die kurze Zeit morgens finde mich diesem Spaß zu widmen. Auch wenn ich am Anfang geschrieben habe, dass ich nicht regelmäßig teilnehmen kann. So ergeht es ja vielen. Wenn man die Statistiken anschaut, dann sind Goldstern Teilnehmer von 156.597 an Tag 1 auf 51.525 gefallen.
Das heutige Rätsel war einfacher, auch das kann man gut sehen. Ich habe meine erste Lösung nach 1:52 Stunden eingereicht und bin auf Platz 16539 gelandet. An Tag 5 war ich mit 3:12 Stunden auf Platz 13696. Und auch bei Teil 2. Heute 2:39 für Platz 18317 am Tag 5 4:18 für Platz 14409.
Trotzdem hat das Rätsel viel Spaß gemacht. Und auch wenn es eine echte Mathematische Funktion zur Lösung gibt (Weiszfeld Algorithmus), ich habe mal wieder in Python meine Listen prozessiert. Deswegen hat Teil 2 auch ein wenig gedauert, aber nicht ewig. Ich finde das Bild hier echt passend.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 6

Nikolausi! Nein Osterhasi! Ok, der alte Gerhard Polt Sketch (wie es damals noch hieß) passt eher zu dem anderen Fest, aber man kann eh nicht davon genug bekommen. Ich schweife ab, also nochmal.

Zum Nikolausi bekommt man ja eigentlich etwas. Bei mir war es Ärger und Stress und ich hatte es eigentlich schon abgeschrieben einen Post zu schreiben. Das Rätsel hatte ich schon vor der Morgengassirunde gelöst und hatte eigentlich einen super Start in den Tag.
Und während meine Frau gerade bei „Wer wird Millionär“ mit rätselt, nutze ich die Zeit und schreiben doch diesen Post.

Das heutige AoC Rätsel ist wieder ein Memoryfresser. Ein typisches Rätsel, dass im Teil 1 einfach zu lösen ist, meistens durch eine Schleife und anwachsende Liste. Aber in Teil 2 werden die Parameter so erhöht, dass jeder normale PC die Flügel von sich streckt. Und ja, beim Hinweis „maybe exponentially quickly?“ hätten die Alarmglöcken läuten müssen. Und so ist meine Aussage von gerade das ich das Rätsel „vor“ der Morgengassirunde gelöst habe, nicht ganz richtig. Denn Teil 1 schon, und in der halben Stunde, in der ich unterwegs war, hat mein Laptop alles gegeben auch Teil 2 zu lösen, jedoch ohne Erfolg. Aber so eine Gassirunde ist das Beste um neue Gedanken zu fassen. Und so war es schnell umgeschrieben um zur Lösung zu kommen. Das habe ich auch dem AoC Training vom letzten Jahr zu verdanken.

Und warum erinnert mich dieses Laternenfische Wachstum nur an die Corona Situation aktuell? Und warum fallen wir immer auf exponentielle Funktionen rein?

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 5

Sonntag. Da hat man in der Regel ein wenig mehr Zeit und mich hat es früh aus dem Bett geholt. Also konnte ich, solange noch alle schlafen, schön mit dem Tagesrätsel anfangen. Koordinatensystem und Lienen auf diesem. Eine sehr nette Aufgabe. Die Lösung ist mir auch nicht allzu schwer gefallen. Tricky dabei war, dass Anfang und Ende der Linien in alle Richtungen möglich war. Interessant auch zu sehen wir ein Competitive Programmer auf den gleichen Fehler reingefallen ist und für die Lösungsfindung ähnlich lange gebraucht hat. Wobei das wohl das Einzige ist, bei dem wir die gleiche Geschwindigkeit haben. Interessant ist auch seine kleine Batchdatei mit der er das Inputfile automatisch downloaded.
Teil 2 mit Diagonalen Linien war ne Idee kniffliger. Wobei es viel hilft, dass es nur 45° Diagonalen sind. Ich habe jedoch in der Schnelligkeit den Code dupliziert anstatt mit einem Schalten zu arbeiten. Vielleicht mache ich es die Tage noch sauber.

Eine Sache wollte ich euch noch zeigen. Während ich die Rätsel nur löse, gibt es viele, die sich noch den Spaß machen diese zu visualisieren. Der Subreddit zum Advent of Code ist immer einen Besuch wert. Ich hänge mal ans Ende ein paar davon an.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Tag 3

Tag 4

Tag 5

Schreibe einen Kommentar