Профиль |
Сообщить модератору |
ИгнорироватьNEW! Сообщение отправлено: 28 октября 2005 21:49
Сообщение отредактировано: 28 октября 2005 22:07
При написании программ типа "троянский конь" часто возникает проблема: у пользователя может быть установлен firewall, который оповестит его о том, что программа пытается установить соединение с удаленным сайтом, что приведет к обнаружению трояна и его блокированию.
Однако, если стоит задача только вытащить с компьютера пользователя несколько файлов, а не делать полноценный backdoor, этой ситуации можно избежать. Для этого нужно, чтобы отправку осуществлял не сам троян, а какая-нибудь программа, которой пользователь доверяет. Лучше всего на эту роль подходит Internet-броузер: он точно входит в список разрешенных программ.
Реализуется это достаточно просто: найдя нужные файлы, троян генерирует где-нибудь во временном каталоге HTML-файл. HTML-файл содержит форму, в которую будут помещены файлы, которые требуется вытащить. Однако так как значения полей типа file зараннее задать нельзя, то придется поступить следующим образом: троян должен закодировать файл в base64 и сохранить результат в виде обычного поля: <input type=text name=file1 value="закодированный в base64файл">.
Далее все просто: троян запускает броузер, после чего отправка формы производится автоматически JavaScript (вызывается метод document.forms[0].Submit() из события onLoad, срабатывающего при загрузке документа). Окно броузера можно сделать либо сделать полностью скрытым (указав соответствующий параметр для функции WinExec), но это может привести к срабатыванию эвристического анализатора антивируса, либо после приема данных перенаправить пользователя на что-нибудь "нейтральное" - его домашнюю страницу, пустую страницу, google.com или какой-нибудь порно-сайт. После этого троян может самолквидироваться, уничтожив при этом и временный HTML-файл.
Соответственно, на сервере, куда отправлена форма, устанавливается Perl или PHP-скрипт, который создает подкаталог, имя которого соответствует IP-адресу, с которого была отправлена форма, и сохраняет все поля полученного POST-запроса в файлы (для удобства имена файлов можно передавать как имена полей формы).
Для повышения надежности работы трояна перед его запуском рекомендуется проверить наличие соединения с Internet (это делается достаточно просто с помощью функций WinAPI), а также проверить, включен ли JavaScript (это должно храниться в реестре) и при необходимости, включить.
Автор статьи: XXXX Pro
Первоисточник:
Объединенный Открытый Проект
P.S. Данная статья написана исключительно в учебно-демонстрационных целях, чтобы напомнить, что никакой firewall не является абсолютной и универсальной защитой. Автор не несет никакой ответственности за возможные последствия применения описанного здесь метода и напоминает, что его применение может противоречить действующему законодательству и повлечь административное или уголовное преследование.