[de / en] 42.org, Homepages, Stefan `Sec` Zehl, Berichte, CCC-Camp 1999

CCCamp - part I: Mittwoch - Die Anreise aus Muenchen

Am ersten Tag vor dem losfahren war frueh aufstehen (8:30 :-) und dann
erstmal panisches packen angesagt. 'das muss mit, und das muss mit,
achja und das auch...' Die Tasche wurde immer voller, die zweite auch,
und, ohgott, wie soll das noch ins Auto passen? Naja, um halb elf war
dann noch ein Abstecher mit dem Auto nach Kreilling dran, um noch
Fabians Laptop einzupacken, der aus der Reperatur zurueck ist. na
toll, lauter Laster im weg, und nix geht vorwaerts. Dann, ein kurzer
chat mit der Mutter dort, die fragt ob ich tatsaechlich mit der Ente
zum Camp fahren will. (nein, natuerlich nicht, wie bekaemen wir da 3
Leute und 9 Rechner rein?) um 12 dann wieder daheim, sollte ray, der
Fahrer, eigentlich auch da sein... naja, bald darauf war er ja auch
wirklich da. Ein paar hektische letzte Dinger einpacken (Gluehbirnen!)
und schon gehts ans Einladen. Ach sieht ja besser aus als erwartet, da
koennte ja glatt doch noch alles reipassen. Einen Zwischenstopp in der
Arbeit spaeter, und schon sind wir um eine UPS reicher. Dann, ab zum
dritten im Bunde, naemlich Pnose. Der hat auch noch Berge von Gepaeck
und auch noch eine SLC mit Monitor, oh graus. Aber auch das laesst
sich alles verstauen. Dann nochmal bei ray daheim vorbei, der will
noch ne Tasche und etwas Jolt einpacken. Unsere kreativen
Einpackkuenste versagen auch hier nicht, und so passt grad noch alles
ins Auto. Ray's Mutter laedt uns noch alle zum Mittagessen ein, so
dass wir unsere anvisierte Abfahrtszeit (um 14:00 auf der Autobahn)
doch noch um ne halbe Stunde verpassen.  Allerdings waren die
gebackenen Brenzenknoedel mit Pilzsosse (aus der man die Pilze auch
rausnehmen kann, btw :-) die verbrachte Zeit wirklich wert. Dann noch
schnell bei einer Tankstelle vorbei, um eine vergessene Zahnbuerste
nachzukaufen, und nun sind wir endlich unterwegs. Da wird das GPS
ausgepackt und angeschlossen (wir loggen den gesamten Weg auf Pnoses
Libretto mit, muss sich ja lohnen), und wir verbringen die erste Zeit
damit, uns die tollen Features des Gps anzuschauen.  Festzustellen,
das die Ortsnahmen da drin auch mit denen auf den Autobahnschildern
uebereinstimmen, die Autobahn leider nicht der ideallinie zum Camp
entspricht u.s.w. Alle gesichteten McDonalds und Autobahnkreuze werden
als relevante Wegpunkte fuer die Rueckfahrt gespeichert. Gut 4h
spaeter neigt sich der Libretto-Akku und ray's Fahr-lust dem ende zu,
und ein halt an einer Tankstelle wird zur Erfrischung und Wechsel des
Akkus und Fahrers genutzt. Nun versuchen wir unsere Deadline 'vor
20:00' auf dem Camp zu halten, und beeilen uns um so mehr. Ab der
Autobahnausfahrt gibt es wunderbare Camp-schilder, die uns den (etwas
kurvigen) Weg weisen, aber unseren Schnitt versauen. Dann treffen wir
auf die netten Einweiser, die uns all das Erklaeren, was wir entweder
aus camp-announce Mails oder von den Schildern vor Ort eigentlich
schon wissen, und uns einen Muellsack reichen (obwohl wir eigene dabei
haben). Aber gut find ich das trozdem. Direkt vor dem Parkplatz halten
uns nochmal welche auf, diesmal sogar Muenchner, die sich aber
faulerweise bisher nicht am MUCCC-Stammtisch haben blicken lassen.
(hoffe ihr bessert euch). Die sind auch Schuld, das wir das mit vor
20:00 nichtmehr geschafft haben :-) 5h30 haben wir insgesamt
gebraucht, eigentlich ein guter Schnitt. Wir sind auch ganz
hingerissen, das das Camp-Radio RDS (sinnigerweise 'chaos') hat, was
wir allerdings nur im Auto bewundern koennen, denn wir haben nur ein
reise-radiowecker dabei. Mal sehen ob das mit dem Audio-Multicasting
noch hinhaut, spaeter dann. Nun treffen wir Manuel, Fabian und Mel,
melden uns an (ray muss ein Trouble-Ticket ausfuellen, seine
Ueberweisung is verloren gegangen), laufen planlos rum, um dann die
Leute am Eingang zu beschwatzen, das wir unser Zeug mit dem Auto
hinterfahren duerfen. Nachdem man uns von unserem anvisierten
( schattigen) Platz gleich nochmal vertreibt (da kommt ein 7m-LKW hin)
bauen wir unser Hauszelt (ca. 30qm) eben neben Fabians Bus auf. Dann
fahren wir noch den rest zum Hackzelt, aber fertig aufbauen wollen wir
das erst spaeter. Nachdem es so langsam dunkel wird, versuchen wir das
Zelt aufzubauen (mei kann des schwierig sein) was uns erst gelingt,
als wir merken, das rechts das _andere_ rechts ist :-). Um nun Licht
zu haben, opfern wir ein Kaltgeraetekabel von Manuel ('Ich kann sowas
nicht mit ansehen') und bauen mit einer fernbedienbaren Steckdose, und
einer Fassung eine wunderbare Zeltbeleuchtung. Etliche Konfusion
spaeter (und einige trips zum hackzelt und zurueck - mei is des weit
weg ...) haben wir auch alle Kabel da, um mit mp3 und Boxen fuer Musik
zu sorgen, Internet und strom finden sich dann auch. Dann bemuehen wir
den Sandwichmaker von Fabian um mit den zutaten die Mel mit dem Rad
besorgt hat (danke!) ein formidables Abendessen zu zaubern.
Interessant, wie man das ein-und-ausschalten des Makers in
helligkeitschwankungen der Gluehbirne sehen kann). Im laufe dessen,
packt jeder seinen Laptop aus, und es wird vernetzt. Ein Hilfsbereiter
Nachbar (naja, er will auch was zu essen ab haben) stiftet sein
Toastbrot, um den Nachschub zu gewaehrleisten, was uns dann auch alle
saettigt. Kaum sind wir mit dem Essen fertig werden wir auch von einer
serie von Stromausfaellen geplagt, die nicht vollstaendig zu beheben
sind. Irgendwann haben wir dann die Idealkofiguration (alles ohne Akku
an die UPS, den rest direkt) hergestellt, aber dann faellt der Strom
natuerlich nicht mehr aus.  Naja, mal auf morgen warten :-> - so, und
dann wurde es langsam wieder hell und alle wanderten in ihre Betten.
bis auf ray, der holte noch jolt, und tippt jetzt auch auf seinem
Laptop. Und mir, der diesen Bericht noch schnell fertig hackt. Und
jetzt kraeht auch schon so ein dummer Hahn, drum wars das fuer heute.


CCCamp - part II: Donnerstag - Einmal ausruhen ?

Schon kurz nach dem einschlafen wachen die ersten wieder auf, es ist
neaemlich bereits um 9 schon so heiss, das jede Bewegung zur Qual
wird, geschweige denn in einem Schlafsack zu liegen. Trozdem habe ich
(ohne Schlafsack) noch anderthalb Stunden weiterschlafen koennen, aber
dann war es endgueltig zu heiss. Manuel und Fabian haben die tollen
Duschen ausprobiert, den es wohl an nichts (ausser Haken zum
Kleideraufhaengen) fehlt. Um noch ein wenig Schatten zu haben, bauen
wir auch noch ein Vorzelt vor dem Camper (Manuels, nicht Fabians, wie
ich mich belehren lassen musste) auf. Das war in fact dann etwas
schwieriger als das Hauszelt, da wir das vorher nicht geuebt haben,
und fieserweise auch noch eine relevante Stange fehlt. Dann schlaegt
Mel vor, statt Duschen doch den See zu gehen. Manuel und Mel blasen
dann auch noch das 'floating device', einen extrem kitschigen
rot-mit-weissen-Herzen Sessel. Endlich schlagen wir uns vorbei an dem
Heart-of-Gold Shuttle das eigentlich doch erst morgen landen soll, bis
zum See durch. Das Wasser ist zwar kalt, aber bei den Temperaturen
wirklich erfrischend. *aaaah* Mein persoenlicher Tip ist, mit dem auf
dem Sessel sitzend rauszutreiben, und dann ins Wasser zu springen.
Mit der mitgebrachten Pumpgun werden dann noch die 'unbeteiligten'
Zuschauer nassgespritzt, bevor wir uns wieder auf den Heimweg machen.
Das geplante Zelt-aufraeumen wird erstmal verschoben und eine Runde
mit Laptops ge-internetelet. Pnose verteidigt waehrenddesen als
einsamer Ritter unseren Platz im Hackcenter. Dort werden inzwischen
auch Getraenke verkauft, die allerdings etwas teuer scheinen.
Irgendwann danach gilt es Einkaufen zu fahren. allerdings nur zu viert
(mehr Platz is im Auto dann doch nicht). Diese Gelegenheit kam mir
sehr gelegen um anderthalb Stunden Schlaf nachzuholen. Die Sonne hatte
sich ja so halb hinter ein paar Wolken verzogen (der eine oder andere
unkte gar, das es noch Regnen wuerde) und der Luftzug pfiff gemuetlich
durch das Zelt (natuerlich nur wenn man vorher alle vorhandenen Tueren
oeffnet). Geweckt wurde ich von dem Menschen der mir die
Elektro-Policy erklaerte (Steckdosen in Tueten packen, kein Feuer,
u.s.w.) die uns aber eigentlich nicht neu war. Derselbe war von dem
Bus mit dem 19"-Rack (und dem 50-Port Hub) doch sehr beeindruckt ('Wer
mach _so_was?'). Nur leider war da keine Klimaanlage drin. :-) Prompt
danach, fast wie bestellt, kamen die Einkaeufer zurueck, die sehr
interessante Stories zum Erwerb von Loeffeln in Alt-Landsberg zu
erzaehlen hatten. Aber irgendwie war das Interesse an einem Loeffel zu
5,- ohne dazugehoerigem Joghurt nicht so hoch wie sie erwartet hatten.
Nach einer 'schnellen' Aufraeumaktion, die Zelte alle noch mit ein
paar Heringen extra gesichert (falls es doch noch regnet), und die
Steckdosen alle in Muelltueten eingewickelt, pilgern wir ins
Hackcenter, um dort ersmtal wieder ein funktionsfaehiges Netz zustande
zu bringen. So langsam nimmt das dann alles Gestalt an, und es gibt
auch einen Chaosradio life-stream zum hoeren. Etwas spaeter bringen
wir auch einen Irc-server ans Netz, allerdings ist das
Nameserver-Eintrag- Script zu beschraenkt uns unsere gewuenschten
Namen zu geben. Naja, resolving is eh fuer Weicheier :) In dem Netz
wimmelt es nur so von portscans, exploits und DOS-Attacken. Das dabei
vielleicht interessanteste war der Scherzbold, der die ARP-Adresse des
defaultrouters ueberschrieb. Naja, mir /sbin/arp laesst sich auch das
loesen, wenn man die richtige von den beiden erraet (was nach murphy
prompt schief ging). Spaeter abends gehts dann wieder zum Abendessen
in Zelt, wo wir kurz nach der Ankunft endlich das funktionieren der
UPS bewundern duerfen. (Laptops mit Akku sind da fein raus. Endlich
eine tragbare Stromquelle :-) Nach dem vorzueglichen Mahl duerfen wir
dann noch interessante Mitternachts-Interviews im Chaosradio
bewundern. Mel hat endlich X auf ihrem Latop hinbekommen, is dafuer
dann schon zum dritten mal am kernel-compilieren (nein, ELF-Support
macht man nicht als Module, wenn init und der module loeader ELF sind
:-). Dann bewundern wir auch das Camp-Programm fuer Freitag als .pdf
(ugh yuck bleargh, das naechste mal bitte in was lesbarem. das
acrorad-linux-binary coredumpt dann auch noch das eine oder andere
mal). Mit vereinten Kraeften wandeln wir es dann doch nach .ps um, und
drucken es auf Manuels Laserjet 6M aus. (war meine Idee, den
mitzunehmen, und ich bin froh drum :-) Im Gegensatz zu gestern ist es
doch noch frueher, und es kraeht noch kein Hahn, aber um morgen was
von den Vortraegen mitzubekommen wird es doch mal Zeit im Bett zu
verschwinden.


CCCamp - part III: Freitag - Jetzt gehts los:-)

