На конференции по вопросам информационной безопасности ShmooCon был представлен эксплоит под названием Hot Potato. Специалист компании Foxglove Security создал инструмент, который последовательно эксплуатирует ряд уязвимостей в Windows, что в итоге может привести к повышению привилегий до максимального уровня. Хотя некоторые баги, которые использует Hot Potato, известны с 2000 года, эксплоит работает для Windows 7, 8, 10, Server 2008 и Server 2012.
Hot Potato использует три типа атак, которые стали возможны из-за неисправленных багов в семействе операционных систем Windows. Хотя многие из этих уязвимостей стары, Microsoft намеренно не выпускала для них патчи, так как это повлияло бы на обратную совместимость различных версий ОС.
Эксплоит стоит на «трех китах»: стопроцентно эффективном спуфинге локального NBNS (NetBIOS Name Service); уязвимости, которая позволяет атакующему подделать WPAD (Web Proxy Auto-Discovery Protocol) прокси; а также на атаке против протокола Windows NTLM (NT LAN Manager).
«Используя данные техники, мы сумели повысить свои привилегии в Windows с самого нижнего уровня до уровня NT Authority/System, то есть до максимального для Windows-машины значения», — рассказывает автор эксплоита Стивен Брин (Stephen Breen).
Хотя на последовательное проведение всех трех атак могут уйти часы или даже дни, в итоге атакующий будет вознагражден системными привилегиями, ближайшим аналогом которых является root-доступ в операционных системах Linux и Android.
Исследователь рассказал, что использовал в работе изыскания команды Google Project Zero, обнародованные в 2014 году.
Брин опубликовал на YouTube три proof-of-concept видео, на которых он демонстрирует атаки на примере разных операционных систем семейства Windows.
Исходные коды Hot Potato опубликованы на GitHub.
Исследователь пишет, что для предотвращения срабатывания Hot Potato можно активировать опцию «Extended Protection for Authentication», она не даст эксплоиту осуществить последнюю фазу атаки и защитит NTLM. Также использование подписей SMB (Server Message Block) теоретически должно блокировать возможность атаки, но на практике эту теорию Брин еще не проверял.