Sploitus

Exploit for ShadowSteal

kitploit · 2026-08-19

Exploit Code

MARKDOWN242 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-HUSKYHACKS-SHADOWSTEAL
# ShadowSteal | CVE-2021-36934

Чистая реализация на Nim для эксплуатации CVE-2021-36934, локального повышения привилегий (LPE) SeriousSAM. Не OPSEC-безопасно.... пока ;). Я не претендую на авторство в обнаружении этой уязвимости.

## Быстрый старт

### Сборка с Docker

Начать работу с ShadowSteal теперь проще, чем когда-либо, благодаря Docker! Не хотите возиться с установкой зависимостей Nim? Я вас прикрою, бро! Запустите Python-скрипт, чтобы создать среду сборки Docker, скомпилировать бинарник, перенести его обратно на хост и затем уничтожить контейнер.

Установите Docker на ваш хост (обратитесь к документации по установке для разных ОС), затем запустите Python-скрипт ShadowSteal в главной директории:

root@kitploit:~
    
    
    $ git clone https://github.com/HuskyHacks/ShadowSteal.git && cd ShadowSteal
    

root@kitploit:~
    
    
    $ sudo python3 ShadowSteal.py && cd bin/ && ls -l
    

### Сборка из исходников

Или соберите из исходников, установив Nim и его зависимости:

root@kitploit:~
    
    
    $ sudo apt-get install nim
    

root@kitploit:~
    
    
    $ nimble install zippy argparse winim
    

Установите инструментарий MinGW, если он ещё не установлен.

root@kitploit:~
    
    
    $ sudo apt-get install mingw-w64
    

root@kitploit:~
    
    
    $ git clone https://github.com/HuskyHacks/ShadowSteal.git && cd ShadowSteal
    

root@kitploit:~
    
    
    $ make && cd bin/ && ls -l
    

Перенесите на цель...

root@kitploit:~
    
    
    PS C:\Users\husky\Desktop> .\ShadowSteal.exe -h
    

## Краткое описание

Из-за некоторой оплошности Microsoft обычные пользователи имеют права на чтение содержимого папки ...\System32\config\ в последних сборках Windows. Помимо прочего, это означает, что пользователь с низким уровнем привилегий имеет доступ на чтение к файлам SAM, System и Security в ...\System32\config.