Heute in der Frueh war es dann nicht minder heiss, als die Sonne auf
uns niedergebrannt hat, aber freundlich aussehende Wolken schoben sich
das eine oder andere mal vor die Sonne, und Wind gabs auch genug, so
dass man es sogar noch ashalten konnte. Irgendwann in der Nacht war
noch x gekommen, der dieselbe dann noch in seinem Auto verbracht hat.
Er hat es dann geschafft, sein Auto als Camper zu deklarieren,
und hier neben unser Zelt zu stellen. Der erste Test mit den
mitgebrachten Lucent WaveLan Karten bewies, das hier tatsaechlich ein
paar Sender stehen, und sogar funktionieren :) Nur so ganz Plug&Play
sind die dinger wohl nicht. Hach, mit dem Laptop
rumlaufen und ueberall Internet haben muss was schoenes sein.
Allerdings ist das im Zelt liegen auch nicht zu verachten. Dann haben
wir noch 'nen Abstecher ins HackZelt gemacht um uns dann die
Eroeffnungsrede anzuhoeren, die eigentlich auch nichts neues ausgesagt
hat. Aber irgendwie muss das Camp ja auch mal offiziell eroeffnet
werden. Dann haben wir mal im LockPicking-Tent vorbeigeschaut, das ist
das mit den blinkenden Lichtern, da sollte man nicht blind dran
vorbeilaufen, obwol man dann bei dem Pilz-Stand (und das mir, wo ich
doch keine Pilze mag) rauskommt. Die Kraeuterquark-Pilz-Brote sind
aber wirklich lecker, und schmecken auch garnicht nach Pilzen (das ist
jetzt ein Lob :-). Dann sind wir wirklich zum Lockpicking gegangen, was
mich feststellen liess, das ich komplett aus der Uebung bin, und bis
zu den naechsten Meisterschaften im Winter noch viel geuebt
werden muss. Als man uns fuer das englische Tutorial verjagt hat, sind wir
nochmal ne Runde ins Hackcenter, wo mein Chuck mich auf einen
Familiengenossen gegenueber aufmerksam gemacht hat. Da bin ich dann
zum begruessen ruebergegangen, was aber nicht auf viel Enthusiasmus
gestossen ist. Naja, sind wohl nicht alle FreeBSD-user auch
FreeBSD-fans... Allerdings durfte ich ihnen dann gleich ihr
Shellscript reparieren. Er schien ganz gluecklich als es dann
funktioniert hat, hehe, jeden Tag eine gute Tat, oder so. Da wir dann
schon im HackZelt waren, hat das uns
dann die Gelegenheit gegeben ein paar dieser T-Shirts zu erstehen, die
es dort zu kaufen gibt. Ein wunderschoenes knallgelbes ist auch dabei,
obwohl ich nicht weiss was das fuer ein Motiv da vorne drauf ist
'cernstruktur c-base', ein abgestuerztes Raumschiff soll es sein sagt
man mir. Mir
duenkt die C-Base-Leute sind nicht so begabt, wie die Camp'ler, unser
Raumschiff soll ja immerhin am Sonntag wieder repariert sein und
starten, die C-Base steht wohl schon laenger rum. Mit einem Riesenberg
(mindestens 2 T-Shirts pro Person) wieder zurueck zum Zelt, und dann
haben wir uns mal fuer eine runde Baden gehen entschieden. Auch heute
war das Wasser wieder wunderbar erfrischend, und unser 'floating
device' war wieder sehr praktisch um leute davon runterzuwerfen :-)
Direkt danach haben ich und ray das Schachspiel auf dem Badetuch
ausprobiert, das ich trotz drei Ratgebern gnadenlos verloren hab.
*grrr* naja, jetzt weiss ich wenigstens wieder warum ich Schach nicht
mag :). IN der Zwischenzeit tauchte neben uns ein Burger-stand auf,
und wir haben uns dann alle mal an einem "Super-Burger" gelabt.
Mjammm. Mal sehen ob die morgen auch noch mal da sind :).  Dann wars
auch schon wieder Zeit fuer den ersten Workshop, naemlich die
Lutz-One-Man-Show zum Faktorisieren von Prim- oder auch nicht
Primzahlen. Ohne Stift und Papier ist es nicht wirklich einfach dem zu
folgen, und ich muss zugeben, das ich auch irgendwo den Faden verloren
habe. Naja, in Zeiten des Computer ist Kopfrechnen einfach nicht mehr
so in. Unsere Test-Zahl hatte uebrigends dann als Faktor die 31, den
Lutz aber nicht gefunden hat *eg*. Nach soviel Kopf-Akrobatik war
erstmal wieder ein wenig Entspannung noetig. Erstmal haben wir
erkundet, wie denn die Laulichter im Zelt funktionieren,
wunderschoenes Baukasten-System :), und dann waren wir wieder eine Runde
im Zelt rumliegen. Da kam im Camp-Radio das Quiz, rauszufinden was 4
(Intel-)Assemblerbefehle als Ergebniss in AL liefern. War nicht wirklich
schwierig, bis auf die Frage, in welches der Argumente XOR das Ergebniss
schreibt (ja ich schaeme mich ja schon, das ich das nicht weiss).
Gluecklicherweise war meine Paper&Pencil-Methode die schnellste, und
ich bekam die als Preis ausgelobte Dose Jolt. Das wichtigste dabei war
allerdings, das sie _kalt_ war. *aaah* :) Dazu gabs noch ein kleines
Interview, in dem wir auch noch vergessen hatten die Loesung (18h) zu
nennen. Naja, nobody is perfect. Dann haben wir uns beeilt um noch den
Biometrie-Vortrag zu erwischen, der aber eh auf 24 Uhr verlegt wurde,
wegen is zu hell :) Dann haben wir Fefe im Hackcenter entdeckt, und ihn
gefragt, ob wir unseren mitgebrachten Echelon nicht neben den
outgoing Router stellen durefen, was aber mangels Hub an der Stelle
leider dann nicht ging.  Mit ray habe ich mich dann noch eine Runde im
Lockpicking-Tent vergnuegt, wobei ich den Impressionstechnik-Versuch
dann nach einer Weile aufgegeben habe, und mich wieder konventionellen
Methoden zugewandt habe. Spaeter dann (nach einer weiteren Runde im
Zelt-liegen gings auf zum "Hacker Veriety Pack"-Workshop, der doch
sehr interessant und lustig war. Direkt danach sollte das
Linux-Deathmatch stattfinden, weshalb wir uns leider schnell aus dem
Staub machen mussten. Das Deathmatch war dann doch nicht, also sassen
wir dann ein wenig im Hackcenter rum, haben versucht Sachen auf den
camp-ftp server up & downzuloaden, was aber nur von maessigem Erfolg
gekroent war. Unter anderem durften wir wieder die neuesten
DOS-Angriffe auf ein ganzes Netz kennenlernen. (Switch-loops sind da
auch sehr geeignet). Dann konnten wir den wahren Wert des IRC wiedereinmal
kennenlernen, naemlich nebeneinander zu sitzen, und sich per Tippen zu
unterhalten. Das Camp-Radio per mpg-stream is leider seitdem
unbenutzbar geworden, so dass wir nicht mehr informiert sind. Schade,
war echt ne tolle Idee. Vielleicht bekommt ihr das ja wieder hin.  Im
Hackcenter wurde es mit der Zeit dann wirklich kalt, und wir sind
wieder ins Zelt umgezogen. Dort war es zwar noch kaelter, aber wir
hatten Schlafsaecke. Allerdings war das unklug, weil ich dann einfach
so *plopp* vor dem laufenden Laptop eingepennt bin. Allen anderen
scheint das gleiche passiert zu sein, weil heute morgen noch das Licht
an war. Drum kommt dieser Bericht jetzt etwas verspaetet, aber
imerhin.


CCCamp - part IV: Samstag - Extreme Camping

Bald nach dem aufstehen war noch ein Einkaufen angesagt, da Samstags die
Geschaefte voellig Hackerunkompatibel schon viel zu frueh zumachen. Diesmal
bin ich auch mitgegangen um auch mal was von Alt-Landsberg zu sehen :-) Auf
dem Camp-Parkplatz kann man auf die rumstehenden Autos uebrigends wunderbar
'sau' oder 'dreck' malen, so schoen breitet sich da der Staub aus (*hust*).
Beim wegfahren haben wir festgestellt, das das Camp-Radio leider nicht sehr
weit zu empfangen ist, schade eigentlich. Naja, wir sind ja hoffentlich
gleich wieder zurueck. Dann waren wir erstmal im Supermarkt, und haben mit
vollen Haenden eingekauft. Unter anderem blauen Wackelpudding... Auch haben
die meisten von und je ein Eis gekauft, wobei ich festgestellt habe, das Ed
von Schleck einfach jedem ein Begriff ist, die gibts schon so richtig
lange. Beim rausgehen war da noch ein schoener Springbrunnen, an dem x
demonstriert hat, das Calippo sehr leicht aus der Tuete flutschen kann.
Eigentlich erstaunlich wie lange das Eis sich da drin gehalten hat, bis es
zu schmelzen anfing. Nachdem Manuel noch ein paar Oropax fuer Mel besorgt
hat, gings dann wieder zurueck, man will ja nix verpassen. Als erstes waren
wir mal in dem IPsec/DNSsec-Vortrag, der doch sehr interessant, aber auch
sehr lang war. Nachdem dieser Vortrag die ganzen 2 Stunden ausnutzte, gings
danach gleich weiter zu 'telephony encryption' was mich persoenlich nicht
so ueberzeugt hat, weil imho analog-devices gerade am aussterben sind, und
man sowas besser gleich mit ISDN machen sollte. Aber wenns denn mal
funktioniert, isses auch ne tolle Leistung. Da es dann leicht zu nieseln
begann habe ich mal stattdessen in unser Zelt zurueck geschaut, ob auch
alles zu und dicht ist, fuer den Fall das es noch staerker zu regnen
beginnt. Troz meiner Unkenrufe blieb der Strom erstaunlicherweise komplett
stabil, ich bin eigentlich immer offen fuer positive Ueberraschungen :).
Bald war auch der Workshop aus, und passenderweise hat uns das Radio wieder
ein Assembler-Raetsel aufgegeben. Allerdings sind unsere Kentnisse in
i86-Assembler wohl nicht gut genug, weil wir nichts sinnvolles daraus
ersehen konnten. Spaeter habe ich erfahren, das da sogar ein bug drin war,
naja :-). Um kurz nach 16 Uhr habe ich dann noch bei Lutz's 'Generic
biderectional mapper' vorbeigeschaut, aber das sah beim reinschauen
verdaechtig kompliziert aus, und so bin ich lieber ins HackZelt. Manuel und
ray sind dann ins Lockpicking-Tent zum Thema 'Werkzeug selbermachen'.  Das
werden wir in Muenchen wohl auch mal als Workshop machen. Nicht viel
spaeter habe ich versucht die anderen Leute davon zu ueberzeugen, das wir
noch ne Runde baden gehen sollten, obwohl die Sonne nicht mehr wirklich vom
Himmel gebrannt hat. Eigentlich war es eher komplett bewoelkt. Nachdem ich
Mel im LockpickTent gefunden hatte, und sie mitkommen wollte, gelang es mir
Manuel und ray dann doch noch loszueisen. Soo kalt war es dann doch nicht,
und drum war es dann auch noch sehr spassig, und erfrischend. Frisch aus
dem Wasser stellte sich zwar das Problem die Haare und Shorts
trockenzukriegen, aber immerhin gab es wieder diese leckeren WagenBurger
*mjamm* Wobei auch Pnose gleich  vorbeikam, um noch einen zu mampfen. Dann
aber nix wie ins Zelt, um wieder trockene Klamotten zu besorgen. Ray is
dann mit Manuel und noch ein paar anderen zum McDonalds gefahren, um einen
Nachmittagssnack zu halten.  Da bin ich dann in den 'NT Shellcode'-Vortrag
von fefe gegangen. Der Anfang war noch etwas sehr grundlegend, so das ich
zwischendurch 'kurz' ins Hackcenter gegangen bin, und wollte eigentlich
nacher zurueckgehen um mir den Rest anzuhoeren. Dann kam aber ein hilfloser
FreeBSD-user 'du benutzt doch auch FreeBSD, mein Sound geht nicht, kannst
du mir helfen?'. Leider dauerte das Debuggen (devices machen, sound
eincompilen, irq raten) so lange, das ich fefe nur noch traf, als er aus
dem Woerkshop kam. Mist. %) Immerhin hab ich eine Quelle fuer c64-sids als
mp3's gefunden. (Irgendwoher kam ploetzlich der unverwechselbare Sound von
Bubble-Bobble, da musste ich nachschauen gehen. Leider habe ich inzwischen
vergessen auf welchem ftp-server die lagen).  Dann habe ich zusammen mit
Mel ray und Manuel gesucht, die angeblich im Reengeneering-Tent sein
sollten. Ein Zelt neben diesem haben wir sie dann gefunden, beim
Handy-Basteln. Auf dem Rueckweg hab ich Pnose noch im Conspiracy-Workshop
angetroffen, dar ewig voll war, wohl also sehr Interessant. Allerdings
sollte jetzt dann das Linux-Deathmatch stattfinden, und das wollte ich
nicht verpassen, also bin ich da hin. Die Vorbereitungen waren auch im
vollen Gange, also hab ich mir schnell einen Stuhl besorgt, und mich direkt
neben den Projektor gehockt, und an fefe's hektischem rumgelaufe gefreut,
nachdem er ploetzlich ein Interview geben sollte :). Kurz danach kam auch
ray vorbei, mit seinem eigenen Stuhl, und wollte es sich gerade gemuetlich
machen, als fefe meinte 'wir haben ein Team zu wenig, wollt ihr nicht
mitmachen'. Naja, und so kams nach ein wenig hin und her, das ich ohne die
Regeln gelesen zu haben ploetzlich mit ray vor einer frisch installierten
debian-kiste sass, und deathmatchen musste. Wir haben dann noch Manuel als
dritten in unser Team verpflichtet, und los gings. Kurz nach Beginn, als
wir das ethernet am laufen hatten (mir als bsd'ler vorher noch ein insmod
zuzumuten...  wenigstens hatte Manuel und ray linux-spezifische Erfahrung),
standen wir vor dem Problem, das ein anderes Team schon einen tcp-resetter
(genauer gesagt, ein tcp-syn|ack-spoofer, ein geiles tool fuer ein
deathmatch, hut ab) am laufen hatte. Kurz darauf hatten wir allerdings
meine FreeBSD-cd geholt bekommen, wonach wir die benoetigten Services
'einfach' vom Source installiert haben. An dieser Stelle noch dank an die
Zuschauer die mit kleinen Tips ('-i!  fuer install')  eine grosse Hilfe
waren. Spaeter haben wir dann auch noch die Debian-binary-CD bekommen, von
der wir dann auch noch das eine oder andere geholt haben. Auch haben wir
noch eine neue Tastatur drangehaengt, die originale war naemlich schwarz
mit grauen Buchstaben, und das in einer Ecke fast ohne Licht *grrr*. Davon
koennte ich jetzt noch Stundenlang erzaehlen (zum Beispiel die Blicke des
Nachbarteams, die uns des Firewallings ( verboten) ueberfuehrt hatten, um
dann festzustellen, das wir temporaer einfach das Netzwerk-kabel
ausgesteckt hatten :-> ), die Spielzeit war immerhin 5:23, ud es ist eine
menge passiert. (Ueberrascht hat mich, das tatsaechlich Zuschauer so lange
durchgehalten haben :-) Es reicht zu sagen, das es sehr stressig war,
etliches nicht so tat wie wir oder andere sich das vorgestellt haben, aber
es war insgesamt doch sehr lustig. Wir ueberlegen jetzt, ob wir beim
naechsten Deathmatch wieder, diesmal mit mehr Vorbereitung antreten sollen,
mal sehen. Aus wars dann so um halb 5 in der frueh, wonach wir noch
etliches diskutiert haben, und auch bewundert was die anderen getan haben,
Hut ab, hinter den Tools steckt wirklich Arbeit. Dann sind wir aber
schnurstracks ins Bett, weil ab 9 Uhr wirds so heiss, das man eh nicht mehr
schlafen kann.


