Как стать автором
Обновить

Комментарии 6

Тут определённый минус — reg-файл должен лежать на диске C:, должен остаться нетронутым после вноса в реестр, у юзера должны быть права на его чтение.

Можно попробовать другой подход: в reg-файле описать 2 ключа, один содержит большой бинарник, и вставляется куда-то в HKEY_CLASSES_ROOT, где легко затеряться.

А второй ключ — в RunOnce, и содержит простой powershell-скриптик, который читает из реестра и сохраняет в файл в папке TEMP бинарник из первой части и запускает этот файл.

Спасибо, получается если если "размазать" по hex ключам бинарь в HKEY_CLASSES_ROOT, и потом собрать обрать бинарь получается куда скрытнее получается.

Весь вопрос в том, поместится ли powershell-скрипт сборки из кусков в лимит 256 знаков.

Можно сохранить в реестре длинный powershell-скрипт, а в автозапуске считывать его из реестра и делать Invoke-Expression. И уже в этом длинном скрипте делать всё, что надо. И бинарь по кускам пилить не надо, в другой ключик одним куском кинуть.

И запускаться при перезагрузке не очень интересно. Можно в планировщик заданий добавить задачу, они тоже в реестре хранятся.

(написать ответную заметку, что ли? как-то затягивает)

Не, насчёт планировщика не получается. Там из-за прав доступа не получается этот кусок импортировать. Поигрался ещё с другими вариантами, но ничего интереснее, чем RunOnce не нашёл.

Так что остаётся единственная оптимизация относительно исходной статьи -- сохранять EXE в реестре.

Другой недостаток — основная полезная нагрузка не выполняется до следующей перезагрузки

https://attack.mitre.org/techniques/T1218/011/
Вопрос только чего и сколько можно впихнуть в скрипт с этой техникой

Зарегистрируйтесь на Хабре, чтобы оставить комментарий