So scheitert Ihre Bahnreform

Bahnreform vergeigen für Dummies: in 10 Schritten, für jeden verständlich erklärt.
„Volle Mehrwertsteuer für Fernbahn-, aber nicht für Flugtickets – das Argument überhören Sie am besten, ebenso wie das Genöhle, dass die Bahn jährlich 62 Millionen Euro für den BGS-Einsatz ans Innenministerium überweist, während die Polizei für Autofahrer kostenlos im Einsatz ist.“

Die Liste lässt sich noch beliebig fortsetzen, etwa mit der Problematik der Privatisierung der Regionallinien. Die Länder würden mit privat bewirtschafteten Regionallinien erheblich Geld sparen, weil sie den Betreibern einen geringeren Kilometerpreis als der Bahn zahlen müssten. Die Bahn aber hat Verträge durchgesetzt, die ihr das Monopol bei den profitablen Regionallinien (hier in Berlin/Brandenburg RE1-RE5) bis 2012 (!) sichert. Die nicht profitablen Linien schreibt sie natürlich gerne zur Privatisierung aus.

Hinweis für Brandenburger Schüler

Die freundliche Kampagne schreibt:

Liebe Freundinnen und Freunde,

in den letzten Jahren versucht die Bundeswehr immer häufiger, in den Schulen Werbung zu machen und im Unterricht aufzutreten.

Nach der immer noch geltenden Rechtslage in Brandenburg ist das oft unzulässig.
Nachwuchswerbung in den Schulen ist nach einem Erlaß der Bildungsministerin von 1991/92 generell verboten. Wenn die Bundeswehr zu Vorträgen oder Diskussionen in den Unterricht eingeladen wird, müssen aus Gründen der Ausgewogenheit auch Vertreter/innen von Friedens- oder Kriegsdienstverweigererorganisationen diese Möglichkeit erhalten.

Falls die Bundeswehr also in der Schule auftaucht, können die Schüler/innen verlangen, dass auch z.B. die Kampagne gegen Wehrpflicht eingeladen wird. Leider wissen viele Schüler/innen das aber nicht.

Wir bitten Euch daher, diese Info weiterzugeben und uns unter 280 50 83 anzurufen, falls die Bundeswehr in der Schule aufkreuzen will.

Viele Grüße

Die Kampagne gegen Wehrpflicht, Zwangsdienste u. Militär

Essen essen

Aus einer Mail von Freunden:
Rudolf Steiners Entgegnung auf die Frage warum er kein Fleisch isst:
„Essen Sie gerne Hunde- oder Katzenfleisch?“
„Ganz gewiss nicht.“
„Sehen Sie und mich ekelt auch das Fleisch von anderen Tieren.“

Cooler Spruch, mitunter muss sich ja schon fast dafür entschuldigen, dass man kein Fleisch ißt.

20C3 – Tag 3

Der Windows (In)security Vortrag drehte sich im Prinzip um Angriffe, die von der Windows-Architektur begünstigt werden. Hilfreich ist dabei, dass Windows ein nachrichtengesteuertes System ist und Techniken wie DDE, OLE, COM und diverse Abarten davon zur Verfügung stellt.

Es wurde der bekannte WM_TIMER Angriff erläutert, neu war für mich die Idee, den Code über die Nachricht WM_SETTEXT zu injezieren. Man kann damit den Code in jedes sichtbare und unsichtbare Control injezieren, dieser wird dann mit dem Function-Pointer der an WM_TIMER übergeben wird, angesprungen.

Als praktische Anwendung für diese Angriffe eignen sich personal firewalls hervorragend, da sie einem höheren Security Context laufen, als die User-Space Applikationen und es damit möglich ist, den gewünschten Code im Kontext der Firewall auszuführen.

DDE ist seit Windows 2.0 eine komfortablere Möglichkeit u.a. mit Window-Messages umzugehen, OLE ist der objekt-orientierte Oberbau des ganzen, OLE Automation ist der Autopilot für Hacker.
Man muss also nicht mehr wie wild Windows-Messages durch die Gegend schicken, sondern bemüht Methoden wie dde_execute (?). Das ganze lässt sich natürlich auch aus der Ferne auslösen, schliesslich gibt es die bombensichere RPC-Schnittstelle in Windows 😉

