• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прог

  • Автор темы kapustin2
  • Дата начала
K

kapustin2

Подскажите, как должен выглядеть код простейшей программы на C# (Loader.exe), которая бы загружала под собой исполняемый файл (Prog.dll), причем Prog.dll это переименованный исполняемый файл Prog.exe. В итоге должно получиться дерево процессов. Не путать с API функцией при импорте dll в приложение. Если предложений ни у кого нет, то буду рад хотя бы ссылке на ресурсы, так как все перерыл и ничего не нашел.

P. S. Исходников Prog.dll (бывшей Prog.exe) нет, но я уверен, что они и не нужны, так как нужно просто ее запустить.
 
E

etc

Ниче не понял... зачем переименовали? переименуйте назад и лоадера не надо!
 
K

kapustin2

Ниче не понял... зачем переименовали? переименуйте назад и лоадера не надо!

Нашел ответ на первый вопрос. API-функция ShellExecute

Я пытаюсь управлять пакетами, а именно их шифрацией от Prog.dll (Prog.exe) создав простой прокси:
TcpListener слушая локальные IP на порту
Затем с помощью TcpClient принимаю ожидающий запрос клиента на подключение (AcceptTcpClient()), короче создаю сокет.
Обеспечиваю поток данных через NetworkStream (TcpClient.GetStream())
Затем создаю снова TcpClient который поключается к серверу. для него тоже создаю NetworkStream для потока данных (GetStream())
Объявил поключение к серверу и к клиенту отдельно. Но перехватывать пакеты могу только все а не отдельно от клиента и отдельно от сервера. Нетворкстрем.Read() и затем Буффер.Гетбите() - Сетбите()

1. Как отдельно ловить пакеты от сервера и отдельно от клиента и затем оперировать ими с помощью моего прокси или же мой прокси на такое не способен?
2. Как в моем случае перехватывать траффик при помощи все той же Loader.exe от Prog.dll (Prog.exe) раньше чем это делают снифферы внедряющиеся в процесс Prog.dll и заставляющие его направлять пакеты по туннелю на себя и только затем в точку назначения. Пробовал защищать Земидой Prog.dll, но после даже самой мягкой защиты не запускается.
 
K

kapustin2

Предложили на винграде такой вариант:

Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"\Prog.dll");
p.Start();

Но так запускаются лишь .exe, а на мой исполняемый псевдо Длл пишет - "Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции".
Я видел как этот же переименованный Длл запускает другая программа на делфи.
 
K

kapustin2

А возможно ли запускать исполняемый файл и если возможно, то как, если этот файл был добавлен в проект приложения как внедренный исполняемый ресурс? Т. е. в данном случае Prog.exe добавлен в проект приложения Loader.exe
 
Z

zubr

2. Как в моем случае перехватывать траффик при помощи все той же Loader.exe от Prog.dll (Prog.exe) раньше чем это делают снифферы внедряющиеся в процесс Prog.dll и заставляющие его направлять пакеты по туннелю на себя и только затем в точку назначения. Пробовал защищать Земидой Prog.dll, но после даже самой мягкой защиты не запускается.
Перехватывать API-функции recv, WSARecv на уровне ядра, также стоит посмотреть в сторону WinPCap.
 
K

kapustin2

Не нашел примеров кода под .NET, которые перехватывают API-функции.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!