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

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

Пожалуйста, обратите внимание, что пользователь заблокирован
К слову, в лисе есть антиинжект, не знаю как там сейчас, но году в 2018 были защиты; в хроме вроде тоже.
Да, но там он весьма примитивный был, на васме обсуждали пару лет назад, может сейчас что-то добавили нового, давно не смотрел, но тот который был тогда добавлен, особо проблем не составлял.

а как аверы реагируют на доступ к файлам с эксплорера?
Ну, вообще, нужно понимать, что любые операции с файлами, которые обычные пользователи (я не беру в рассчет олдфагов, которые без тотал командера жить не могут) делают с файлами, они делают именно из контекста экплорера. Касательно бд браузеров, надо бы, конечно, проверить, но эксплорер кажется хорошим вариантом в этом плане.
 
К слову, в лисе есть антиинжект, не знаю как там сейчас, но году в 2018 были защиты; в хроме вроде тоже.
Понятно, что это все опенсорц , да и не опенсорц можно отдебажить, но все же.

а как аверы реагируют на доступ к файлам с эксплорера? Потому как туда проще заинжектится.
Зачем инжекты? Можно всё сделать гораздо проще:
Скрытый контент для пользователей: .
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Возвращаясь еще раз к теме фраерфокса. Наверное, соглашусь с Haunt, что лучший декрипт серверный, ибо так делает сам браузер. Собственно, код есть под хайдом на второй вроде странице, но кто не видит - напишите сами. Примеров есть много, даже у нас на форуме https://xss.pro/threads/26922/ . Действительно, в отличие от реализации "под капотом" мозиллы (где поменяли дофига, начиная от алгоритма шифрования), интерфейсы остались теже.

Подытожим:
1. берем серверную винду (про линукс дальше).
2. устанавливаем куда нибудь 64битный фаерфокс, либо (если уже установлен), копируем все дллки с его директории.
3. пишем код на Си/С++, который собственно расшифрует данные. Код можно скопипастить отсюда https://github.com/akalankauk/C-Browser-Password-Cracker/blob/master/firefox.h или с темы выше или еще откуда нибудь.

Естественно, код нужно переделать, убрать получение пути к фф из реестра, а сделать так, как вам удобно. Допустим, у меня скрипт админки передавал бинарнику путь через argv[] , но может можно как то красивее, хз.

Для линукс все примерно также, единственное там можно не копировать дллки .so файлы, а написать в консоле apt-get install libnss3 (в других дистрибутивах мб иначе), и библиотека будет доступна. Далее, код инициализации апи нужно чуток переделать, банально "найти и заменить"
C:
    void* nssLib = dlopen("libnss3.so",RTLD_LAZY);
    
    if(nssLib == NULL)
        {
        fprintf(stderr,"dlopen() error: %s\n", dlerror());     
        ...
        }
    
    NSS_Init = (fpNSS_Init)dlsym(nssLib,"NSS_Init");
    PL_Base64Decode = (fpPL_Base64Decode)dlsym(nssLib, "PL_Base64Decode");
...и так далее
еще по мелочи, заменить или объявить виндовые типы (BOOL PBYTE в линуксе нет).
--
Кастомная реализация (без библиотек лисы, а когда напрямую парсите asn1, дешите и так далее) находится например здесь https://github.com/lclevy/firepwd/blob/master/firepwd.py . Кода там чуть больше, и с непривычки может пугать ASN.1 кодирование, но на деле, ничего сложного нет. Единственное, что как уже говорили, если внутри фф опять что-то поменяют, то будет плохо.

У крота была кастомная реализация на клиенте.