CCCamp - part V: Sonntag - Fun Fun Fun

Auch dieser neue Tag begann mit einer moerderischen Hitze. Aber diesmal hatten
wir schon etwas Erfahrung damit, und haben als allererstes (noch im Halbschlaf
sozusagen) die Zelt-Tueren alle so weit wie moeglich geoeffnet, und damit die
Temperatur im einigermassen ertraeglichen Bereich gehalten. Darum sind wir dann
auch relativ spaet (im Vergleich zu den letzten Tagen davor) aufgestanden. Dann
waren wir heute als allererstes Baden. Wiedereinmal war das 'floating device'
mit von der Partie, wobei diesmal auch andere davon begeistert waren. Da
konnten wir das 'Leute draufklettern und dann ins Wasser fallen lasen' weiter
ueben. Auch erkundeten wir heute das 'andere Ufer' des Sees, und betrachteten
die dort lebenden Eingeborenen, die doch etwas hinter unserer campotischen
Zivilisation hinterherhinkten, da ihnen der Link zum Internet fehlte.  Wieder
zurueck am Camp-Ufer, nach dem diesmal etwas laengeren Bad, das wie immer sehr
erfischend war *aaah*, genehmigten wir uns wieder einen Spezial-Wagenburger,
der allerdings diesmal etwas laenger dauerte, da sich die Verkaeufer mit einer
Bestellung von 5 Stueck auf einmal temporaer etwas ueberfodert fuehlten. Dann
lagen wir noch eine Weile faul in der Sonne, und konnten uns nicht aufraffen in
den 'Pseudonyme IP-Netzwerke'-Workshop um 14 Uhr zu gehen. Irgendwie machte
sich der fehlende Schlaf bemerkbar. Irgendwann spaeter haben wir uns endlich
wieder aufgerafft und sind zurueck zum Zelt, damit Manuel, ray und Pnose zu dem
IPv6-Workshop gehen konnten. Einziger interessanter Fakt davon war wohl, das es
13 Hosts gab, die erfolgreich an dem Feldversuch teilgenommen haben.
(Eigentlich wollte ich ja auch IPv6 testen, bin aber irgendwie nicht
dazugekommen. Naja, naechstes mal dann :) Ich bin statdessen noch etwas faul
rumgelegen, bevor ich zusammen mit ray nochmal bei Steffen im Lockpicking-Tent
vorbeieschaut habe, um etwas ueber die Koordination der Muenchner Sportgruppe
mit Hamburg zu ratschen. Dann hab ich mich flugs ins Hackcenter begeben, um zu
schauen ob irgendjemand auf den Aushang 'Pgp-Keysigning-party um 17:30' hin
erschienen ist (ja, wir waren spaet dran, ich hatte eigenlich vor sowas frueher
zu announcen, habs aber einfach vergessen. Ein netter Mensch hatte mich heute
vormittag erinnert) - leider war niemand da. Ein Mensch allerdings kam vorbei,
waehrend ich wartete, und fragte mich 'wie das hier ablaeuft' meinte aber das
Camp, und nicht PGP.  Der hatte sich scheinbar aufs Camp verlaufen, ohne zu
wissen was hier passiert :-) Dann hatte noch noch einen kleinen Plausch mit
thiemo, (endlich hatte ich jemanden von #unix gefunden, ob wohl doch so viele
da sein sollten %-) und konnte ihn auch gleich deprimieren, indem ich sein
Vorhaengeschloss sehr schnell aufpickte *hehe*. An der gleichen Stele fand dann
auch praktischerweise die Abschlussveranstaltung statt, da sie wegen schlechten
Wetters nach drinnen verlegt worden war (Diesmal ist keiner zurueck in unser
Zelt gegangen, und daher sind diesmal auch ein paar Sachen nass geworden, zum
Glueck aber nichts elektronisches :-) Im grossen und ganzen war es ein sehr
schoenes Event, das ohne die Hilfe zahlreicher Leute nicht moeglich gewesen
waere. An dieser Stelle auch mein Dank an alle. Es wurden dann noch Preise
vergeben, und zwar fuer das beste Modell der Heart of Gold von den
Art&Beauty-Leuten. Und den besten Reengineering-Hack, dessen Gewinner nicht
oeffentlich genannt wurden. Nacher waren wir auf der 'informal key signing
party' im Cypherpunks-Zelt, was aber mehr zu einer demo, wie man richtig
Signed, und zu einer etwas laengeren Diskussion wen man denn nun Signen soll,
und was eine Signature eigentlich aussagt. Das war mal sehr intresseant, die
Interpretation anderer Leute zu hoeren. Und auch wenn ich nicht voll und ganz
zustimmen kann, wars doch sehr interessant. Danach sind wir peu a peu wieder
zurueck ins Zelt, wo wir dann unser Abendessen geacht haben.  Wir hatten etwas
zu viel da, da wir gestern wegen dem Deathmatch nicht mehr zum Abendessen
gekommen waren. Dafuer wars um so reichhaltiger und leckerer *mjamm*. Im laufe
des Abends wurden dann die Datenklos abgebaut, so dass wir kein Internet mehr
hatten. Dafuer haben wir uns dann in unserem Privatnetz xtris gespielt, wobei
und Mel Letztendlich alle geschlagen hat %-). Ray hat waehrenddessen noch seine
WaveLan-Karte unter Linux zum laufen bekommen, weil die angeblich noch bis
morgen frueh laufen sollten.  Allerdings war das dann doch fuer die Katz, weil
2 Stunden spaeter war auch das Funk-Internet weg. Dafuer kam aber wau vorbei,
den wir mit unseren Vorraeten auch noch mitverpflegen konnten, und der im
Austausch wieder viele Interessate Dinge zu erzaehlen wusste. Dann war es fuer
uns langsam Zeit auch zu schlafen, da wir Montag morgends packen und
zurueckfahren wollten.


