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

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

Пожалуйста, обратите внимание, что пользователь заблокирован
cert9.db - впервые вижу, шо це зе?
Файлик из профиля лисы.
Забыл там ещё NSS_Shutdown вызвать по окончанию работы с профилем, поправлю чуть позже.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Под винду наверное ещё портирую, чисто для галочки. Думаю никто на серверах винду не юзает
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Файлик из профиля лисы.
Забыл там ещё NSS_Shutdown вызвать по окончанию работы с профилем, поправлю чуть позже.
зачем cert9.db. вродь ключи из key3.db, key4 хватит же чтоб дешифровать logins.json and signos.sqlite?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Переписал на golang. Собирать нужно с cgo.
./profile - папка с профилем (key3.db/key4.db, cert8.db/cert9.db)
./libs - папка с либами фаерфокса
Скрытое содержимое
Этот код, скорее всего, не будет у вас работать. Позже выложу фукс-версию.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Этот код, скорее всего, не будет у вас работать. Позже выложу фукс-версию.
А что там не так?
Вроде это же только нужно тянуть.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Переписал на golang. Собирать нужно с cgo.
./profile - папка с профилем (key3.db/key4.db, cert8.db/cert9.db)
./libs - папка с либами фаерфокса
Скрытое содержимое
Tested on ubuntu 20.04, debian 10, ubuntu 16.04, opensuse.
./profile - firefox profile (key3.db/key4.db, cert8.db/cert9.db)


UPD: Не забудьте установить либы nss3: sudo apt install libnss3
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Tested on ubuntu 20.04, debian 10, ubuntu 16.04, opensuse.
./profile - firefox profile (key3.db/key4.db, cert8.db/cert9.db)
Скрытое содержимое

UPD: Не забудьте установить либы nss3: sudo apt install libnss3
UPD1: лучше не юзать github.com/rainycape/dl, кидает паники
#cgo LDFLAGS: -lnss3 -lnspr4
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Не знаю, нужно ли кому-то это, но выложу фикс. Хайд поставлю тот же, если Haunt не будет против - могу убрать.
Не забудьте установить libnss3: sudo apt install libnss3 (как на целевой машине (сервере), так и на той, с которой компилите)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А чего PK11_FreeSlot в defer не загнал? И странно, в Го нет возможности сишные структуры на стеке/в гц выделить? Маллочить структуру размеров в 20 байт - это что-то из серии дотнета уже, а никак не нативного языка программирования.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А чего PK11_FreeSlot в defer не загнал?
Кстати да, забыл. Поправлю. Спасибо, что заметил.
И странно, в Го нет возможности сишные структуры на стеке/в гц выделить?
Если мне память не изменяет - нет.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Маллочить структуру размеров в 20 байт - это что-то из серии дотнета уже, а никак не нативного языка программирования.
Мне вообще не очень нравится, как в го реализован CGO. В том же питоне немного удобнее работать с си.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Мне вообще не очень нравится, как в го реализован CGO. В том же питоне немного удобнее работать с си.
Да, ЦГо выглядит ппц каким костылем. Я обычно вспоминаю об этом, когда меня спрашивают, почему я не перевариваю Го. Ну вспоминаю само собой после обработки ошибок и отсутствия генериков)). Посмотрим, что там будет в Го 2.0, но я все равно скептически настроен.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да, ЦГо выглядит ппц каким костылем. Я обычно вспоминаю об этом, когда меня спрашивают, почему я не перевариваю Го. Ну вспоминаю само собой после обработки ошибок и отсутствия генериков)). Посмотрим, что там будет в Го 2.0, но я все равно скептически настроен.
Да поробуй, прекрасный язык, на самом деле :)
А обработка ошибок - хз. Вроде как есть всё необходимое, но опять же, реализовано так себе.
CGO = unsafe, на самом деле вообще не стоит его юзать. В данном случае без этого никак.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да поробуй, прекрасный язык, на самом деле
Я пробовал когда то давно, разочаровался и забил. Да и сейчас у меня нет в нем никакой необходимости. Среди нативных компиляторов есть те, которые мне нравятся куда больше (там всякие Nim, Zig, D и тд), бекенд для веб сервисов вполне можно клепать на Python или Kotlin или Elixir, а для мобилок он пока не пригоден и не понятно, будет ли пригоден хоть когда-то. Ну просто у меня нет какой-то ниши, в которую можно было бы Гофера впихнить.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У нас есть грубо 4 способа.
-nss тащим на клиент.
-Кастомная реализация на клиенте
-nss на сервере
-Кастомная реализация на сервере.
Подниму тему. Недавно разбирался с этим всем, тоже пришел к выводу что лучше серверная реализация (в отличие от хрома, фф требует уж слишком много кода, за который может уцепится авер, да и в целом сложнее). Но РНР не умеет подгружать либы, а каких-то врапперов , в отличии от openssl, для nss на нем нет. Поэтому все же остановился на кастомной серверной реализации (тупо переписал lazagne на PHP). Хз касаемо подводных камней, разве что реально, как ты говорил, поменяют реализацию.
кстати, интересно, зачем они ее меняют и зачем так заморочено все зашифровано? Какой смысл шифровать эти профили, если один фиг, если у малвары есть доступ к профилю, все можно раздешить. Это же опенсорц. Яндекс шифрует, но у них код закрытый, там логично, а тут хз.
 
