Скрыть объявление
Уважаемые пользователи форума, убедительно просим вас переходить в телеграмм продавца, исключительно по предоставленной ссылке. Проверяйте продавца, отправив сообщение на электронную почту, чтобы убедиться в том, что вы общаетесь действительно с ним С уважением администрация форума.

Способ [Туториал] Хакер: Повышаем привилегии на Windows

Тема в разделе "Статьи на разные темы", создана пользователем garikx0, 10 фев 2016.

  1. garikx0

    garikx0 New Member

    Сообщения:
    18
    Симпатии:
    0
    Уважаемые форумчане! По моему мнению, это статья является одной из самых полезных для хакеров.

    [​IMG]

    Повышение привилегий, пожалуй, один из ключевых моментов, от которого зависит сценарий дальнейшего проведения пентеста или атаки. Очень часто на этом этапе все и заканчивается, если не получается «расширить свои полномочия». Поэтому сегодня мы немного поговорим о способах, позволяющих пользователю повысить свои привилегии не только до администраторских, но и до системных.

    Введение
    Повышение привилегий в Windows и Linux несколько различается. Несмотря на то что обе операционные системы несут обычное число уязвимостей, исследователи отмечают, что полностью пропатченный Windows-сервер встречается гораздо чаще, чем обновленный до актуального состояния Linux. К тому же время выхода виндовых патчей зачастую меньше, что делает повышение привилегий на винде задачей достаточно интересной и амбициозной. Именно ей мы и посвятим наш рассказ.

    Варианты
    Итак, какие у нас есть возможности приподняться в мире Windows? Прежде всего, в последнее время в ядре ОС было найдено достаточно уязвимостей, связанных с парсингом шрифтов, что делает процесс повышения привилегий достаточно простым, если на руках есть подходящий сплоит. Если ты используешь Metasploit, то достаточно всего лишь одной команды, чтобы получить системный шелл. Однако все это с большой вероятностью успешно сработает только в том случае, если система не полностью пропатчена. Если же на машине установлены все обновления, то, в отличие от Linux, здесь не получится найти SUID-бинарников, а переменные окружения обычно не передаются сервисам или процессам с более высокими привилегиями. Что же в результате нам остается?

    От админа до системы, или то, что знают все
    Обычно при упоминании повышения привилегий на ум сразу приходит способ, использующий планировщик задач. В винде можно добавить задачу с помощью двух утилит: at и schtasks. Вторая запустит задачу от имени пользователя, добавившего задание, в то время как первая — от имени системы. Стандартный трюк, о котором ты наверняка слышал, позволяющий запустить консоль с правами системы:

    at 13:01 /interactive cmd

    Второе, что приходит в голову, — это добавление сервиса, который будет запускать необходимый файл / выполнять команду:

    @echo off
    @break off title root
    Cls
    echo Creating service.
    sc create evil binpath= "cmd.exe /K start" type= own type= interact > nul 2>&1
    echo Starting service.
    sc start evil > nul 2>&1
    echo Standing by...
    ping 127.0.0.1 -n 4 > nul 2>&1
    echo Removing service.
    echo.
    sc delete evil > nul 2>&1

    Третий способ заключается в подмене системной утилиты C:windowssystem32sethc.exe на, например, cmd. Если после этого разлогиниться и нажать несколько раз клавишу Shift, то появится консоль с системными правами.

    Что касается автоматизированных способов, то на ум сразу же приходит Metasploit и его getsystem. Альтернативным вариантом можно считать PsExec от Sysinternals (psexec -i -s -d cmd.exe).
    Мы пойдем другим путем
    У всех названных методов есть общий недостаток: необходимы администраторские привилегии. Это означает, что мы повышаем привилегии уже из-под привилегированного аккаунта. В большинстве случаев, когда ты получил админские права, у тебя на руках появляется куча вариантов, как подняться еще выше. Так что это не очень сложная задача. Мы же поговорим сегодня о методах повышения привилегий, не использующих какие-либо 0day-уязвимости, полагая, что у нас обычная система и на руках аккаунт обычного непривилегированного пользователя.
    Охота за credentials
    Один из надежных и стабильных способов повышения привилегий и закрепления в системе — получить пароли администраторов или пользователей, обладающих более высокими привилегиями. И тут самое время вспомнить об автоматизированной установке программного обеспечения. Если ты управляешь доменом, включающим в себя обширный парк машин, однозначно тебе не захочется ходить и устанавливать ПО на каждую из них вручную. Да и времени это будет отнимать столько, что ни на какие другие задачи не хватит. Поэтому используются Unattended installations, которые порождают файлы, содержащие админские пароли в чистейшем виде. Что представляет собой просто клад как для пентестеров, так и для злоумышленников.
    Unattended Installs
    В случае автоматизированной установки на клиенте остается достаточно любопытный для нас файл Unattended.xml, который обычно находится либо в %WINDIR%PantherUnattend, либо в %WINDIR%Panther и может хранить пароль администратора в открытом виде. С другой стороны, чтобы получить этот файл с сервера, не требуется даже никакой аутентификации. Надо найти лишь «Windows Deployment Services» сервер. Для этого можно воспользоваться скриптом auxiliary/scanner/dcerpc/windows_deployment _services из Metasploit. И хотя Windows Deployment Services не единственный способ выполнения автоматизированных инсталляций, файл Unattended.xml считается стандартом, так что его обнаружение можно приравнять к успеху.
    Пример файла Unattended.xml с сохраненными данными
    GPP
    XML-файлы настроек групповой политики безопасности (Group Policy Preference) довольно часто содержат в себе набор зашифрованных учетных данных, которые могут использоваться для добавления новых пользователей, создания шар и так далее. На счастье, метод шифрования документирован, таким образом, можно запросто получить пароли в чистом виде. Более того, команда Metasploit уже все сделала за тебя — достаточно воспользоваться модулем /post/windows/gather/credentials/gpp.rb. Если тебе интересны подробности, то вся необходимая информация доступна по этой ссылке.
    Пользовательские права
    Очень часто повышение привилегий оказывается следствием неправильно настроенных пользовательских прав. Например, когда пользователь домена является локальным администратором (или Power User’ом) на хосте. Или когда пользователи домена (или члены доменных групп) являются локальными админами на всех хостах. В таком случае тебе уже толком не придется ничего делать. Но такие варианты подворачиваются не так часто.

    AlwaysInstallElevated
    Иногда администраторы позволяют обычным пользователям самостоятельно устанавливать программы, обычно делается это через следующие ключи реестра:

    HKLMSOFTWAREPoliciesMicrosoftWindows InstallerAlwaysInstallElevated

    или

    HKCUSOFTWAREPoliciesMicrosoftWindow sInstallerAlwaysInstallElevated

    Они указывают системе, что любой MSI-файл должен устанавливаться с повышенными привилегиями (NT AUTHORITYSYSTEM). Соответственно, задействовав специальным образом созданный файл, можно опять же выполнить действия от имени системы и прокачать свои привилегии.

    В состав Metasploit входит специальный модуль exploit/windows/local/always_install_elevated, который создает MSI-файл со встроенным в него специальным исполняемым файлом, который извлекается и выполняется установщиком с привилегиями системы. После его выполнения MSI-файл прекращает установку (путем вызова специально созданного невалидного VBS), чтобы предотвратить регистрацию действия в системе. К тому же если запустить установку с ключом /quiet, то юзеру даже не выведется ошибка.
    Пропавший автозапуск
    Очень часто случается, что система хранит запись о файле, который надо автоматически запустить, даже после того, как сам файл уже канул в Лету. Может, какой-то сервис был некорректно удален — исполняемого файла нет, а запись в реестре осталась, и при каждом запуске система безуспешно пытается его стартануть, забивая журнал событий сообщениями о фейлах. Этой ситуацией также можно воспользоваться для расширения своих полномочий. Первым делом надо найти все такие осиротевшие записи. Например, при помощи утилиты autorunsc от Sysinternals.

    autorunsc.exe -a | findstr /n /R "File not found"

    После чего, как ты догадался, останется только как-то подсунуть на место пропавшего файла своего кандидата.
    Магия кавычек
    Да-да, кавычки могут не только сыграть злую шутку в SQL-запросах, позволив провести инъекцию, но и помочь поднять привилегии. Проблема довольно старая и известна со времен NT. Суть в том, что пути до исполняемых файлов некоторых сервисов оказываются не обрамленными кавычками (например, ImagePath=C:program FilesCommon FilesNetwork AssociatesMcShieldMcShield.exe), при этом в пути присутствуют символы пробела. В таком случае, если атакующий создаст файл, который будет добавлять новых админов в систему или выполнять еще какие-то действия, и назовет его C:program Filescommon.exe, то при последующем запуске сервиса запустится именно common.exe, а оставшаяся часть пути будет воспринята в качестве аргумента (аргументов). Понятно, что в Program Files непривилегированный пользователь положить ничего не сможет, но исполняемый фай
  2. garikx0

    garikx0 New Member

    Сообщения:
    18
    Симпатии:
    0
    Уважаемые друзья! С удовольствием помогу и/или отвечу на любой вопрос по этой теме. Есть богатый опыт. Обращайтесь.

Поделиться этой страницей

Скрыть объявление
Уважаемые пользователи форума, убедительно просим вас переходить в телеграмм продавца, исключительно по предоставленной ссылке. Проверяйте продавца, отправив сообщение на электронную почту, чтобы убедиться в том, что вы общаетесь действительно с ним С уважением администрация форума.