→ RuCTF-2010: GPLv4

| 4 Comments | No TrackBacks

На прошедшем 25 апреля контесте было замечено странное поведение vulnbox'a - глючил tcpdump, а также иногда на консоль валилось что-то типа
BUG: scheduling while atomic: swapper/0/0x10000100

В списке сервисов было нечто под именем GPLv4, которое, к сожалению, мы обнаружили только на следующий день после окончания соревнований: Антон заметил в логе трафика подозрительную UDP-активность - пакеты на произвольные порты, и, что самое забавное, ответы на них от vulnbox.

Как оказалось, это был модуль ядра m.ko, реализующий сетевой фильтр для UDP-трафика. Дизассемблер подсказал, что он принимает команды G (get), P (put), L (list) и хранит флаги в /proc/flags/. UDP-сообщения шифруются инструкцией XOR с ключом 'THINKPAD' первые 8 байт сообщения, следующие 8 байт - XOR с предыдущими 8 байтами этого же сообщения.

Чтобы получить список файлов с флагами, достаточно послать зашифрованную команду 'L', а затем сделать Gfile_name элементам полученного списка файлов.

Также в основной функции-фильтре есть утечка памяти под размер данных UDP-пакета. Вероятно, возможен DOS.

POC прилагается.

No TrackBacks

TrackBack URL: http://smokedchicken.org/m/mt-tb.cgi/26

4 Comments

Круто! Что же вы так поздно?

В общем, это лучший адвайзори с эксплойтом!

About this Entry

This page contains a single entry by Павел Збицкий published on April 27, 2010 4:45 PM.

IDAPython & IDA Free 4.9 was the previous entry in this blog.

RuCTF-2010: CA is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.