• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Запуск 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-функции.
 
Мы в соцсетях:

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