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

Техническое обсуждение ObserverStealer

DoppleKSE Исходя из скрина из иды, строки в билде совсем не шифруются что ли?
Да, но это уже не настолько критичный косяк, из-за которого клиент внезапно может потерять трафик. Не хорошо конечно, но терпимо. В половине паблик софта они не шифруются.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да, но это уже не настолько критичный косяк, из-за которого клиент внезапно может потерять трафик. Не хорошо конечно, но терпимо. В половине паблик софта они не шифруются.
Прикольно, однако. Вообще меня заинтересовало заявление автора о том, что софт не поддерживает семерку. Что там такого? Я просто даже представить не могу, что может привести к несовместимости с семеркой в техническом плане. Ну разве что высокоуровневые апишки для определения прав/версии ос/чего то ещё, типа IsUserAnAdmin, но интересно услышать твоё мнение)
 
Прикольно, однако. Вообще меня заинтересовало заявление автора о том, что софт не поддерживает семерку. Что там такого? Я просто даже представить не могу, что может привести к несовместимости с семеркой в техническом плане. Ну разве что высокоуровневые апишки для определения прав/версии ос/чего то ещё, типа IsUserAnAdmin, но интересно услышать твоё мнение)
Я выше заявлял, что осматривал билд минут 15-20, я не делал глабокий анализ. Поэтому я не отвечу тебе сейчас на этот вопрос, я не увидел там ничего что могло бы не дать запуститься на семерке. Самое простое - я думаю это взять и запустить его там. А потом взять краш-дамп и проанализировать, если софт падает. Если не падает, первым делом посмотреть импорты, поискать там апишки, которые были введены после 7. Но обычно если загрузчик винды не находит функцию в импорте софта, то он выдает об этом сообщение и завершает процесс.
Все остальное это уже неочевидные вещи, на поиск которых надо потратить время.
Если интересно можешь самостоятельно посмотреть что из этого не поддерживается в семерке
Код:
Address    Ordinal    Name    Library
0003C000        GetModuleFileNameA    KERNEL32
0003C004        GetProcAddress    KERNEL32
0003C008        CopyFileExA    KERNEL32
0003C00C        HeapFree    KERNEL32
0003C010        HeapAlloc    KERNEL32
0003C014        GetProcessHeap    KERNEL32
0003C018        FindFirstFileExA    KERNEL32
0003C01C        FindNextFileA    KERNEL32
0003C020        FindClose    KERNEL32
0003C024        GetFileAttributesA    KERNEL32
0003C028        CreateFileA    KERNEL32
0003C02C        CloseHandle    KERNEL32
0003C030        Process32First    KERNEL32
0003C034        InitializeCriticalSectionEx    KERNEL32
0003C038        OpenProcess    KERNEL32
0003C03C        CreateToolhelp32Snapshot    KERNEL32
0003C040        K32GetModuleFileNameExA    KERNEL32
0003C044        GetLastError    KERNEL32
0003C048        Process32Next    KERNEL32
0003C04C        DecodePointer    KERNEL32
0003C050        DeleteCriticalSection    KERNEL32
0003C054        GetUserDefaultLangID    KERNEL32
0003C058        GetNativeSystemInfo    KERNEL32
0003C05C        GlobalMemoryStatusEx    KERNEL32
0003C060        CreateProcessA    KERNEL32
0003C064        GetUserDefaultUILanguage    KERNEL32
0003C068        GetLocaleInfoW    KERNEL32
0003C06C        GetSystemDefaultLocaleName    KERNEL32
0003C070        GetTimeZoneInformation    KERNEL32
0003C074        GetCurrentThreadId    KERNEL32
0003C078        WaitForSingleObjectEx    KERNEL32
0003C07C        GetExitCodeThread    KERNEL32
0003C080        WideCharToMultiByte    KERNEL32
0003C084        QueryPerformanceCounter    KERNEL32
0003C088        EnterCriticalSection    KERNEL32
0003C08C        LeaveCriticalSection    KERNEL32
0003C090        EncodePointer    KERNEL32
0003C094        MultiByteToWideChar    KERNEL32
0003C098        LCMapStringEx    KERNEL32
0003C09C        CompareStringEx    KERNEL32
0003C0A0        GetCPInfo    KERNEL32
0003C0A4        GetSystemTimeAsFileTime    KERNEL32
0003C0A8        GetModuleHandleW    KERNEL32
0003C0AC        GetStringTypeW    KERNEL32
0003C0B0        IsProcessorFeaturePresent    KERNEL32
0003C0B4        IsDebuggerPresent    KERNEL32
0003C0B8        UnhandledExceptionFilter    KERNEL32
0003C0BC        SetUnhandledExceptionFilter    KERNEL32
0003C0C0        GetStartupInfoW    KERNEL32
0003C0C4        GetCurrentProcessId    KERNEL32
0003C0C8        InitializeSListHead    KERNEL32
0003C0CC        GetCurrentProcess    KERNEL32
0003C0D0        TerminateProcess    KERNEL32
0003C0D4        OutputDebugStringW    KERNEL32
0003C0D8        RaiseException    KERNEL32
0003C0DC        WriteConsoleW    KERNEL32
0003C0E0        CreateFileW    KERNEL32
0003C0E4        HeapSize    KERNEL32
0003C0E8        RtlUnwind    KERNEL32
0003C0EC        SetLastError    KERNEL32
0003C0F0        InitializeCriticalSectionAndSpinCount    KERNEL32
0003C0F4        TlsAlloc    KERNEL32
0003C0F8        TlsGetValue    KERNEL32
0003C0FC        TlsSetValue    KERNEL32
0003C100        TlsFree    KERNEL32
0003C104        FreeLibrary    KERNEL32
0003C108        LoadLibraryExW    KERNEL32
0003C10C        CreateThread    KERNEL32
0003C110        ExitThread    KERNEL32
0003C114        FreeLibraryAndExitThread    KERNEL32
0003C118        GetModuleHandleExW    KERNEL32
0003C11C        ReadFile    KERNEL32
0003C120        ExitProcess    KERNEL32
0003C124        GetModuleFileNameW    KERNEL32
0003C128        GetStdHandle    KERNEL32
0003C12C        WriteFile    KERNEL32
0003C130        GetCommandLineA    KERNEL32
0003C134        GetCommandLineW    KERNEL32
0003C138        CompareStringW    KERNEL32
0003C13C        LCMapStringW    KERNEL32
0003C140        IsValidLocale    KERNEL32
0003C144        GetUserDefaultLCID    KERNEL32
0003C148        EnumSystemLocalesW    KERNEL32
0003C14C        GetFileSizeEx    KERNEL32
0003C150        SetFilePointerEx    KERNEL32
0003C154        GetFileType    KERNEL32
0003C158        FlushFileBuffers    KERNEL32
0003C15C        GetConsoleOutputCP    KERNEL32
0003C160        GetConsoleMode    KERNEL32
0003C164        ReadConsoleW    KERNEL32
0003C168        HeapReAlloc    KERNEL32
0003C16C        DeleteFileW    KERNEL32
0003C170        FindFirstFileExW    KERNEL32
0003C174        FindNextFileW    KERNEL32
0003C178        IsValidCodePage    KERNEL32
0003C17C        GetACP    KERNEL32
0003C180        GetOEMCP    KERNEL32
0003C184        GetEnvironmentStringsW    KERNEL32
0003C188        FreeEnvironmentStringsW    KERNEL32
0003C18C        SetEnvironmentVariableW    KERNEL32
0003C190        SetStdHandle    KERNEL32
0003C194        SetEndOfFile    KERNEL32
Но следует помнить, что в билде используются еще динамик импорты, некоторая их часть на скринах
1684961242617.png

