Он размышлял о способах установки своей заплатки к login. Установление заплатки в System X отличалось от её пришивания на пару джинсов. Он не мог просто оторвать кусок старой банданы и быстро пришить её кривыми стежками любого цвета. Это скорее походило на пришивание заплатки к дорогому кашемировому пальто. Ткань требовала точного соответствия по цвету и текстуре. Заплатка должна быть установлена невидимо, а не просто правильно.
У каждого файла в компьютерной системе есть три даты: дата создания, дата последней модификации и дата последнего доступа к нему. Проблема была в том, что заплатка к login должна иметь то же время создания и модификации, что и оригинальная программа login. Это нужно, чтобы она не вызывала подозрений. Нетрудно было получить даты, гораздо сложнее было поместить их в заплатку. Дата последнего доступа не была важна, поскольку она изменяется каждый раз, когда пользователь входит в System X.
Если бы Антракс выдрал оригинальную программу и пришил заплатку на её месте, она осталась бы с новой датой создания. Он знал, что нельзя изменить дату создания, не изменяя часы для всей системы – кое-что, что могло принести проблемы где-нибудь в System X.
Первая вещь, которую делает хороший системный администратор, когда подозревает взлом – ищет все файлы, созданные или изменённые в последние несколько дней. Одно дуновение захватчика и хороший админ исправить все заплатки Антракса к login втечение 5 минут.
Антракс записал даты изменения и создания на клочке бумаги. Ему нужен этот момент. Также он записал размер файла login.
Вместо выдирания старой программы и пришивания полностью новой Антракс решил поместить заплатку поверх начала старой программы. Он закачал свою заплатку к login с мастер-паролем, но пока не устанавливал. Его заплатка называлась «troj» – сокращение от троян. Он напечатал:
cat troj > /bin/login
Команда cat говорила компьютеру: «возьми данные из файла по имени ‘troj’ и помести в файл ‘/bin/login’». Он сверился с клочком бумаги, на котором набросал первоначальные даты, сравнивая их с новыми. Дата создания совпадала с оригинальной. Дата изменения была всё ещё неверной, но это уже 2/3 пути до финала.
Используя малоизвестную особенность команды, Антракс начал пришивать последний уголок заплатки:
/usr/sbin/date
Затем он изменил дату изменения своей заплатки на первоначальную дату файла login.
Он отошёл, чтобы повосхищаться работой со стороны. Установленная заплатка превосходно совпадала с оригиналом. Тот же размер. Та же дата создания. Та же дата модификации. Вместе с заплаткой он удалил root аккаунт, установленный во время посещения 2001-го порта. Он всегда забирал свой багаж, когда уходил.
Теперь немного позабавимся. Поищем вокруг. Антракс направился к почте – лучшему способу, чтобы узнать для чего использовалась система. Там было множество сообщений системным пользователям о покупке оборудования, отчёты о текущем проекте, добавления. Что за проект?
Антракс прошёлся по громадной директории. Он открыл её и там внутри оказалось около 100 поддиректорий. Он открыл одну из них. Она была огромной, содержала сотни файлов. Самый маленький файл занимал 60 экранов с материалом, который был весь непонятен. Числа, записи, контрольные коды. Антракс не мог разобрать в файле ни головы ни хвоста. Как-будто он смотрел на группу бинарных файлов. Вся поддиректория была наполнена тысячами страниц мессива. Он подумал, что они выглядят как файлы данных для какой-то базы данных.
У него не было программы для интерпретации мессива, поэтому Антракс поискал более читаемую директорию.
8th Май 2011
|
Теги:
|