Eine nette Möglichkeit in einem mit Policies „abgesicherten“ Windows eine Shell zu bekommen wurde auch noch erläutert: einfach in $APPLIKATION ein OLE-Objekt „cmd.exe“ einfügen. Damit umgeht man sämtliche Policies…

Die weiteren Vorträge habe ich mir dann geklemmt, Bug Hunting war zu voll, Biological Weapons etwas langweilig und bis zum Vortrag von Jörg war es mir zu lang. Ich bin dann abgehauen und habe mein Schlafdefizit nachgeholt 🙂

20C3 – Tag 2

Im ersten Votrag erklärte Andrew „bunnie“ Huang das Hacken der X-Box Hardware. Es wurde detailliert auf die Schutzmechanismen der X-Box und deren Schwächen eingegangen.

So war z.B. im Flash-Rom ein Fake-Bootsector untergebracht, der nie angesprungen wurde, sondern lediglich zur Verwirrung des Angreifers beitragen soll. Nachdem klar wurde, dass der Inhalt des Flash-ROMs (X-Box Kernel) durch Verschlüsselung und Prüfsummen geschützt ist, wurden andere Möglichkeiten für Angriffe gesucht, u.A. wurde eine X-Box komplett von ihren Chips ‚befreit‘, die Northbridge wurde geöffnet und unter dem Mikroskop studiert.

Der erfolgreiche Ansatz war Bus-Sniffing, also die Datenleitungen auf der Platine abzuhören, um so die unverschlüsselten Datenströme lesen zu können. Andrew hat dafür die Leiterbahnen mit Sandpapier freigelegt und ein Interface für seinen Logic-Analyzer gebaut:

Ausgenutzt wurde schliesslich eine Schwäche des verwendeten Hash-Algorithmus, bei diesem können vier bestimmte Bits gekippt werden, ohne dass sich der Hashwert ändert. Damit war es möglich einen veränderten Public-Key einzuschleusen, der trotzdem dem Hash entsprach, mit diesen Key kann dann eigener Code (z.B. ein Linux Bootloader) signiert werden.

Der zweite Teil des Vortrages befasste sich mit der Installation von Linux auf der X-Box. Es wurden die verschiedenen Exploits und der MechInstaller vorgestellt, mit dem auch unbedarfte User Linux auf ihrer X-Box installieren können.

Ein großes Problem ist, dass die Exploits leicht für die Erstellung von Raubkopien benutzt werden können, womit das xbox-Linux Projekt natürlich nichts zu tun haben möchte. Selbst die Quellcodes der Exploits und des MechInstallers wurden nicht veräffentlicht und waren nur wenigen eingeweihten Personen zugänglich. Nachdem Michael Steil diesen Fakt ausführlich betont hatte, fiel der USB-Stick mit den Sourcen ‚zufällig‘ ins Publikum… 😉

Zum Abschluss gab es eine Demonstration des MechInstallers und natürlich Linux auf der X-Box:

Im Wettbewerb „Homöomorphe Endmontage“ sollten die Teilnehmer ein Legomodell zusammenbauen, ohne Plastiktüte zu öffnen. Den angestrengten Gesichtern nach zu urteilen ist es ein Heidenspaß 😉

Aus dem PGP-Usersguide wurden alle Leute rausgeschmissen, die keinen Computer dabei hatten, weil es ein richtiger Workshop zum Mitmachen sei. Da mein Notebook zu dem Zeitpunkt nicht mal XFree86 installiert hatte, war an gpg nicht zu denken und deshalb habe ich mich zu Herrn Tauss gesetzt und seine Gedanken zur Maschinenlesbaren Regierung gelauscht.

Soweit war der Vortrag nicht besonders interssant, natürlich ist die Bundesregierung an der Informationsfreiheit interessiert, aber der zugrundeliegende Beamtenapparat scheint noch nicht willig zu sein, dieses Projekt mitzutragen.
Nett war noch die Tatsache, dass Joerg Tauss die Aufkleber „Aus hygienischen Gründen wird diese Toilette videoüberwacht“ gekauft hat und auch schon weiss, wo er diese anbringen wird. Ich hoffe auf einen kleinen Aufruhr im Bundetag 😉

