Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Сквозь огненную стену

Докучаев Дмитрий aka Forb

Спецвыпуск: Хакер, номер #048, стр. 048-040-2


Самое время перенести готовый к работе сценарий на какой-нибудь FTP- или TFTP-сервер. Эту задачу – доставить скрипт на взломанную машину - можно выполнить различными способами, думаю, не стоит перечислять их: достаточно прочитать любую заплесневелую статью об эксплуатировании Unicode-бага, и все станет ясно. Скачиваем файл, затем перемещаем его в каталог /cgi-bin (путь к скриптовому каталогу можно узнать с помощью команды cd без параметров) и травим на него своего ослика. При удачных обстоятельствах загрузится ASCII-картинка с полем для ввода пароля. Забиваем пароль, который указывали при редактировании файла, и мы внутри!

На этот момент мы имеем полноценный WWW-шелл с возможностью скачивания и заливки любого файла. Ничто не мешает сочинить bat-файл, поднимающий права и запускающий хакерское приложеньице. Можно обратиться к дамперу mysqldump.exe, а затем быстренько скачать таблицы, наприме, с номерами кредитных карт клиентов. Самое главное, что никакой брандмауэр не воспрепятствует нам, а, следовательно, и админ не будет тревожиться :).

План B: довериться троянцу

Бывает, что по каким-то причинам взломщик не может применить cgi-telnet. На сервере может отсутствовать Perl, поддержка исполнения сценариев через web и т.п. В этом случае ничего не остается, как написать свой троянец, организующий connect back на заранее объявленный хост злоумышленика.

Обход фаервола с помощью connback давно применяется в эксплоитах против lsass и DCOM. Суть механизма в следующем. Запуская троянец, атакующий активирует специальную процедуру, которая сама соединяется с произвольным хостом и разрешает выполнить любую команду на сервере. Даже если админ установил правило, контролирующее исходящий трафик, фаервол пропустит коннект по причине того, что порождается он доверенным WWW-сервером.

В инете по этой теме почти ничего нет, кроме эксплоитов к дырявым сервисам. Поэтому проще написать свой бэкдор, организующий connect back. В качестве языка программирования я бы выбрал Perl. Потом можно портировать проект в удобный exe-файл, который запустится даже без присутствия интерпретатора.

Система должна содержать клиент и сервер. Клиент будет запускаться с удаленной (взломанной) машины, а от сервера потребуется лишь ждать подключений на локальном компьютере взломщика. Несмотря на некоторую запутанность реализовать проект очень просто, к тому же, он занимает мало места. Изучив исходники троянца, без проблем можно написать аналогичную тулзу на C/C++ или даже на Delphi.

Клиент всегда прав!

Начнем с изучения клиента. Он будет запущен на удаленном сервере. После старта скрипт уйдет в бэграунд, подождет указанное число секунд, а затем соединится с сервером. Чуть позже сценарий будет ждать команды от хакера, а как дождется, выполнит ее и вернет результат. В случае если взломщик отправил некорректный запрос, клиент вернет точное описание ошибки. Просмотри исходный код самой главной части во врезке, и у тебя отпадет большинство вопросов по алгоритму работы системы.

Назад на стр. 048-040-1  Содержание  Вперед на стр. 048-040-3