DeathMatch

From: ray@core.ray.org (Ray)

[...]
Was das DeathMatch angeht, das kann man wahrscheinlich besser beschreiben
wenn man nicht mitgemacht hat, aber ich kann ja mal ein bisschen was
aus meiner subjektiven Perspektive schreiben...

OK, es ist Samstag Abend, ich stehe im (zweiten? :) Reengineering
Zelt und wollte gerade noch ein bisschen am 9110 rumspielen, als ich
irgendwoher hoere, dass das DeathMatch anfaengt. Nunja, vorbeischauen
wollte ich da sowieso und FeFe ist ja auch immer ganz lustig, also ab
in's Hackcenter, Stuhl mitgenommen und schoenen Platz neben Sec und in
der Naehe der Leinwand gesucht - aber es geht eh noch nicht los, Sec
erzaehlt irgendwas, das wohl noch ein Team fehlt, FeFe erklaert gerade
irgendwem hinter uns grob die Regeln. Dann sagt Sec irgendwas, dass er
aber von Linux keine Ahnung hat und das sicher nicht alleine macht und
irgendwie habe ich wohl vergessen energisch genug nein zu sagen, naja,
und dann fehlte kein Team mehr. Wir nahmen uns dann noch einen dritten
Mann dazu (erst Frank, aber den tauschten noch vor Beginn Manuel aus :),
mehr als 3 machen an einer Konsole eh nicht Sinn. Mel brachte dann noch
etwas Cola, naja, wird sich schon ueberleben lassen.

Wir nahmen also an dem letzten freien Rechner Platz, eine Debian 2.1
sollte da drauf sein (uargh, nix gegen Debian, aber von uns hatte
sowas auch noch nie einer benutzt) und die Regeln hatte ich, zumindestens
in irgend einer aelteren Version schonmal grob gelesen. Aber da die
von FeFe versprochene Fassung auf Papier noch auf sich warten liess,
und gluecklicherweise genug D2 durch's Dach strahlte, versuchte ich,
mit dem 9110 die Regeln aus dem Web zu laden, ging sogar einigermassen,
jetzt wussten wir zumindestens, welche Services zu implementieren
waren. "Anstrengend" klang v.a. ein proxy-CGI und ein IDS, aber das war
uns erstmal egal.

Die Rechner waren schon gebootet, es wurden Zettel verteilt auf denen
einige Infos standen (IP, Netmask, Gateway, Gameserver, User-ID, Passwort
und eine Domain die man spaeter seinem named zu erklaeren hatte), und
dann durfte es losgehen. Wir liefen hier in das erste Problem, da wir
versuchten uns mit dem User und Passwort anzumelden, gedacht war es
aber so, dass man sich als root ohne Passwort anmeldet, der User auf
dem Zettel sollte spaeter angelegt werden (und ich hatte schon erwartet,
dass man sich den root auf der Kiste erstmal hacken haette sollen :).

Als erstes als wir uns dann als root eingelogged hatten wurde das Passwort
gesetzt (im Nachhinein gesehen waere das wohl garnicht so eilig noetig
gewesen, aber better safe than sorry :) - jetzt kann ich's ja sagen,
"secure"[1] war spontan das erste, was mir einfiel, und im Laufe des
Deathmatches haben wir das dann auch nicht mehr geaendert. Dann ein ps
-axf und erstmal alles gekillt was nicht akut noetig war (was da ein
Zeug lief... postgres, lpd, u.s.w.) und dann haben wir auch festgestellt,
dass das Netzwerk eh noch nicht konfiguriert war, vor Angriffen mussten
wir also noch keine Angst haben. Aber verlorene Zeit bedeutete verlorene
Punkte, (ping war der einfachste Test des Gameservers) also machten wir
uns, nachdem wir uns einigermassen sicher waren sicher zu sein, dran das
Ethernet hochzubekommen. Ich hatte es von vorne herein aufgegeben mir
jetzt anzusehen wie Debian das macht, daher einfach direkt per ifconfig
eth0. Naja, eth0 gab's nicht, super, aber gluecklicherweise war das wohl
nicht die erste Pruefung und es wurde zeitlich gerade passend durchgesagt,
dass es sich um pcnet32 Ethernetkarten handeln wuerde. Also entsprechendes
Modul geinsmodded und siehe da, es gab Ethernet und das war dann auch
schnell konfiguriert.  Oh, und siehe da, ping ging, aber ein anderes
Team war etwas schneller gewesen und hatte daher schon ein paar Punkte
mehr in dem netten Balkendiagramm.