--
Хром. С ним в принципе все понятно, он гораздо проще фф в плане декрипта. Реализации на гитхабе есть X-Shar и smelly__vx ( https://github.com/vxunderground/VXUG-Papers/tree/main/ChromePasswordDumper и https://github.com/XShar/Fuck_Chrome_C ). Скопировать профили хрома не получится, ибо они защищены DPAPI, т.е. надо дешить на машине (ну или как-то дампить ключи, но если вы знаете такую матчасть, то данная заметка явно не для вас). Если отбросить в сторону заморочки об аверах (которые не дают скопировать нужные файлы), то единственный минус это таскать с собой SQLITE3.dll (или линковать с ней, что тоже не хорошо). Возможные решения - в вин10 есть winsqlite.dll, точное название см. в sysdir, либо выдрать реализацию мини-парсера с того же крота / скопировать с пони, но нужно базовое знание ассемблера.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
то единственный минус это таскать с собой SQLITE3.dll (или линковать с ней, что тоже не хорошо)
От sqlite тебе нужно только чтение бд, никакие записи данных или язык запросов не нужон, а эти вещи много места отнимают. Формат открытый, я давным давно парсер формата написал и использую его, по размеру, наверное, в районе 7кб кода. Во всяких АУЕ стиллерах копипастят SQLiteHandler класс, который был запилен еще в каких-то всратых ратниках на vb.net, можно в качестве "вдохновления" ее посмотреть. Но там по формату все довольно просто.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если отбросить в сторону заморочки об аверах (которые не дают скопировать нужные файлы)
А это вообще реально обойти если ав следит за вызовами функций чтения файла в ядре, а не как у лоховских ав в юзермоде на ntdll хук поставили за и похуй. Да я знаю про то что ав может не задетектить процесс если чтение бд браузера происходит из процесса с привилегиями, это вообще другая история(потому что тут опять таки палимся из за инжекта и нада думать про обход), я же имею ввиду чтение бд без мнжекта, а просто из своего процесса. Думаю если ав в ядре,то ничего не сделаешь, по крайней мере если читать файл из под ReadFile,
 
От sqlite тебе нужно только чтение бд, никакие записи данных или язык запросов не нужон, а эти вещи много места отнимают. Формат открытый, я давным давно парсер формата написал и использую его, по размеру, наверное, в районе 7кб кода. Во всяких АУЕ стиллерах копипастят SQLiteHandler класс, который был запилен еще в каких-то всратых ратниках на vb.net, можно в качестве "вдохновления" ее посмотреть. Но там по формату все довольно просто.
Проще не писать, а просто парсер готовый найти на гитхабе https://github.com/wpggles/SQLiteMiniReader
 
код щас естественно ужо не работает. но мож кто что интересное для себя найдёт

 
Последнее редактирование:
Скопировать профили хрома не получится, ибо они защищены DPAPI, т.е. надо дешить на машине (ну или как-то дампить ключи, но если вы знаете такую матчасть, то данная заметка явно не для вас).
До 80-ой версии - да, всё было накрыто DPAPI. После - DPAPI зашифрован только ключ AES-GCM. Дешим его на стороне клиента, остальное можно утащить на сервер.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Но там по формату все довольно просто.
Возможно, не разбирал если честно; ну там да, по факту нужен только select и то ограниченый.

А это вообще реально обойти если ав следит за вызовами функций чтения файла в ядре, а не как у лоховских ав в юзермоде на ntdll хук поставили за и похуй.
Конечно нет. Если , как ты верно говоришь, авер не лоховской, то нубо-технологией про сисколы (на которую чето дрочит весь т.н. "ред тим") там ничего не сделаешь, да и вообще не сделаешь. Если, условно, стоит минифильтр файловый и проверяет какой процесс открыл файл - то только инжект или подобное (не знаю, пробовать через цмд скопировать или что). Но инжект для аверов тоже как красная тряпка..в общем, надо брать конкретный авер и копать исходя из него.

После - DPAPI зашифрован только ключ AES-GCM.
Да, можно и так; тогда нужна в sqlite вообще отпадет (вроде как ключ в json-файле лежит или подобном, уже не помню).
 
Возможно, не разбирал если честно; ну там да, по факту нужен только select и то ограниченый.


Конечно нет. Если , как ты верно говоришь, авер не лоховской, то нубо-технологией про сисколы (на которую чето дрочит весь т.н. "ред тим") там ничего не сделаешь, да и вообще не сделаешь. Если, условно, стоит минифильтр файловый и проверяет какой процесс открыл файл - то только инжект или подобное (не знаю, пробовать через цмд скопировать или что). Но инжект для аверов тоже как красная тряпка..в общем, надо брать конкретный авер и копать исходя из него.


Да, можно и так; тогда нужна в sqlite вообще отпадет (вроде как ключ в json-файле лежит или подобном, уже не помню).
Мануал о том, как прочитать БД хрома и его аналогов не затриггерив антивирус без регистрации и смс:
1) Делаем теневую копию на папку хрома:
vssadmin create shadow /for="C:\Users\somebody\AppData\Local\Google\Chrome\User Data"
2) Считываем файлы из теневой копии:
ReadFile("\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Default\Login Data")
3) Удаляем теневую копию:
vssadmin delete shadows /shadow={shadow_uid}
После проведения такой очереди нехитрых маннипуляций мы имеем доступ ко всем файлам из папки хрома, можем читать и произвольно модифицировать их, а антивирус будет молчать, ничего не заметив. Кстати, касается это не только говна типо авг и аваста, но и топовых АВ, включая софос и кровд.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
vssadmin create shadow
Мануал о том, как прочитать БД хрома и его аналогов не затриггерив антивирус без регистрации и смс:
1) Делаем теневую копию на папку хрома:
vssadmin create shadow /for="C:\Users\somebody\AppData\Local\Google\Chrome\User Data"
2) Считываем файлы из теневой копии:
ReadFile("\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Default\Login Data")
3) Удаляем теневую копию:
vssadmin delete shadows /shadow={shadow_uid}
После проведения такой очереди нехитрых маннипуляций мы имеем доступ ко всем файлам из папки хрома, можем читать и произвольно модифицировать их, а антивирус будет молчать, ничего не заметив. Кстати, касается это не только говна типо авг и аваста, но и топовых АВ, включая софос и кровд.
В mdns написано то что vssadmin create shadow поддерживается не на всех осях включая десятку тык
 
