Разделяю статью на 2 части, так как нет времени дореверсить до конца стилак, а статью напить все же хочется
(когда выйдет 2 часть не знаю, мне впадлу)
В проекте используется свой обфускатор (скорее всего ллвм-бейсед)
Почти все строки динамически формируются на стеке, в статике хранятся шифрованными
Для поиска апи используются хеши, для загрузки длл - LoadLibraryExW
Хендлы основных длл и функций винхттп хранятся глобально, остальные - по принципу "получил, использовал, забыл"
Например:
malloc -> GetProcAddressI(hash) -> addr RtlAllocateHeap -> call eax -> ret
Nt* функции вызываются через сисколы
Создает секцию ntdll x86 помощи NtCreateSection из KnownDlls
затем мапает NtMapViewOfSection
Из новомапнутой нтдлл парсит сисколы в таблицу, видимо это сделано с целью обхода хуков ав, который ставят jmp вместо сискола
Таблица хеш - сискол (Если я правильно понял, используется MD5)
Функция выполняющая сискол:
1 параметр сискол, 2 - размер аргументов на стеке, ... - va_agvs
Сискол производится через wow64cpu
после проделанный манипуляций анмапает секцию
NtOpenFile для открытия файлы с диска - текущего исполняющегося
ZwQueryInformationFile ^
NtReadFile ^
Окошка которое появляется при запуске голого билда - создается путем вызова NtRaiseHardError -
для отображения гуи таким способом не нужно грузить гди32 и тд, окошко создается из CSRSS.EXE
Полагаю проверка на запуск чистого билда происходит по какомуто флагу в пе заголовках
NtCreateMutant - так полагаю создает аналог мьютексу для антидубля
Проверяет криптокошельки: (спарсил основные, но не все)
Странно но сискол для открытия директории вызывается 2 раза
для бинанса раза 4
(мб я что то напутал)
NtQueryDirectory для директории криптокошелька если найден
NtReadFile для файлов
Хром:
Не понятно что
NtOpenFile
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Local State"
CryptUnprotectData -> encrypted_key
NtOpenThreadToken \ NtOpenProcessToken
текущий процесс\поток
ZwQueryInformationToken
NtAdjustPrivilegesToken ("SeImpersonatePrivilege")
RtlGetSystemNativeInformation (5)
Если говорить более кратко - выполняет имперсонализацию под токеном системы (если удалось его получить)
Затем декриптит ключ при помощи дпапи (от имени системы)
ZwQueryAttributesFile -> L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default"
Проверка существует ли?
NtCreateFile (FILE_OPEN) \??\C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\History
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data"
NtReadFile ^
NtCreateFile (FILE_OPEN) C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data For Account
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Network\\Cookies"
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Web Data"
NtReadFile ^
Затем идет граб расширений (насчитал примерно 129)
NtOpenFile -> L"C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Last Version"
ZwQueryInformationFile ^
Собирает версию хрома
дополнительно проверяет браузеры:
NtOpenFile L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\Edge\\User Data\\Last Version"
Также собирает версию браузера, вероятнее всего для определения метода шифрования
Для фаирфокс-бейсед браузеров:
Дальше судя по всему идет грабер, сбор приложений
приложений не будет - ищите сами, мне впадлу записывать
Также собирает список установленных приложений
некоторая информация системинфо в логе (вся?) генерируется на клиенте
Непонятный жсон я отловил в рантайме:
тест из под юзер мода:
NtOpenKey L"\\REGISTRY\\MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome"
NtOpenKeyEx
NtQueryKey
NtQueryValueKey
открывает находит где установлен хром, запускает в приостановленном состоянии
Вызывает
NtCreateJobObject
NtCreateIoCompletion
NtAssignProcessToJobObject
NtSetInformationJobObject
NtResumeThread
При помощи джоба ограничивает хрому создание гуи (я так понял)
Затем возобновляет поток
NtClose -> chrome thread
NtClose -> chrome process
NtRemoveIoCompletion
NtDelayExecution
NtRemoveIoCompletion
NtDelayExecution
CloseHandle -> job
NtCreateProcess chrome (Не совсем понял)
NtWow64QueryInformationProcess64
NtWow64ReadVirtualMemory64 (PEB первые 40 байт)
NtWow64ReadVirtualMemory64 (что то в нтдлл - 32 байта)
NtWow64ReadVirtualMemory64
читает пеб главного процесса хрома
После - читает что то из секции даты х64 нтдлл хрома
нижние 4 дворда - 2 адреса в х64 процессе хрома, они находится в разных хипах процесса
не совсем ясно что за данные читает, видно юникод строку Build Tools
а также в процессе люмы есть хендл десктопа
читает дос хидер нтдлл, нтхидер
Затем парсит таблицу экспорта, Так понимаю таргет функция была - RtlExitUserThread
перебирает дллки до dpapi
Видимо люма ещет CryptUnprotectData
NtDuplicateObject
копирует хендл собственного процесса
При помощи NtWow64ReadVirtualMemory64 читает чтото из нтдлл х64 собственного процесса
останавливает перебор на LdrGetProcedureAddress
вызывает:
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtAllocateVirtualMemory
NtFreeVirtualMemory
и так циклично много раз
NtWow64ReadVirtualMemory64
читает USER_SHARE_DATA
Затем перебирает потоки(?), их стек, а также после этого все страницы памяти
На этом пока что все
(когда выйдет 2 часть не знаю, мне впадлу)
В проекте используется свой обфускатор (скорее всего ллвм-бейсед)
Почти все строки динамически формируются на стеке, в статике хранятся шифрованными
Для поиска апи используются хеши, для загрузки длл - LoadLibraryExW
Хендлы основных длл и функций винхттп хранятся глобально, остальные - по принципу "получил, использовал, забыл"
Например:
malloc -> GetProcAddressI(hash) -> addr RtlAllocateHeap -> call eax -> ret
Nt* функции вызываются через сисколы
Создает секцию ntdll x86 помощи NtCreateSection из KnownDlls
затем мапает NtMapViewOfSection
Из новомапнутой нтдлл парсит сисколы в таблицу, видимо это сделано с целью обхода хуков ав, который ставят jmp вместо сискола
Таблица хеш - сискол (Если я правильно понял, используется MD5)
Функция выполняющая сискол:
1 параметр сискол, 2 - размер аргументов на стеке, ... - va_agvs
Сискол производится через wow64cpu
после проделанный манипуляций анмапает секцию
NtOpenFile для открытия файлы с диска - текущего исполняющегося
ZwQueryInformationFile ^
NtReadFile ^
Окошка которое появляется при запуске голого билда - создается путем вызова NtRaiseHardError -
для отображения гуи таким способом не нужно грузить гди32 и тд, окошко создается из CSRSS.EXE
Полагаю проверка на запуск чистого билда происходит по какомуто флагу в пе заголовках
NtCreateMutant - так полагаю создает аналог мьютексу для антидубля
Проверяет криптокошельки: (спарсил основные, но не все)
Код:
NtOpenFile
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Ledger Live"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\atomic\\Local Storage\\leveldb"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Armory"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Coinomi\\Coinomi\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Authy Desktop\\Local Storage\\leveldb"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Bitcoin\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Binance"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\com.liberty.jaxx\\IndexedDB"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Electrum\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Electrum-LTC\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\ElectronCash\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Guarda\\IndexedDB"
L"C:\\Users\\Administrator\\AppData\\Roaming\\DashCore\\wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\WalletWasabi\\Client\\Wallets"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Daedalus Mainnet\\wallets"
Странно но сискол для открытия директории вызывается 2 раза
для бинанса раза 4
(мб я что то напутал)
NtQueryDirectory для директории криптокошелька если найден
NtReadFile для файлов
Хром:
Не понятно что
NtOpenFile
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Local State"
CryptUnprotectData -> encrypted_key
NtOpenThreadToken \ NtOpenProcessToken
текущий процесс\поток
ZwQueryInformationToken
NtAdjustPrivilegesToken ("SeImpersonatePrivilege")
RtlGetSystemNativeInformation (5)
Код:
NtOpenProcess ->
System(4)
Registry(112)
smss (332)
csrss.exe -> pid 440
wininit.exe -> pid 512
csrss.exe -> pid 520
winlogon.exe -> pid 620
services.exe -> pid 664
lsass.exe -> pid 680
svchost.exe -> pid 792
fontdrvhost.exe -> pids: (816, (юзер - Font Driver Host\UMFD-1)
fontdrvhost.exe -> pids: (824, (юзер - Font Driver Host\UMFD-1)
svchost.exe -> pid 900
svchost.exe -> pid 1004
svchost.exe -> pid 1012 (юзер - NT AUTHORITY\NETWORK SERVICE)
svchost.exe -> pid 508 (юзер - NT AUTHORITY\LOCAL SERVICE)
svchost.exe -> pid 736
dwm.exe -> 1112
LogonUI.exe -> 1120
svchost.exe -> 1396
Перебирает пока не откроет процесс
NtOpenProcessToken
NtQueryInformationToken (UserToken)
NtQueryInformationToken (TokenPriv)
Проверяет токен, если не подходит, то продолжает перебирать процессы
NtDuplicateToken -> NT AUTHORITY\SYSTEM (Impersonation)
NtClose -> token
NtClose -> process
NtSetInformationThread -1, ThreadImpersonationToken (NT AUTHORITY\SYSTEM)
CryptUnprotectData
NtSetInformationThread -1, ThreadImpersonationToken (0?)
CryptUnprotectData
Если говорить более кратко - выполняет имперсонализацию под токеном системы (если удалось его получить)
Затем декриптит ключ при помощи дпапи (от имени системы)
ZwQueryAttributesFile -> L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default"
Проверка существует ли?
NtCreateFile (FILE_OPEN) \??\C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\History
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data"
NtReadFile ^
NtCreateFile (FILE_OPEN) C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data For Account
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Network\\Cookies"
NtReadFile ^
NtCreateFile (FILE_OPEN) L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Web Data"
NtReadFile ^
Затем идет граб расширений (насчитал примерно 129)
Код:
Google\Chrome\User Data\Default\Local Extension Settings\djclckkglechooblngghdinmeemkbgci
Google\Chrome\User Data\Default\Local Extension Settings\ejbalbakoplchlghecdalmeeeajnimhm
Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn
Google\Chrome\User Data\Default\Local Extension Settings\aeblfdkhhhdcdjpifhhbdiojplfjncoa
Google\Chrome\User Data\Default\Local Extension Settings\jnlgamecbpmbajjfhmmmlhejkemejdma
Google\Chrome\User Data\Default\Local Extension Settings\pdliaogehgdbhbnmkklieghmmjkpigpa
Google\Chrome\User Data\Default\Local Extension Settings\dlcobpjiigpikoobohmabehhmhfoodbb
Google\Chrome\User Data\Default\Local Extension Settings\jgaaimajipbpdogpdglhaphldakikgef
Google\Chrome\User Data\Default\Local Extension Settings\fcfcfllfndlomdhbehjjcoimbgofdncg
Google\Chrome\User Data\Default\Local Extension Settings\lgmpcpglpngdoalbgeoldeajfclnhafa
Google\Chrome\User Data\Default\Local Extension Settings\hdokiejnpimakedhajhdlcegeplioahd
Google\Chrome\User Data\Default\Local Extension Settings\naepdomgkenhinolocfifgehidddafch
Google\Chrome\User Data\Default\Local Extension Settings\bmikpgodpkclnkgmnpphehdgcimmided
Google\Chrome\User Data\Default\Local Extension Settings\jhfjfclepacoldmjmkmdlmganfaalklb
Google\Chrome\User Data\Default\Local Extension Settings\chgfefjpcobfbnpmiokfjjaglahmnded
Google\Chrome\User Data\Default\Local Extension Settings\igkpcodhieompeloncfnbekccinhapdb
Google\Chrome\User Data\Default\Local Extension Settings\gojhcdgcpbpfigcaejpfhfegekdgiblk
Google\Chrome\User Data\Default\Local Extension Settings\kjmoohlgokccodicjjfebfomlbljgfhk
Google\Chrome\User Data\Default\Local Extension Settings\abogmiocnneedmmepnohnhlijcjpcifd
Google\Chrome\User Data\Default\Local Extension Settings\pioclpoplcdbaefihamjohnefbikjilc
Google\Chrome\User Data\Default\Local Extension Settings\lpilbniiabackdjcionkobglmddfbcjo
Google\Chrome\User Data\Default\Local Extension Settings\dngmlblcodfobpdpecaadgfbcggfjfnm
Google\Chrome\User Data\Default\Local Extension Settings\kppfdiipphfccemcignhifpjkapfbihd
Google\Chrome\User Data\Default\Local Extension Settings\mmmjbcfofconkannjonfmjjajpllddbg
Google\Chrome\User Data\Default\Local Extension Settings\loinekcabhlmhjjbocijdoimmejangoa
Google\Chrome\User Data\Default\Local Extension Settings\heefohaffomkkkphnlpohglngmbcclhi
Google\Chrome\User Data\Default\Local Extension Settings\idnnbdplmphpflfnlkomgpfbpcgelopg
Google\Chrome\User Data\Default\Local Extension Settings\anokgmphncpekkhclmingpimjmcooifb
Google\Chrome\User Data\Default\Local Extension Settings\cnncmdhjacpkmjmkcafchppbnpnhdmon
Google\Chrome\User Data\Default\Local Extension Settings\ocjdpmoallmgmjbbogfiiaofphbjgchh
Google\Chrome\User Data\Default\Local Extension Settings\ojggmchlghnjlapmfbnjholfjkiidbch
Google\Chrome\User Data\Default\Local Extension Settings\ciojocpkclfflombbcfigcijjcbkmhaf
Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn
Google\Chrome\User Data\Default\Local Extension Settings\fiikommddbeccaoicoejoniammnalkfa
Google\Chrome\User Data\Default\Local Extension Settings\bgjogpoidejdemgoochpnkmdjpocgkha
Google\Chrome\User Data\Default\Local Extension Settings\opfgelmcmbiajamepnmloijbpoleiama
Google\Chrome\User Data\Default\Local Extension Settings\hbbgbephgojikajhfbomhlmmollphcad
Google\Chrome\User Data\Default\Local Extension Settings\egjidjbpglichdcondbcbdnbeeppgdph
Google\Chrome\User Data\Default\Local Extension Settings\ibnejdfjmmkpcnlpebklmnkoeoihofec
Google\Chrome\User Data\Default\Local Extension Settings\fnjhmkhhmkbjkkabndcnnogagogbneec
Google\Chrome\User Data\Default\Local Extension Settings\mcohilncbfahbmgdjkbpemcciiolgcge
Google\Chrome\User Data\Default\Local Extension Settings\fhilaheimglignddkjgofkcbgekhenbh
Google\Chrome\User Data\Default\Local Extension Settings\mgffkfbidihjpoaomajlbgchddlicgpn
Google\Chrome\User Data\Default\Local Extension Settings\kmhcihpebfmpgmihbkipmjlmmioameka
Google\Chrome\User Data\Default\Local Extension Settings\gjagmgiddbbciopjhllkdnddhcglnemk
Google\Chrome\User Data\Default\Local Extension Settings\epapihdplajcdnnkdeiahlgigofloibg
Google\Chrome\User Data\Default\Local Extension Settings\hmeobnfnfcmdkdcmlblgagmfpfboieaf
Google\Chrome\User Data\Default\Local Extension Settings\fhbohimaelbohpjbbldcngcnapndodjp
Google\Chrome\User Data\Default\Local Extension Settings\ffnbelfdoeiohenkjibnmadjiehjhajb
Google\Chrome\User Data\Default\Local Extension Settings\jbdaocneiiinmjbjlgalhcelgbejmnid
Google\Chrome\User Data\Default\Local Extension Settings\afbcbjpbpfadlkmhmclhkeeodmamcflc
Google\Chrome\User Data\Default\Local Extension Settings\hnfanknocfeofbddgcijnmhnfnkdnaad
Google\Chrome\User Data\Default\Local Extension Settings\hpglfhgfnhbgpjdenjgmdgoeiappafln
Google\Chrome\User Data\Default\Local Extension Settings\blnieiiffboillknjnepogjhkgnoapac
Google\Chrome\User Data\Default\Local Extension Settings\cjelfplplebdjjenllpjcblmjkfcffne
Google\Chrome\User Data\Default\Local Extension Settings\fihkakfobkmkjojpchpfgcmhfjnmnfpi
Google\Chrome\User Data\Default\Local Extension Settings\kncchdigobghenbbaddojjnnaogfppfj
Google\Chrome\User Data\Default\Local Extension Settings\kkpllkodjeloidieedojogacfhpaihoh
Google\Chrome\User Data\Default\Local Extension Settings\amkmjjmmflddogmhpjloimipbofnfjih
Google\Chrome\User Data\Default\Local Extension Settings\nlbmnnijcnlegkjjpcfjclmcfggfefdm
Google\Chrome\User Data\Default\Local Extension Settings\nanjmdknhkinifnkgdcggcfnhdaammmj
Google\Chrome\User Data\Default\Local Extension Settings\nkddgncdjgjfcddamfgcmfnlhccnimig
Google\Chrome\User Data\Default\Local Extension Settings\cphhlgmgameodnhkjdmkpanlelnlohao
Google\Chrome\User Data\Default\Local Extension Settings\nhnkbkgjikgcigadomkphalanndcapjk
Google\Chrome\User Data\Default\Local Extension Settings\acmacodkjbdgmoleebolmdjonilkdbch
Google\Chrome\User Data\Default\Local Extension Settings\phkbamefinggmakgklpkljjmgibohnba
Google\Chrome\User Data\Default\Local Extension Settings\efbglgofoippbgcjepnhiblaibcnclgk
Google\Chrome\User Data\Default\Local Extension Settings\cjmkndjhnagcfbpiemnkdpomccnjblmj
Google\Chrome\User Data\Default\Local Extension Settings\aijcbedoijmgnlmjeegjaglmepbmpkpi
Google\Chrome\User Data\Default\Local Extension Settings\nngceckbapebfimnlniiiahkandclblb
Google\Chrome\User Data\Default\Local Extension Settings\fdjamakpfbbddfjaooikfcpapjohcfmg
Google\Chrome\User Data\Default\Local Extension Settings\bfogiafebfohielmmehodmfbbebbbpei
Google\Chrome\User Data\Default\Local Extension Settings\pnlccmojcmeohlpggmfnbbiapkmbliob
Google\Chrome\User Data\Default\Local Extension Settings\lpfcbjknijpeeillifnkikgncikgfhdo
Google\Chrome\User Data\Default\Local Extension Settings\ejjladinnckdgjemekebdpeokbikhfci
Google\Chrome\User Data\Default\Local Extension Settings\opcgpfmipidbgpenhmajoajpbobppdil
Google\Chrome\User Data\Default\Local Extension Settings\aholpfdialjgjfhomihkjbmgjidlcdno
Google\Chrome\User Data\Default\Local Extension Settings\onhogfjeacnfoofkfgppdlbmlmnplgbn
Google\Chrome\User Data\Default\Local Extension Settings\mopnmbcafieddcagagdcbnhejhlodfdd
Google\Chrome\User Data\Default\Local Extension Settings\fijngjgcjhjmmpcmkeiomlglpeiijkld
Google\Chrome\User Data\Default\Local Extension Settings\hifafgmccdpekplomjjkcfgodnhcellj
Google\Chrome\User Data\Default\Local Extension Settings\kpfopkelmapcoipemfendmdcghnegimn
Google\Chrome\User Data\Default\Local Extension Settings\aiifbnbfobpmeekipheeijimdpnlpgpp
Google\Chrome\User Data\Default\Local Extension Settings\dmkamcknogkgcdfhhbddcghachkejeap
Google\Chrome\User Data\Default\Local Extension Settings\fhmfendgdocmcbmfikdcogofphimnkno
Microsoft\Edge\User Data\Default\Local Extension Settings\cnmamaachppnkjgnildpdmkaakejnhae
Microsoft\Edge\User Data\Default\Local Extension Settings\jojhfeoedkpkglbfimdfabpdfjaoolaf
Microsoft\Edge\User Data\Default\Local Extension Settings\flpiciilemghbmfalicajoolhkkenfe
Microsoft\Edge\User Data\Default\Local Extension Settings\nknhiehlklippafakaeklbeglecifhad
Microsoft\Edge\User Data\Default\Local Extension Settings\hcflpincpppdclinealmandijcmnkbgn
Microsoft\Edge\User Data\Default\Local Extension Settings\ookjlbkiijinhpmnjffcofjonbfbgaoc
Microsoft\Edge\User Data\Default\Local Extension Settings\jnkelfanjkeadonecabehalmbgpfodjm
Microsoft\Edge\User Data\Default\Local Extension Settings\mnfifefkajgofkcjkemidiaecocnkjeh
Microsoft\Edge\User Data\Default\Local Extension Settings\lodccjjbdhfakaekdiahmedfbieldgik
Microsoft\Edge\User Data\Default\Local Extension Settings\ijmpgkjfkbfhoebgogflfebnmejmfbm
Microsoft\Edge\User Data\Default\Local Extension Settings\lkcjlnjfpbikmcmbachjpdbijejflpcm
Microsoft\Edge\User Data\Default\Local Extension Settingsonofpnbbkehpmmoabgpcpmigafmmnjh
Microsoft\Edge\User Data\Default\Local Extension Settings\bcopgchhojmggmffilplmbdicgaihlkp
Microsoft\Edge\User Data\Default\Local Extension Settings\klnaejjgbibmhlephnhpmaofohgkpgkd
Microsoft\Edge\User Data\Default\Local Extension Settings\aeachknmefphepccionboohckonoeemg
Microsoft\Edge\User Data\Default\Local Extension Settings\cgeeodpfagjceefieflmdfphplkenlfk
Microsoft\Edge\User Data\Default\Local Extension Settings\pdadjkfkgcafgbceimcpbkalnfnepbnk
Microsoft\Edge\User Data\Default\Local Extension Settings\bhghoamapcdpbohphigoooaddinpkbai
Microsoft\Edge\User Data\Default\Sync Extension Settings\bhghoamapcdpbohphigoooaddinpkbai
Microsoft\Edge\User Data\Default\Local Extension Settings\dkdedlpgdmmkkfjabffeganieamfklkm
Microsoft\Edge\User Data\Default\Local Extension Settings\nlgbhdfgdhgbiamfdfmbikcdghidoadd
Microsoft\Edge\User Data\Default\Local Extension Settings\jnmbobjmhlngoefaiojfljckilhhlhcj
Microsoft\Edge\User Data\Default\Local Extension Settings\jhgnbkkipaallpehbohjmkbjofjdmeid
Microsoft\Edge\User Data\Default\Local Extension Settings\cihmoadaighcejopammfbmddcmdekcje
Microsoft\Edge\User Data\Default\Local Extension Settings\bhhhlbepdkbapadjdnnojkbgioiodbic
Microsoft\Edge\User Data\Default\Local Extension Settings\mkpegjkblkkefacfnmkajcjmabijhclg
Microsoft\Edge\User Data\Default\Local Extension Settings\aflkmfhebedbjioipglgcbcmnbpgliof
Microsoft\Edge\User Data\Default\Local Extension Settings\penjlddjkjgpnkllboccdgccekpkcbin
Microsoft\Edge\User Data\Default\Local Extension Settings\omaabbefbmiijedngplfjmnooppbclkk
Microsoft\Edge\User Data\Default\Local Extension Settings\gaedmjdfmmahhbjefcbgaolhhanlaolb
Microsoft\Edge\User Data\Default\Local Extension Settings\oeljdldpnmdbchonielidgobddffflal
Microsoft\Edge\User Data\Default\Sync Extension Settings\oeljdldpnmdbchonielidgobddffflal
Microsoft\Edge\User Data\Default\Local Extension Settings\ilgcnhelpchnceeipipijaljkblbcobl
Microsoft\Edge\User Data\Default\Sync Extension Settings\ilgcnhelpchnceeipipijaljkblbcobl
Microsoft\Edge\User Data\Default\Local Extension Settings\imloifkgjagghnncjkhggdhalmcnfklk
Microsoft\Edge\User Data\Default\Local Extension Settings\bfnaelmomeimhlpmgjnjophhpkkoljpa
Microsoft\Edge\User Data\Default\Local Extension Settings\ppbibelpcjmhbdihakflkdcoccbgbkpo
Microsoft\Edge\User Data\Default\Local Extension Settings\cpojfbodiccabbabgimdeohkkpjfpbnf
Microsoft\Edge\User Data\Default\Local Extension Settings\jiidiaalihmmhddjgbnbgdfflelocpak
Microsoft\Edge\User Data\Default\Local Extension Settings\nphplpgoakhhjchkkhmiggakijnkhfnd
Microsoft\Edge\User Data\Default\Local Extension Settings\fldfpgipfncgndfolcbkdeeknbbbnhcc
Microsoft\Edge\User Data\Default\Local Extension Settings\nnpmfplkfogfpmcngplhnbdnnilmcdcg
Microsoft\Edge\User Data\Default\Local Extension Settings\odbfpeeihdkbihmopkbjmoonfanlbfcl
NtOpenFile -> L"C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Last Version"
ZwQueryInformationFile ^
Собирает версию хрома
дополнительно проверяет браузеры:
Код:
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome Beta\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Opera Software\\Opera Stable\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Opera Software\\Opera Neon\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Opera Software\\Opera GX Stable\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\Edge\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\BraveSoftware\\Brave-Browser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Epic Privacy Browser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Vivaldi\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Maxthon\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Iridium\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\AVG\\Browser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Tencent\\QQBrowser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\360Browser\\Browser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\SuperBrowser\\User Data\\BrowserWorkbench_1\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\CentBrowser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\Chedot\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Local\\CocCoc\\Browser\\User Data\\Local State"
L"\\??\\C:\\Users\\Administrator\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles"
Также собирает версию браузера, вероятнее всего для определения метода шифрования
Для фаирфокс-бейсед браузеров:
Код:
AppData\\Roaming\\Mozilla\\Firefox
AppData\\Roaming\\Waterfox\\Profiles
AppData\\Roaming\\Moonchild Productions\\Pale Moon\\Profiles
NtOpenFile
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\aisgdu4w.default\\key4.db
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\cert9.db
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\key4.db
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\cookies.sqlite
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\logins.json
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\formhistory.sqlite
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\places.sqlite
AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ov9ggkj3.default-release\\prefs.js
приложений не будет - ищите сами, мне впадлу записывать
Также собирает список установленных приложений
некоторая информация системинфо в логе (вся?) генерируется на клиенте
Непонятный жсон я отловил в рантайме:
тест из под юзер мода:
NtOpenKey L"\\REGISTRY\\MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome"
NtOpenKeyEx
NtQueryKey
NtQueryValueKey
открывает находит где установлен хром, запускает в приостановленном состоянии
Вызывает
NtCreateJobObject
NtCreateIoCompletion
NtAssignProcessToJobObject
NtSetInformationJobObject
NtResumeThread
При помощи джоба ограничивает хрому создание гуи (я так понял)
Затем возобновляет поток
NtClose -> chrome thread
NtClose -> chrome process
NtRemoveIoCompletion
NtDelayExecution
NtRemoveIoCompletion
NtDelayExecution
CloseHandle -> job
NtCreateProcess chrome (Не совсем понял)
NtWow64QueryInformationProcess64
NtWow64ReadVirtualMemory64 (PEB первые 40 байт)
NtWow64ReadVirtualMemory64 (что то в нтдлл - 32 байта)
NtWow64ReadVirtualMemory64
читает пеб главного процесса хрома
После - читает что то из секции даты х64 нтдлл хрома
нижние 4 дворда - 2 адреса в х64 процессе хрома, они находится в разных хипах процесса
не совсем ясно что за данные читает, видно юникод строку Build Tools
а также в процессе люмы есть хендл десктопа
читает дос хидер нтдлл, нтхидер
Затем парсит таблицу экспорта, Так понимаю таргет функция была - RtlExitUserThread
перебирает дллки до dpapi
Видимо люма ещет CryptUnprotectData
NtDuplicateObject
копирует хендл собственного процесса
При помощи NtWow64ReadVirtualMemory64 читает чтото из нтдлл х64 собственного процесса
останавливает перебор на LdrGetProcedureAddress
вызывает:
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtAllocateVirtualMemory
NtFreeVirtualMemory
и так циклично много раз
NtWow64ReadVirtualMemory64
читает USER_SHARE_DATA
Затем перебирает потоки(?), их стек, а также после этого все страницы памяти
На этом пока что все
Последнее редактирование модератором:
