
Этот модуль используется для эксплуатации выполнения сценариев запуска через параметры групповой политики Windows, когда они настроены на запуск с удалённой SMB-шары.
Этот модуль используется для эксплуатации выполнения стартовых скриптов через параметры Windows Group Policy, когда они настроены на запуск с удалённой SMB-шары.
Windows Group Policy можно использовать для настройки стартовых скриптов, которые будут выполняться при каждом включении операционной системы. Эти скрипты выполняются с высоким уровнем привилегий, от имени учётной записи NT AUTHORITY/SYSTEM.
Если злоумышленник способен выполнять атаки с манипуляцией трафиком и перенаправлять поток трафика на вредоносный SMB-сервер во время перезагрузки, появляется возможность удалённо выполнять команды от имени учётной записи SYSTEM.
Этот модуль принимает все формы аутентификации: анонимную, доменную, с пустым паролем, а также несуществующие учётные записи. Он позволяет любому пользователю подключиться к SMB-серверу и шаре.
Также выполняется подмена файлов: модуль отдаёт один и тот же файл независимо от того, какой файл был запрошен изначально и к какой SMB-шаре подключён клиент. Если пользователь запрашивает foo.vbs, ему отправляется evil.vbs.
Протестировано на Windows 7 Service Pack 1 (x86) с использованием скриптов .bat и .vbs.
Сообщение в блоге: "BadSamba - Exploiting Windows Startup Scripts Using A Malicious SMB Server" - http://blog.gdssecurity.com/labs/2015/1/26/badsamba-exploiting-windows-startup-scripts-using-a-maliciou.html
BadSamba протестирован с использованием удалённых включений скриптов .bat и .vbs. Расширение файла действительно имеет значение, поэтому если запрашивается .bat, нужно отдавать .bat.
В лабораторной среде тестирование проводилось на Windows 7 SP1 (английская версия) для проверки концепции. Разные версии Windows могут реагировать по-разному, но основные принципы должны оставаться теми же.
На данный момент невозможно «просматривать» файлы внутри SMB-шары. Это связано со сложностью протокола SMB, и добавление этой функции значительно усложнило бы модуль.
Протокол довольно шумный, поэтому может быть сложно определить, был ли файл успешно загружен или же он был загружен и выполнен.
Сейчас нет эксклюзивной блокировки запрашиваемых файлов, что позволяет загружать файл несколько раз. По моему опыту, он выполняется только один раз, но это создаёт шумный вывод в модуле.