Здравствуйте. Сейчас пишу своего троянца. Коротко о самой проге: Реализация на C++ (VS2008). Хоть и на C++ - (так просто пока отлаживать удобнее) но могу перенести и на C. Все делаю на чистом API, для отладки подключил stdio) Что сделано: функции управления удаленным компом - скачать, закачать, удалить, выполнить файл, запись и чтение из реестра - ну и по мелочам поиграть с сидюком, выйти из сеанса пользователя и послать "послание параллельных миров"))) (messagebox от окна с идентификатором 0) Также сделал autorun - чарез подписывание к winlogon/userinit и скрытие от диспетчера задач - написал dll-ку - из нее вызываю ф-цию, которая ставит хук на ntquerysysteminformation) Когда все отлажу - напишу ф-цию выполнения php запроса и скрипт на php чтоб принимать на внешний хост IP жертвы. Ну и наверное како-нибудь пустой драйвер (или не пустой а с ф-циями скрытия) чтоб попасть в 0ring и получить почти неуявимость) Интернет соединение - на обычных сокетах, разберусь с этим - сделаю на сырых. Архитектура - классическая) У меня - клиент, у жертвы - сервер. Собственно вопросы: 1) Как соединиться с компом в другой подсети? Т.е.: 2 варианта ip - локальный и internet а) ip - локальный (в разных подсетях одного и того-же провайдера): есть например мой IP 10.4.23.11 и IP жертвы - 10.5.84.23 б) ip - inernet например мой IP 92.244.253.10 и IP жертвы - 94.141.49.211 Но соединение - не проходит ни в первом, ни во втором случае. tracert <ip жертвы> из cmd - тоже не проходит - после 3-го или 4-го скачка - все остальное - таймауты(( Вопрос 1 - Самый самый важный: Как сделать так, чтоб соединение происходило? В sockaddr_in::sin_family - задаю AF_INET - вроде так должно быть. Не, я конечно понимаю, что интернет IP - показывается как IP маршрутизатора, а маршрутизация из одной подсети в другую может и не пройти, но ведь есть куча программ удаленного администрирования, которые замечательно работают. 2) Как корректно прописать dll-ку в winlogon/notify? Чтоб она не только загружалась, но и события вызывались корректно? Пробовал как написано в rsdn, msdn - dll - загружается, но ф-ция обработчик события - не выполняется (Банальный тест на создание файла, а в идеале - должна через WinExec запускать троянца). Хотя я ф-цию обработчик пишу по всем правилам - заголовок WLEventStartup(PWLX_NOTIFICATION_INFO pInfo) ну и разумеется экспорт. Может у кого-то есть работающий пример - ключ реестра + исходники dll? 3) Скажите, что почитать, чтоб написать загрузчик троянца с сайта - ну т.е. не раз сталкивался с тем что захожу на сайт через осла IE - а там сообщение "ошибка безопасности java" и, даже если ничего не нажимать - файрвол начинает ловить кучу гадости в system32 и HKLM/.../run Где такое взять (хотя бы исходники примера) и что почитать на эту тему? 4) Чтоб каспер не выдавал зеленые сообщения об исходящих соединениях - надо привилегии процесса повысить через установку системного драйвера - так я понимаю? Всем спасибо) Извиняюсь, если все написал по ламерски) Исходники выложить готов, если что)
пишите Code: __declspec(dllexport) void * _(void *_) { Beep(700, 10000); return 0; } и все дллку кидаете в 32 и в Notify ключик с любым именем в нем пишите Asynchronous 0 DLLName _.dll Impersonate 0 Logon _ все при загрузке услышите бибип
насчет первого можно так пусть они заходят на irc исходники коннекта парсинга команд можно выдрать с бота у меня есть или с нуля написать
может троян оформить как длл пусть грузится в контекст винлогона при логине в систему потом еще в пеб пошарится удалить длл из списка загруженых можно и не надо никаких инжектов хуков и процессов
greki_hoy, Спасибо огромное) С выполнением событий из dll-ки разобрался) Оказывается, что дядя билл в msdn - врет) И статья из rsdn - тоже) Там заголовок ф-ции - обработчика события описан как __declspec( dllexport ) void __stdcall WLEvent(PWLX_NOTIFICATION_INFO pInfo); а надо с void*), как у Вас) Что касается повышения привилегий - так если Impersonate = 1 в notify - любой поцесс запущенный dll - будет system) Но каспер все - равно шлет зеленые окна о исходящих соединениях) И вправду лучше сделать бекдор как dll. Исходники работы с IRC вроде нашел) Буду разбиратся) Конечно если Вам не жалко поделится кодом работы бота с IRC - мой mail - tim-shr@mail.ru Извиняюсь, что на мейле - не волшебник еще, все по скромному) А так - хоть разберусь побыстрее) Да, вот еще сейчас подумал - если управление будет через irc - то возможно ли через него передавать файлы (TransmitFile из API или своей ф-цией), или это лишь чат и ни о какой передаче данных и речи быть не может? Nightmarе, согласен с Вами) но пока просто хочу сначала свой бекдор написать. И оформить в виде троянца, чтоб автоматом с сайта мог загрузиться и установить себя незаметно (ну или почти незаметно))) Разберусь с этим - буду работать над созданием полноценного бота, управляемого через гейт) Хотя, обмен большим объемом данных с компом, который за NAT - для меня пока вопрос открытый(( Просто у меня пока задача - вскрыть несколько конкретных машин) Вопрос (сразу извиняюсь за его глупость): что касается бекконнекта, Вы насколько я понимаю имеете ввиду, то что останется возможность "напрямую" (будет на гейте такая ф-ция) подключиться к компу жертвы и закачивать с него файлы на гейт, а с гейта на комп жертвы, ну и соответственно все остальное? Вот вот) Потому и возник вопрос 1) Т.к. это проблематично)
вот http://slil.ru/29385169 исходник sdbot'a понять принцип irc поможет можно ли по irc передавать файлы почитайте про "irc dcc get" но в любом случае можно просто отправить команду на upload или download с левого сервера