Сестры милосердия: Избавление Р. Люксембург Хакер, номер #073, стр. 073-070-2 Хорошие новости с Востока Подключившись по ssh к серверу под пользователем, который мне предоставила любезная Зинаида, я первым делом выяснила, под какой системой крутится эта машинка: $ uname -a Linux phy03 2.4.24-1-686-smp #1 SMP Wed Feb 4 21:29:16 EST 2004 i686 GNU/Linux Вызов команды id показал, что локальный пользователь, под которым я вошла, не был привилегированным и, как и следовало ожидать, обладал не самыми большими правами. Однако во всей сложившейся ситуации был один огромный плюс: как тебе известно, в линуксовом ядре 2.4.24 содержится немеренное количество багов, которое можно сравнить только с количеством волос на голове Кюхельбекера. Мне же оставалось лишь попробовать воспользоваться дырками в ядре вражеского сервера. Размышляя над тем, с чего следует начать, я потягивала глинтвейн и курила сигару. Надо было как следует обдумать все дальнейшие шаги по реализации нашей дерзкой акции. Я подошла к окну и увидела несчастных тайцев. Они работали не разгибая спин под гнетом негодяев с Запада. Каждый день они производили миллионы микросхем для западных компьютеров, чтобы тайваньские биологи, уехавшие работать на Запад, создавали более совершенные корма для западных Бобров. Западные Бобры заполонили все. Они валили деревья на тайваньских реках и пугали тайваньских детей. Они крали у них конфеты и называли непонятными словами. Они выворачивали лампочки в подъездах домов и кормили тайваньских женщин попкорном. С этим надо было что-то делать, и я решила для начала попробовать получить рутовые привилегии на вражеском сервере при помощи ptrace-эксплоита. Неуправляемые потомки Напомню, этот сплойт использует ошибку в системном вызове ptrace, который изначально предполагался интерфейсом для управления потомками родительского процесса. Используя ошибку в этом вызове, хакеры написали несколько сплоитов, позволяющих получить рутовые привилегии любому локальному пользователю в Linux 2.2.x и 2.4.x. Напомню хронологию появления сплойтов для этой ошибки. В качестве первоапрельской шутки в 2003 году был выпущен первый вариант злодейской программы ptrace-kmod.c (http://packetstormsecurity.nl/0304-exploits/ptrace-kmod.c). Поскольку этот эксплоит обращался к /proc/self/exe, многие администраторы решили проблему тем, что запретили группам локальных пользователей доступ к /proc. Это, разумеется, помогло, но не надолго: уже через полторы недели свет увидел второй сплойт, которому уже не нужны были права для доступа к /proc/self/exe, – и тут началось. Группы бравых красноглазых пионеров валили десятками вражеские серверы, поднимая рутовые привилегии и начиная все новые и новые атаки. Но со временем напряжение спало, количество уязвимых систем заметно сократилось, и на смену этому топовому багу пришли новые, не менее знаменательные. Как бы то ни было, я наткнулась на старое ядро, и надо было его ломать. Я скачала на сервер сплоит, собрала его и попробовала запустить: |