В марте 2020 года была опубликована информация о проблеме CVE-2020-0796, которую так же называют SMBGhost, CoronaBlue, NexternalBlue и BluesDay. Проблема затрагивает SMBv3, и перед багом были уязвимы Windows 10 1903, Windows 10 1909, Windows Server 1903 и Windows Server 1909. Напомню, что именно протокол SMB несколько лет назад использовался для распространения WannaCry и NotPetya по всему миру.
Согласно данным компании Fortinet, уязвимость представляет собой переполнение буфера на серверах Microsoft SMB. Проблема проявляется, когда уязвимое ПО обрабатывает вредоносный пакет сжатых данных. То есть удаленный и неаутентифицированный злоумышленник может использовать баг для выполнения произвольного кода в контексте приложения. Еще в марте специалисты Cisco Talos предупреждали, что «эксплуатация уязвимости открывает системы для атак с потенциалом червя».
И хотя экстренные патчи для исправления CVE-2020-0796 были выпущены в марте текущего года, ИБ-специалисты по-прежнему были очень обеспокоены этой проблемой. Дело в том, что своевременной установкой исправлений, как обычно, озаботились далеко не все, а согласно данным компании Kryptos Logic, еще недавно в интернете можно найти около 48 000 хостов с открытым SMB-портом, которые уязвимы для потенциальных атак с помощью SMBGhost.
К счастью, до недавнего времени в открытом доступе не было RCE-эксплоитов для этой уязвимости. Так, в начале апреля были опубликованы первые PoC-эксплоиты, но они лишь помогали добиться отказа в обслуживании (DoS) и локального повышения привилегий (LPE). Эти эксплоиты в настоящее время уже используются в реальных атаках (к примеру, малварь Ave Maria применяет их для повышения привилегий), но по степени опасности им далеко до RCE.
RCE-эксплоит для SMBGhost тоже существовал, просто не появлялся в открытом доступе. Так, в апреле 2020 года его создал и продемонстрировал эксперт из компании Ricerca Security: исследователь показал работу эксплоита на видео и обнародовал его детальное описание. Однако тогда Ricerca Security не опубликовала исходники эксплоита в открытом доступе, так как специалисты опасались вкладывать столь опасный инструмент в руки преступников.
Теперь, спустя почти три месяца с тех пор, как Microsoft выпустила патчи, издание Bleeping Computer сообщает, что ИБ-специалистка известная под ником Chompie1337, разместила на GitHub первую общедоступную версию RCE-эксплоита для проблемы CVE-2020-0796.
Дело в том, что специалисты ИБ-компании ZecOps тоже заявили о создании RCE-эксплоита еще в апреле, и пообещали обнародовать его после следующего обновления Windows. Chompie1337 считает, что это должно произойти в ближайшие дни, поэтому она и решилась выложить в открытый доступ свою разработку.
Пока код эксплоита нельзя назвать стопроцентно стабильным, и исследовательница говорит, что скорее он призван помочь другим расширить свои знания в области реверс-инжиниринга, а также «был написан быстро и нужно еще поработать, чтобы он стал более надежным». Лучше всего эксплоит показывает себя против Windows 10 1903.
«Иногда возможны BSOD. Использование этого [эксплоита] для любых целей, кроме самообразовательных, это очень плохая идея. Ваш компьютер загорится. Щенки умрут», — пишет Chompie1337.
Аналитик CERT/CC Уилл Дорманн уже проверил код исследовательницы на компьютере под управлением Windows 10 1909 и получил противоречивые результаты. Так, иногда эксплоит может привести к сбою тестовой системы, а иногда просто не срабатывает.
Not completely reliable, but this CVE-2020-0796 PoC does indeed work! https://t.co/0ZX2biA4kO pic.twitter.com/RNu39PuirK
— Will Dormann (@wdormann) June 5, 2020
При этом Дорманн отмечает, что с точки зрения злоумышленника эксплоит не обязательно должен быть надежным на 100%. Неудача в данном случае — не более чем преддверие следующей попытки атаки. Если эксплоит не сработал, ничто не мешает атакующему продолжать пытаться до тех пор, пока он не добьется желаемого эффекта. Хуже того, подготовленные злоумышленники, обладающие должной квалификацией, могут доработать эксплоит самостоятельно.