![1.png](https://assets.kitploit.com/production/public/readmes/36663/fe806fa7feeb945fc9dc971b00bca954f855782de59ff6c1132c6b92eed474b6.png)

Ой. Так что мы можем с этим сделать?

Некоторые очень наблюдательные исследователи (респект @jonasLyk!) заметили, что если на хосте Windows используется определённая конфигурация восстановления системы, «Volume Shadow Copies», то хост хранит резервные копии этих файлов, доступные через пространство имён устройств Win32 для этих копий.

![2.png](https://assets.kitploit.com/production/public/readmes/36663/047d8d4f2939c16c2e50712d5d2774f271ac9fffe50c867bd46f2f9610f4f165.png)

![3.png](https://assets.kitploit.com/production/public/readmes/36663/7fbf0451b040dd196865afdc21b03505795ce34ee82472afb7bbcc1a59e30003.png)

SAM обычно заблокирован во время работы хоста, поэтому доступ к SAM в ...\System32\config\ исключён. Но эти теневые копии томов доступны любому пользователю хоста из-за этой ошибки конфигурации. Очень неплохо!

## ShadowSteal

ShadowSteal — это бинарник, написанный на Nim для автоматизации перечисления и эксфильтрации файлов SAM, System и Security из этих теневых копий. Он перебирает возможные расположения теневых копий и, когда находит цель, извлекает файлы в заархивированную директорию (наподобие вывода Bloodhound).

![4.png](https://assets.kitploit.com/production/public/readmes/36663/7604207cf6fe38ec1b29e1f89629d9f73e8ef5375967f8d0335c4032825aef9d.png)

## Возможности:

  * Режимы Triage и Bruteforce для тщательного или быстрого перечисления.
  * Автоматическое извлечение и сбор целевых учётных данных.
  * Режим Jeff Beezy. (стоп, что?)
  * Встроенная среда сборки Docker для лёгкой компиляции!
  * Перечисляет все доступные расположения HarddiskShadowCopy, динамически выбирает наибольший номер и нацеливается на них для эксплуатации/извлечения.



![6.png](https://assets.kitploit.com/production/public/readmes/36663/e1b769eb485c2f6bfb0dd728ca88060c10daa827aa1be42da71715a7e8c1acd9.png)

Ничего сверхъестественного, и код грубоват, но он работает, и его было весело создавать!

## Установка из исходников

Установите Nim:

root@kitploit:~
    
    
    $ sudo apt-get install nim
    

Установите зависимости:

root@kitploit:~
    
    
    $ nimble install zippy argparse winim
    

Установите инструментарий MinGW, если он ещё не установлен:

root@kitploit:~
    
    
    $ sudo apt-get install mingw-w64
    

Скомпилируйте для 64-битной Windows:

root@kitploit:~
    
    
    $ make
    

Перенесите на цель и запустите!

## Использование

root@kitploit:~
    
    
    PS C:\Users\husky\Desktop> .\ShadowSteal.exe -h
    [*] ShadowSteal! Identifies and extracts credentials that can be stolen due to the SeriousSAM (CVE-2021-36934) exploit. Searches from high to low, defaults searching 100 to 1.
    
    Usage:
       [options]
    
    Options:
      -h, --help
      -t, --triage               [*] Triage mode. Quick enumeration, tries to find quick wins.
      -bf, --bruteforce          [*] Bruteforce mode. Enumerates the entire range of possible locations (512 to 1). Takes a bit.
      -b, --bezos                [?] Jeff Bezos Mode
    

## Режим Triage

Ограничивает перебор расположений диапазоном от 10 до 1 с уменьшением на каждой попытке. Быстро и эффективно в большинстве сред.

root@kitploit:~
    
    
    PS C:\Users\husky\Desktop> .\ShadowSteal.exe -t
    

## Режим Bruteforce

Перебирает все возможные расположения (512), уменьшая до 1. Попробуйте для тщательного перечисления среды. Занимает несколько минут.

root@kitploit:~
    
    
    PS C:\Users\husky\Desktop> .\ShadowSteal.exe -bf
    

## Разбор вывода

Перенесите выходную директорию обратно на атакующий хост и обработайте данные с помощью Pypykatz. Для установки:

root@kitploit:~
    
    
    $ pip3 install pypykatz
    

Для запуска Pypykatz:

root@kitploit:~
    
    
    $ pypykatz registry [yyyyMMddhhmm_SYSTEM] --sam [yyyyMMddhhmm_SAM] --security [yyyyMMddhhmm_SECURITY]
    

![5.png](https://assets.kitploit.com/production/public/readmes/36663/538a6171e464a4245d295a616465005e6c7500d090669d6c98789fb277495d13.png)

## История версий

### v.04.01 | обновление Docktastic

Теперь включает простую предварительно упакованную среду сборки Docker! Просто запустите скрипт ShadowSteal.py для настройки среды Docker, компиляции бинарника, переноса его обратно на ваш хост и уничтожения сборочных контейнеров. Просто работает! (Требуется некоторая сборка, т.е. вам нужен Docker для запуска).

### v.03.69 | обновление N I C E

Поджарый и злой. Добавлены оптимизированные параметры компиляции. ОГРОМНЫЙ прирост производительности благодаря оптимизации компилятора, полный брутфорс теперь происходит почти мгновенно. Огромное спасибо @orbitalgun за псевдо-PR, слава вашему дому и имени!

### v.02 ОБНОВЛЕНИЕ JEFF BEEZY

  * Режимы Bruteforce и Triage
  * Улучшенный алгоритм поиска
  * Очистка кода
  * Режим Jeff Beezy
  * Много уроков, извлечённых из первого релиза!



### v.01 РЕЛИЗ LAUNCHPAD

Заходите, пацаны, этот поезд-катастрофа катится. Этот релиз был моим быстрым прототипом, и он был довольно ужасен lol. Но его было очень весело создавать! Возможности:

  * «Рабочий» код



## Ссылки

  * Первоначальное раскрытие этой CVE от @jonasLyk.
  * Страница справки по CVE
  * Автор строк: Bezos I — Bo Burnham. Все права защищены.



## Отказ от ответственности

  * Только для законного и этичного использования.



![7.png](https://assets.kitploit.com/production/public/readmes/36663/058cb42911de2864e6b596147ebc2e15bfda6abe8ab32bd388145f41c858ac03.png)