PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CD mit statisch gelinkten Tools



linpin
05.09.09, 08:28
Hallo,

gibt es eine CD, auf der sich "Systemprogramme" (ls, ps, strace, ...) sowie einige Sicherheitstools (rkhunter, chkrootkit, ...) befinden, die direkt von der CD ausgeführt werden können, ohne dass von der CD gebootet werden muss? So eine CD ist ja sehr nützlich (bis notwendig), wenn man einen Server hat, den man untersuchen möchte, ohne den Server neu zu starten und ohne für die Untersuchung irgendwelche Programme oder Bibliotheken auf dem Server zu nehmen, was man deshalb nicht machen möchte, weil den Programmen auf einem erfolgreich angegriffenen Server nicht mehr getraut werden kann. (So steht es zum Beispiel auch auf http://tools.ietf.org/html/rfc3227#section-5.) So wie ich das sehe, müssten sämtliche Programme auf der CD statisch kompiliert sein. Für die Erstellung solcher Binaries gibt es Tools wie http://statifier.sourceforge.net/. Aber es gibt doch bestimmt schon Leute, die so eine CD erstellt haben. Ein paar Infos in diesem Zusammenhang findet man auch auf http://www.netadmintools.com/part279.html.

Viele liebe Grüße und ein schönes Wochenende wünscht der Linpin :)

retak
05.09.09, 14:42
Halbe Minute googlen

http://www.stearns.org/staticiso/

linpin
06.09.09, 09:51
Hallo retak,

danke für deine Antwort. Die von dir genannte Seite habe ich nicht gefunden. Leider scheint das Projekt seit vielen Jahren nicht mehr weitergeführt zu werden und ist daher für mich nicht wirklich interessant. Ansonsten ist das genau das, was ich nach wie vor suche.

Kennt jemand ein zur Zeit noch aktiv gepflegtes Projekt ähnlicher Art, wie von retak genannt?

Viele Grüße, linpin

retak
06.09.09, 10:07
Nun Programme wie ls, ps, strace haben sich in den letzten 10 Jahren nicht geändert.chrootkit kenn ich leider nicht. Weiss auch garnicht ob sie auf dieser CD dabei sind. Bin noch nicht dazu gekommen reinzuschauen.

pferdefreund
07.09.09, 06:07
Hol dir doch die paar Programme als Quelltext und kompilier sie selbst statisch.
Alternative ist der statifier, der dynamisch gelinkte Programme zur
statischen Version machen kann - das Teil hab ich auch schon verwendet...

Ich bin Weidechef - ich darf das - statisch linken (und Möhren knappern)

retak
07.09.09, 08:38
Also der statifierer funktioniert echt toll. Jetzt muss ich nicht ständig meine Programme nach einen halben Jahr neu compilieren weil er irgendeine neuer Lib nicht findet und man muss auch nicht befürchten, dass irgendjemand anderes den man das Programm gibt irgendeine lib nicht hat.

Allerdings wird das Programm sehr schnell mehere MB gross.

http://statifier.sourceforge.net/statifier/man/statifier.1.html

linpin
07.09.09, 12:43
Schönen Dank für eure Antworten.


Hol dir doch die paar Programme als Quelltext und kompilier sie selbst statisch.

Es geht mir nicht um ein paar Programme, sondern um eine gut gepflegte CD (wohl eher DVD) mit (allen) relevanten Tools für die forensische Analyse von Linux-Systemen. So etwas zu erstellen und vor allen Dingen so etwas zu Pflegen ist meines Erachtens eine aufwendige Angelegenheit.


Alternative ist der statifier [...]

