« Steal My Bitcoin » : un pentester empoche 2 000 dollars en BTC en exploitant PHP2Shell
"Безопасность — это процесс, а не продукт." (Брюс Шнайер, "Секреты и ложь", 2000)
Сейф с открытой дверью, намеренно. В субботу, 24 октября, специалист по безопасности Джеймс Павур разместил в сети сервер, намеренно уязвимый к уязвимостям PHP2Shell, с биткоин-кошельком и инструкцией, состоящей из трех слов: "Укради мои биткоины". Спустя девятнадцать часов, 26-летний пентестер из Великобритании получил ключи от кошелька.
Сообщество увеличило приз с 500 до 2000 долларов всего за выходные, а победитель перечислил часть выигрыша в благотворительную организацию, помогающую больным волчанкой. Этот процесс, который Шнайер считал важным, занял всего три часа реальной работы.
Основные моменты:
- 24 октября был запущен сайт с вызовом, демонстрирующий необновленный сервер PHP и предлагающий приз в BTC.
- 25 октября в 15:47 UTC Джейдип Модхвадия, известный под псевдонимом Killa, получил контроль над сервером.
- Для этого ему потребовался всего один скрипт на Python и менее двадцати веб-запросов.
- Благодаря пожертвованиям сообщества, сумма приза выросла с 500 до 2000 долларов.
- 26 октября CISA внесла обе уязвимости в свой каталог эксплуатируемых уязвимостей.
"Укради мои биткоины" или баг-баунти, сведенный к кошельку
Обычно программа баг-баунти предполагает использование платформы, формы и комитета, который оценивает серьезность уязвимости, прежде чем выплатить вознаграждение. Павур исключил все это. Сервер, известная уязвимость, адрес биткоина: тот, кто первым выполнит код на сервере, сам получит деньги. Подтверждение платежа является доказательством, а блокчейн служит протоколом.
Эта схема оказалась привлекательной. По данным The Register, первоначальный приз в 500 долларов был увеличен сообществом в четыре раза, достигнув 2000 долларов, что составляет примерно 0,025 биткоина по курсу этого среда, 28 октября, что эквивалентно примерно 80 500 долларам.
Победителем стал Джейдип Модхвадия, разработчик и пентестер из Великобритании, известный под псевдонимом Killa. На сайте отображается сообщение "Мои биткоины были украдены через 19,28 часа", но он приуменьшает значение этого факта: по его словам, он работал "примерно три часа". Павур добавил точку входа PHP, для эксплуатации которой требовалось, около 13:00 UTC 25 октября, а удаленное выполнение кода произошло в 15:47 UTC.
Его полезная нагрузка состоит из одного файла Python и "не более двадцати HTTP-запросов". Скрипт в основном обходит ASLR, механизм защиты, который случайным образом перемешивает адреса памяти программы, чтобы усложнить работу злоумышленникам. Код доступен на GitHub.
Modhwadia объявил, что передаст часть полученных средств в Lupus Foundation, организацию, которая борется с волчанкой, аутоиммунным заболеванием, которым он сам страдает. В 2021 году хакер, взломавший Poly Network, вернул часть своей награды в 500 000 долларов, после того как вернул 610 миллионов долларов, и предложил другим, кто мог бы сделать лучше, чем он.
PHP2Shell по-прежнему угрожает 32 миллионам серверов
Обе уязвимости, CVE-2026-109618 и CVE-2026-109619, затрагивают все версии PHP, начиная с версии 5.4, то есть движок, на котором работает значительная часть мирового веб-пространства. По данным Брайана Кребса, компания Censys насчитала 2,58 миллиона уязвимых хостов и 54,9 миллиона веб-ресурсов, работающих на PHP, на момент выпуска срочных исправлений 21 октября.
Исправления существуют: PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Однако, по данным The Hacker News, компания Censys насчитала 32,51 миллиона сервисов PHP, работающих на уязвимой версии. CISA добавила обе уязвимости в свой каталог активно эксплуатируемых уязвимостей в понедельник, 26 октября, присвоив им уровень серьезности 9,2 из 10, и предоставила федеральным агентствам США до 29 октября для устранения уязвимостей. Первый случай эксплуатации уязвимости в реальных условиях был зафиксирован в "ловушках" 24 октября, в тот же день, когда был запущен Steal My Bitcoin.
Ваша криптовалютная биржа, вероятно, не работает на PHP, и многие платформы быстро заявили об этом после предупреждения, выпущенного Чанпэн Чжао. Однако, блог, который рекомендует вам кошелек, и форум, где вы читаете советы, очень часто работают на WordPress, а значит, на PHP. Скомпрометированный сервер может отображать поддельную страницу входа или заменять адрес депозита, не вызывая никаких изменений на экране.
Если вы администрируете сайт, обновление займет меньше времени, чем потребовалось Modhwadia, чтобы совершить взлом. Если вы просто посещаете сайт, будьте осторожны с сайтами, которые находятся в режиме "технического обслуживания" уже неделю, и проверяйте все адреса депозитов по второму источнику. Во Франции ANSSI приказала отключить сайты префектур, налоговых органов и Министерства финансов на время устранения уязвимости, и исправление для аналогичной уязвимости, получившей название Broccoli2Shell, было выпущено для Windows 26 октября.