Эволюция атак на веб‑ресурсы: что поменялось с 2011 года
Некоторое время назад мы решили оценить, как сегодняшний ландшафт угроз безопасности веб‑приложений отличается от картины десятилетней давности. Чтобы оценить текущую ситуацию, отдел аналитики и исследования киберугроз BI.ZONE WAF изучил статистику атак на веб‑приложения клиентов под защитой нашего решения. А за ретроспективным анализом мы обратились к специалистам нашей команды, которые с 2011 года анализируют теневые ресурсы и поэтому знают, как развивались методы злоумышленников.
Итогом нашего анализа стали два материала:
- о нынешнем положении вещей рассказали в публикации, куда включили и выводы о текущем состоянии активности в даркнете — они подтверждают выводы по анализу данных BI.ZONE WAF;
- о том, как менялась активность злоумышленников, поговорим в сегодняшней статье.
В период с 2011 по 2018 год злоумышленники продавали на теневых форумах доступы к взломанным веб‑приложениям. В 90% случаев под удар попадали системы управления сайтами (CMS), CRM‑системы, а также «торчащие» в онлайн веб‑админки серверов и сетевого оборудования.
Для поиска целей атакующий использовал список зарегистрированных доменных имен за последний год. Подготовить такой перечень достаточно просто по открытым данным, а затем с помощью утилит‑краулеров вроде CMS‑Finder можно обнаружить URI веб‑админок, используемые шаблонизаторы, версии веб‑интерпретаторов и так далее.
В результате атакующий получал список целевых уязвимых веб‑ресурсов. На следующем этапе этот перечень обрабатывали с помощью harvester‑утилит, которые автоматически подбирали логины и пароли к админкам и загружали на серверы веб‑приложений веб‑шеллы (зачастую WSO). При обнаружении версий приложений или веб‑интерпретаторов с известными уязвимостями могли также применять базовые эксплоиты.
Атакующие также применяли fuzzer‑утилиты: WebCruiser, SQLmap, XSSer, RouterSploit и так далее. Они позволяли отправлять на серверы приложений сотни пейлоадов с разными веб‑атаками — авось что‑нибудь да выстрелит.
В итоге злоумышленник получал постоянный удаленный доступ к скомпрометированному ресурсу. Способ достаточно быстрый, благодаря чему атакующий мог запускать утилиты в несколько потоков, с разных устройств и из разных сетей. Таким образом за один день можно было создать на взломанных сайтах и серверах 30–200 веб‑шеллов.
Чтобы перечислить все способы неправомерного использования такого доступа, понадобится несколько отдельных статей. Остановимся на самых популярных сценариях в период с 2011 по 2018 год:
Попадая в инфраструктуру, злоумышленник первым делом пытался понять, где оказался: смотрел конфигурационные файлы, доступные права, данные о системе и сетевых взаимодействиях. Корпоративные сети были в большинстве своем плоские, без сегментирования, серверы располагались в локальной инфраструктуре. Поэтому взломщик мог из локальной сети пройти сканером по инфраструктуре, применить какой‑нибудь популярный эксплоит, чтобы провести атаку по SMB или RDP. В итоге он, по сути, создавал некую карту, по которой двигался дальше. Если взломанный сервер был размещен в локальной сети компании, злоумышленник пытался просканировать сегменты сети, чтобы эскалировать атаку на другие устройства и приложения или попытаться выйти из контейнера / виртуальной машины. В случае успеха он мог развить присутствие в инфраструктуре, закрепиться в ней и, например, создать учетные записи с правами администратора.
Один из самых частых случаев — похищение баз данных. Fuzzer‑утилиты способны находить на страницах аутентификации, в формах поиска и т. п. возможности SQL‑инъекций: union‑based, boolean‑based, time‑based или вовсе stacked queries. Атакующий даже без особых знаний SQL‑синтаксиса мог обнаружить уязвимость и автоматически выгрузить информацию для последующей продажи. В те времена многие компании хранили пароли в открытом виде прямо в базах, в итоге злоумышленники могли получить весь массив с учетными данными, почтами, никнеймами, которые далее можно было использовать для credential stuffing или брутфорс‑атак.
При обнаружении уязвимости stored XSS становилось возможным проводить атаки на пользователей. Например, злоумышленники активно применяли фреймворк BeEF — легитимный инструмент для пентеста, который в дурных руках позволял внедрить в скомпрометированную страницу вредоносную JavaScript‑библиотеку. После этого заходящие на сайт посетители открывали злоумышленникам доступ к своим данным. Правда, в полной мере эта техника работала только против уязвимых версий браузера, а при закрытии вкладки со взломанным сайтом связь прерывалась.
Именно так в 2015 году действовала группировка SPRUT. Злоумышленники написали свой краулер с фаззером, которые искали и тестировали веб‑приложения на уязвимости stored XSS или возможность RCE на уровне редактирования файлов сайта. BeEF использовался, чтобы генерировать полезную нагрузку в виде JavaScript‑файла, который SPRUT внедряла в страницы веб‑приложения.
Чтобы атака не прерывалась, когда жертва закрывала страницу, злоумышленники написали вредоносный плагин для разных браузеров, который показывал уведомление с предложением пользователю установить аддон. Если пользователи не понимали логику атаки и просто нажимали классическое «ОК», вредоносная JS‑библиотека оставалась в памяти браузера, позволяя атакующим сохранять соединение.
Таким образом SPRUT смогла заразить более 100 000 устройств и объединить их в веб‑ботнет для кражи и продажи пользовательских данных.Другой вариант для распространения зловредного ПО — подмена объектов скомпрометированных веб‑приложений, чтобы при обращении к ним жертва получила на свое устройство вредоносный файл. Именно так работали всем известный ботнет Zeus и банковский троян Carberp с буткитом на борту.
Атакующий мог использовать ransomware, чтобы зашифровать важные данные веб‑приложений и потребовать выкуп у владельца. Кроме того, он мог не доставлять шифровальщики самостоятельно, а опять‑таки выставить доступ к уязвимой инфраструктуре на продажу.
Доступ к серверу позволял встроить в веб‑страницы скрипт‑майнер, чтобы посетители добывали криптовалюту для злоумышленника. В некоторых случаях майнер удавалось запустить и на основном сервере веб‑приложения.
Если киберпреступнику удавалось создать несколько веб‑шеллов, их можно было объединить в ботнет — для этого использовались утилиты вроде Web Shell Manager. Впоследствии подобные ботнеты использовались для предоставления DDoS‑услуг или продавались на теневых ресурсах, где их приобретали, например, владельцы более крупных ботнетов, которым требовалось пополнение.
Хактивисты, которым нет дела до денег, нередко применяли полученный доступ, чтобы дефейсить взломанный ресурс (подменить изначальный контент на объявление, послание, картинку или что‑то подобное). Такие злоумышленники скорее гнались за репутацией и старались подражать киношным хакерам.
В 2024 году все больше организаций и частных владельцев веб‑сайтов размещают веб‑приложения у хостинг‑провайдеров. Даже если злоумышленник пробьет веб‑приложение, он не сможет перенести атаку во внутреннюю инфраструктуру.
Кроме того, заметно поменялась архитектура веб‑приложений. Во‑первых, она преобразовалась из монолитной в микросервисную, и компрометация одного модуля не всегда приводит к взлому всей системы. Во‑вторых, роутинг запросов, который раньше осуществлялся на основе файлов, сейчас организован средствами фреймворков. Наконец, в‑третьих, компании, которым не нужны сложные веб‑ресурсы, сейчас используют SPA‑визитки (single page application). У таких сайтов и бэкенда толком нет — злоумышленникам нечего ломать.
Теперь атакующим реже удается найти уязвимый сервер с устаревшей CMS или открытым портом. Попытки сканирования натыкаются на WAF и изолированные сегменты, пробраться во внутреннюю инфраструктуру несравнимо сложнее, чем раньше. В результате существовавшая ранее модель — взломать хост, закрепиться и продавать доступ — потерял актуальность.
В противоположность злоумышленникам прошлых лет, нынешние киберпреступники стремятся как можно быстрее покинуть скомпрометированный сервер. Их модель поведения — это «взломал — выгрузил данные — ушел». В редких случаях группировки стараются пробиться из приложения дальше в инфраструктуру и закрепиться. Как говорилось выше, большинство нынешних веб‑систем размещено в изолированных сегментах и на внешних хостингах, поэтому никто не знает, есть ли практический смысл в попытках из этих сегментов выйти.
Именно поэтому взломщики стараются оперативно выгрузить данные и скрыться, не рискуя быть обнаруженными и потерять доступ раньше времени. Далее украденные данные выставляются на продажу или попадают в открытый доступ, если дело в хактивизме или политике. Например, базы с хешами паролей продаются на теневых форумах — пароли можно пробрутить и впоследствии использовать для credential stuffing. Это очень популярная техника атаки, поскольку пользователи часто используют одинаковые пароли на разных ресурсах. Стоит «протечь» одному сайту, и в зоне риска оказываются аккаунты других площадок.
Помимо похищения данных, взломанный веб‑сайт могут использовать в качестве хостинга. На скомпрометированных ресурсах размещают вредоносное ПО, чтобы потом использовать, например, в рамках фишинговых кампаний. Такую активность проще скрыть от систем кибербезопасности: одно дело, когда пользователь качает неизвестный файл с известного домена, и совсем другое — когда обращается к какому‑нибудь рандомному хосту.
В итоге, как мы видим по статистике кибератак на клиентов BI.ZONE WAF, более половины случаев вредоносных действий против веб‑ресурсов связаны с попытками реализовать уязвимость исполнения стороннего кода (remote code/command execution, RCE). Причина такой популярности в том, что именно RCE позволяет быстро получить удаленный доступ к серверу и установить над ним полный контроль с возможностью практически любых атак.
По данным с наших собственных ханипотов, у атакующих сейчас популярны такие техники веб‑атак, как command injection, server‑side template injection (SSTI), stacked queries SQL injections, remote file inclusion (RFI), local file inclusion (LFI), shell file uploading, code injection, XML external entity (XXE), insecure deserialization, cross‑site scripting (XSS). Все они, кроме последней, могут создавать угрозу RCE. Наконец, остаются актуальными и попытки применить эксплоиты против широко известных CVE.
Популярность этих методов прямо связана с тем, что в публичном бесплатном доступе появилось множество мощных EASM‑инструментов (external attack surface management, управление внешней поверхностью атак). Они предназначены для непрерывного тестирования на проникновение и по сути своей они выполняют задачи джун‑пентестера, позволяя фаззить и сканировать веб‑приложения и сетевые порты, определять уязвимости и применять эксплоиты. Самые популярные утилиты — это Acunetix, NetSparker, Nessus, Nuclei, NMAP (с NSE‑скриптами), Metasploit Pro, Exploit Pack Premium, Burp Suite Enterprice.
Теперь для успешной реализации атак злоумышленнику достаточно «скормить» инструменту список атакуемых хостов и спокойно идти пить чай, пока утилита сама определит и применит уязвимости. Многие крупные кибератаки последнего времени — не будем конкретизировать, какие именно, — начинались именно с банальных credential stuffing или брутфорса.
В 2024 году 87% случаев кибератак связаны не с обеспечением неправомерного доступа, а с информацией: базами, конфиденциальными файлами, данными авторизации (электронными адресами, логинами, паролями, Ф. И. О.), материалами из корпоративных и государственных систем.
Даже если некоторые техники атак на веб‑приложения остались актуальными, цели злоумышленников в корне поменялись. Наше исследование активности на теневых форумах показывает, что только 2 предложения из 10 связаны с продажей доступов посредством веб‑шеллов. Остальные пытаются заработать на данных, которые в дальнейшем можно использовать для фишинга, credential stuffing, брутфорса и подобных атак. А продажа удаленных доступов для долгосрочного закрепления на сервере веб‑приложения утратила смысл.