Hm, beim anfaenglichen Services killen war uns doch ein junkbuster
aufgefallen, der erschien uns geeignet, den geforderten Webproxy zu
implementieren, und so stellten wir ihn auf den geforderten Port 3128
um und hatten den ersten echten Service laufen.

Als naechster, einfach zu startender Service, kam uns der Nameserver vor
(fuer web haette erst auch noch ftp gehen muessen, und fuer mail auch pop,
damit es Punkte bringt), war aber kein bind installiert. Als einfachstes
kam es mir da vor, einfach nen bind binary von daheim zu holen, also scp
angeworf - oh, nein, es war keine ssh installiert. Also ftp angeworfen um
eine ssh von irgendwoher zu holen, aber das Netz funktionierte nicht mehr.
"Jaja, es gibt da ein Problem mit dem Gameserver" hiess es, und der
war auch Router, also gerade kein Netz. Aber dann war der Gameserver
rebootet und es ging immer noch nichts, ein Verdacht, ein tcpdump,
und die Sache war klar: eines der anderen Teams hatte bereits einen TCP
Connection Resetter gestartet, jede TCP Verbindung von uns wurde damit
sofort terminiert. Aergerlich, sowas haette man auch mit haben sollen,
aber wer hat das schon immer in der Tasche?[5] FeFe kam gerade vorbei,
amuesierte sich koestlich, kam dann aber zu dem Schluss, dass zumindestens
das Resetten von Connections des Gameservers verboten sei, weil sonst
koennten ja keine Services getestet werden. Das aenderte nichts daran,
dass es wohl mit Software aus dem Internet holen erstmal nichts mehr
werden wuerde (die Idee uns Files per UDP von aussen zuzuschicken
scheiterte daran, dass das DeathMatch Netz gemasqueradet war, OK,
prinzipiell wuerde sich da trotzdem was machen lassen, aber nicht jetzt,
nicht so schnell).

Naja, also legten wir erstmal den gewuenschten User (es koennte ja
schon jemand das "richtige" Passwort gesniffed haben und damit bei einem
frischen User einigen Unfug bauen) an, vermurksten ihm die Shell (naja,
wir haben sie halt auf /dev/null gesetzt und das nach /etc/shells
geschrieben, damit der ftpd den User noch einloggen laesst :) und
editierten die inetd.conf (was da wieder alles drin war... baeh,
ftp ueberlebte, der Rest -> Tonne), so, jetzt sollte zumindestens
ftp gehen. Die versprochenen File-Uploads vom Gameserver blieben aber
erstmal aus. Also erst mal weiter sehen, was noch so an Bordmitteln
vorhanden war. Immerhin, exim war als MTA installiert, wir entschieden,
dass die Version ausreichend sicher ist und starteten ihn nach einer
kurzen Diskussion (lass uns doch lieber einen postfix installieren,
nein, sendmail, aeh, wir haben kein Netz, ahso, OK).

Es kamen aber auch keine Mails, bloeder Gameserver. Lokal per telnet
localhost 25 zugestellte Mails kamen jedenfalls an, so dass wir
annahmen, dass von unserer Seite soweit alles OK war. Hm, da war noch
irgendwas, der Webserver sollte auf einer alias-IP laufen die man sich
per nslookup vom Gameserver holen sollte. Vielleicht war die auch fuer
den ftp-service relevant. Der Kernel hatte irgendwie allerdings kein
IP-aliasing drin und ehe ich ueberlegte ob man das insmoden koennte,
ergriff Manuel die Tastatur und machte es "the BSD way" - ein dummy0,
ein arp-Eintrag, eine Route, fertig ist die alias-IP. Aber immer noch
keine Anfragen vom Gameserver, weder ftp uploads noch Mail. Also ein
bisschen TCP-Dump gelesen, und wir verdaechtigten ein weiteres Team des
Connection Resettens, also wieder "Beschwerde" an FeFe, der das denen
dann untersagte, zumindestens fuer die Connections des Gameservers. Der
zweite Resetter kam uns gelegen, weil dadurch hatte wenigstens das Team,
dass den ersten Resetter laufen hatte, auch kein Internet mehr, und die
Verhaeltnisse waren wieder fair.  Ahh, und dann kamen auch die ersten
anonymous-ftp-gets auf das "ip" File, schoen - eine zweite Farbe auf
dem Punktescreen, wo sich bisher nur die verschiedenen Saeulen fuer den
"ping" Service aufbauten (ein Team uebrigens mit ziemlichem Rueckstand,
weil es sich wohl durch anstecken der PS/2 Maus im laufenden Betrieb
geselfLARTet hatte und einige Zeit damit beschaeftigt war den Rechner
wieder hochzubekommen :).

Gut, blieb immernoch ungeklaert wie wir an weitere Soft kommen sollten,
als wir das flache CD-ROM entdeckten. CDs, ein Koenigreich fuer CDs.
Eine RedHat 6.0 CD lag in meinem Rechner weiter hinten im Hackcenter,
aber wuerde uns die was helfen? Sec liess Pnose schliesslich seine
FreeBSD 3.2 CDs holen (schliesslich wurden wir eh' schon als "das BSD
Team" gefuehrt :), da muessten irgendwo Sourcen drauf sein. Waren es
dann auch, und es gelang uns immerhin einen qpopper 2.53 von dort zu
compilen.  (Womit es uns schonmal besser ging als einem anderen Team,
das einen qpopper 2.3 laufen hatte. Prinzipiell also root-exploitbar,
aber es gelang uns das ganze Match ueber nicht einen exploit / passenden
Offset dafuer zu finden, naja, ohne Netz auch nicht ganz einfach, wir
sind halt einfach keine guten ScriptKiddies :)

Eine kurze Diskussion, ob wir nicht den exim doch durch postfix ersetzen
sollten, eine noch kuerzere Diskussion, ob wir nicht das ganze Linux
plaetten und FreeBSD installieren sollten, aber dann haben wir doch
einfach weiter gemacht.

Als naechstes wollten wir einen Sniffit bauen, schliesslich waere es
mal schoen die Passwoerter der anderen zu haben, vielleicht wuerden sie
irgendwas uebersehen, aber, kein yacc. Sec war dann irgendwie auf dem
"was soll's" Trip und installierte die bison Sourcen. Das muss ca. der
Punkt gewesen sein, an dem ich mich erinnerte, dass in der Ankuendigung
irgendwas von Terminals stand, aber nirgends standen Terminals. Mehr so
des coolness-factors wegen entschied ich mich, meinen 9110 als serielles
Terminal anzuschliessen (die Idee hatten wir vorher schonmal irgendwie
scherzhaft, und ich wollte das schon immer mal probieren :), das serielle
Kabel hatte ich mir schon bringen lassen, mit dem Hintergedanken, ueber
GSM online zu gehen und so doch wieder Internet zu haben, aber jetzt
erstmal ein getty. Kurze Bedenken, ob das keine zu grosse Dehnung der
Rules ist, aber nachdem am Nachbartisch schon andauernd Disketten von
irgendwoher gebracht wurden, und der 9110 als Terminal zum DeathMatchen
wohl doch eher gagcharakter hat, haben wir's einfach mal gemacht. Die
Debian hat mich dabei angenehm ueberrascht, in der inittab stand ein
fertiger Eintrag den ich nur noch entkommentieren musste, fertig. - Aeh,
geht noch nicht, schickt das bloede Terminal etwa falsche Zeilenenden
oder sowas? Ach nee, noch in den securettys die serielle Konsole fuer
root freigegeben, und ich konnte mich auch einloggen, schoen.

Sec wurde indes die deutsche, grau auf schwarz beschriftete,
unergonomische Tastatur zu bloede (jaja, ich tippe auf einer 20x5cm
Handytastatur und er stoert sich an sowas), und er liess sich eine
gescheite bringen. Die war natuerlich US belegt und er als unser
eingefleischtester BSDler bekam das nicht ganz spontan umgestellt, aber
nach ein paar Experimenten (loadkezs &usr&lib^H^H^H loadkez^H loadkey
... [2]) war auch diese Huerde genommen - und mel hatte sogar noch ein
paar Mannertafeln mitgebracht.

Waehrend Sec und Manuel sich irgendwie mit sniffit und bison pruegelten
versuchte ich dann mal, einen apache von der FreeBSD CD zu ziehen,
fand den Source auch irgendwann, entpackte ihn, compile scheiterte an
der libcrypt.  Achja, da warwas. Naja, raus mit dem ganzen authkram,
nochmal, jetzt lief's durch (ja, ein -lcrypt im Makefile haette
es moeglicherweise auch getan, aber wozu?). FeFe kam irgendwie mit
Debian CDs an, aber als er sah das wir schon FreeBSD CDs hatten, gab
er die erstmal dem Nachbarteam. Mist :). Nagut, ich pfriemelte an den
apache-configs rum, kein Spass auf der Tastatur des 9110, irgendwie
waren die Pfade suboptimal einkompiliert, und ich war irgendwie gerade
am anlegen wilder Symlinks, da kam FeFe an und behauptete wir wuerden
irgendwas flooden. Wir? Flooden? Pfft. Hatten wir doch gar keine Zeit zu.

