Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #73, ЯНВАРЬ 2005 г.

Сестры милосердия: Избавление

Р. Люксембург

Хакер, номер #073, стр. 073-070-4


Получив привилегии, надо было с ними что-то делать. Я решила присмотреться к серверу БД – в самом деле, какие данные там хранились? Доступ к базе данных ограничивался паролем. Конечно, имея рутовые привилегии, почитать базы данных было проще простого, но я захотела сделать все культурно. Аккуратно изучив папку с web-скриптами, я нашла сценарий с говорящим названием config.php и посмотрела его содержимое. Внутри, конечно, отыскался логин и пароль к базе данных – удивительно, но все скрипты использовали рутовую запись для доступа к серверу БД.

Получив логин с паролем, я посмотрела названия всех баз данных на сервере:

# mysql –u root –p

> Show databases;

Названия некоторых баз показались мне интересными, и я принялась их внимательно изучать. Исходя из структур, названий и содержимого некоторых баз данных и таблиц, стало понятно, что на сервере хранится куча разнообразных тестов по физике, которыми агенты Запада мучают студенческий пролетариат. Там же имелись таблицы с результатами тестов, списки студенческих групп, преподавателей и т.д. Словом, вся учебная информация кафедры физики. Чтобы поддержать революционные настроения в студенческой среде, я поставила всем обучаемым пятерки за все тесты по физике до конца года, а своей напарнице Зое зачла наконец-то сессию, которую та не могла сдать вот уже 40 лет. Сделать это, имея полный доступ ко всем базам данных, не составило труда.

Плацдарм для атак

Некоторое время я изучала жизнь сервера. Есть ли активные пользователи, часто ли на сервере появляется сисадмин и т.д. Все мои наблюдения сходились на одном: сервер довольно активно юзается локальными пользователями (преподавателями?), но сисадмин заглядывает туда нечасто. Если быть точной, он не заглядывал ни разу за все время моих наблюдений, команда last говорила об этом же. Изменения результатов тестов не удовлетворили моего пыла. Хотелось извлечь какую-то выгоду из совершенных действий. В конце концов, захваченную площадку можно использовать в моих хакерских целях: установить на сервере socks-сервер, производить с этой площадки сканирование портов, брутфорс различных сервисов и т.д. В самом деле, захваченный сервер был райским уголком для хакера: машина висела на мощном интернет-канале и сама по себе была совсем не слабой: монстр с двумя гигабайтами памяти. Есть где развернуться!

Что такое Ptrace?

Если ты любознательный человек, тебе, наверное, стало интересно, что такое знаменитый Ptrace, к которому созданы такие популярные сплоиты. Это системная функция, которая позволяет управлять работой потомков и родительского процесса. То есть, скажем, если твоя программа создает еще несколько процессов, осуществить связь между ними можно при помощи ptrace. Очень часто этот вызов используется в отладчиках для установки точек прерывания. Это выглядит следующим образом. Порожденный процесс работает обычным образом, пока не получает специальный сигнал, после чего он приостанавливается, а его родительский процесс получает информацию об этом через wait. В это время, пока порожденный процесс приостановлен, его родитель может читать и изменять образ его памяти при помощи ptrace. Помимо этого, родительский процесс может либо уничтожить порожденный процесс, либо возобновить его выполнение, удалив сигнал, вызвавший остановку.

Назад на стр. 073-070-3  Содержание  Вперед на стр. 073-070-5