Подниму тему. Недавно разбирался с этим всем, тоже пришел к выводу что лучше серверная реализация (в отличие от хрома, фф требует уж слишком много кода, за который может уцепится авер, да и в целом сложнее). Но РНР не умеет подгружать либы, а каких-то врапперов , в отличии от openssl, для nss на нем нет. Поэтому все же остановился на кастомной серверной реализации (тупо переписал lazagne на PHP). Хз касаемо подводных камней, разве что реально, как ты говорил, поменяют реализацию.
кстати, интересно, зачем они ее меняют и зачем так заморочено все зашифровано? Какой смысл шифровать эти профили, если один фиг, если у малвары есть доступ к профилю, все можно раздешить. Это же опенсорц. Яндекс шифрует, но у них код закрытый, там логично, а тут хз.
>>> Но РНР не умеет подгружать либы
Почему? Ты можешь собрать расширение для ПХП на плюсах и из под него работать с нсс.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Подниму тему. Недавно разбирался с этим всем, тоже пришел к выводу что лучше серверная реализация (в отличие от хрома, фф требует уж слишком много кода, за который может уцепится авер, да и в целом сложнее). Но РНР не умеет подгружать либы, а каких-то врапперов , в отличии от openssl, для nss на нем нет. Поэтому все же остановился на кастомной серверной реализации (тупо переписал lazagne на PHP). Хз касаемо подводных камней, разве что реально, как ты говорил, поменяют реализацию.
кстати, интересно, зачем они ее меняют и зачем так заморочено все зашифровано? Какой смысл шифровать эти профили, если один фиг, если у малвары есть доступ к профилю, все можно раздешить. Это же опенсорц. Яндекс шифрует, но у них код закрытый, там логично, а тут хз.
А как на серве грузить мне интересно? Вы что ядро вин тоже на серв вынесете? В дллках лисы я смотрел в импорте, там импорты win библиотек, даже в некоторых dll я видел вызовы LoadLibraryExW, а для этого ядро надобно.
Я через heavens gate гружу x64 dll лисы. Эти либы лисы тянут за собой crt и STL. Некоторые вызовы winapi(после переключения в x64) хуево отрабатывают и крашат. Все это я пофиксил, но если честно такой костыль получился, что просто нет слов
 
А как на серве грузить мне интересно? Вы что ядро вин тоже на серв вынесете? В дллках лисы я смотрел в импорте, там импорты win библиотек, даже в некоторых dll я видел вызовы LoadLibraryExW, а для этого ядро надобно.
Я через heavens gate гружу x64 dll лисы. Эти либы лисы тянут за собой crt и STL. Некоторые вызовы winapi(после переключения в x64) хуево отрабатывают и крашат. Все это я пофиксил, но если честно такой костыль получился, что просто нет слов
Какое ядро? Если сервер крутится на винде, ты можешь работать с апи винды.
Как вариант, можно реализовать алгоритмы из nss3 у себя в коде, тогда отпадёт нужда тащить библиотеку и рантайм, который нужен для её загрузки.
 


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