1684961296568.png

1684961350553.png

1684961372286.png

1684961409604.png
Возможно какие-то новые функции из крипто-апи, возможно какие-то зависимости в импортах библиотек, которые подгружает стиллер. Там клиентсайд декрипт поэтому грузятся либы sql и libcrypto
Точного ответа не дам на данный момент. Это надо изучать и целенеправленно искать в чем подвох не поддерживаемой семерки.
 
Последнее редактирование:
Пишите на шарпике господа, никакой ебли с юникодом
Все из коробки


DildoFagins оффтоп, но можешь себе в подпись добавить все ссылки на твои статьи?У тебя профиль закрыт, а по сообщениям искать это пиздец, их больше трех тысяч


UPD. Я ВРОДЕ БЫ, разобрался по какому странному алгоритму работает поиск тут
Ищите что угодно на форуме, получаете вот такую х#йню:
https://xss.pro/search/6222510/?t=thread&c[content]=thread&c[users]=x64boy&o=date

Теперь нужно к 6222510 ( у вас другое число будет, это видимо какой-то счетчик всех поисков?) прибавить 1, т.е 6222511, а вместо x64boy или какой ник у вас подставить нужного пользователя

https://xss.pro/search/6222511/?t=thread&c[content]=thread&c[users]=DildoFagins&o=date

Не понял зачем такой сложный алгоритм сделан, но может кому будет полезно

upd2. Я кажется понял зачем оно нужно было
Если поиск уже был сделан (недавно?) он перекидывает вас на тот старый айди с поиском
Чето типа кеша такого чтобы много запросов в бд не слать
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
я сам реверсер, только не из ав, и у меня есть коллеги, которые VMP щелкают на завтрак
Ты конечно красава, без шутуок - но про комерческие протекторы - это ты конечно перегнул. Их и не риверсит ни кто почти - им вешают просто дженерик типа packed - и скипают просто.
Какой смысл их есть на зватрак - когда можно описать патернами и банить все уже в статике - все протекторы не плохо детектяться статически.
что бы подойти к стиллеру за 150 баксов, и быть невероятно сложной преградой для ав реверсеров.
стилак который льет куча народу - не может быть преградой для риверсера по своему определению.
те кто льют такое работают по принципку spray and pary. судя по всему это даже приносит результаты
1.5-2к, они уже могут потягаться с реверсерами ав
да как правило нет. те которые - 1.5-2к это, простите, ахуевшие создания или те кто понял что "маминых пентестеров" пора чехилть - тк они каким то чудом получили выкуп и им можно лапшу вешать про сега-мега-крипт и они отсыплют монет. Часто видно чуваков которые думают что они умеют в крипт если они умеет в реверс - но это далеко не так. + мало кто вообще из опытных берется работать с продуктом - который льеться в суку - если у вас хотя бы 10к-20к инсталов месяц - возможно дешевле стилак переписать чем вычистить такое. писать с нуля 100% проще чем обфусцировать.
У них репутация такая, какой тебе не добиться в жизни с таким мышлением
Какая репутация? Это бред полный - их репутация - пыль - они живут тем что продают говно софт за копейки, подворовывая логи у школьников которым продали свой стилак.
Это днище этого мира.
а так стиллак хороший
Стилак говно. Автору кода стилера: без обид - код который продают за 150$ по определению не может быть качественым как и не может быть качественым любой стилак который продается в паблике - но он им и не должен быть. Зачем позиционировать себя тем кем ты не являешься? С другой стороны глуп и туп тот - кто ожидает от софта за 150$ - чего-то особеного и если он не ожилад что код говно - то сам он дурачина и это толькоего проблемы уже. За 150$ хорошо если оно с выключеными ав то запускается.
В основной и сетевой процесс вообще можно инжектить без гемора, даже через CreateRemoteThread(LoadLibrary()).
Что значит без гемора? Не один приличный EDR не даст чего то там инжектить в процессы паблик методами - инжект в процессы всегда подразумевает вызов чуть ли не всех похуканых сисколв разом. А если анхучить в начале - то это уже совсем другая песня и оно не как не вяжется с моим пониманием без гемора.
Просто сейчас люди обленились , или нубов много, хз.
Раньше те кто ленились они вообще в малварь не лезли, а с появление гитхаба - такое ощущение что мир в себя поверил.
многие из них технически не подкованы и не оценят тех или иных преимуществ(людям просто нужен хороший отстук и всё)
Дело не в том что они не подкованы и не оценят - если какой то код - даже криптованый льется просто как вода в Ниагарском водопаде, как всякие ракуны и прочее дерьмо - то код будет детектися в рантайме 100% - без вариантов и даже криптованый он будет детектится, уменьшится только кол-во аверов которые палят ( и то не факт что уменьшится - может еще и увеличиться).
DildoFagins оффтоп, но можешь себе в подпись добавить все ссылки на твои статьи?У тебя профиль закрыт, а по сообщениям искать это пиздец, их больше трех тысяч
А ты возми и на шарпах напиши код который выкачает то что он тут по написал за эти годы. И грепай себе.
 
