• XSS.stack #1 – первый литературный журнал от юзеров форума

Разработка стилера, обсуждение.

Jeffs

(L1) cache
Забанен
Регистрация
28.12.2018
Сообщения
611
Реакции
358
Пожалуйста, обратите внимание, что пользователь заблокирован
В общем пишу стиллер для лисы, свою реализацию декрипта писать лень, поэтому решил юзать дллки от х32 лисы. Взял freebl3.dll, mozglue.dll, msvcp140.dll, nss3.dll, softokn3.dll, vcruntime140.dll, закинул в одну папку.
Пытаюсь загрузить nss3.dll:
C:
HMODULE hNss = LoadLibraryW(L"dlls\\nss3.dll");
if (!hNss)
{
    DWORD err = GetLastError();
    return false;
}
В GetLastError ловлю ошибку 126 (ERROR_MOD_NOT_FOUND). Собственно, что не так? Забыл ещё какие-то зависимости?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
В общем взял тупо все дллки из папки с фаерфоксом х32, всё равно не даёт загрузить нужную мне nss3. GetLastError выдаёт ту же ошибку ERROR_MOD_NOT_FOUND. Хотя любая другая дллка из той же папки грузится без проблем
 
В общем пишу стиллер для лисы, свою реализацию декрипта писать лень, поэтому решил юзать дллки от х32 лисы.
ну если так, тогда
Код:
SetCurrentDirectoryW(L"C:\\Program Files\\Mozilla Firefox");
HMODULE hNss = LoadLibraryW(L"nss3.dll");
всё нужное само подтянется
 
В общем пишу стиллер для лисы, свою реализацию декрипта писать лень, поэтому решил юзать дллки от х32 лисы. Взял freebl3.dll, mozglue.dll, msvcp140.dll, nss3.dll, softokn3.dll, vcruntime140.dll, закинул в одну папку.
Пытаюсь загрузить nss3.dll:
C:
HMODULE hNss = LoadLibraryW(L"dlls\\nss3.dll");
if (!hNss)
{
    DWORD err = GetLastError();
    return false;
}
В GetLastError ловлю ошибку 126 (ERROR_MOD_NOT_FOUND). Собственно, что не так? Забыл ещё какие-то зависимости?
nss3 подгружает остальные длл, что бы их подргрузило - добавь их в переменные среды:

C:
wchar_t *path = (wchar_t*)malloc(4096);
GetEnvironmentVariableW(L"PATH", path, 4096);
char* new_path = (wchar_t*)malloc(1024);
wsprintfW(newPath, L"%ls;%ls", path, DLLPATHWITHNSSLIBS);
SetEnvironmentVariableW(L"PATH", new_path);
wchar_t* nss = (wchar_t*)malloc(1024);
wsprintfW(nss, L"%ls\\nss3.dll", temp);
NSS3 = LoadLibraryA(nss);

nss3.dll, softokn3.dll, nssdbm3.dll, mozglue.dll, freebl3.dll по идее те либы что нужны были
 
nss3 подгружает остальные длл, что бы их подргрузило - добавь их в path:

C:
wchar_t *path = (wchar_t*)malloc(4096);
GetEnvironmentVariableW(L"PATH", path, 4096);
char* new_path = (wchar_t*)malloc(1024);
wsprintfW(newPath, L"%ls;%ls", path, DLLPATHWITHNSSLIBS);
SetEnvironmentVariableW(L"PATH", new_path);
wchar_t* nss = (wchar_t*)malloc(1024);
wsprintfW(nss, L"%ls\\nss3.dll", temp);
NSS3 = LoadLibraryA(nss);
Илм можно поправить PATH сугубо в контексте текущего процесса в PEB->ProcessParameters->Environment. Там все переменные окружения идут в формате name=value\0, распарсить будет не проблема.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ну если так, тогда
Код:
SetCurrentDirectoryW(L"C:\\Program Files\\Mozilla Firefox");
HMODULE hNss = LoadLibraryW(L"nss3.dll");
всё нужное само подтянется
Точно, в этом и была проблема. Всё же дллки нужны только эти: freebl3.dll, mozglue.dll, msvcp140.dll, nss3.dll, softokn3.dll, vcruntime140.dll
 
Илм можно поправить PATH сугубо в контексте текущего процесса в PEB->ProcessParameters->Environment. Там все переменные окружения идут в формате name=value\0, распарсить будет не проблема.
Впринципе не знал о таком, но стоит однозначно попробовать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ТС, сделай серверсайд расшифровку, это все - один сплошной костыль, у которого по словам моего знакомого детекты от виндефа уже.
Будут проблемы с развёртыванием админки у юзеров (про докер знаю, но пока что не до него), поэтому в данный момент подгрузка длл +- нормальное решение.
Я вообще в ахуе с того, как реализован сбор фаерфокса у одних из самых популярных стиллеров. А давайте все будем кидать по 6 запросов в админку, чтобы скачать 6 дллок!!! А если они не потребуются? Нет нам нужно скачать 6 дллок!!!!!
 
Будут проблемы с развёртыванием админки у юзеров (про докер знаю, но пока что не до него), поэтому в данный момент подгрузка длл +- нормальное решение.
Я вообще в ахуе с того, как реализован сбор фаерфокса у одних из самых популярных стиллеров. А давайте все будем кидать по 6 запросов в админку, чтобы скачать 6 дллок!!! А если они не потребуются? Нет нам нужно скачать 6 дллок!!!!!
Ну это и правильно. Кто будет заморачиваться ради школьников и кардеров?)
 
Ну это и правильно. Кто будет заморачиваться ради школьников и кардеров?)
почему между "школьников кардеров", у тебя буква "и"?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Всё же дллки нужны только эти: freebl3.dll, mozglue.dll, msvcp140.dll, nss3.dll, softokn3.dll, vcruntime140.dll
Вроде даже только с mozglue.dll, nss3.dll nss загружается без ошибок. Не совсем понимаю, для чего другие?
 
Вроде даже только с mozglue.dll, nss3.dll nss загружается без ошибок. Не совсем понимаю, для чего другие?
Возможно некоторые апи из этих либ подгружаются динамически в nss при вызове конкретных функций.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Возможно некоторые апи из этих либ подгружаются динамически в nss при вызове конкретных функций.
Проверю это чуть позже.
Всем спасибо за ответы!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Проверю это чуть позже.
Всем спасибо за ответы!
У меня тоже была такая проблема. Смотри, dll может быть x86 или x64. Когда ты создаешь код и пытаешься подключить dll не по разрядности, то получается такая ошибка. Ставь проект в Release. После поменяй настройки x86 на x64 или наоборот и все сработает. Могу скинуть код. И да, ставь многобайтовую кодировку (лично мне помогло)
 
У меня тоже была такая проблема. Смотри, dll может быть x86 или x64. Когда ты создаешь код и пытаешься подключить dll не по разрядности, то получается такая ошибка. Ставь проект в Release. После поменяй настройки x86 на x64 или наоборот и все сработает. Могу скинуть код. И да, ставь многобайтовую кодировку (лично мне помогло)
Ну как-бы у жертвы могут быть как x64, так и x86 версии фаерфокса...)

Поэтому при таком подходе либо подгружать длл, либо два образа носить, что некруто и костыльно (Как первый, так и второй вариант).

Самый нормальный вариант, это делать расшифровку без nss в самом стиллере.

Нужно заморочиться и переписать на С++, примеры есть на других языках в гите.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх