Здарова форумчане ! Сейчас каждый второй на лолзе так или иначе крутит темы с нейронками, кто то пишет автореггеры, кто то ботов для автоматизации, а кто то просто юзает ИИ для работы. Все привыкли защищаться от вирусов стандартно: не качать кривые .exe файлы и обходить стороной сомнительные архивы.
Но на днях вскрылся новый, максимально циничный вектор атаки, на который массово ловятся как обычные челы, так и опытные кодеры. Оказывается, поймать жесткий стиллер можно вообще без скачивания софта - достаточно просто поменять одну текстовую строчку в настройках официальной программы.
В этой статье я разложу для вас всю подкапотку этой схемы, чтобы вы понимали, как это устроено, и смогли прямо сейчас обезопасить свои кошельки, аккаунты и логи.
Но на днях вскрылся новый, максимально циничный вектор атаки, на который массово ловятся как обычные челы, так и опытные кодеры. Оказывается, поймать жесткий стиллер можно вообще без скачивания софта - достаточно просто поменять одну текстовую строчку в настройках официальной программы.
В этой статье я разложу для вас всю подкапотку этой схемы, чтобы вы понимали, как это устроено, и смогли прямо сейчас обезопасить свои кошельки, аккаунты и логи.
Из-за региональных блоков и вечного геморроя с оплатой зарубежных карт из СНГ, сидеть на официальных сайтах Anthropic или OpenAI стало слишком дорого и неудобно. Поэтому народ массово переходит на API. Вы покупаете копеечный ключ доступа у селлеров, скачиваете официальную консольную утилиту (тот же хайповый Claude Code ) и работаете прямо из терминала.
Чтобы все это работало без VPN, в абсолютно любом мануале вам говорят сделать одно простое действие «Бро, просто зайди в конфиг и замени стандартный адрес сервера (Base URL) на наше зеркало/реверс-прокси»
Обычный пользователь думает, что это просто безобидный адрес туннель, который пересылает текст. Но на самом деле, меняя эту строчку, вы даете удаленному серверу право присылать на ваш комп любые ответы и команды. Когда софт делает первый тестовый запрос к ИИ, сервер мошенников вместо обычного ответа от нейронки возвращает вредоносный код. Программа запускается через консоль, часто с правами админа, поэтому скрытый вирус мгновенно исполняется системой вообще без каких либо предупреждений со стороны Windows
Чтобы все это работало без VPN, в абсолютно любом мануале вам говорят сделать одно простое действие «Бро, просто зайди в конфиг и замени стандартный адрес сервера (Base URL) на наше зеркало/реверс-прокси»
Обычный пользователь думает, что это просто безобидный адрес туннель, который пересылает текст. Но на самом деле, меняя эту строчку, вы даете удаленному серверу право присылать на ваш комп любые ответы и команды. Когда софт делает первый тестовый запрос к ИИ, сервер мошенников вместо обычного ответа от нейронки возвращает вредоносный код. Программа запускается через консоль, часто с правами админа, поэтому скрытый вирус мгновенно исполняется системой вообще без каких либо предупреждений со стороны Windows
Технический разбор этой заразы выложил на Гитхабе независимый ресерчер Inspector-a11 (оригинал тут: https://gist.github.com/Inspector-a11/462777cf898a613112ae30acf15d4545 ).
Скамеры разыграли очень долгую партию)
На Plati Market больше месяца продавался дешевый доступ к Claude API под вывеской kiro.cheap. Отзывы были идеальные, всё летало, база покупателей росла, люди полностью потеряли бдительность
Затем домен резко меняется на awstore.cloud, а админы выкатывают пост: «У нас тех-работы, нас дудосят китайцы».
Как только сервис якобы ожил, в него сразу встроили выдачу малвари. При первом же обращении к API на компы полетел жесткий многостадийный скрипт.
Когда на площадку пошли жалобы, администрация Plati вместо того, чтобы предупредить людей об опасности стилера, просто втихую удалила страницу товара, прикрывая свою репутацию
Скамеры разыграли очень долгую партию)
На Plati Market больше месяца продавался дешевый доступ к Claude API под вывеской kiro.cheap. Отзывы были идеальные, всё летало, база покупателей росла, люди полностью потеряли бдительность
Затем домен резко меняется на awstore.cloud, а админы выкатывают пост: «У нас тех-работы, нас дудосят китайцы».
Как только сервис якобы ожил, в него сразу встроили выдачу малвари. При первом же обращении к API на компы полетел жесткий многостадийный скрипт.
Когда на площадку пошли жалобы, администрация Plati вместо того, чтобы предупредить людей об опасности стилера, просто втихую удалила страницу товара, прикрывая свою репутацию
Сами злоумышленники уже переобулись, переименовали старый канал в скам и запустили новый проект ClaudeHub с абсолютно тем же описанием.
Самое главное по аналогии с этим можно завернуть фейковое прокси под абсолютно любое API будь то хоть для ChatGPT, хоть для Midjourney
Самое главное по аналогии с этим можно завернуть фейковое прокси под абсолютно любое API будь то хоть для ChatGPT, хоть для Midjourney
Перед нами не просто мелкий стиллер, который один раз украл файлы и закрылся. Это полноценный шпион, который полностью садится на ваш сетевой трафик.
Посмотрите на схему шагов заражения из оригинального репорта исследователя:
Посмотрите на схему шагов заражения из оригинального репорта исследователя:
Этап 1: Чек по ГЕО. Вредоносный скрипт скачивает скрытый ZIP-архив (4.2 МБ) в системную папку и проверяет ваш IP через сторонний сервис. Если определяется Украина то скрипт полностью самоликвидируется. Если это Европа или США - сидит тихо. Но если пробивается СНГ (RU, BY, KZ...) тогда уже врубается фаза тотального уничтожения.
Этап 2: Снос языка и первый ребут. Чтобы встроенный защитник винды Windows Defender не выдавал алерты при изменении сетевых маршрутов, малварь запускает скрипт, который полностью удаляет русскую локаль и язык из системы, заменяя всё на en-US. Комп уходит на принудительную перезагрузку. Вы спишете это на системный сбой, но в этот момент вас уже ломают.
Этап 3: Тотальный перехват сети. Компьютер включается, и вирус запускает утилиту tun2socks. Она создает виртуальный сетевой адаптер и заворачивает ВООБЩЕ ВЕСЬ интернет-трафик вашего ПК на хакерский SOCKS5-прокси (2.27.43.246:1080). IPv6 отключается, чтобы трафик не ушел в обход.
Что это значит? Абсолютно всё, что вы делаете в сети - вводимые пароли, cookie-файлы браузера (вход в аккаунты без пароля), сессии телеграма, токены дискорда, ключи от криптокошельков и доступы к серверам все в реальном времени течет в панель к мошенникам.
Этап 4: Заметание следов. Чтобы вы ничего не заподозрили, скрипт возвращает русскую локаль обратно, полностью стирает историю команд в консоли (Wipe PSReadLine), очищает системные журналы Windows и вырубает логирование на будущее. Комп ребутается второй раз. Внешне система выглядит чистой, но ваш интернет полностью подконтролен хакеру.
Этап 2: Снос языка и первый ребут. Чтобы встроенный защитник винды Windows Defender не выдавал алерты при изменении сетевых маршрутов, малварь запускает скрипт, который полностью удаляет русскую локаль и язык из системы, заменяя всё на en-US. Комп уходит на принудительную перезагрузку. Вы спишете это на системный сбой, но в этот момент вас уже ломают.
Этап 3: Тотальный перехват сети. Компьютер включается, и вирус запускает утилиту tun2socks. Она создает виртуальный сетевой адаптер и заворачивает ВООБЩЕ ВЕСЬ интернет-трафик вашего ПК на хакерский SOCKS5-прокси (2.27.43.246:1080). IPv6 отключается, чтобы трафик не ушел в обход.
Что это значит? Абсолютно всё, что вы делаете в сети - вводимые пароли, cookie-файлы браузера (вход в аккаунты без пароля), сессии телеграма, токены дискорда, ключи от криптокошельков и доступы к серверам все в реальном времени течет в панель к мошенникам.
Этап 4: Заметание следов. Чтобы вы ничего не заподозрили, скрипт возвращает русскую локаль обратно, полностью стирает историю команд в консоли (Wipe PSReadLine), очищает системные журналы Windows и вырубает логирование на будущее. Комп ребутается второй раз. Внешне система выглядит чистой, но ваш интернет полностью подконтролен хакеру.
Маководов (macOS) эта атака вообще не зацепила, так как скрипты написаны строго под Windows и PowerShell. Но если вы сидите на винде и баловались кастомными API адресами, срочно чекайте систему по этому гайду.
Откройте PowerShell от имени администратора, скопируйте и запустите весь этот блок кода. Он проверит систему по всем маркерам заражения и выдаст четкий вердикт: INFECTED (Заражен) или Clean (Чисто).
#Requires -RunAsAdministrator
Write-Host "`n=== AWSTORE MALWARE IOC SCAN ===" -ForegroundColor Cyan
$infected = $false
# 1. Директория установки
Write-Host "[1/12] SngCache install dir..." -NoNewline
if (Test-Path "$env:LOCALAPPDATA\Microsoft\SngCache") {
Write-Host " INFECTED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 2. Scheduled Tasks (persistence)
Write-Host "[2/12] Scheduled Tasks..." -NoNewline
$tasks = Get-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' -EA SilentlyContinue |
Where-Object { $_.TaskName -in @('StartupOptimizer','CodeAssist') }
if ($tasks) {
Write-Host " INFECTED: $($tasks.TaskName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 3. Вредоносные процессы
Write-Host "[3/12] Malware processes..." -NoNewline
$procs = Get-Process -Name claude-code,awproxy,proxy,tun2socks -EA SilentlyContinue
if ($procs) {
Write-Host " RUNNING: $($procs.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 4. Claude settings.json (подменённый конфиг)
Write-Host "[4/12] Claude settings.json..." -NoNewline
$cfg = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfg) -and (Select-String -Path $cfg -Pattern 'awstore' -Quiet)) {
Write-Host " COMPROMISED (awstore in config)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 5. ScriptBlock Logging (малварь отключает)
Write-Host "[5/12] ScriptBlock Logging..." -NoNewline
$sbl = Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging' -EA SilentlyContinue
if ($sbl -and $sbl.EnableScriptBlockLogging -eq 0) {
Write-Host " DISABLED by malware!" -ForegroundColor Red; $infected = $true
} else { Write-Host " OK" -ForegroundColor Green }
# 6. TUN-адаптер (tun2socks proxy)
Write-Host "[6/12] TUN adapter (tun0)..." -NoNewline
$tun = Get-NetAdapter | Where-Object { $_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*' }
if ($tun) {
Write-Host " FOUND (proxy active!)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 7. Route hijack (0.0.0.0/1 + 128.0.0.0/1)
Write-Host "[7/12] Route hijack..." -NoNewline
$rh = Get-NetRoute -DestinationPrefix '0.0.0.0/1' -EA SilentlyContinue
if ($rh) {
Write-Host " HIJACKED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 8. Active connection to SOCKS5 proxy
Write-Host "[8/12] SOCKS5 connection 2.27.43.246..." -NoNewline
$sx = Get-NetTCPConnection -EA SilentlyContinue | Where-Object { $_.RemoteAddress -eq '2.27.43.246' }
if ($sx) {
Write-Host " ACTIVE CONNECTION!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 9. wintun.dll в System32
Write-Host "[9/12] wintun.dll in System32..." -NoNewline
if (Test-Path "$env:SystemRoot\System32\wintun.dll") {
Write-Host " FOUND (installed by malware)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 10. Environment variables
Write-Host "[10/12] Environment variables..." -NoNewline
$envHit = $false
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object { Write-Host " $scope`: $($_.Key)=$($_.Value)" -ForegroundColor Red; $envHit = $true }
}
if (-not $envHit) { Write-Host " Clean" -ForegroundColor Green }else { $infected = $true }
# 11. PSReadLine history (малварь удаляет)
Write-Host "[11/12] PSReadLine history..." -NoNewline
$hPath = (Get-PSReadLineOption -EA SilentlyContinue).HistorySavePath
if ($hPath -and (Test-Path $hPath)) {
Write-Host " Exists ($((Get-Item $hPath).Length) bytes)" -ForegroundColor Green
} else { Write-Host " MISSING (may have been wiped!)" -ForegroundColor Red }
# 12. RealTime priority processes (малварь ставит RealTime)
Write-Host "[12/12] RealTime priority processes..." -NoNewline
$rt = Get-Process -EA SilentlyContinue | Where-Object {
try { $_.PriorityClass -eq 'RealTime' } catch { $false }
}
if ($rt) {
Write-Host " FOUND: $($rt.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
Write-Host ""
if ($infected) {
Write-Host " !!! INFECTION DETECTED — proceed to Cleanup !!!" -ForegroundColor Red
} else {
Write-Host " System appears CLEAN." -ForegroundColor Green
}
Код
Ручная проверка .
Если автоматический чек выдал Clean, но сомнения остались, можно вручную точечно проверить сеть и файлы через эти две команды:
# Ищем любые текстовые файлы и конфиги, где засел скам-домен
Get-ChildItem $env:USERPROFILE, $env:LOCALAPPDATA, $env:APPDATA -Recurse `
-Include *.json,*.txt,*.ps1,*.cfg,*.ini,*.config,*.yaml,*.env `
-Force -EA SilentlyContinue |
Where-Object { $_.Length -lt 1MB } |
Select-String -Pattern 'awstore' -List |
Select-Object -ExpandProperty Path
# Проверяем таблицу маршрутизации на наличие левых скрытых туннелей
Get-NetRoute | Where-Object {
$_.DestinationPrefix -in @('0.0.0.0/1', '128.0.0.0/1') -or
$_.NextHop -eq '198.18.0.1'
} | Format-Table -AutoSize
Код
Скрипт полного удаления малвари .
Если проверка выявила заражение, запускайте этот код от имени администратора. Он принудительно убьет хакерские процессы, сбросит настройки сети, очистит планировщик задач и удалит скрытые файлы вируса.
#Requires -RunAsAdministrator
$ErrorActionPreference = 'SilentlyContinue'
Write-Host "`n=== AWSTORE MALWARE REMOVAL ===" -ForegroundColor Cyan
# ── 1. Остановка процессов ──
Write-Host "[1/10] Stopping malware processes..." -ForegroundColor Yellow
'claude-code','awproxy','proxy','tun2socks' | ForEach-Object {
$p = Get-Process -Name $_ -EA SilentlyContinue
if ($p) { Stop-Process -Name $_ -Force; Write-Host " Killed: $_" -ForegroundColor Green }
}
Start-Sleep -Seconds 2
# ── 2. Удаление route hijack ──
Write-Host "[2/10] Removing route hijack..." -ForegroundColor Yellow
Remove-NetRoute -DestinationPrefix '0.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '128.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '2.27.43.246/32' -Confirm:$false -EA SilentlyContinue
# ── 3. Удаление TUN-адаптера ──
Write-Host "[3/10] Removing TUN adapter..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object {
$_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*'
} | ForEach-Object {
Remove-NetIPAddress -InterfaceIndex $_.ifIndex -Confirm:$false -EA SilentlyContinue
Disable-NetAdapter -Name $_.Name -Confirm:$false -EA SilentlyContinue
}
# ── 4. Восстановление IPv6 ──
Write-Host "[4/10] Re-enabling IPv6..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Enable-NetAdapterBinding -Name $_.Name -ComponentID ms_tcpip6 -EA SilentlyContinue
}
# ── 5. Сброс DNS ──
Write-Host "[5/10] Resetting DNS..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Set-DnsClientServerAddress -InterfaceIndex $_.ifIndex -ResetServerAddresses -EA SilentlyContinue
}
ipconfig /flushdns | Out-Null
# ── 6. Удаление Scheduled Tasks ──
Write-Host "[6/10] Removing scheduled tasks..." -ForegroundColor Yellow
@('StartupOptimizer','CodeAssist') | ForEach-Object {
Unregister-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' `
-TaskName $_ -Confirm:$false -EA SilentlyContinue
Write-Host " Removed task: $_"
}
# ── 7. Удаление файлов малвари ──
Write-Host "[7/10] Removing malware files..." -ForegroundColor Yellow
$sngCache = "$env:LOCALAPPDATA\Microsoft\SngCache"
if (Test-Path $sngCache) {
Remove-Item $sngCache -Recurse -Force
Write-Host " Removed: $sngCache" -ForegroundColor Green
}
$wintunSys = "$env:SystemRoot\System32\wintun.dll"
if (Test-Path $wintunSys) {
Remove-Item $wintunSys -Force
Write-Host " Removed: $wintunSys" -ForegroundColor Green
}
# ── 8. Удаление подменённых конфигов ──
Write-Host "[8/10] Removing compromised configs..." -ForegroundColor Yellow
$cfgFile = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfgFile) -and (Select-String -Path $cfgFile -Pattern 'awstore' -Quiet)) {
Remove-Item $cfgFile -Force
Write-Host " Removed: $cfgFile" -ForegroundColor Green
}
# ── 9. Восстановление ScriptBlock Logging ──
Write-Host "[9/10] Restoring ScriptBlock Logging..." -ForegroundColor Yellow
$sblPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging'
if (Test-Path $sblPath) {
Set-ItemProperty -Path $sblPath -Name 'EnableScriptBlockLogging' -Value 1 -Force
Write-Host " ScriptBlock Logging re-enabled" -ForegroundColor Green
}
# ── 10. Удаление переменных окружения ──
Write-Host "[10/10] Cleaning environment variables..." -ForegroundColor Yellow
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object {
[Environment]::SetEnvironmentVariable($_.Key, $null, $scope)
Write-Host " Removed $scope env: $($_.Key)" -ForegroundColor Green
}
}
Write-Host "`n=== REMOVAL COMPLETE ===" -ForegroundColor Green
Write-Host "Рекомендуется перезагрузить ПК для полного сброса состояний сети.`n" -ForegroundColor Yellow
Код
Откройте PowerShell от имени администратора, скопируйте и запустите весь этот блок кода. Он проверит систему по всем маркерам заражения и выдаст четкий вердикт: INFECTED (Заражен) или Clean (Чисто).
#Requires -RunAsAdministrator
Write-Host "`n=== AWSTORE MALWARE IOC SCAN ===" -ForegroundColor Cyan
$infected = $false
# 1. Директория установки
Write-Host "[1/12] SngCache install dir..." -NoNewline
if (Test-Path "$env:LOCALAPPDATA\Microsoft\SngCache") {
Write-Host " INFECTED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 2. Scheduled Tasks (persistence)
Write-Host "[2/12] Scheduled Tasks..." -NoNewline
$tasks = Get-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' -EA SilentlyContinue |
Where-Object { $_.TaskName -in @('StartupOptimizer','CodeAssist') }
if ($tasks) {
Write-Host " INFECTED: $($tasks.TaskName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 3. Вредоносные процессы
Write-Host "[3/12] Malware processes..." -NoNewline
$procs = Get-Process -Name claude-code,awproxy,proxy,tun2socks -EA SilentlyContinue
if ($procs) {
Write-Host " RUNNING: $($procs.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 4. Claude settings.json (подменённый конфиг)
Write-Host "[4/12] Claude settings.json..." -NoNewline
$cfg = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfg) -and (Select-String -Path $cfg -Pattern 'awstore' -Quiet)) {
Write-Host " COMPROMISED (awstore in config)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 5. ScriptBlock Logging (малварь отключает)
Write-Host "[5/12] ScriptBlock Logging..." -NoNewline
$sbl = Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging' -EA SilentlyContinue
if ($sbl -and $sbl.EnableScriptBlockLogging -eq 0) {
Write-Host " DISABLED by malware!" -ForegroundColor Red; $infected = $true
} else { Write-Host " OK" -ForegroundColor Green }
# 6. TUN-адаптер (tun2socks proxy)
Write-Host "[6/12] TUN adapter (tun0)..." -NoNewline
$tun = Get-NetAdapter | Where-Object { $_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*' }
if ($tun) {
Write-Host " FOUND (proxy active!)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 7. Route hijack (0.0.0.0/1 + 128.0.0.0/1)
Write-Host "[7/12] Route hijack..." -NoNewline
$rh = Get-NetRoute -DestinationPrefix '0.0.0.0/1' -EA SilentlyContinue
if ($rh) {
Write-Host " HIJACKED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 8. Active connection to SOCKS5 proxy
Write-Host "[8/12] SOCKS5 connection 2.27.43.246..." -NoNewline
$sx = Get-NetTCPConnection -EA SilentlyContinue | Where-Object { $_.RemoteAddress -eq '2.27.43.246' }
if ($sx) {
Write-Host " ACTIVE CONNECTION!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 9. wintun.dll в System32
Write-Host "[9/12] wintun.dll in System32..." -NoNewline
if (Test-Path "$env:SystemRoot\System32\wintun.dll") {
Write-Host " FOUND (installed by malware)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 10. Environment variables
Write-Host "[10/12] Environment variables..." -NoNewline
$envHit = $false
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object { Write-Host " $scope`: $($_.Key)=$($_.Value)" -ForegroundColor Red; $envHit = $true }
}
if (-not $envHit) { Write-Host " Clean" -ForegroundColor Green }else { $infected = $true }
# 11. PSReadLine history (малварь удаляет)
Write-Host "[11/12] PSReadLine history..." -NoNewline
$hPath = (Get-PSReadLineOption -EA SilentlyContinue).HistorySavePath
if ($hPath -and (Test-Path $hPath)) {
Write-Host " Exists ($((Get-Item $hPath).Length) bytes)" -ForegroundColor Green
} else { Write-Host " MISSING (may have been wiped!)" -ForegroundColor Red }
# 12. RealTime priority processes (малварь ставит RealTime)
Write-Host "[12/12] RealTime priority processes..." -NoNewline
$rt = Get-Process -EA SilentlyContinue | Where-Object {
try { $_.PriorityClass -eq 'RealTime' } catch { $false }
}
if ($rt) {
Write-Host " FOUND: $($rt.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
Write-Host ""
if ($infected) {
Write-Host " !!! INFECTION DETECTED — proceed to Cleanup !!!" -ForegroundColor Red
} else {
Write-Host " System appears CLEAN." -ForegroundColor Green
}
Код
Код:
#Requires -RunAsAdministrator
Write-Host "`n=== AWSTORE MALWARE IOC SCAN ===" -ForegroundColor Cyan
$infected = $false
# 1. Директория установки
Write-Host "[1/12] SngCache install dir..." -NoNewline
if (Test-Path "$env:LOCALAPPDATA\Microsoft\SngCache") {
Write-Host " INFECTED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 2. Scheduled Tasks (persistence)
Write-Host "[2/12] Scheduled Tasks..." -NoNewline
$tasks = Get-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' -EA SilentlyContinue |
Where-Object { $_.TaskName -in @('StartupOptimizer','CodeAssist') }
if ($tasks) {
Write-Host " INFECTED: $($tasks.TaskName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 3. Вредоносные процессы
Write-Host "[3/12] Malware processes..." -NoNewline
$procs = Get-Process -Name claude-code,awproxy,proxy,tun2socks -EA SilentlyContinue
if ($procs) {
Write-Host " RUNNING: $($procs.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 4. Claude settings.json (подменённый конфиг)
Write-Host "[4/12] Claude settings.json..." -NoNewline
$cfg = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfg) -and (Select-String -Path $cfg -Pattern 'awstore' -Quiet)) {
Write-Host " COMPROMISED (awstore in config)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 5. ScriptBlock Logging (малварь отключает)
Write-Host "[5/12] ScriptBlock Logging..." -NoNewline
$sbl = Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging' -EA SilentlyContinue
if ($sbl -and $sbl.EnableScriptBlockLogging -eq 0) {
Write-Host " DISABLED by malware!" -ForegroundColor Red; $infected = $true
} else { Write-Host " OK" -ForegroundColor Green }
# 6. TUN-адаптер (tun2socks proxy)
Write-Host "[6/12] TUN adapter (tun0)..." -NoNewline
$tun = Get-NetAdapter | Where-Object { $_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*' }
if ($tun) {
Write-Host " FOUND (proxy active!)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 7. Route hijack (0.0.0.0/1 + 128.0.0.0/1)
Write-Host "[7/12] Route hijack..." -NoNewline
$rh = Get-NetRoute -DestinationPrefix '0.0.0.0/1' -EA SilentlyContinue
if ($rh) {
Write-Host " HIJACKED!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 8. Active connection to SOCKS5 proxy
Write-Host "[8/12] SOCKS5 connection 2.27.43.246..." -NoNewline
$sx = Get-NetTCPConnection -EA SilentlyContinue | Where-Object { $_.RemoteAddress -eq '2.27.43.246' }
if ($sx) {
Write-Host " ACTIVE CONNECTION!" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 9. wintun.dll в System32
Write-Host "[9/12] wintun.dll in System32..." -NoNewline
if (Test-Path "$env:SystemRoot\System32\wintun.dll") {
Write-Host " FOUND (installed by malware)" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
# 10. Environment variables
Write-Host "[10/12] Environment variables..." -NoNewline
$envHit = $false
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object { Write-Host " $scope`: $($_.Key)=$($_.Value)" -ForegroundColor Red; $envHit = $true }
}
if (-not $envHit) { Write-Host " Clean" -ForegroundColor Green }else { $infected = $true }
# 11. PSReadLine history (малварь удаляет)
Write-Host "[11/12] PSReadLine history..." -NoNewline
$hPath = (Get-PSReadLineOption -EA SilentlyContinue).HistorySavePath
if ($hPath -and (Test-Path $hPath)) {
Write-Host " Exists ($((Get-Item $hPath).Length) bytes)" -ForegroundColor Green
} else { Write-Host " MISSING (may have been wiped!)" -ForegroundColor Red }
# 12. RealTime priority processes (малварь ставит RealTime)
Write-Host "[12/12] RealTime priority processes..." -NoNewline
$rt = Get-Process -EA SilentlyContinue | Where-Object {
try { $_.PriorityClass -eq 'RealTime' } catch { $false }
}
if ($rt) {
Write-Host " FOUND: $($rt.ProcessName -join ', ')" -ForegroundColor Red; $infected = $true
} else { Write-Host " Clean" -ForegroundColor Green }
Write-Host ""
if ($infected) {
Write-Host " !!! INFECTION DETECTED — proceed to Cleanup !!!" -ForegroundColor Red
} else {
Write-Host " System appears CLEAN." -ForegroundColor Green
}
Если автоматический чек выдал Clean, но сомнения остались, можно вручную точечно проверить сеть и файлы через эти две команды:
# Ищем любые текстовые файлы и конфиги, где засел скам-домен
Get-ChildItem $env:USERPROFILE, $env:LOCALAPPDATA, $env:APPDATA -Recurse `
-Include *.json,*.txt,*.ps1,*.cfg,*.ini,*.config,*.yaml,*.env `
-Force -EA SilentlyContinue |
Where-Object { $_.Length -lt 1MB } |
Select-String -Pattern 'awstore' -List |
Select-Object -ExpandProperty Path
# Проверяем таблицу маршрутизации на наличие левых скрытых туннелей
Get-NetRoute | Where-Object {
$_.DestinationPrefix -in @('0.0.0.0/1', '128.0.0.0/1') -or
$_.NextHop -eq '198.18.0.1'
} | Format-Table -AutoSize
Код
Код:
# Ищем любые текстовые файлы и конфиги, где засел скам-домен
Get-ChildItem $env:USERPROFILE, $env:LOCALAPPDATA, $env:APPDATA -Recurse `
-Include *.json,*.txt,*.ps1,*.cfg,*.ini,*.config,*.yaml,*.env `
-Force -EA SilentlyContinue |
Where-Object { $_.Length -lt 1MB } |
Select-String -Pattern 'awstore' -List |
Select-Object -ExpandProperty Path
# Проверяем таблицу маршрутизации на наличие левых скрытых туннелей
Get-NetRoute | Where-Object {
$_.DestinationPrefix -in @('0.0.0.0/1', '128.0.0.0/1') -or
$_.NextHop -eq '198.18.0.1'
} | Format-Table -AutoSize
Если проверка выявила заражение, запускайте этот код от имени администратора. Он принудительно убьет хакерские процессы, сбросит настройки сети, очистит планировщик задач и удалит скрытые файлы вируса.
#Requires -RunAsAdministrator
$ErrorActionPreference = 'SilentlyContinue'
Write-Host "`n=== AWSTORE MALWARE REMOVAL ===" -ForegroundColor Cyan
# ── 1. Остановка процессов ──
Write-Host "[1/10] Stopping malware processes..." -ForegroundColor Yellow
'claude-code','awproxy','proxy','tun2socks' | ForEach-Object {
$p = Get-Process -Name $_ -EA SilentlyContinue
if ($p) { Stop-Process -Name $_ -Force; Write-Host " Killed: $_" -ForegroundColor Green }
}
Start-Sleep -Seconds 2
# ── 2. Удаление route hijack ──
Write-Host "[2/10] Removing route hijack..." -ForegroundColor Yellow
Remove-NetRoute -DestinationPrefix '0.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '128.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '2.27.43.246/32' -Confirm:$false -EA SilentlyContinue
# ── 3. Удаление TUN-адаптера ──
Write-Host "[3/10] Removing TUN adapter..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object {
$_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*'
} | ForEach-Object {
Remove-NetIPAddress -InterfaceIndex $_.ifIndex -Confirm:$false -EA SilentlyContinue
Disable-NetAdapter -Name $_.Name -Confirm:$false -EA SilentlyContinue
}
# ── 4. Восстановление IPv6 ──
Write-Host "[4/10] Re-enabling IPv6..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Enable-NetAdapterBinding -Name $_.Name -ComponentID ms_tcpip6 -EA SilentlyContinue
}
# ── 5. Сброс DNS ──
Write-Host "[5/10] Resetting DNS..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Set-DnsClientServerAddress -InterfaceIndex $_.ifIndex -ResetServerAddresses -EA SilentlyContinue
}
ipconfig /flushdns | Out-Null
# ── 6. Удаление Scheduled Tasks ──
Write-Host "[6/10] Removing scheduled tasks..." -ForegroundColor Yellow
@('StartupOptimizer','CodeAssist') | ForEach-Object {
Unregister-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' `
-TaskName $_ -Confirm:$false -EA SilentlyContinue
Write-Host " Removed task: $_"
}
# ── 7. Удаление файлов малвари ──
Write-Host "[7/10] Removing malware files..." -ForegroundColor Yellow
$sngCache = "$env:LOCALAPPDATA\Microsoft\SngCache"
if (Test-Path $sngCache) {
Remove-Item $sngCache -Recurse -Force
Write-Host " Removed: $sngCache" -ForegroundColor Green
}
$wintunSys = "$env:SystemRoot\System32\wintun.dll"
if (Test-Path $wintunSys) {
Remove-Item $wintunSys -Force
Write-Host " Removed: $wintunSys" -ForegroundColor Green
}
# ── 8. Удаление подменённых конфигов ──
Write-Host "[8/10] Removing compromised configs..." -ForegroundColor Yellow
$cfgFile = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfgFile) -and (Select-String -Path $cfgFile -Pattern 'awstore' -Quiet)) {
Remove-Item $cfgFile -Force
Write-Host " Removed: $cfgFile" -ForegroundColor Green
}
# ── 9. Восстановление ScriptBlock Logging ──
Write-Host "[9/10] Restoring ScriptBlock Logging..." -ForegroundColor Yellow
$sblPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging'
if (Test-Path $sblPath) {
Set-ItemProperty -Path $sblPath -Name 'EnableScriptBlockLogging' -Value 1 -Force
Write-Host " ScriptBlock Logging re-enabled" -ForegroundColor Green
}
# ── 10. Удаление переменных окружения ──
Write-Host "[10/10] Cleaning environment variables..." -ForegroundColor Yellow
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object {
[Environment]::SetEnvironmentVariable($_.Key, $null, $scope)
Write-Host " Removed $scope env: $($_.Key)" -ForegroundColor Green
}
}
Write-Host "`n=== REMOVAL COMPLETE ===" -ForegroundColor Green
Write-Host "Рекомендуется перезагрузить ПК для полного сброса состояний сети.`n" -ForegroundColor Yellow
Код
Код:
#Requires -RunAsAdministrator
$ErrorActionPreference = 'SilentlyContinue'
Write-Host "`n=== AWSTORE MALWARE REMOVAL ===" -ForegroundColor Cyan
# ── 1. Остановка процессов ──
Write-Host "[1/10] Stopping malware processes..." -ForegroundColor Yellow
'claude-code','awproxy','proxy','tun2socks' | ForEach-Object {
$p = Get-Process -Name $_ -EA SilentlyContinue
if ($p) { Stop-Process -Name $_ -Force; Write-Host " Killed: $_" -ForegroundColor Green }
}
Start-Sleep -Seconds 2
# ── 2. Удаление route hijack ──
Write-Host "[2/10] Removing route hijack..." -ForegroundColor Yellow
Remove-NetRoute -DestinationPrefix '0.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '128.0.0.0/1' -Confirm:$false -EA SilentlyContinue
Remove-NetRoute -DestinationPrefix '2.27.43.246/32' -Confirm:$false -EA SilentlyContinue
# ── 3. Удаление TUN-адаптера ──
Write-Host "[3/10] Removing TUN adapter..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object {
$_.Name -eq 'tun0' -or $_.InterfaceDescription -like '*WinTun*'
} | ForEach-Object {
Remove-NetIPAddress -InterfaceIndex $_.ifIndex -Confirm:$false -EA SilentlyContinue
Disable-NetAdapter -Name $_.Name -Confirm:$false -EA SilentlyContinue
}
# ── 4. Восстановление IPv6 ──
Write-Host "[4/10] Re-enabling IPv6..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Enable-NetAdapterBinding -Name $_.Name -ComponentID ms_tcpip6 -EA SilentlyContinue
}
# ── 5. Сброс DNS ──
Write-Host "[5/10] Resetting DNS..." -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
Set-DnsClientServerAddress -InterfaceIndex $_.ifIndex -ResetServerAddresses -EA SilentlyContinue
}
ipconfig /flushdns | Out-Null
# ── 6. Удаление Scheduled Tasks ──
Write-Host "[6/10] Removing scheduled tasks..." -ForegroundColor Yellow
@('StartupOptimizer','CodeAssist') | ForEach-Object {
Unregister-ScheduledTask -TaskPath '\Microsoft\Windows\Maintenance\' `
-TaskName $_ -Confirm:$false -EA SilentlyContinue
Write-Host " Removed task: $_"
}
# ── 7. Удаление файлов малвари ──
Write-Host "[7/10] Removing malware files..." -ForegroundColor Yellow
$sngCache = "$env:LOCALAPPDATA\Microsoft\SngCache"
if (Test-Path $sngCache) {
Remove-Item $sngCache -Recurse -Force
Write-Host " Removed: $sngCache" -ForegroundColor Green
}
$wintunSys = "$env:SystemRoot\System32\wintun.dll"
if (Test-Path $wintunSys) {
Remove-Item $wintunSys -Force
Write-Host " Removed: $wintunSys" -ForegroundColor Green
}
# ── 8. Удаление подменённых конфигов ──
Write-Host "[8/10] Removing compromised configs..." -ForegroundColor Yellow
$cfgFile = "$env:USERPROFILE\.claude\settings.json"
if ((Test-Path $cfgFile) -and (Select-String -Path $cfgFile -Pattern 'awstore' -Quiet)) {
Remove-Item $cfgFile -Force
Write-Host " Removed: $cfgFile" -ForegroundColor Green
}
# ── 9. Восстановление ScriptBlock Logging ──
Write-Host "[9/10] Restoring ScriptBlock Logging..." -ForegroundColor Yellow
$sblPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging'
if (Test-Path $sblPath) {
Set-ItemProperty -Path $sblPath -Name 'EnableScriptBlockLogging' -Value 1 -Force
Write-Host " ScriptBlock Logging re-enabled" -ForegroundColor Green
}
# ── 10. Удаление переменных окружения ──
Write-Host "[10/10] Cleaning environment variables..." -ForegroundColor Yellow
foreach ($scope in @('User','Machine')) {
[Environment]::GetEnvironmentVariables($scope).GetEnumerator() |
Where-Object { $_.Value -match 'awstore' } |
ForEach-Object {
[Environment]::SetEnvironmentVariable($_.Key, $null, $scope)
Write-Host " Removed $scope env: $($_.Key)" -ForegroundColor Green
}
}
Write-Host "`n=== REMOVAL COMPLETE ===" -ForegroundColor Green
Write-Host "Рекомендуется перезагрузить ПК для полного сброса состояний сети.`n" -ForegroundColor Yellow
Поскольку трафик перехватывался в реальном времени, хакеры уже знают ваши активные сессии. Поэтому СТРОГО С ДРУГОГО УСТРОЙСТВА (например, с чистого телефона) зайдите во все критически важные аккаунты - Google, Telegram, Discord, GitHub, Steam и криптобиржи. Завершите все активные сессии на других устройствах и полностью смените пароли.
Для профилактики в будущем используйте локальные фаерволы с контролем исходящих соединений по белому списку (например SimpleWall). Он просто физически не позволит скрытым процессам без вашего ведома менять глобальные маршруты системы и создавать левые сетевые интерфейсы .
Для профилактики в будущем используйте локальные фаерволы с контролем исходящих соединений по белому списку (например SimpleWall). Он просто физически не позволит скрытым процессам без вашего ведома менять глобальные маршруты системы и создавать левые сетевые интерфейсы .
Надеюсь, этот разбор помог вам разобраться в устройстве новой угрозы и вовремя защитить свои пк от скрытого пиздеца .
Не ведитесь на халявные обходы блокировок в сомнительных мануалах.
Если вам понравилась статья, то самая лучшая и ценная поддержка от вас за этот разбор это просто подписка на мой тгк.
Не ведитесь на халявные обходы блокировок в сомнительных мануалах.
Если вам понравилась статья, то самая лучшая и ценная поддержка от вас за этот разбор это просто подписка на мой тгк.
Берегите свои логи


Комментарии 0