Sec hatte den Sniffit inzwischen aufgegeben und stattdessen einen tcpshow
gebaut - ein tool das tcpdump-paket-output menschenlesbarer macht. Wir
hatten also einen primitiven Sniffer aus tcpdump | tcpshow laufen, der
uns ein paar Passwoerter der Mitstreiter verraten sollte - und sogar
auch tat. Das erstbeste was uns damit einfiel - einen ftp Server hatten
die anderen noch nicht laufen - war ein kleines Shellscript mit netcat,
dass im sekundentakt auf einen pop3d connectete und "DELE 1" schickte,
um eventuell eingelieferte Mail zu loeschen ehe sie der Gameserver holen
konnte - aber leider lieferte er wohl auch bei den anderen noch keine
Mails ein. Unser qpopper war gegen diesen Angriff natuerlich immun -
er kannte DELE nicht mehr, das hatten wir mit einem vim -b (der einzig
wahre Binaereditor, oder womit patcht ihr die Kekse aus euren netscapes?)
durch ____ ersetzt, im ftp Server uebrigens durch __X_ falls jemand das
eine rausfindet sollte er nicht das andere haben :))

Gerade als wir uns dann endlich daran machen wollten, den schon lange
geplanten named von den FreeBSD CDs zu compilen, bekamen wir auch mal
die Debian Binary CD in die Finger (die Source CDs hatten wir zuvor
schon abgeleht, Sourcen hatten wir selber genug :), und installierten
das bind package von da (Debian? Ich tippte dpgk und warf einen fragenden
Blick in's Publikum, worauf hin mir der Parameter -i zugerufen wurde :),
und weil's so schoen war den apache auch gleich (tja, so gesehen hatte
uns die in der rechtlichen Grauzone anzusiedelnde serielle Handykonsole
nicht wirklich was gebracht - aber ich hatte den apache schon fast fertig
installiert gehabt ;). Die bind-Konfiguration war nach dem Klaeren einer
weiteren Regelunklarheit schnell erledigt, und wir hatten als erste einen
dritten Service laufen. Mit Ping, ftp und named lief unser Punktechart
(fuer meinen Geschmack damals viel zu selten zu sehen :)) den anderen
jetzt ziemlich davon, und wir wurden etwas ruhiger - zumindestens das
Zwischenziel sich nicht voellig zu blamieren war erreicht :)

