Что такое троян.
Итак, что такое трояны?
Это программы, но не совсем обычные. Они попадают
на компьютер вместо (а зачастую и вместе) с другой
программой, нужной и втихомолку от босса
скаченной в рабочее время. Для чего? Чтобы
совершить определенные запрограммированные
действия, что называется, на месте назначения, то
есть непосредственно "по прибытию". Причем,
естественно, без ведома владельца компьютера.
Так... на всякий случай, чтобы не возникал со
своими ctrl+alt+del в неподходящий момент. Говоря
"троян", подразумеваем "вирус". Но это
не просто вирь! Это, на самом-то деле, умным языком
называется "программа удаленного
администрирования", то есть прога для
управления чужим компом откуда-нибудь из
прекрасного далека. Основное отличие троянов от
вирусов - они направлены не только и не столько на
размножение либо деструктивные функции, сколько
на получение различного рода информации и
доступа к определенным ресурсам компьютера. Это
следствие. Но причину - вирусное тело - троян
имеет обычно как раз точно такую же, как и у всех
остальных подобных вирусно-гриппозных
паразитов. К классу троянов принадлежит
настолько офигительно большое количество
программ, что любое определение самого понятия
нужно будет расширять и расширять, и все равно,
наверное, будут появляться трояны, которые в него
не впишутся. Так, например, есть не
размножающиеся (intended) вирусы, трояны, которые
устанавливаются на компьютер только с
разрешения владельца оного предмета, и т.д. Эй! Ты
не спишь ещё? Пиво не кончилось? Еще пару слов,
чтобы не запутаться позже в ненужных
обозначениях, и можно будет переходить к
собственно классификации. Итак, пусть владелец
(жертва) трояна (в простонародье зовут зверем) -
человек, на машине которого сидит этот зверь. Для
общей картины можно сказать, что владелец
довольно глуп и не знает о присутствии
"нежелательных" гостей. Клиент - тот, кто
зверя установил или начал распространять, чтобы
использовать в своих корыстных целях. Но им пусть
будет также и тот, кто этого трояна случайно
найдет и решит им попользоваться в свою очередь.
Такие ситуации случаются крайне редко и могут
принести большие неприятности всем участникам
"троянизации" - все из-за недостатков
использования чужого тайника. Например,
некоторые "товарищи" берут троян,
прописывают туда свой обратный адрес и запускают
в производство, не зная о том, что вся информация,
как правило, дублируется еще и автору трояна. Вот
такие плюшки. Ладно, хватит занудных терминов -
перейдем к классификации.
Классификация по способу инсталляции
Трояны бывают с сетевыми, консольными или
удаленными инсталляторами.
К первому типу относятся Back Orifice, NetBus,
всевозможные вариации на подобные темы и их
производные. Доступ к компьютеру владельца не
нужен, к самому пользователю - по вкусу. Нужно
только, чтобы комп-цель была видна (в случае
локальной сети), либо был известен IP жертвы (в
случае Internet). Всевозможные undergroundnet`ы я не
рассматриваю, а в FiDO, насколько мне известно,
сетевых троянов нет. И думаю, не предвидится их
появление вообще как вида (прежде чем писать
гневные письма, прочти продолжение, и если твой
праведный гнев на недостоверную информацию и мои
знания не иссякнет, буду рад выслушать все
багфиксы, которыми ты меня одаришь). Консольная
инсталляция - самая надежная, но требует от
клиента доступа к терминалу владельца без
присутствия оного за спиной (чтоб топором по
спине не получить в случае сильной башковитости
этого индивида). Программы такого типа требуют
подчас ручной настройки и маскировки - весьма
занудное занятие. Их можно (и нужно) использовать
не только в злостно-хулиганских целях. Например,
очень удобно поставить на своем рабочем месте
или даже дома на время, к примеру, отъезда. А потом
вернуться и громко так сказать: "Кто ел из моей
чашки?!". Самой распространенной программой с
подобным интерфейсом является HookDump под винды.
Технология ее использования довольно проста:
достаточно запустить ее на машине владельца и,
указав ей, за чем надо следить, можно быть
спокойным. Правда, доставать оттуда информацию
клиенту придется опять же собственными ручками.
То, что я назвал удаленной инсталляцией трояна,
на самом деле очень интересная вещь: бывают
случаи, когда путь по сети закрыт, а терминал
охраняется как сокровищница Кремля. Тогда и
выручает этот на первый взгляд извращенный, а на
самом деле очень удобный для клиента и простой в
реализации для троянописателя способ.
Неинтерактивный инсталлятор трояна или уже
настроенный комплекс в рабочем состоянии
посылается письмом или переписывается на
дискетку и вручается самому заклятому другу. Тот
пользуется полезной программой, которая
временами дает поработать и вашему трояну. И
волки, как говорится, целы, и овцы в дураках не
остались.
Классификация по методам получения информации
Трояны могут поддерживать сетевое, консольное
либо интерактивное предоставление информации
клиенту. Это основные направления, существуют
трояны, совмещающие все три типа в одном. Сетевой
тип представляет собой всего лишь почтовое
письмо с информацией, которая может быть полезна
клиенту. Обычно такая информация шифруется или
маскируется под вполне безобидные вещи -
например, под электронную подпись PGP. Характер
информации определяется режимом работы трояна, а
о них будет рассказано ниже. Хочется только
напомнить некоторым троянописателям про то, как
они оставляют в письме прямо к себе на аккаунт
сообщения типа "дело сделано! пароль
спионерил: password.". Да еще и темплейт к нему в
конец килобайт на двадцать. А ведь обо всем могут
рассказать всего несколько байт. Помни, кратк. -
сестр. тал.! Консольное предоставление
информации - самый простой способ ведения
записей, но немного неудобный при возникновении
трудностей, относящихся к доступу к машине
жертвы. Кроме того, сообщение после отправления
удаляется, а запись все растет и лежит на
винчестере владельца мертвым грузом - это может
послужить одной из улик, первым шагом к
разоблачению трояна, что обычно и происходит на
практике за очень короткий период времени.
Интерактивный тип предоставления информации -
обычно самый тяжелый в реализации механизма
работы трояна для автора, но с его помощью клиент
может в некоторых случаях получить очень нехилые
результаты. Одной из таких приятных для клиента
приблуд является Network Crack Wizard, как следует из его
названия, предназначенный для крака локальных
сетей. Он негуево (во всех смыслах этого
старинного русского слова) инсталлируется, а
потом ждет команд клиента, которые весьма шустро,
надо сказать, выполняет.
Как ты уже наверняка заметил (если не уснул по
дороге к этому абзацу) методы предоставления
информации тесно связаны с режимами работы
троянских пони. Но тем не менее - это разные вещи,
просто сильно влияющие на другие и
взаимодействующие друг с другом на самом
глубоком уровне, и именно поэтому я взял на себя
смелость их разделить.
Классификация по режимам работы
Трояны могут играть роль монитора, админа,
суфлера, шпиона, робота либо маскирующего
автомата типа партизан - 2000. И, конечно, даже самый
известный дядя - антивирусист - не сможет
помешать им выполнять лишь одну из приведенных
функций, даже скорее наоборот - это заставляет
авторов быть все время "на коне" и искать
всевозможные пути обхода защит. Поэтому
некоторые трояны совмещают в себе все типы -
носят несколько фуражек на одной голове. Немного
подробнее о режимах работы:
Монитор - пассивный наблюдатель вроде Hookdump`а.
Такой все видит, все знает, но ни о чем не имеет
собственного мнения. Чаще всего просто наблюдает
за "погодой в доме" и записывает изменения
состояния жертвы в корабельный журнал, который
потом может быть послан клиенту или будет забран
им самим - последнее относится как раз к Hookdump`y.
Иногда позволяет задать фильтры - например, не
писать все об интимной жизни жертвы с мастдаем-98.
Просто мониторы ставят очень редко, часто они
работают и как админ, суфлер или шпион. Тогда
производимые наблюдения послужат сигналом к
началу каких-то более активных действий, выбору
более выгодных - оптимальных для этого условий
или (чем хакер не шутит, пока сисоп спит)
собственной деинсталляции. Последнее иногда
бывает не менее важно, чем сама украденная
информация.
Админ - старший брат юзера, он внимательно следит
за последним, чтобы он чего дурного (для себя) не
натворил. Такая, на первый взгляд, хорошая идея
употребляется "добрыми самаритянами" в
самом непотребном случае - в троянских
программах. Например, программа, ограничивающая
доступ ресурсам сети - принтеру или расшаренным
сетевым дискам, очень не попсово будет
смотреться где-нибудь в не очень высшем учебном
заведении... но кому понравится, если она вдруг
хитрым извратом просочится на борт его
собственного судна?
Суфлер - все из названия. Как сказал один мой
знакомый, "... суфлер - это такой мужик, который
сидит в яме и всем вокруг пудрит мозги". Но на
то он и суфлер, чтобы подсказывать что-то, а в
некоторых случаях (учитывая специфичность нашей
темы) и полностью замещать владельца трояна
(естественно, в некоторых - нужных клиенту
случаях). Довольно трудно сразу уяснить себе, где
именно можно найти применение такой проге, но ты
только прикинь, какие перспективы открываются
для того, кто сможет им грамотно воспользоваться
в своих интересах. Пока, правда, такие трояны -
редкость, но истории о переписи мэйл-демонов
(когда на письмо-сообщение об ошибке в е-мail
адресе приходит ответ от другого мэйл-сервера и
т.д. по кругу) наводят на мысли... Отправка
сообщений с двумя-тремя страницами мата местному
сисадмину, скачивание картинок сомнительного
содержания, просто загрузка трафика, хранение
скрытой информации или порча важных документов в
c:\mustdie\Мои документы - да все, на что хватит
фантазии у автора трояна.
Робот - программы, беспрекословно выполняющие
команды клиента (суть - удаленного доступа),
имеющие базовый набор функций, которые можно
вызывать, например, посылкой почтой определенных
слов где-то в тексте или сабже письма:
From: spamer@inkognito.ru
To: torjanowner@lamaz.com
Subj: Хотите подпишу на sex.pictures.mail???
...
Робот, проверяющий почту еще при ее получении или
позже в inbox`е, обнаружит это сообщение (от
spamer@inkognito.ru) и найдет там, например, слова
sex.pictures.mail. Для него это может быть командой на
отправку паролей на доступ к ftp-серверу и
самоуничтожение. Вообще говоря, отдача приказов
может происходить различными способами, и
конкретно на поведение трояна это не должно
влиять никаким образом. Также следует отличать
такие трояны от тех, которые управляются
событиями (например, соединения с Internet вообще или
с каким-то отдельным сервером в нем,
приемом/отправкой почты или запуском ICQ/посылкой
icq-мессаг). Все их реакции неизменны во время
работы в тылу врага - в отличие от робота, который
работает как раз в таких условиях. Можно сравнить
троян с взрывным устройством, тогда робот будет
бомбой с большой красной кнопкой и надписью
"BOOM!!!", а трояны, реагирующие на события, -
бомбами с часовым механизмом или, к примеру,
гранаткой на растяжке.
И, наконец, последний тип классификации -
партизаны, мирно существующие у какого-нибудь
Васи Пупкина. Партизаны - как раз те самые
программы, с которыми я сравнивал суфлера.
Управляются по событиям, то есть запустил Вася,
например, хорошую программу PGP, чтобы дяди из СОРМ
не читали его почту, и разбудил вот такого
партизана, который на этот пароль сквозь кривые
мохнатые пальцы посмотрел и аккуратненько в
тетрадочку-то свою и записал. И устав от долгих
лет ожидания, принялся наводить порядочек... в
соответствии с собственным мнением на этот счет.
Следует также помнить, что хотя трояны последних
двух типов - вещь в дикой природе хоть и очень
редкая, но возможная, и о них не стоит забывать,
когда неожиданно только что дописанный
"двойной" бухотчет за месяц неожиданно
оказывается у товарищей из налоговой инспекции.
Они тоже не ангелы...
Прощание с детьми Трои
Вот такая вот вредоносная маза - эти самые трояны.
Вроде бы - вполне крутая и кульная. Пока тебе
такого не посадят. Поэтому: прежде чем засадить
кому-нибудь трояна, подумай десять раз! Оно тебе
надо? Сам знаю, что надо. Да, и если тебе повезет, и
ты упрешь чужой логин и пассворд - не попадайся
владельцу, а то получишь по наследству. Воровать
нехорошо, за это по лицу бьют. По заслугам.
Любому новичку достаточно трудно обнаружить и
обезвредить Троян по той простой причине, что
"товарищи", настраивавшие троянцев, могут
легко ввести в заблуждение кого угодно, назвав
файл, под которым инсталлируется Троян, как-то
вроде winrun32dll.exe или win32.exe, или msdll64.exe. В общем,
фантазия человека безгранична. Конечно же, файл
win32.exe располагает к себе доверием, и
никакой новичок удалять такой файл не станет... А
вдруг Windows "загнется" (гы-гы-гы!)?
Найти и уничтожить!
В Windows есть такая отвратительная (потому что
сложная для новичков) или рулезная (по той же
причине :)) штука, как РЕЕСТР. Ты про него уже
по-любому слышал. Реестр состоит из РАЗДЕЛОВ и
СТРОК (все строчки с текстовой информацией
разбиты по своим разделам). Строка типа
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -
типичное название раздела реестра. В этом
разделе содержится часть программ, которые
автоматически запускаются при старте твоего
Маздая. Есть еще папка
"Пуск-Программы-Автозапуск" и файл autoexec.bat
(config.sys), но, скорее всего, там ты никаких ЛЕВЫХ
программ (в дальнейшем ТРОЯНОВ) не обнаружишь,
так как туда записываются только особо
изощренные Трояны, коих, по крайней мере, я еще не
обнаруживал :). Для просмотра папки АВТОЗАГРУЗКА
достаточно нажать кнопку ПУСК и зайти в
ПРОГРАММЫ, для просмотра файлов config.sys и
autoexec.bat достаточно запустить notepad. А вот для
просмотра РЕЕСТРА нужна программа c:\windows\RegEdit.exe,
которая может показывать эти разделы и строчки.
Как я уже сказал, большинство Троянов записывает
себя в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, но,
помимо этого, существует еще масса мест в
реестре, куда следовало бы заглянуть. Например:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunservicesOnce
HKEY_USERS\.Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_USERS\.Default\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_USERS\.Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices
HKEY_USERS\.Default\SOFTWARE\Microsoft\Windows\CurrentVersion\RunservicesOnce
Для того чтобы не метаться в диких муках по всему
вышеперечисленному вручную, достаточно
запустить regedit /e tmp1.txt ИМЯ РАЗДЕЛА, в результате
чего после каждого запуска заново будет создан
файл tmp1.txt с содержимым
раздела реестра... Посмотрев туда, нужно удалить
все "Строковые параметры", запускающие
неизвестные программы из соответствующего
раздела реестра! Например, довольно популярный
Троян "Naebi Soseda" записывает себя как
с:\windows\mswinrun.exe, c:\windows\temp\mswinrun.exe.
Другой Троян - GF - записывает себя как c:\windows\windll.exe,
c:\windows\system\windll.exe.
Разберем Троян Stealth наших друганов - KurT'a и Doc'a. Вот
что они сами говорят про него: "Как и
большинство подобных программ, наша после
первого запуска копирует себя в директорию, где
живут Винды, под каким-нибудь неприметным именем.
В то же время она добавляет себя в один из
разделов регистра, который обеспечивает ей
загрузку при каждом старте Виндов. Для
обеспечения прикрытия свой легенды (т.е. чем ее
представили жертве), она может выдать
какое-нибудь сообщение, типа "Required DLL MFC50.DLL not
found. The program will now terminate", что в переводе с
буржуйского значит: "Требуемая библиотечка
MFC50.DLL не найдена. Программа завершит свою
работу." (Х #2, статья "Как стать
рабовладельцем в Сети")
Все лишние программы из реестра, особенно те,
которые не устанавливались специально, нужно
удалить. Тут будь осторожен, так как со временем
на компьютер устанавливается большое количество
программ, и многие из них записывают себя по мере
надобности в реестр, т.е. удаление надо
производить только с особой тщательностью и
аккуратностью. Боишься удалять? Тогда на фиг
закрой реестр и больше туда не лезь. Да не, это я
шутю, это юмор такой - на самом деле просто
переименуй имя программы, например "с:\program
files\icq\icq.exe" в "с:\program files\icq\null" (чтобы
проверить, изменилось
ли что-то от того, что эта программа не
запускается). Подраздел \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
есть не только в разделе HKEY LOCAL MACHINE, а еще и в HKEY
USERS (HKEY USERS\.Default\ или HKEY USERS\. Твой логин при старте\).
Поэтому также не забудь поискать разделы типа
"Run" ("RunOnce", "Run...") еще в 2 главных
разделах.
Если Троян все же запустился, то ты явным образом
можешь его увидеть и выключить, нажав Ctrl+Alt+Del.
Однако, даже если нажав Ctrl+Alt+Del ты ничего не
обнаружил, радоваться еще рано. Полную
информацию о запущенных программах в Windows можно
увидеть, запустив утилиту XRun.
Также подойдет утилита CTask , выполняющая
аналогичные действия.
Вот список типичных приложений, которые ты там
можешь увидеть: KERNEL32.DLL, MSGSRV32.EXE, MPREXE.EXE, MMTASK.TSK,
VSHWIN32.EXE, EXPLORER.EXE, SYSTRAY.EXE, INTERNAT.EXE, LOADWC.EXE, RUNDLL.EXE,
STARTPG.EXE, RNAAPP.EXE, TAPIEXE.EXE, SPOOL32.EXE, WSASRV.EXE . Запоминать их
все, конечно, не нужно (хотя можешь, тебе это не
помешает), и если ты чего-нибудь из этого списка
не увидишь - то это не значит что твой Маздай
установился не полностью. Здесь просто собрано
большинство системных программ, используемых
Маздаями. А вот если увидишь что-то новое в
реестре, не надо сразу бросаться удалять все
подряд и форматировать винт, а следует спокойно
разобраться с этой программой - откуда она у тебя
и что делает. Помнишь такую старую поговорку -
семь раз отмерь, один раз отрежь? Вот тут все так
же: семь раз прикинь, один потри.
Если же в реестре ничего нет, то следует
пробежаться по конфигурационным файлам Windows,
таким как win.ini и system.ini. Win.ini и system.ini находятся в
каталоге c:\windows, самый простой способ запустить
программу оттуда - это написать
"run=путь\троян.exe" или "load=программа".
Хотя запись сюда производится довольно редко,
т.к. здесь довольно просто обнаружить что-то
подозрительное, нежели, например, в реестре. Если
вышеизложенные способы ничего не дали, а у тебя
все-таки осталась навязчивая мысль о том, что ты
подвергся заражению - то тогда возьми любой
сканер портов, зайди в Инет и проскань свой IP
(127.0.0.1 - одно из обозначений твоего компьютера в
сети) на предмет "подозрительных" портов...
Если у тебя открыты нестандартные порты - то есть
повод для разбирательств.
Ниже приводится список "стандартных"
портов, которые зачастую могут использоваться в
твоей системе:
21 - FTP
23 - Telnet
80 - HTTP
53 - DNS
139 - NetBios
1027 - ICQ
Если у тебя на компьютере хранятся пусковые коды
ракет Пентагона или какая-то очень личная
информация, и ты ОЧЕНЬ беспокоишься о ее
безопасности - скачай себе FireWall (такая спец.
прога, ею можно порты себе перекрыть или
чего-нибудь еще сделать). После некоторой
головной боли в ее настройке ты сможешь
наблюдать, кто к какому порту хочет
приконнектиться...
Очень хороша в этом случае программа ATGuard - с
помощью этой утилиты ты в любой момент сможешь
посмотреть, кто к тебе подключен, какое
приложение для этого используется, на каком
порту идет передача и какой IP-адpес
подключившегося. В крайнем случае с ее помощью ты
всегда сможешь разорвать соединение или
включить FireWall. Теперь, если ты обнаружил
подозрительное приложение, которое "висит"
на каком-нибудь порту, советую его проверить.
Твоя безопасность - моя профессия
Ниже идет несколько простых правил, соблюдая
которые, ты можешь не беспокоиться о своей
безопасности:
1. Скачивать программы можно ТОЛЬКО из надежных
источников и как можно меньше со всяческих якобы
"хакерских" сайтов... Львиная доля Троянов
приходится именно на файлы с этих серверов.
2. Если ты скачал какую-то программу - ОБЯЗАТЕЛЬНО
проверь ее на наличие вирусов. Наилучшим
вариантом для тебя будет установить на компьютер
антивирусный пакет AVP, разработанный Касперским,
или же DrWeb.
3. Никогда не запускай программы, пришедшие к тебе
по E-MAIL, т.к. очень часто всяческие шутники и иже с
ними cool haxorы рассылают так программы-приколы.
Поверь, Троян - это еще не худший вариант беды. Вот
пришлют тебе какой-нибудь порнухи, и растеряешь
ты всю свою бдительность.
4. В качестве паролей всегда используй
замысловатые наборы символов, типа Jqp2FQs, и по
возможности старайся их вводить в окне терминала
вручную - это обезоружит Троянов, отсылающих
пассворды на чей-то E-MAIL адрес.
5. Будь бдителен.
Если ты не следовал этим правилам, и у тебя украли
твои пароли, то СРАЗУ же пошли письмо в офис
провайдера с просьбой о смене пароля! Или позвони
в службу
поддержки.
Кстати: есть такие Трояны, что обнаружить их
почти невозможно! (таким Трояном является EPS I и II)
Разве что только через At-Guard посмотреть на
используемые порты. На данный момент я владею
Трояном типа Mail Sender, который использует RING0 - это
означает, что его не видно ни в реестре, ни в
памяти... А скоро, возможно, автор научит его
обходить и At-Guard. Лично у меня большая коллекция
Троянов, все я тестировал на своей машине. Я
встречал даже такие, которые удаляют At-Guard с
системы или ставят запрет на просмотр скрытых
процессов (просмотр возможен только DOS-yтилитами).
Но самое главное - за всю жизнь я не встретил ни
одного Трояна, от которого не смог бы избавиться.
Так что будь аккуратен, пользуйся презервативом,
переходи улицу на зеленый свет, ну а если уж
посадил Трояна - лечись и борись с ними! Успехов
тебе в этом нелегком деле - борьбе с конями
компьютерного фронта.