• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

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

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

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

Подключение к другому компьютеру (авторизация)

Здравствуйте!

Срочно нужна консультация по C# (.Net).
Нужно из программы подключиться к другому компьютеру (считать журнал событий EventLog), и не знаю, как сообщить этому другому компьютеру имя пользователя и пароль (они не такие, как на моём, их нужно сообщить через программу).
Кто подскажет, как это сделать?

Мне не нужны какие-то мудрёные решения, написанные кем-то, мне просто нужно считать EventLog, ничего более!
 
Нужно из программы подключиться к другому компьютеру
Используйте из библиотеки Mpr.dll
Они удобны тем, что просто вызывают уже готовые системные окна.
К примеру WNetConnectionDialog() вызовет окно для выбора сетевого диска, и если у вас к нему нет доступа, то следом вызовет бокс для ввода пароля. Пример на сишке есть по ссылке, а на асме это выглядит так:
C-подобный:
include  'win32ax.inc'
.data
lName     db  'mpr.dll',0
fName     db  'WNetConnectionDialog',0
;//--------
.code
start:    invoke  LoadLibrary,lName           ;// подгружаем mpr.dll динамически
          invoke  GetProcAddress,eax,fName    ;// получаем адрес функции в ней

          push    1                           ;// аргумент "RESOURCETYPE_DISK"
          push    0                           ;// хендл родителя
          call    eax                         ;// зовём WNetConnectionDialog()

          invoke  ExitProcess,0
.end start
wlan.png


Список остальных WNet-функций
После того как получите доступ, можно будет читать файлы как-обычно, через ReadFile()
 
  • Нравится
Реакции: centr
Используйте из библиотеки Mpr.dll
Они удобны тем, что просто вызывают уже готовые системные окна.
К примеру WNetConnectionDialog() вызовет окно для выбора сетевого диска, и если у вас к нему нет доступа, то следом вызовет бокс для ввода пароля. Пример на сишке есть по ссылке, а на асме это выглядит так:
C-подобный:
include  'win32ax.inc'
.data
lName     db  'mpr.dll',0
fName     db  'WNetConnectionDialog',0
;//--------
.code
start:    invoke  LoadLibrary,lName           ;// подгружаем mpr.dll динамически
          invoke  GetProcAddress,eax,fName    ;// получаем адрес функции в ней

          push    1                           ;// аргумент "RESOURCETYPE_DISK"
          push    0                           ;// хендл родителя
          call    eax                         ;// зовём WNetConnectionDialog()

          invoke  ExitProcess,0
.end start
Посмотреть вложение 31792

Список остальных WNet-функций
После того как получите доступ, можно будет читать файлы как-обычно, через ReadFile()
Спасибо большое! А эту библиотеку можно скачать из официальных источников? (Простите, мой планшет не такой "информативный" как хотелось бы...)
 
что-за приложение вы пишите и под какую ось?
я привёл пример для винды, и у неё эта библиотека уже есть по-умолчанию в папке ..\System32. Поэтому я просто подгрузил её в свою программу функцией LoadLibrary() и всё
 
что-за приложение вы пишите и под какую ось?
я привёл пример для винды, и у неё эта библиотека уже есть по-умолчанию в папке ..\System32. Поэтому я просто подгрузил её в свою программу функцией LoadLibrary() и всё
Спасибо большое, нашёл. Теперь буду учиться, как загружать такие библиотеки из C#... :)
 
Нужно из программы подключиться к другому компьютеру (считать журнал событий EventLog), и не знаю, как сообщить этому другому компьютеру имя пользователя и пароль (они не такие, как на моём, их нужно сообщить через программу).
Psexec либо rdp (если он там есть).
 
Psexec либо rdp (если он там есть).
Не пойдёт - мне нужно подключаться из МОЕЙ программы, а не интерактивно из какой-то другой.
Вариант mpr, что мне посоветовали выше, попробую, а Ваш совет - совсем не для меня.
 
Вариант mpr, что мне посоветовали выше, попробую, а Ваш совет - совсем не для меня.
mpr поможет при случае, если этот ваш EventLog находится на расшаренном диске, доступном по сети. Но, если доступ к компьютеру с логом есть, то можно его вперед расшарить или создать пайп / сокет и т.п. и не выдумывать велосипед.
 
вроде есть какой-то пример
Ещё раз огромное спасибо, всё работает!
Прошу ещё ликбеза: а какими средствами можно посмотреть содержимое этой библиотеки, а также user32, да и вообще библиотек?
Просмотрщики что в Visual Studio.NET, что в Visual Studio 6 в упор не хотят понимать mpr.dll...
 
какими средствами можно посмотреть содержимое этой библиотеки,
Cистема держит свои библиотеки в папке system32.
Cамый простой способ просмотреть экспорт - это прямо в TotalCommander нажать Ctrl+Q. На вкладке "Import/Export" увидишь лист функций. Более полную инфу о библиотеке можно получить, загрузив её в любой дизассемблер - IDA, Hiew, W32Dasm, Hacker's Disassembler (HDasm), и прочие.
 
Cистема держит свои библиотеки в папке system32.
Cамый простой способ просмотреть экспорт - это прямо в TotalCommander нажать Ctrl+Q. На вкладке "Import/Export" увидишь лист функций. Более полную инфу о библиотеке можно получить, загрузив её в любой дизассемблер - IDA, Hiew, W32Dasm, Hacker's Disassembler (HDasm), и прочие.
Спасибо, попробую. Мой вопрос как раз и был - какой есть дизассемблер. Увы, Visual Studio (ни 6, ни дотнетовские) не подходят...
 
Ещё раз огромное спасибо, всё работает!
Прошу ещё ликбеза: а какими средствами можно посмотреть содержимое этой библиотеки, а также user32, да и вообще библиотек?
Просмотрщики что в Visual Studio.NET, что в Visual Studio 6 в упор не хотят понимать mpr.dll...
если просто посмотреть, то можно ресторатором. если править, то ResHacker справляется. это самые простые чем можно пользоваться.
 
Мы в соцсетях:

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

Курс AD