Немного подумав, ребята, наконец, нашли возможность загружать файлы. С помощью Unicode они использовали echo-команды для загрузки текста ASP (Active Server Pages) — простого загрузчика файлов, который упростил передачу хакерских программ в корневую Интернет-директорию, из которой можно было запускать программы на сервере. (Корневая Интернет-директория — это корневая директория на Интернет-сервере, в отличие от обычной корневой директории на диске — С:\). Echo-команда просто пишет аргументы, которые ей передаются; выход может быть направлен в сайт, а не на экран пользователя. Например, если напечатать «echo owned > mit-nick.txt» запишет слово «owned» в файл mitnick.txt. Они использовали целую серию echo-команд, чтобы записать текст кодов ASP в исполняемую директорию на Интернет-сервере.
Затем они загрузили туда и другие хакерские средства, среди которых было популярное сетевое средство netcat, которое очень полезно для установки специальных команд прослушивания входящего порта. Они загрузили туда и приложение под названием НК, которое использует лазейку в старой версии Windows NT, которая позволяет получить привилегии администратора.
Они загрузили еще одну простую программу для запуска приложения НК, а затем использовали netcat, чтобы открыть соединение обратно к себе, что дало им возможность вводить команды на компьютер-мишень, типа того, как это было во времена операционной системы DOS. « М ы пытались инициировать исходящее соединение с внутреннего Интернет-сервера на наш компьютер в DMS». — объясняет Луис. «Но это не сработало, поэтому нам пришлось использовать технику под названием „цепляние к порту“. После выполнения программы НК для получения привилегий, они сконфигурировали netcat на прослушивание порта 80: чтобы „перенести“ IIS-сервер временно со своего пути, наблюдая за первым входящим соединением на порт 80.
Луис поясняет технологию «цепляния» так: « В ы временно убираете IIS с его места действия, как бы перехватывая управление уровнем, позволяя IIS работать на втором плане, вы сохраняете доступ к вашему уровню». В системах Windows в отличие от операционных UNIX-систем разрешается одновременно двум программам использовать один и тот же порт. Атакующий может использовать эту возможность, если найдет порт, который не фильтруется межсетевым экраном, а потом «прицепится» к этому порту.
Именно это и проделали Луис и Брок. Доступ, который у них уже был к узлу IIS, был ограничен правами, которые давал им пользователь, под именем которого работал сервер. Поэтому они запустили НК и netcat и смогли получить полные привилегии контроля над системой — работая, как пользователь системы, что является самой высокой привилегией в операционной системе. При помощи стандартных методик этот доступ позволил бы им получить полный контроль над всей Windows-активностью мишени.
На сервере работала система Windows NT 4.0. Атакующие хотели скопировать SAM-файл (Security Accounts Manager — управление безопасностью директорий), в котором содержались все детали о директориях пользователей, группах, политиках и контролях доступа. В этой старой версии операционной системы они запустили команду «rdisk/s», чтобы провести аварийную замену диска. Эта программа начинает с того, что создает несколько файлов в директории «repair». Среди этих файлов есть обновленная версия SAM-файла, которая содержит «нарезку» паролей для всех пользователей сервера. Еще раньше Луис и Брок раскрыли файл PWL, где содержались все важные пароли из ноутбука охранника: теперь они получили в свои руки зашифрованные пароли всех пользователей на одном из серверов компании. Они просто скопировали этот SAM-файл в корневую директорию Интернет-сервера. «Затем, используя Интернет-браузер, мы извлекли его с сервера на компьютер в нашем офисе».
Когда они взломали пароли из SAM-файла, то обнаружили, что там есть еще один пользователь-администратор на местном компьютере, отличный от администратора встроенной директории.
«После нескольких часов работы мы смогли взломать пароль этого пользователя, а затем попытались авторизоваться в первичном контроллере домена. И мы обнаружили, что этот пользователь с правами администратора на Интернет-сервере, взломанном нами, имел точно такой же пароль и в домене! И здесь он тоже имел права администратора.
Итак, на Интернет-сервере был пользователь с правами администратора, который имел такое же имя, как и администратор домена, и пароль в обоих с л у ч а я х был один и т о т же. Э т о т администратор был невероятно ленив, если для своей директории на другом сервере повторно использовал то же самое имя и пароль».
Дело постепенно продвигалось, хоть и небольшими шажками. Администратор на Интернет-сервере не имел таких привилегий на весь домен. Но, получив его пароль на Интернет-сервере, благодаря его лени мы смогли проникнуть в директорию администратора домена. Администратор домена администрирует или управляет всем доменом в отличие от администратора вашего локального компьютера, который управляет только им. В данном случае Луис не был исключением.