В mdns написано то что vssadmin create shadow поддерживается не на всех осях включая десятку тык
У теневых копий есть апи, можно их делать через него, это не так важно. Создание и работа с точками восстановления поддерживается везде.
 
У теневых копий есть апи, можно их делать через него, это не так важно. Создание и работа с точками восстановления поддерживается везде.
Вопрос работы с тенями не изучал на уровне апи потому поинтересуюсь, ты говоришь как практик или теоретик? Запуск vssadmin выглядить также дермово как например ЭТО
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вопрос работы с тенями не изучал на уровне апи потому поинтересуюсь, ты говоришь как практик или теоретик? Запуск vssadmin выглядить также дермово как например ЭТО
Вот наверное это он имел ввиду. Но там видимо юзается та же служба которую наверное использует vssadmin
 
Вот наверное это он имел ввиду. Но там видимо юзается та же служба которую наверное использует vssadmin
Похоже на правду
 
Вопрос работы с тенями не изучал на уровне апи потому поинтересуюсь, ты говоришь как практик или теоретик? Запуск vssadmin выглядить также дермово как например ЭТО
Практик. Можешь поставить софоз/кортекс/кровд и сам прогнать метод на нём.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
К слову, не обязательно юзать VSSAPI, можно и через COM сделать, забыл это упомянуть.
Так VSSAPI юзается через COM! Что ещё есть один COM помимо этого?
 
Последнее редактирование:
Так VSSAPI юзается через COM! Что ещё есть один COM помимо этого?
Ты о чём? Речь шла об удалении через работу с WMI, тот же бабук (если не ошибаюсь, не уверен) делает WQL запрос, получает список теневых копий и затирает их.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Бабук и прочий локерский софт делал через WMI по одной причине - этот код выложили в паблик , в отличии от СОМ VSS . WMI позволяет удалить копии от 32 битного процесса на 64 битной машине, а чистый СОМ апи - вроде как нет. Вот момент с разрядностью надо уточнить + вроде для них нужны админ права? Но идея хорошая. Еще, теоретически, можно парсить MFT и найти нужный файл, но опять же, админ права.
 


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