SOC Prime Bias: Середній

13 Січ 2026 17:06

Експлойт Fsquirt.exe: Зловмисне завантаження bthprops.cpl через Bluetooth

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Експлойт Fsquirt.exe: Зловмисне завантаження bthprops.cpl через Bluetooth
shield icon

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 "Артефактів для очищення немає."
    }