Последнее редактирование:
Ты конечно красава, без шутуок - но про комерческие протекторы - это ты конечно перегнул. Их и не риверсит ни кто почти - им вешают просто дженерик типа packed - и скипают просто.
Реверсят
Что значит без гемора? Не один приличный EDR не даст чего то там инжектить в процессы паблик методами - инжект в процессы всегда подразумевает вызов четь ли не всех похуканых сисколв разом. А если анхучить вначале - то это уже совсем другая песня и оно не квяжется с моим пониманием без гемора.
Даст
А ты возми и на шарпах напиши код который выкачает то что он тут по написал за эти годы. И грепай себе.
За это бан будет за парсинг форума
 
Пожалуйста, обратите внимание, что пользователь заблокирован
За это бан будет за парсинг форума
не будет - плати 2к и качай на здоровье
 
но про комерческие протекторы - это ты конечно перегнул. Их и не риверсит ни кто почти - им вешают просто дженерик типа packed - и скипают просто.
Какой смысл их есть на зватрак - когда можно описать патернами и банить все уже в статике - все протекторы не плохо детектяться статически.
я же написал, что я реверсер, и не из ав, и коллеги у меня тоже не из ав, им реверс не для того что бы повесить packed и описать паттерн)) там немного иные цели
возможно дешевле стилак переписать чем вычистсть такое. писать с нуля 100% проще чем обфусцировать.
если у тебя есть хорошее двигло, то переписывать ничего не придется, на выходе и так всегда уник файлы
 
Пожалуйста, обратите внимание, что пользователь заблокирован
если у тебя есть хорошее двигло, то переписывать ничего не придется, на выходе и так всегда уник файлы
ну ты говоришь то же самое почти. если у тебя хороше двигло - то код преписывается эти двиглом.
не обязательно иметь хорошее двигло - если ты отливаешь 1-2к логов в месяц, можно вполне себе и ручками наладить.
 
ну ты говоришь то же самое почти. если у тебя хороше двигло - то код преписывается эти двиглом. не обязательно иметь хорошее двигло - если ты отливаешь 1-2к логов в месяц, можно вполне себе и ручками.
конечно можно, все зависит от целей и ситуаций, но я придерживаюсь той позиции, что лучше написать хорошее двигло, потом пользоваться им на проектах любого размера, любых целей и ситуаций. даже на тех которые можно решить руками, все же быстрее получится. ты потратишь время на реализацию, зато выиграешь время в будущем.
 
я же написал, что я реверсер, и не из ав, и коллеги у меня тоже не из ав, им реверс не для того что бы повесить packed и описать паттерн)) там немного иные цели
Читы?VR?сплойтдев? Раскажи, интересно
 
Читы?VR?сплойтдев? Раскажи, интересно
Как частный случай того, что я имел ввиду - реверс способа общения через IOCTL приложения с потенциально уязвимым драйвером. Сам драйвер накрыт VMP, приложение тоже, обмен IO происходит с шифрованием, поэтому что бы понять есть ли возможность эксплуатировать IOCTL драйвера, приходиться ковырять VMP. Вот в таких случаях и приходится это делать. Точнее не так, понять есть ли возможность эксплуатации можно сразу. Но вот что бы реализовать эксплуатацию, необходимо понять алгоритм общения.
А что бы детекты повесить аверы конечно его не распаковывают, да и паттернов там достаточно, им незачем это делать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
заявление автора о том, что софт не поддерживает семерку.
Мб проект собран в 2022 студии, вроде там отключили поддержку всего ниже 8.1 ? )
Если честно, то не знаю, начиная с вин8 добавили много интересного, вопрос в другом, насколько оно актуально в стилаке.

