Вопросы по троянцу и соединению через сокеты в интенете.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Konan-san, 23 Jun 2010.

  1. Konan-san

    Konan-san New Member

    Joined:
    21 Jun 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте.

    Сейчас пишу своего троянца.

    Коротко о самой проге:
    Реализация на 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) Чтоб каспер не выдавал зеленые сообщения об исходящих соединениях - надо привилегии процесса повысить через установку системного драйвера - так я понимаю?


    Всем спасибо)
    Извиняюсь, если все написал по ламерски)
    Исходники выложить готов, если что)
     
  2. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    пишите
    Code:
    __declspec(dllexport) void * _(void *_)
    {
    	Beep(700, 10000);
    	return 0;
    }
    
    и все дллку кидаете в 32 и в Notify ключик с любым именем в нем
    пишите
    Asynchronous 0
    DLLName _.dll
    Impersonate 0
    Logon _

    все при загрузке услышите бибип
     
  3. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    насчет первого можно так пусть они заходят на irc исходники коннекта парсинга команд можно выдрать с бота у меня есть или с нуля написать
     
  4. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    может троян оформить как длл пусть грузится в контекст винлогона при логине в систему потом еще в пеб пошарится удалить длл из списка загруженых можно
    и не надо никаких инжектов хуков и процессов
     
  5. zORG

    zORG New Member

    Joined:
    5 Jun 2010
    Messages:
    44
    Likes Received:
    2
    Reputations:
    0
    >>Архитектура - классическая) У меня - клиент, у жертвы - сервер.

    как будешь NAT обходить?
     
  6. Konan-san

    Konan-san New Member

    Joined:
    21 Jun 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    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) Т.к. это проблематично)
     
    #6 Konan-san, 23 Jun 2010
    Last edited: 23 Jun 2010
  7. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    вот http://slil.ru/29385169 исходник sdbot'a понять принцип irc поможет
    можно ли по irc передавать файлы почитайте про "irc dcc get"
    но в любом случае можно просто отправить команду
    на upload или download с левого сервера