Comments 24
Прошёл только первое задание, остальные не стал проходить.
Первое решалось до боли просто — просмотрел vim history, там вплоть до указания строк, где надо искать ключи, было. Проблема только в том, что я один из ключей ввёл неправильно (опечатался)=)
Думаю, что остальные задания решались так же
Первое решалось до боли просто — просмотрел vim history, там вплоть до указания строк, где надо искать ключи, было. Проблема только в том, что я один из ключей ввёл неправильно (опечатался)=)
Думаю, что остальные задания решались так же
0
во втором задании пароль рута был root :)
0
Поднял сайт на апаче, и на главной странице получил надпись: SRE-task2-key3-honney
0
вставлю свои 5 копеек. все задачи рещаются без включения сервера. запускаем, монтируем, чрутимся:
- все находится через bashhistory и/или поиском файлов которые не принадлежат пакетному мэнеджеру/были модифицированы
- часть ключей находим аналогично 1 пункту через rpm -Va. так же можно отфильтровать приватные и Localhost сети, но в целом особых вопросов нет.
- тут все интересно. у меня это вышле лютый квест:
- из /dev/sdc2 можно вытащить бэкап lvm
dd if=/dev/sdc2 bs=512 count=255 |strings |less
- там вы видимо что
- есть раздел DDuTdi-LRaP-U4k7-9HPF-srd9-v1kc-r7whQ7 который из md0 в 15гб
- еще партиция bdBVau-FNcg-B5vL-Rf70-8yC4-1Ljr-c85wpg из /dev/sdb2
- Значит sdb2&sdd2 Должны быть в raid0
- изучаем внитмальено диски.
- на /dev/sdb2 на смещение 4мб лежит структура LVM(определяем по ключевыому слову LABELONE)
- смещение подозрительно похоже на размер PE экстента который мы увидили в бэкапе LVM
- mbr содержит ключевые AA55
- напрашивается вывод что диски в массиве без суперблоков со смещением 8МБ
- сравнивая hex дисков, можно предположить размер страйпа 128кб — ошибочно, в доке 64кб для времен когда суперблоков не было. не катит
- помня про смещением создаем соотвествующу таблицу разделов в массиве со смещеним 8мб.
- пробуем собрать массив с разными параметрами 4кб-4мб с шагом 4кб
mdadm -B --chunk $i --verbose /dev/md0 --assume-clean --level=0 --raid-devices=2 /dev/sda2 /dev/sdc2
(порядок дисков определяем по наличию LVM структур) - изначально нашел размер 256к. получил мальца битую фс. проверяем.
- находим файл mysql и грепаем ключ оттуда.
- из /dev/sdc2 можно вытащить бэкап lvm
HEX
sdd2
04dd000: 0000 0000 0000 0000 bb30 185b bb30 185b .........0.[.0.[
04dd010: bb30 185b 0000 0000 0000 0000 0000 0000 .0.[............
04dd020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd0f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd100: 6d41 0000 0010 0000 c99c 8e5c d99a 8e5c mA.........\...\
04dd110: d99a 8e5c 0000 0000 0000 1600 0800 0000 ...\............
04dd120: 0000 0000 ab00 0000 1d20 0000 0000 0000 ......... ......
04dd130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd170: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04dd180: 1c00 0000 f44c e482 f44c e482 ec5e 6597 .....L...L...^e.
04dd190: bb30 185b 0000 0000 0000 0000 0000 02ea .0.[............
04dd1a0: 0706 4400 0000 0000 1c00 0000 0000 0000 ..D.............
04dd1b0: 7365 6c69 6e75 7800 0000 0000 0000 0000 selinux.........
sdb2
04fffe0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04ffff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0500000: ed41 0000 0010 0000 d38e 8e5c d530 185b .A.........\.0.[
0500010: d530 185b 0000 0000 0000 0400 0800 0000 .0.[............
0500020: 0000 0800 0300 0000 0af3 0100 0400 0000 ................
0500030: 0000 0000 0000 0000 0100 0000 3321 0000 ............3!..
0500040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0500050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0500060: 0000 0000 da4d bac3 0000 0000 0000 0000 .....M..........
0500070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0500080: 1c00 0000 a4ad be5c a4ad be5c 0cfd 4314 .......\...\..C.
0500090: c530 185b a404 77ed 0000 0000 0000 02ea .0.[..w.........
05000a0: 0706 4000 0000 0000 1e00 0000 0000 0000 ..@.............
05000b0: 7365 6c69 6e75 7800 0000 0000 0000 0000 selinux.........
05000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05000e0: 7379 7374 656d 5f75 3a6f 626a 6563 745f system_u:object_
05000f0: 723a 6c6f 6361 6c65 5f74 3a73 3000 0000 r:locale_t:s0...
0500100: ed41 0000 0010 0000 d38e 8e5c 7545 185b .A.........\uE.[
0500110: 7545 185b 0000 0000 0000 0200 0800 0000 uE.[............
0500120: 0000 0800 4c00 0000 0af3 0100 0400 0000 ....L...........
0500130: 0000 0000 0000 0000 0100 0000 3421 0000 ............4!..
+8
агонь! Да, так тоже можно и подход через изучение содержимого имхо очень грамотный
0
за картинку с разделами отдельно плюсую!
0
В третьем задании так же перемудрил — откуда в потерянном диске, на 7.5GB, две партиции, по 7.5GB — Подумал я. Поэтому, как и у вас, собрал массив, что тоже сработало, вместо raid10 -> raid0:
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda2 /dev/sdc2
Тогда не нужно:
$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0
А нужно поменять, местами диски 1 и 2, чтобы grub стартовал нормально.
Диски при загрузке 2, 1, 3
Что конечно не правильно и усложнило задачу, но не мытьём так катаньем.
Игра мне понравилось. Спасибо.
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda2 /dev/sdc2
Тогда не нужно:
$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0
А нужно поменять, местами диски 1 и 2, чтобы grub стартовал нормально.
Диски при загрузке 2, 1, 3
Что конечно не правильно и усложнило задачу, но не мытьём так катаньем.
Игра мне понравилось. Спасибо.
+3
Крутой подход
0
Del
0
Первое задание делал в виртуалке.
2, 3 монтировал на системе и использовал цшрут или докер.
С лвм было весело. Понял как собирать только после просмотра глазами заголовков дисков.
Задачки на поиск ключей по файлам бесил. В первом задании убил 3 часа. На поиски что еще починить. Пока не заметил 1 ключ.
2, 3 монтировал на системе и использовал цшрут или докер.
С лвм было весело. Понял как собирать только после просмотра глазами заголовков дисков.
tar -xvf MRG-LinuxQuest-Task3.ova
qemu-img convert MRG-LinuxQuest-Task3-disk001.vmdk MRG-LinuxQuest-Task3-disk001.raw
qemu-img convert MRG-LinuxQuest-Task3-disk002.vmdk MRG-LinuxQuest-Task3-disk002.raw
qemu-img convert MRG-LinuxQuest-Task3-disk003.vmdk MRG-LinuxQuest-Task3-disk003.raw
kpartx -av MRG-LinuxQuest-Task3-disk001.raw
kpartx -av MRG-LinuxQuest-Task3-disk002.raw
kpartx -av MRG-LinuxQuest-Task3-disk003.raw
mdadm --assemble /dev/mapper/loop*p1
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/mapper/loop0p2 /dev/mapper/loop2p2
lvscan
mkdir /mnt/sre
mount /dev/vg_c6m1/lv_root /mnt/sre
docker run -ti --rm --name=mysql1 --network=host -v /mnt/sre/var/lib/mysql:/var/lib/mysql mysql/mysql-server:5.7.9
docker run -ti --rm --name some-mediawiki --net=host -v /mnt/sre/var/www/html/mediawiki-1.27.4/:/var/www/html mediawiki:1.27.4
Задачки на поиск ключей по файлам бесил. В первом задании убил 3 часа. На поиски что еще починить. Пока не заметил 1 ключ.
+2
А интернетом можно пользоваться при выполнении заданий?
0
Больше всего понравилась часть второго тура про «письма из Африки».
Я решал в лоб через уже установленный в виртуалке geoiplookup (получил список «африканских» mail ID, а потом считал и сортировал полученные по ID-шкам адреса получателей).
За счет того, что подход был выбран не самый оптимальный, получился красивый процесс постепенного проявления ключа от задания:
Я решал в лоб через уже установленный в виртуалке geoiplookup (получил список «африканских» mail ID, а потом считал и сортировал полученные по ID-шкам адреса получателей).
За счет того, что подход был выбран не самый оптимальный, получился красивый процесс постепенного проявления ключа от задания:
+3
Третье задание меня сломило, в итоге 82 место. Очень долго мучился с mdadm, но он ни в какую не хотел собираться. Подозревая что дело все же в образах которые я использовал для восстановления, надо было брать CentOS. А главное так близко подошел, даже обидно.
Из всех заданий очень понравилось с мейлами, вот для него пришлось креативно подойти к делу, для скорости слепил наспех grep регулярку которая выбрала имейлы всех отправителей и IP адреса из лога, потом отфильтровал африканские IP скриптом на python, было весело! Почаще бы такие квесты.
P.S.: Вот что я получил своими методами

Из всех заданий очень понравилось с мейлами, вот для него пришлось креативно подойти к делу, для скорости слепил наспех grep регулярку которая выбрала имейлы всех отправителей и IP адреса из лога, потом отфильтровал африканские IP скриптом на python, было весело! Почаще бы такие квесты.
P.S.: Вот что я получил своими методами

0
Видел такой текст в одной из промежуточных wiki-версий этой страницы.
В последней же версии был верный код.
В последней же версии был верный код.
0
Да, там история редактирования с SRE-task2-key3-honney в SRE-task2-key3-honey, у меня не поднялось то что должно было подставить вместо этого верный код.
0
меня не поднялось то что должно было подставить вместо этого верный код
Я вообще собирал это задание в чруте. Сомневаюсь, что там что-то дополнительно таинственно поднимается и меняет базу. Нету образа под рукой посмотреть.
Вы nginx использовали или апач? Выше писали что у кого-то на апаче была такая же беда.
0
Можно ли поподробнее разобрать следующие моменты, описанные в решении третьего задания:
Поскольку с третьим заданием я не справился и долго пытался починить сервер, используя «канонический» вариант, то прошу подсказать, что я делал неправильно?
Обнаруживаем, что собрали физический volume, которого нам ранее не хватало.Сразу починился lvroot, монтируем его, но предварительно активируем VG:
Составление RAID из /dev/sda2 и /dev/sdc2 проходит успешно, но вот дальше не получается активировать полноценную VG. У «пропавшего» PV был один UUID, а у собранного вручную — совсем другой, о чём ОС честно предупреждает:
В итоге активировать группу томов можно, лишь указав в качестве параметра режим частичной активации:pvs -a WARNING: Device for PV DDuTdi-LRaP-U4k7-9HPF-srd9-v1kc-r7whQ7 not found or rejected by a filter. Couldn't find device with uuid DDuTdi-LRaP-U4k7-9HPF-srd9-v1kc-r7whQ7. PV VG Fmt Attr PSize PFree /dev/loop0 --- 0 0 /dev/loop1 --- 0 0 /dev/loop2 --- 0 0 /dev/mapper/live-base --- 0 0 /dev/mapper/live-rw --- 0 0 /dev/md0 --- 0 0 /dev/sdb1 --- 0 0 /dev/sdb2 vg_c6m1 lvm2 a-- <7.51g <7.51g [unknown] vg_c6m1 lvm2 a-m 15.01g 11.58g
Сменить UUID у /dev/md0 c помощью mdadm -A не получилось и поэтому у меня не вышло присоединить PV к VG, хотя в описанном решении восстановления /dev/md0 было достаточно для того, чтобы «lv_root сразу починился».vgchange -ay --activationmode partial
- Второй момент: после активации в частичном режиме группы томов vg_c6m1 не получилось смонтировать раздел:
Попытки проверить и восстановить ФС, указывая положение копии суперблока ни к чему не привели.mount /dev/mapper/vg_c6m1-lv_root /mount/lvroot mount: /dev/mapper/vg_c6m1-lv_root: can't read superblock
Поскольку с третьим заданием я не справился и долго пытался починить сервер, используя «канонический» вариант, то прошу подсказать, что я делал неправильно?
0
Only those users with full accounts are able to leave comments. Log in, please.
Linux Quest. Поздравляем победителей и рассказываем про решения заданий