Пишите на шарпике господа, никакой ебли с юникодом
Все из коробки
Согласен. При всей моей нелюбви к шарпам, лучше уж хорошо кодить на говноскриптах и дотнетах, где нет гемора с памятью, строками, чем говнокодить на нативе.
 
Мб проект собран в 2022 студии, вроде там отключили поддержку всего ниже 8.1 ? )
Если честно, то не знаю, начиная с вин8 добавили много интересного, вопрос в другом, насколько оно актуально в стилаке.
Билдишь проект средствами сборки от XP хоть в 2022 студии, и поддержка будет на всей линейке. Главное апишки использовать те, которые доступны на XP, и CRT линковать, что бы не в динамике грузало dll, а то без установленной vc++ вообще не заведется даже на чистой винде. Любую малварь можно разработать и собрать так что она заведется на самых первых NT и на последней 11. Просто нужно что бы было понимание процесса разработки. Если его нет, конечно что-то где-то будет не работать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Просто нужно что бы было понимание процесса разработки. Если его нет, конечно что-то где-то будет не работать.
Да я понимаю, но многие по дефолту делают..
помню лет 6 назад какой-то говнософт, что я проверял, не работал на ХР только потому, что 2015 студия ставит в хидере Subsystem 6.0 по дефолту. Т.е. поменял - и работало.
p.s. кстати, как то переводил софт, чтобы работал на вин2к (не мой), удивился, как много всего добавили в ХР на самом деле.
 
При всей моей нелюбви к шарпам
А чем мотивирована нелюбовь?Прекрасный язык
Кроссплатформа, гораздо быстрее аналогов(жавы, той же), штуки вроде linq, удобный синтаксический сахар
Хорошо работает со всякими виндовыми штуками(.net framework), кодить одно удовольствие просто(особенно после c/c++)
Писать можно бэкэнд, кроссплатформенные UI, малварь. Практически все что угодно на одном и том же языке.

Шарп и дотнет не ограничиваются говнокодерами дешевой малвари, это платформа с очень большой аудиторией

Ты вроде спрашивал книгу по шарпу какое-то время назад даже, не зашло?
Если тогда забил, то попробуй троелсона почитать(бери самое последнее издание).
Местами немного занудно и некоторые темы типа asp.net тебе наверное можно скипать, но в целом норм
Я не собираюсь спорить, просто интересно.

Скрытый контент для пользователей: .
 
Да я понимаю, но многие по дефолту делают..
Вот в этом и проблема всех скрипткиддсов, ctrl+c ctrl+v, пнул с горы, и покатилось кубарем, а докатится ли хотя бы до подножья горы или развалится по пути, их не волнует
Ладно для себя такой код писать и никому не показывать, но когда такой софт оказывается на торговой площадке, то это не лезет ни в какие рамки
С одной стороны это показывает хороший контраст, и хороший софт на рынке выдяляется еще сильнее, но с другой наличие шлака на торговой площадке просто замусоривает ее и это сложно чем-то оправдать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Шарп и дотнет не ограничиваются говнокодерами дешевой малвари
Ну вот у меня именно с этим ассоциация. Я понимаю, что язык не для этого создавался, но вот так.

Ты вроде спрашивал книгу по шарпу какое-то время назад даже, не зашло?
Мне надо было понять сорцы некоторых софтов, а так, учить шарп - хз, есть ли смысл в моем случае.. Разве что для гуи приложений.


проблема всех скрипткиддсов
Имхо основная проблема в том, что люди учатся не по книгам (как положено), а по видосикам, статейками таких же киддисов, и чатгпт. У того же Рихтера за юникод и анси апи написано в первой же главе.
 
У того же Рихтера за юникод и анси апи написано в первой же главе.
Современные кидди даже не знают что это за страшная фамилия :)
А Страуструп и Кнут это вообще для них какие-то магические заклинания.
 


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