CTF

Aus C3MAWiki
Version vom 5. Februar 2010, 21:14 Uhr von Scytale (Diskussion | Beiträge) (Tote Links entfernt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

What the hack?

CTF steht für Capture The Flag. Es geht bei diesem Contest also nicht darum "sinnlos" irgendwas oder irgendwie in der Gegend rumzuhacken, sondern das Ausnutzen einer Sicherheitslücke verfolgt hierbei einen tieferen Sinn, nämlich Flags einem gegnerischen Team zu klauen um damit Punkte zu machen. Dabei muss man die Sicherheitslücken im System bei sich fixen um andere Teams von den eigenen Flags fernzuhalten.

Welche Qualifikationen brauche ich?

Der Hacking Contest soll in erster Linie Spass machen, und egal was passiert (siehe letztes Jahr) es macht immer riesen Spass. Der Anfang gestaltet sich meist sehr hektisch weil grundsätzlich alles schief geht was schief gehen kann. Wenn man aber mal seinen Rhythmus gefunden hat wirds einfach nur noch geil. Letztes Jahr wäre uns schon ein grosser Dienst getan wenn wir lediglich ein oder zwei Leute gehabt hätten die ein paar URLs in den Browser eingegeben hätten. So viel zum Thema Anforderungen. Ihr lernt sehr viel über Systemsicherheit, weil ihr Hands-On sehen könnt was, welche Auswirkungen hat und wieso man ein System eben so konfigurieren sollte und nicht so. Diese Zeilen sind sehr subjektiv geschrieben, ich kann nur von meinen Erfahrungen sprechen. Ich hab bei JEDEM CTF bisher einen enormen Wissenssprung gemacht. Viele Sachen die man während des Contests nicht versteht bekommt man hinterher erklärt. Wir werden ganz sicher auch ne Nachbesprechung abhalten und euch die Sicherheitslücken zeigen damit ihr auch alles versteht was wir/ihr gemacht haben.

Was dennoch wichtig wäre:

  • Ihr steht mit eurem Rechner im VPN, da wo der Contest stattfindet, das heisst es wäre legitim euren Rechner anzugreifen, ergo: Fixt eure Boxen! Eventuell benutzt eine Live CD wenn ihr euch nicht sicher seit (Backtrack, Auditor, etc...)!
  • Linux Grundkenntnisse wären stark, muss aber nicht sein!
  • Ihr müsst euren Rechner bedienen können, wenn jemand euch sagt, hier ist ne Sicherheitslücke, da musst du das und das in den Browser eingeben damit das passt dann solltet ihr nicht fragen: Wo ist mein Browser? Ihr sollt nicht cool aussehen wenn ihr vor eurem Backtrack sitzt (das übernehm ich... *fg*), ihr sollt fähig sein an eurem System zu arbeiten! :-)
  • Ihr müsst euch trauen auch mal was selbst zu versuchen, wenn jemand damit beauftragt ist Logs zu lesen und meint was auffälliges gesehen zu haben, sagt es! Wir reissen niemandem den Kopf ab wenn ihr 20 mal hintereinander false positives liefert! Das ganze soll schliesslich Spass machen!
  • Die Leute die Ahnung haben werden sehr wahrscheinlich nicht die Zeit haben während dem Contest Dinge zu erklären, danach aber sicherlich gerne!
  • Gebt nicht auf und fühlt euch nicht entmutigt wenn drei Leute wie wild auf ihren Laptops rumhacken und ihr mal nicht wisst was zu tun ist. Surft die gegnerischen Webserver an, macht euch mit den Services Vertraut die auf der Box laufen, gibts da vielleicht ein Forum, wenn ja wie erreicht man das? Es kann gut vorkommen das jemand quer über den Tisch brüllt: "registriert mir mal jemand 10 User in dem Forum da!"
  • Seht das ganze sportlich, zeigt Einsatz, aber wenn wir abkacken steht drüber. Eins werdet ihr ganz sicher mitnehmen: Knowledge Level IT Security + 100%!

Ablauf

Normalerweise bekommt jedes Team das gleiche Image für die sog. Vulnerable Box, also die Kiste, die exploitet werden muss. Das heisst alle Sicherheitslücken sind identisch bei jedem Team. Um welches System es sich handelt und welche Applikationen darauf laufen ist vorher nicht bekannt. Die Applikationen sind zu 75% Web-basiert, soll heissen, ein Login Portal, ein Forum, vergleichbares... Die Sichereheitslücken sind irgendwo in diesen Applikationen versteckt, es muss also niemand (hoffentlich) einen 0-day Exploit im aktuellen SSHd finden. Sicherheitslücken gibt es meist in allen Schwierigkeitsgraden. Das fängt damit an das Standard User angelegt sind bei denen Username=Passwort ist und hört damit auf, dass man eine Binary reverse engineeren muss um die Lücke zu finden.

Nachdem die Images bei den Teams gebootet sind erhält man eine Vorlaufzeit in denen die Tore des VPNs sozusagen geschlossen sind. Nach einer festgelegten Zeit öffnen sich diese und es ist möglich die anderen Teams zu erreichen und somit die gefundenen Sicherheitslücken bei anderen Teams auszuprobieren um damit zu punkten.

Weitere Punkte gibt es dafür die Services am Laufen zu halten und zB Advisories zu schreiben über die gefundenen Sicherheitslücken.

Irgendwann ist der Contest aus und es wird zusammengezählt. Wer die meisten Punkte hat gewinnt...