In Practical Win32 and unicode exploitation (der Vortrag bekommt den Preis für die besten Folien 😉 ging es im wesentlichen um die Problematik, dass injezierter Code durch die automatische Umwandlung auf Windows-Plattformen in Unicode unerwünschte 0x00en oder sonstigen Strunz enthält. Diese Tatsache kann man jedoch bewusst ausnutzen und die 0x00en zum Code machen oder die entsprechenden Translation tables benutzen, in denen keine Nullen erzeugt werden (OEM z.B.)
Nebenbei wurde noch erklärt wie man den Structured Excption Handler (SEH) von Windows überschreibt um selbst produzierte Exceptions (versehentliche Zugriffe auf nicht gemappte Speicherseiten) abzufangen (Der SEH ruft normalerweise Dr. Watson). Mit diesem Trick kann man die gesamten 4 GB Speicher nach dem eigentlichen Shellcode scannen um ihn dann zur Ausführung zu bringen.

FX von phenoelit hat zu diesem Zweck ein Plugin für seinen Debugger und ein Perlscript geschrieben, dass die Erstellung von „Unicode-kompatiblen“ Windows-Exploits sehr vereinfacht. 2004 wird garantiert ein spannendes Jahr der Viren und Würmer…

20C3 – Tag 1


Der Congress beginnt für mich mit den Worten „Du Schatz, es ist schon um 9…“. Shit – verschlafen 🙁 Ich bin dann 10:20 am BCC, wo mich eine riesiege Schlange erwartet, der Grund warum ich eigentlich früh aufstehen wollte.


Nach 45 Minuten habe ich mein Ticket und kann mich erstmal umsehen. Das BCC hat schon seinen Charme, besonders die Lampen an der Decke 😉


Der grosse Saal sieht etwas klein aus, es passen vielleicht die Hälfte der Leute rein, die sonst im HAKP unterkommen. Neben dem Hackcenter sind die Haecksen, Engel, der Workshop-Raum und die Lockpicker untergebracht. Das Hackcenter selbst ist auch nicht besonders groß, es geht aber erstaunlich gesittet zu. Kein Wunder, es gibt kaum kabelgebundenes Netzwerk, das WLAN röchelt auch in den letzten Zügen.

Im NOC-Preview gibt es die erste Überraschung, für feste IPs im WLAN ist IPSec Pflicht, ausserdem funktioniert das WLAN mit ‚Anmeldung‘.
Das größte Problem ist zur Zeit DHCP im WLAN. Die Leases gibt es über 150 Sekunden, selten jedoch bekommt man brauchbare Geschwindigkeiten, mitunter schläft apt-get bei 500 Bytes / Sekunde ein.


Die Amateurfunkeinführung hat auf die rechtlichen Grundlagen des ganzen hingewiesen.

In Bits und Bytes verschieben wollte der Vortragende die Zuhörer für den Selbstbau digitaler Schaltungen begeistern, es war mehr eine Einführung und hat nur grundlegende Stichpunkte für den Einstieg vermittelt. Trotzdem war es brechend voll.


Der nächste Vortrag ist dann Der Missbrauch von Java, HTTP und XML in dem ein leidgeplagter Entwickler über den Irrsinn der Software-Entwicklung im Mobildfunkbereich berichtet. Man hat in dem Vortrag den Eindruck bekommen, dass die Mobilfunkbranche ein chaotischer, Buzzword-verseuchter Drecksladen ist. Bestes Zitat: ‚Java wird schneller langsamer als Computer schneller werden‘.

Die Hauptanklagepunkte sind, dass XML als Datenspeicher für alles herhalten muss (hauptsache XML), dass XML als Hierarchische Datenbank missbraucht wird, mittels „XML over HTTP“ alle Daten transportiert werden (juchu – noch eine Schicht) und dass XML als Heilmittel gegen alle Probleme des Software-Engineerings gepriesen wird, was zu Konstrukten wie „XML als Zwischenschicht zwischen Datenbank und Applikation“ führt.

Jede neue Software wird in Java geschrieben, weil es die „Schlipsträger“ poppig finden, scheiss auf die Performance, die Hardware wird’s schon richten. Der Begriff der Klopapierprogrammierung hat es mit besonders angetan, er steht für Wrappende Wrapper wrappen Wrapper die wrappen oder so ähnlich, also zig Schalen um vorhandene Bibliotheken.
Weil Java als Lehrsprache verwendet wird, ist sie scheinbar die Lösung aller Probleme. Beim Lernen wird strukturierte Programmierung trainiert („Hello world“), statt sofort Objekt-orientiertes Denken zu vermitteln.

Ein schönes Beispiel war die Story über einen Handy-Provider, der eine eingehende SMS via HTTP auf seinen Server weitergeleitet bekommen möchte. (Bedingung nur nachts und maximal eine SMS pro Sekunde, wegen der Systemlast…. har har har). Als Erfolg oder Mißerfolg gab es keine ordentliche HTTP-Response, sondern ein HTTP-Redirect auf eine wildfremde Adresse mit angehängtem success=Y …

Der nächste Vortrag „Antennen selbst bauen“ war ziemlich schlampig, es lief im Prinzip darauf hinaus, dass die Vortragenden Antennen-Bausätze zur Verfügung stellen werden, weil sie Zugriff auf genaue CNC-Maschinen haben. Diese Bausätze werden dann über die CCC-Strukturen verkauft.


„Sniffen für Fortgeschrittene“ war eine Einführung in tcpdump und ethereal, nicht unbedingt neues, aber trotzdem eine gute Zusammenfassung der Sniffing-Möglichkeiten. Herr C. hat auch gleich losgesnifft und tatsächlich einen Idioten gefunden, der über ungesichertes POP3 seine Mails abruft…


Mein letzter Vortrag war eine Einführung in Python, sehr interessant, obwohl die Sprache den dreckigen Charme von PHP hat. Die Garbage-Collection in Python ist um einiges eleganter als in Java, nicht mehr benötigte Objekte werden z.B. sofort gelöscht (Java GC räumt erst auf , wenn der Speicher wirklich voll ist).

Danach habe ich noch ein bisschen Blinkenlights angekuckt und bin dann nach hause gefahren.

Guten Tach

Hui ui ui, unser Internetz geht wieder. Pünktlich am Freitag abend war es kaputt und nur durch den heldenhaften Einsatz von Karsten (Täterätää) ist es gelungen … (hier könnte Ihre dramatische Version der Geschichte stehen).

Weil Weihnachten ist, kann ich ja verraten, dass am 10.3. The Gathering in der Berliner Passionskirche eine Akkustik-Session spielen 🙂 Mich als größter Gathering-Fan der Welt entzückt das recht heftig.

Im Januar/Februar spielen ebenfalls Anathema:
Jan. 24 – Matrix – Bochum, GER;
Jan. 25 – Knaack – Berlin, GER;
Jan. 28 – Alte Spinnerei – Glauchau, GER;
Feb. 02 – Hirsch – Nurnberg, GER;
Feb. 03 – Colos Saal – Aschaffenburg, GER;
Feb. 04 – Substage – Karlsruhe, GER;
Feb. 05 – Backstage – Munich, GER;

Six Feet Under sind mit den Kollegen von Criminal und Fleshcrawl unterwegs:
26.02. D ESSEN @ ZECHE CARL,
28.02. D MÜNSTER(breitefeld-dieburg) @ LIVE ARENA,
29.02. D ENGELSDORF @ HELLRAISER,
02.03. D BERLIN @ HALFORD,
03.03. D HAMBURG @ MARKTHALLE

Ich hüpfe am Wochenende auf dem 20C3 rum, der Fahrplan klingt vielversprechend, vielleicht sieht man sich ja…

Linux auf moderner Hardware (P4 mit HT, Asus P4P800)

Eine Kurzanleitung wie man sein Linux für neue Hardware fit macht…

Zunächst auf der alten Hardware booten, einen Pentium-Kernel compilieren und diesen booten. Ansonsten kann es passieren, dass ein Pentium 4 mit einem für AMD Athlon compilierten Kernel eine Panic bekommt.

Wenn der Pentium-Kernel bootet, wird die neue Hardware eingebaut, und der ‚richtige‘ Kernel compiliert. Als CPU wird Pentium 4 eingestellt (CONFIG_MPENTIUM4=y), wenn Hyperthreading gewünscht ist, muss ACPI einschalten werden (CONFIG_ACPI=y). Wer nur Hyperthreading aber den ganzen ACPI Schnickschnack nicht braucht, setzt die Option CONFIG_ACPI_HT_ONLY=y.
Nach dem Booten dieses Kernels sollte cat /proc/cpuinfo zwei logische CPUs anzeigen.

Asus bietet für den Gigabit-LAN Onboardchip von 3com auf seiner Webseite einen Treiber an. Nach dem Download und auspacken des Archives, kann das enthaltene .tar.gz-File extrahieren und im Sourcen-Verzeichnis make anwerfen. Ein ‚insmod 3c2000.o‘ lädt das Modul, es erkennt auch das angeschlossene Kabel und die Verbindungsparameter korrekt.
Leider ist bis auf ein einfaches Ping ab diesem Punkt nicht viel mehr rauszuholen. DHCP funktioniert zwar, aber TCP-IP Verbindungen zu anderen Rechnern funktionieren nicht, DNS ist auch nicht verfügbar.

Weil das ziemlicher Mumpitz ist und ich erstmal keine Idee weiter habe, schreibe ich den Artikel morgen weiter… 😉

Dreckstag (vorsicht: Explizite Lyrik)

Heute war der abgefuckteste Tag des Jahres 🙁 VauWeh ruft an und sagt, dass wegen eines defekten Magnetschalters (?) der Bremskraftverstärker ausgetauscht werden muss, Kostenpunkt 400 Euro. Ich habe dach einigem Hin- und Her abgelehnt. Die Inspektion hat dann ’nur‘ noch 560 Euro gekostet.

Jetzt nagt das schlechte Gewissen, ob ich nicht um meiner Sicherheit willen … Das Problem ist, dass niemand mir sagen kann (oder will) was genau kaputt ist, warum man den Schalter nicht einzeln tauschen kann und in wie weit das die Fahrsicherheit beeinflusst.
Bei VauWeh heisst es, dass sie den Tausch sehr empfehlen, auf die Frage ‚Kann ich auch mit diesem Fehler noch sicher Bremsen ?‘ ernte ich vielsagende Blicke, träges Schulterzucken und ‚Wir empfehlen es ihnen wirklich‘. Bei ATU will auch niemand eine konkrete Aussage am Telefon machen, „…wenn es nur das ESP betrifft, was aber nur in Grenzfällen eingeschaltet wird … aber dazu kann ich nichts sagen.“. Oh mann.
Was ich mir zusammenreimen konnte: falls der Bremskraftverstärker ausfällt, ist das Bremspedal hart, ich muss ziemlich treten. Meine Bremse ist aber butterweich und verzögert sehr gut, lediglich eine Lampe ging bisher (in 12 Monaten) drei mal an. Im Handbuch steht, das ist die ESP-Lampe, wenn sie dauerhaft leuchtet -> ab in die Werkstatt. Werkstatt hat am Telefon gesagt, das ist nicht schlimm, wir kucken bei der nächsten Inspektion rein.
Heute war Inspektion -> siehe oben.
Kennt sich jemand mit Autos aus ? Ich haben einen 4er Golf, Benziner 1.4l und möchte gerne wissen, was dieser ominöse Magnetschalter schaltet.
Ich (Computer-Futzi) weiss jetzt so ungefähr wie sich Nicht-Nerds fühlen wenn irgendwas nicht funktioniert.

Hm und wegen teurer Reparaturen heule ich rum ? Ach ja – da wäre noch die Kleinigkeit, dass Wegert zwei Dias von mir verschlampt hat. So ein Drecksladen, die Bilder waren wirklich gut, deswegen wollte ich ja schön große Abzüge davon machen. Und was macht dieser A*B*G*E*F*U*C*K*T*E %!#*§-Laden ? „Hoppla, Ihre Dias sind irgendwie verloren gegangen, im Labor weiss keiner von nichts…“ ich könnte kotzen und Wände anbrüllen 🙁