..., von dem ich vor einiger Zeit im Linux Magazin gelesen habe und den ich ja in meinem ersten Beitrag bereits erwähnt habe. Eine Alternative zu dem statifier ist übrigens Ermine. (Siehe http://www.magicermine.com/) Wenn ich mich richtig erinnere, dann wurde im Linux Magazin der statifier mit Ermine verglichen. Aber vielleicht täusche ich mich.

Ich bin im Moment etwas überrascht, dass es scheint, als gäbe es Projekte dieser Art nicht bereits zahlreich.

Anmerkung: Es müssen vermutlich nicht mal zwingend alle Tools auf der CD statisch gelinkt sein. Worum es mir nur geht: Sämtliche Programme müssen von der CD ausführbar sein, ohne dass dafür Daten auf dem Rechner benutzt werden. Um Platz zu sparen sollten vielleicht mehrfach verwendete Bibliotheken als dynamische Bibliotheken auf der CD liegen, wobei natürlich gewährleistet sein muss, dass dann die Bibliotheken von der CD und nicht von dem Rechner genommen werden. Vielleicht könnte man in diesem Zusammenhang etwas mit der Umgebungsvariablen LD_LIBRARY_PATH machen, die der Admin nach dem mounten der CD entsprechend setzen muss.

@retak: In Bezug auf deine Begeisterung zum statischen Linken sei der Link http://people.redhat.com/drepper/no_static_linking.html erwähnt. [Autor des Artikels auf der Seite ist http://de.wikipedia.org/wiki/Ulrich_Drepper. Ich möchte aber nicht behaupten, dass ich alles von dem Text komplett verstehe.]

Viele Grüße, linpin

retak
07.09.09, 12:56
Nun, anscheinend gibt es keine gepflegte CD mit allen Tools die du dir wünschst. Nun was muss man denn da überhaupt pflegen? Die Programme sind immernoch seit (20) Jahren die selben und die Libs ändern sich auch mal garnicht.

Also nimm dir deine Programme die du brauchst, macht sie statisch und pack sie auf eine CD. Ist ja nicht so schwer oder doch?

Newbie314
07.09.09, 14:36
Guck mal ins C't Special "Linux" von '09 ... dort haben sie einige Distris besprochen die eigentlich genau das tun was du vorhast....

Hier ist der Link: https://www.heise.de/kiosk/special/ct/09/03/

retak
17.09.09, 10:55
Nun hab ich das mit den statisch gelinken Programmen mal versucht.. es geht nicht. Auf einem Suse 9.3 gibts nur Segmentation Fault. Schade.

pferdefreund
18.09.09, 06:06
Du mußt auf der CD quasi ein Live-System haben und dort per chroot reinwechseln.
Dann nimmt er doch alles von der CD.

retak
19.09.09, 16:23
Was soll er denn sonst noch von der CD nehmen? Ist doch statisch gelinkt, da gibt es nichts zum nachladen.

linpin
20.09.09, 08:43
Vielen Dank nochmals für eure Antworten und das Interesse im Allgemeinen.

@Newbie314: Das Heft habe ich mir damals gekauft. Es ist allerdings so, dass es sich bei den Distributionen jeweils um Live-CDs handelt. Man muss also davon booten und hat dann die entsprechenden Tools zur Verfügung. Was ich suche ist eine gepflegte Sammlung von Programmen, die man sich auf DVD/USB-Stick kopieren kann, und die dann direkt von dort aufrufbar sind.

@pferdefreund: Hmm, aber auf einer Live-CD sind doch die Programme gar nicht einzeln drauf. Ich meine, in welchem Ordner befindet sich auf der Grml-Live-CD (http://grml.org/) zum Beispiel das Programm ps oder chkrootkit? So wie ich das sehe, findet man die da überhaupt nicht, wenn man die CD einfach nur mountet.

pferdefreund merkte an, dass man per chroot in das Verzeichnis wechselt, in dem die CD gemountet ist, damit alles von der CD genommen wird, woraufhin retak erwiderte, dass es nichts zum Nachladen gibt. Das ist zwar richtig, aber dennoch halte ich den Vorschlag von pferdefreund als Teil einer Komplettlösung durchaus für gut. Es ist nämlich so, dass zum einen natürlich die Programme statisch gelinkt sind, aber es sehr wohl sein kann, dass ein Programm zur Ausführung ein anderes Programm braucht. Betrachten wir zum Beispiel http://www.chkrootkit.org/README. Dort steht "the test depends on an external program that is not available;" Es ist also so, dass chkrootkit externe Programme benötigt (welche das sind, weiß ich im Moment nicht). Und damit chkrootkit dann garantiert keinen Zugriff auf Programme auf dem angegriffenen Rechner bekommt, ist die Sache mit dem chroot wie ich finde möglicherweise eine gute Sache. Allerdings sehe ich wie gesagt nicht, wie das mit einer Live-CD wie Grml funktionieren soll. Aber ich wäre begeistert, wenn das tatsächlich ginge.

@retak: Sicherlich gibt es Leute, für die das nicht so schwer ist. Ich muss allerdings zugeben, dass das für mich durchaus schwierig und vor allen Dingen im Moment leider zu zeitaufwändig wäre.

Ich habe mich übrigens vertan: Ich habe nicht im Linux Magazin über Ermine und Statifier gelesen, sondern in der Zeitschrift Linux User (05/09). Siehe auch http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2009/05/Klebebindung
Im Fazit bemerkt der Artikelautor, dass Statifier aufgrund seiner zahlreichen Mängel höchstens für die Statifizierung kleinerer Kommandozeilenwerkzeuge brauchbar ist. Wenn man es richtig machen will, dann müsste man es vermutlich von Hand machen, was nochmal begründet, warum die Sache für mich durchaus schwierig wäre.

Sollte jemand mal so ein Projekt starten, dann kann ich mir gut vorstellen, dass das auf sehr reges Interesse von vielen Seiten stoßen würde und der Initiator nach ersten Ergebnissen rasch Mitstreiter finden würde.

Aber vielleicht geht es ja auch mit dem chroot und ich habe es nur nicht kapiert ...

Ich wünsche allen einen schönnen sonnigen Sonntag :)

linpin
20.09.09, 09:11
Hmm, vielleicht geht das ja wirklich mit dem mounten ... Ich habe gerade

http://fasterthanlight.wordpress.com/2008/07/02/mount-live-cd-in-user-session/

gefunden. Ich werde mir das mal bei Gelegenheit anschauen, wobei ich eher so etwas wie Grml verwenden möchte. (Oder vielleicht http://www.remote-exploit.org/backtrack.html)

Newbie314
20.09.09, 09:42
Die -p option bei chkrootkit ermöglicht übrigens Programme von einem externen Pfad zu laden... könnte nützlich sein.

Wenn man vermutet dass der eigene Rechner kompromittiert sein könnte bootet man in der Regel von einem "garantiert sauberen Medium" da auf diese Weise eventuelle rootkits gar nicht gestartet werden.. daher sind diese fertigen Werkzeugsammlungen live-CDs. Mit Unetbootin ( http://unetbootin.sourceforge.net/ ) hast du so etwas auch ruck-zuck auf nem USB Stick.

retak
20.09.09, 09:48
Also ich hatte einfach das Programm "ps" ausgeführt. Ausserdem habe ich mir gerade mit strace angesehen welche Datein geöffnet werden und da ist auch /lib/i686/cmov/libc.so.6 dabei. Das verwirrt mich jetzt etwas. Also doch nicht so statisch wie ich dachte.

Auf dem Image werden auch noch andere Libs mitgeliefert. Also doch chroot. Nur... Das ist doch total unsinnig. Bin ich in einer chroot, komm ich dochgarnicht mehr an das eigentliche System ran ;)

Also im Prinzip ist es garnicht so schwer, man muss nur alle Libs nochmal statisch compilieren ;) Also wer Lust an der Sache hat, UND compilieren kann UND mich nicht fragt was Linkererrors sind, dann bin ich bereit mich mit ihm in der nächsten Zeit immermal ne Stunde hinzustezen und die dinger zu Compilieren. Nicht, dass man das jetzt produktiv braucht, aber man lernt viel dabei. Ist ja sozusagen ein halbes LFS :)

retak
27.09.09, 13:02
So, ich hab mal versucht ein paar Programme statisch zu linken. Bei einigen gibt es beim compilieren einen Hinweiss, dass einige Funktionen doch eine dynamische Bibliothek brauchen. Ich versteh es zwar noch nicht so ganz, aber gut.

Wer möchte kann ja mal meine Programme runterladen und berichten ob sie funktionieren.

Ich habe mir extra ein Testsystem installiert mit einer alten 2.6er Kernel damit die Programme auch auf alten Rechner laufen. Da gibts auch irgendwelche Probleme mit der glibc. Viel komplizierter als ich es mir vorgestellt habe.

Vllt. gibt es demnächst noch ein paar mehr Programme.

http://130.83.141.57/temp/static.tar.gz