Po drátě 5: Řešení úlohy č. 8
Dodaný ISO image bylo nejjednodušší strčit do některého z virtualizačních nástrojů, např. kvm. Po nabootování chtěl login a heslo, které pochopitelně nikde uvedeno nebylo.
Při bližším průzkumu DVD jste mohli narazit jednak na soubor COPYING s GPL licencí, jednak na kernel s initrd.
Nejjednodušším řešením bylo si v souladu s GPL napsat o zdrojáky oné distribuce. Obratem jste na ně dostali odkaz; heslo v nich šlo najít poměrně snadno.
O něco komplikovanějším řešením bylo rozbalit si initrd (byl zabzip2ovaný) a zkusit něco provést s ním. Bohužel, jak bylo patrné z výpisu nabootovaného DVD, jeho file systém byl SpadFS, který asi většina z nás ve svém kernelu nenajde.
První možností byla ruční editace /etc/shadow přímo v initrd image pomocí hexeditoru, což poněkud komplikoval fakt, že soubor byl uprostřed hesla rozdělen mezi dva nesouvislé bloky. Ti s masochističtějšími tendencemi se jali vyhledávat navazující blok (třeba podle řetězce "88888" určujícího expiraci hesla) a přepisovat heslo, kdo chvíli zapřemýšlel, přepsal začátek souboru z původního bin:*: na root::, čímž věnoval rootovi heslo prázdné.
Druhou možností bylo samozřejmě rozchození SpadFS na svém stroji a přimountování image přes loop mount. Vzhledem k tomu, že autorovi úlohy SpadFS poměrně často oopsoval (většinou s fatálními následky), tento postup nelze příliš doporučit :-)
Po úpravě initrd bylo potřeba ho zpátky zabalit bzip2em a takto zmodifikovanou distribuci nabootovat. Buď jste mohli nastudovat, jak se vyrábí bootovatelné DVD, nebo si všimnout, že kvm umí dva pěkné parametry, a to -kernel a -initrd...
Po úspěšném přihlášení se jako root vypsal program login heslo praded.
Zajímavosti
O zdrojové kódy si napsali pouze tři lidé. Zaznamenali jsme však minimálně jednu zmínku v mailu pro robůtka, kde odesílatel píše, že doufá, že zdrojáky po hře zveřejníme, neboť je live DVD pod GPL. Škoda - zde se vyplatilo být poněkud asertivní. Mimochodem, soubor COPYING byl do rootu DVD image nahrán schválně - buildroot, použitý na sestavení DVD, ho tam normálně nedává.
Na DVD se rovněž nacházel program /usr/bin/99. Co dělal, je poměrně zřejmé. Protože není licencován pod GPL, jeho zdrojáky nebyly obsaženy v zasílaných zdrojácích live DVD. Najdete je zde.
Autorem úlohy je Jirka Benc.
Pekna uloha, diky. Sel jsem do ni s tim, ze me nikdo neprinuti cist jakekoli manualy ci jine texty - budu jen hackovat a hackovat. No, tady se asi cist vyplatilo. ;-)
já vím po bitvě je každej generál