+, тоже проверил. огромное спасибо автору. удивительно, что не закрывают дырупотестил , все работает ровно так , как расписал ТС
если у кого возникнут трудности с установкой панели или что то еще - готов помочь на некомерческой основе
+, тоже проверил. огромное спасибо автору. удивительно, что не закрывают дырупотестил , все работает ровно так , как расписал ТС
если у кого возникнут трудности с установкой панели или что то еще - готов помочь на некомерческой основе
Вопрос не ко мне, но думаю, что имеется в виду обход амси через рефлексию. Ее на самом деле, очень долго уже не закрывают)Что именно ты имел ввиду?
Да на самом деле лучше изучать просто кодинг малвари в целом, а не конкретно кодинг на powershell. А там на нем самом уже можно реализовать многие техники. Далеко не все, конечно, но многие. А внимание на него как-то обратил из-за обсуждений тут, на форуме, из отчетов всяких инфобез экспертов и тд. Так что, идея юзать пш для малвари не моя) Но за отзыв спасибо)Каким образом вы изучали PowerShell с учетом его применения в Malware кодинге, и какие специализированные ресурсы или материалы вы можете рекомендовать для такого изучения?
Хром теперь как понял свой драйвер юзает, https://habr.com/ru/companies/kaspersky/articles/833914/кто то еще юзает этот стилак ? после обновы хрома перестал собирать куки , ищу решение фикс
в обмен могу дать модуль по сбору крипты и блок гео снг , допиливал под него
HRESULT DecryptAppBoundString(const std::string& ciphertext,
std::string& plaintext,
DWORD& last_error,
std::string* log_message) {
DCHECK(!ciphertext.empty());
base::win::AssertComInitialized();
Microsoft::WRL::ComPtr<IElevator> elevator;
last_error = ERROR_GEN_FAILURE;
HRESULT hr = ::CoCreateInstance(
install_static::GetElevatorClsid(), nullptr, CLSCTX_LOCAL_SERVER,
install_static::GetElevatorIid(), IID_PPV_ARGS_Helper(&elevator));
if (FAILED(hr))
return hr;
hr = ::CoSetProxyBlanket(
elevator.Get(), RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_DEFAULT,
COLE_DEFAULT_PRINCIPAL, RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
RPC_C_IMP_LEVEL_IMPERSONATE, nullptr, EOAC_DYNAMIC_CLOAKING);
if (FAILED(hr))
return hr;
base::win::ScopedBstr ciphertext_data;
::memcpy(ciphertext_data.AllocateBytes(ciphertext.length()),
ciphertext.data(), ciphertext.length());
base::win::ScopedBstr plaintext_data;
hr = elevator->DecryptData(ciphertext_data.Get(), plaintext_data.Receive(),
&last_error);
if (FAILED(hr)) {
if (log_message) {
log_message->assign(
reinterpret_cast<std::string::value_type*>(plaintext_data.Get()),
plaintext_data.ByteLength());
}
return hr;
}
plaintext.assign(
reinterpret_cast<std::string::value_type*>(plaintext_data.Get()),
plaintext_data.ByteLength());
::SecureZeroMemory(plaintext_data.Get(), plaintext_data.ByteLength());
last_error = ERROR_SUCCESS;
return S_OK;
}
ждем полноценный фикс в паблик для народаХром теперь как понял свой драйвер юзает, https://habr.com/ru/companies/kaspersky/articles/833914/
Это наверное нужен инжект в сам хром, либо как то от его имени запускаться, я сам хз как служба работает.
Но могу скинуть где этот ключ получается в коде хрома. Ну или алгоритм нужно знать.
Код:HRESULT DecryptAppBoundString(const std::string& ciphertext, std::string& plaintext, DWORD& last_error, std::string* log_message) { DCHECK(!ciphertext.empty()); base::win::AssertComInitialized(); Microsoft::WRL::ComPtr<IElevator> elevator; last_error = ERROR_GEN_FAILURE; HRESULT hr = ::CoCreateInstance( install_static::GetElevatorClsid(), nullptr, CLSCTX_LOCAL_SERVER, install_static::GetElevatorIid(), IID_PPV_ARGS_Helper(&elevator)); if (FAILED(hr)) return hr; hr = ::CoSetProxyBlanket( elevator.Get(), RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_DEFAULT, COLE_DEFAULT_PRINCIPAL, RPC_C_AUTHN_LEVEL_PKT_PRIVACY, RPC_C_IMP_LEVEL_IMPERSONATE, nullptr, EOAC_DYNAMIC_CLOAKING); if (FAILED(hr)) return hr; base::win::ScopedBstr ciphertext_data; ::memcpy(ciphertext_data.AllocateBytes(ciphertext.length()), ciphertext.data(), ciphertext.length()); base::win::ScopedBstr plaintext_data; hr = elevator->DecryptData(ciphertext_data.Get(), plaintext_data.Receive(), &last_error); if (FAILED(hr)) { if (log_message) { log_message->assign( reinterpret_cast<std::string::value_type*>(plaintext_data.Get()), plaintext_data.ByteLength()); } return hr; } plaintext.assign( reinterpret_cast<std::string::value_type*>(plaintext_data.Get()), plaintext_data.ByteLength()); ::SecureZeroMemory(plaintext_data.Get(), plaintext_data.ByteLength()); last_error = ERROR_SUCCESS; return S_OK; }

в edge импортится хром без проблем и можно достать дешифрованые куки (и пассы) уже из edgeХром теперь как понял свой драйвер юзает, https://habr.com/ru/companies/kaspersky/articles/833914/
Это наверное нужен инжект в сам хром, либо как то от его имени запускаться, я сам хз как служба работает.
Но могу скинуть где этот ключ получается в коде хрома. Ну или алгоритм нужно знать.
chrome/elevation_service/elevation_service_idl.idl - chromium/src - Git at Google chrome/browser/os_crypt/app_bound_encryption_win.cc - chromium/src - Git at Google
Попробуй запускать хром с --remote-debugging-portкто то еще юзает этот стилак ? после обновы хрома перестал собирать куки , ищу решение фикс
в обмен могу дать модуль по сбору крипты и блок гео снг , допиливал под него
на чем тестишь ? если новый хром , то не соберетподскжите, что не так сделал может?
у него хром да и браве)на чем тестишь ? если новый хром , то не соберет