Irgendwo hier implementierten wir auch unser "IDS" - naja, ok, wir
schrieben '*.* /tmp/allog' in die syslog.conf und starteten ein tail -f
darauf auf einer der virtuellen Konsolen. Eigentlich weniger um Angriffe
zu erkennen sondern in der Hoffnung endlich mal Logs von unserem doofen
exim zu bekommen - /var/log/*mail* war naemlich ziemlich leer und von
exim hatte auch niemand von uns Ahnung :) Half aber nichts, immerhin
sahen wir aber da ab und zu die named-xfers des Gameservers und sowas.

Jetzt, wo etwas Zeit war kuemmerten wir uns mal um den Apache, der loggte
bereits fleissig Requests des Gameservers auf ein File /ip - naja, haben
wir halt mal eines angelegt, und unsere IP reingeschrieben. Dann fiel uns
auf, dass das garnicht in den Rules erwaehnt war[6], eigentlich haette
der Gameserver ein File in das home des Users hoch-ftp-en und dann per
http wieder holen sollen, aber weder noch passierte. Dafuer hatten wir
irgendwie eine ganze Menge apache Prozesse laufen, sowas aber auch, sollte
da gar...? :) Jo, auch noch von einer gespooften IP. Hm, und unser ftpd
ging auch nicht mehr, da war wohl jemand auf den DoS Geschmack gekommen,
boese, aber das liegt wohl im Namen DeathMatch irgendwie mit drin :)

Das Prinzip des DoS war klar, unser ftpd war von inetd gestartet, und
dieser stellt einen Service bei zu "intensiver" Nutzung kalt. Ein bisschen
manpage-lesen und wir hatten die Werte hochgedreht, was zwar gegen einen
wirklich aggressiven Angriff nichts genuetzt haette, aber so aggressiv
war er nicht, und so war unser ftpd seit dem stabil - nochmal Glueck
gehabt :) Um zumindestens eine adequate Antwort zu liefern bastelte
Sec sowas auch als Shellscript mit while true und netcat zusammen -
und tatsaechlich, der ftpd des Aggressors war zumindestens fuer jeweils
5 Minuten erlegt.  Der Funfaktor allerdings nicht ganz so gross, weil
dessen ftpd eh' noch keine Punkte brachte, er hatte ihn wohl noch nicht
gescheit aufgesetzt.  Der andere schon laufende ftpd liess sich durch
dieses primitive massenconnecten allerdings nicht beeindrucken, naja,
waer ja auch zu schoen gewesen.

Fuer den apache gilt im Prinzip das gleiche, der Angreifer connectete
einfach so oft, bis die eingestellten max_connections erreicht waren, und
dann hatte der Gameserver keine Chance mehr sein File zu holen. Eigentlich
haette uns das egal sein koennen, denn fuer http hatten wir eh noch keinen
einzigen Punkt bekommen obwohl es unserer Meinung nach korrekt aufgesetzt
war. Der Gameserver tat einfach nicht was die Doku versprach. Aber wir
gingen mal ueber die httpd.conf und drehten an den Maximalwerten. So,
server geHUPt, und mal sehen was so passiert. Hm, was dann passierte
sollte ich eigentlich verschweigen, aber es hat uns doch ein gewisses
Amuesement bereitet, und man muss zu seinen Fehlern stehen. Naja,
auf jeden Fall wurde die Kiste merklich langsamer und ehe wir was
machen konnten hatten wir "no more processes" und "unable to load
interpreter" und aehnliches auf dem Schirm. Boese boese, Sec hatte
auf maximal 1500 Prozesse gestellt, ich ihn nicht davon abgehalten,
und das war der Kiste halt doch /etwas/ zu viel. Also Ethernetkabel
gezogen, ein bisschen gewartet, Powerswitch gedrueckt - Oh, ATX -
Powerswitch laenger gedrueckt, ah, Rechner aus, Powerswitch nochmal -
oh, er resumed - Stromstecker gezogen. OK, wir hatten uns so richtig
geselflartet. fsck. Als der Rechner dann "deleting files in /tmp" sagte
machte Sec einen etwas erschrockenen Gesichtsausdruck und offenbarte
mir, dass er da unseren tcpshow compiled hatte - na da sag ich jetzt
mal nichts zu, aber das war's dann erstmal mit unserem Primitivsniffer
- immerhin hatten wir uns ein paar User und Passwoerter auf Papier :)
notiert, und Sec hat dann auch irgendwann den tcpshow Source nochmal
von der CD geholt und unter ~root/ nochmal compiled :)

Als der Rechner wieder oben war, war erstmal Restaurieren angesagt.
Ethernet Modul laden, ifconfig-script ausfuehren, den IP-Alias
wieder anlegen... Wir waren da gerade munter dabei, da kam einer
der Spielleiter an...  "Zeigt mal eure ipfwadm rules" (Firewalling
war schliesslich streng verboten). "Aeh? Sowas haben wir nicht" -
"Die da sagen, ihr wuerdet sie firewallen". Hmm. Oh. Ahh. Achso. Wir
zeigten dem Spielleiter den immernoch gezogenen Ethernetstecker, er
zeigte ihn dem Team das uns "angezeigt" hatte, und das Team zeigte
uns einen Gesichtsausdruck der mit Worten einfach nicht zu beschreiben
ist. Goettlich. Allein dafuer hatte es sich gelohnt.  Aber gut, nachdem
wir die apache-config etwas sinnvoller gestaltet hatten steckten wir das
Ethernet wieder an, unser schoener Vorsprung hatte unter der Aktion schon
mehr als genug gelitten, zumal inzwischen schon ein weiterer Teilnehmer
seinen named laufen hatte - dafuer noch keinen ftpd, wir waren also
immernoch die einzigen mit 3 laufenden Services.

Dann kam endlich eine Reaktion auf unseren Vorwurf der Gameserver wuerde
die versprochenen http-checks nicht durchfuehren - und zwar die Aussage,
unser apache wuerde ned antworten. Kann nicht sein. Oh. Oops.  Man haette
ihn nach dem reboot wohl auch wieder starten sollen :). Naja, aenderte
nichts daran, dass die versprochenen Requests nicht kamen, dafuer immer
wieder das /ip File, und die gespooften Requests um ihn zu DoSen.

Hm, und bei einem Blick auf unsere "IDS" Konsole fiel uns dann auch noch
auf, dass es schon laenger keine named-xfers des Gameservers mehr gab,
und bei genauem Hinsehen war auch unser Vorsprung auf dem Chart schon
ein bisschen geschrumpft. Hmpf. Der named lief nicht mehr. Dem Log nach
hatte ihn jemand ziemlich mit Anfragen geflutet, aber unserer Meinung
nach duerfte ihn das eigentlich nicht zum terminieren bringen, und wir
entschieden, dass wir uns das spaeter nochmal genauer ansehen muessen,
aber fuer's erste ein restart reichen sollte. Tat es auch, der Angriff
lief zwar weiter, aber es dauerte lange genug bis der named darunter
zusammenbrach, dass wir ihn einfach ab und zu von Hand neu starteten.

Und dann ging es uns so wie es mir jetzt auch beim Schreiben dieses
Articles geht - es wurde etwas langweilig :)). Wir beschaeftigten uns
jetzt im Wesentlichen mit killen des ftpds des ersten Teams mit unserem
Shellscript und Beobachten unseres nameds, damit konnten wir unseren
Vorsprung zwar halten, aber groesser wurde er auch nicht, da inzwischen
auch ein weiteres Team die drei Services laufen hatte, leider das,
dessen ftpd wir nicht killen konnten :) Ausserdem hatten wir unserer
Meinung nach alle geforderten Services implementiert, aber fuer mail/pop,
user-ftp/http und samba (ugh yuck) bekam irgendwie niemand Punkte. Der
Proxy war etwas witzlos, da durch die Resetter keine Connections nach
aussen moeglich waren, und der Gameserver ihn so nicht testen konnte, und
sogar das geforderte CGI hatte Manuel mittlerweile auf Papier in einer
Rohform entwickelt, aber nachdem der Gameserver es nie requestet hatte,
haben wir es dann auch nicht mehr abgetippt.

Sec ging dann irgendwann zur Matchleitung und fragte, wie lange das
denn nun noch weitergehen sollte - und erfuhr dass das Match fuer 5:23h
angesetzt war - tatsaechlich, irgendwo stand das sogar (hatte FeFe nicht
etwas von ca. 2 Stunden gesagt? So ein Schelm). Naja, das hatten wir
langsam auch erreicht und so ging jemand von der Matchleitung mal rum und
fragte, wer denn noch alles weitermachen wollte. Kam uns ganz gelegen,
schliesslich lagen wir noch in Fuehrung :)

Das war dann auch prinzipiell das Ende, man verliess seinen Platz und
schaute mal so ein bisschen zu den anderen Teams rueber, unterhielt
sich ueber die diversen Details. Z.B. erfuhren wir, dass der zweite
Connection Resetter gar kein Resetter war, sondern ein von dem Team selbst
geschriebener SYNACK-Spoofer, was natuerlich nochmal netter ist, da so der
connectende Rechner nicht sofort merkt, dass da was schieflaeuft und mit
fertigem three-way-handshake bis zu einem Timeout seine connection-table
damit belegt. Nette Idee...

Manuel sah sich dann noch ein bisschen auf unserem Rechner um
und entdeckte endlich auch exim logfiles - und damit den wohl
bemerkenswertesten Angriff auf unser System. Jemand hatte ueber unseren
funktionierenden user-ftp eine .forward fuer den User hochgeladen,
mit ca. folgendem Inhalt:

| perl -e 'while(1){fork;}'

...waere perl im PATH des exim-environments gewesen, waere das so
/richtig/ boese gewesen, und ich weiss nicht wie schnell wir es entdeckt
haetten, wenn es uns gestresst haette. .forward! Da haette man echt
draufkommen koennen. Aber da die anderen alle das user-ftp nicht richtig
laufen (oder im Falle des ersten Teams wohl eher beinahe Regelwidrig fuer
die anderen gesperrt) hatten, waren wir nie in die Gelegenheit gekommen,
derartige Angriffe zu fahren, und hatten darum wohl auch nicht genuegend
darueber nachgedacht, was man alles mit hochgeladenen Files in's Userhome
anstellen koennte.

Naja, es war hell geworden und wir wollten eigentlich nur noch in
unser Zelt und eine Runde schlafen ehe es dazu zu heiss sein wuerde, da
hielt uns noch ein Radioreporter des Campradios auf :) Ich hoffe mal,
das hat niemand hier gehoert :-%, fuer die die es doch gehoert haben:
das war der zweite Versuch, der erste ging irgendwo aufgrund eines falsch
gesteckten Kabels nach /dev/null und war viel besser :)

OK, so long and thanks for all the fish, r@y[3]

[1] Nebenstory dazu: ich gab das Passwort ein und die Debian beschwerte
sich, dass es zu einfach sei. Sec sah mich darauf hin streng an, und
ich sagte ihm, das Passwort sei "secure", aber das muesse fuer's erste
reichen und sei besser als gar keins :) Nach lesen dieses Berichts meinte
Sec dann irgendwas wie "aaargh" - er hatte das als Aussage verstanden,
dass das Passwort sicher sei :). Jetzt verstehe ich auch warum er die
Tastatur zum oeffnen neuer Konsolen immer mir ruebergereicht hat, obwohl
ich ihm das Passwort doch gesagt hatte :)))
[2] Wie wir inzwischen wissen hatte ein anderes Team da noch mehr
Probleme, wegen internationalen Besetzung mussten die bei jedem Wechsel
der Tastatur das Keyboard auf den jeweiligen Tipper umschalten :)
[3] und Sec, der das hier netterweise etwas[4] Korrekturgelesen hat
[4] etliche Rechtschreibfehler duerften noch drin sein, aber immerhin
muesste der Ablauf so ungefaehr der Realitaet entsprechen :)
[5] Manuel hat uebrigens seit dem DeathMatch immer eine Diskette mit
Postfix dabei :)
[6] Eigentlich ja eine nette Idee, den Gameserver einfach Tests machen
lassen, die die Teilnehmer durch lesen ihrer Logs selber erkennen
muessen :)

Stefan `Sec` Zehl 25.Aug.1999, 21.Jan.2003