В сетях зла Sulverus aka Дроздов Андрей Хакер, номер #091, стр. 091-124-4 Теперь мы оборудовали наш троян самыми необходимыми функциями — он почти закончен. Кстати, для тех, кто захочет реализовать плагинную технологию, советую почитать предыдущие номера Х, а именно: статью «Универсальная армия», в которой мы об этом писали. Теперь хорошо бы написать клиент :). Ваяем клиент Для передачи данных мы будем использовать те же протоколы, что и в трояне — TCP и UDP (напомню: наша прога висит на 11000(tcp) и 12000(udp) портах). Для начала определимся, как мы будем передавать информацию. Я не заморачивался на эту тему и без всяких извращений решил отправлять текст напрямую. При желании ты сможешь сделать какое-нибудь шифрование, используя пространства имен System.Security и System.Security.Cryptography. Кстати, советую тебе не придумывать свои криптографические алгоритмы. Если ты не гениальный математик, все равно найдут дырку, поэтому используй майкрософтовский Crypto API. Для передачи текста через сокет его нужно преобразовать в тип byte (для этого существует метод Encoding.ASCII.GetBytes(string)), и после соединения сокетов его можно будет послать методом Send(). В результате наш троян, когда будет получать сообщение от клиента, будет пытаться найти аналогичное у себя, а в случае, если не найдет - будет пытаться выполнить полученную строку как программу (имеется в виду Process.Start(proc_name)). Все готово! Теперь мы можем соединяться с нашей недоброй программкой, посылать ей команды, заливать на свой рабочий компьютер файлы, законным образом уводить с него пароли и отправлять их в базу данных, устанавливать плагины. Если ты не поленишься разобраться с исходным кодом на нашем диске, то к выходу Висты будешь «в теме». На этом простом примере видно, насколько широки и необъятны возможности программирования на основе технологии .NET. Сколько новых креативных способов Майкрософт дарит хакерам и вирусописателям для создания новых творений! А что будет, если вместо BHO мы встроим в грядущий Internet Explorer 7.0 свой плагин, который получает код, или на основе технологии рефлексии динамически выгрузим какой-нибудь класс из кода IE7? В общем, грядущая Виста обещает нам очень много хороших дырок.. Напоследок скажу, что распространять и писать вирусы - не лучшее занятие, не стоит портить себе жизнь тюрьмой и прочей дрянью. Удачи! Нужна ли технология .NET ? Сегодня многие спорят на тему «стоит ли переходить на платформу .NET»? Консерваторы с пеной у рта доказывают, что это бред и надо писать на Си (в крайнем случае - на С++), более смелые активно говорят, что, напротив, необходимо освоить эту технологию, так как она открывает новые возможности программирования. Все эти споры беспочвенны. Я бы ответил на этот вопрос так: «Придется». Майкрософт активно проталкивает .NET (тем более что NET framework будет включен в Windows Vista), а воле Майкрософта сопротивляться бесполезно - в любом случае они сделают так, как хочется им (так же, как они поступили с DirectX 8 и DirectX 9). Те, кто говорит, что нельзя изучать то, что меняется у тебя в руке, не правы, так как во всем можно найти какую-либо закономерность и рациональность. |