
CVE-2018-6389 PoC Node.js мультисайт с прокси

Этот скрипт основан на CVE-2018-6389, довольно коварной проблеме WordPress, которую, к сожалению, вероятно, не исправит команда разработчиков платформы, несмотря на то, что она известна уже давно.
!!! ВАЖНО ПРЕЖДЕ ЧЕМ ПРОДОЛЖИТЬ !!! Весь репозиторий и информация, представленная здесь, могут свободно использоваться в любой форме — копирование, доработка, изменение с целью улучшения или других целей, а также распространение. Использование предоставленной информации для целей, отличных от образовательных, для эксперимента и/или для защиты собственной платформы на WordPress, вероятно, противоречит ряду законов, с которыми я не знаком. Не используйте скрипт для атаки на сайты! Я не несу ответственности за ваши действия. Используя его, вы соглашаетесь с этими условиями. DDoS-атака (отказ в обслуживании), направленная на сайт, который вам не принадлежит, может рассматриваться как террористическая атака. !!! УБЕДИТЕСЬ, ЧТО ВЫ АБСОЛЮТНО УВЕРЕНЫ В СВОИХ ДЕЙСТВИЯХ И ХОРОШО ПОДУМАЙТЕ ПРЕЖДЕ ЧЕМ ПРОДОЛЖИТЬ !!!
Я написал этот скрипт давно, но, зная, что вы очень крутые, решил поделиться им с вами. Используйте его по назначению! Серьёзно...
В сети много информации на эту тему, а также несколько готовых скриптов, чаще всего написанных на Python, таких как Shiva и этот, из которых я почерпнул много вдохновения при его написании, и с их помощью вы также можете тестировать эту "уязвимость" в изолированной среде, но, поскольку я "сообразительный", решил добавить несколько "плюшек".
Здесь вы можете прочитать интересный блог на эту тему.
Коротко: если вы загрузите https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery (разумеется, изменив ссылку так, чтобы она указывала на ваш экземпляр), и на экране появится "какой-то js, братан", то с сайтом проблема. Каждый перечисленный параметр в строке запроса — это имя файла, который не кеширован. То есть происходит IO-операция для каждого файла с диска, они собираются в один и возвращаются клиенту. Но файлов довольно много. Гораздо больше, чем ресурсов требуется, чтобы запросить это несколько раз. Скажем, с одного ноутбука и ссылкой с загрузкой ~50 мб/с около 30 сайтов средней величины на общем хостинге выдерживают 20-30 секунд, прежде чем окончательно лягут.
Файл websites.js содержит список сайтов-«жертв», из которого я забыл удалить несколько оставшихся, о которых я точно знаю, что они уязвимы при контакте со скриптом. Клянусь, я никогда этого не пробовал, просто так думаю.
Файл userAgents.js содержит список user-agents, которые выбираются случайным образом при каждом запросе к жертвам.
fileList.js содержит список отдельных файлов, которые загружаются с «жертвы», чтобы при обновлении WordPress их было легко добавлять или исправлять.
В index.js находится сам скрипт для выполнения.
В консоли выводится цветная информация по каждой «жертве» отдельно, и те, что находятся под DDoS, окрашиваются в красный.
npm install
//редактируй webstites.js
node index.js
inurl: “wp-admin/load-scripts.php”
Я решил посвятить этот скрипт моему любимому телеканалу tvsz, потому что знаю, что они мои большие «поклонники» и, самое главное, потому что они найдут ссылку на свой сайт в моём списке. То есть я немного подниму их рейтинг, отплачу им «услугой». Также пользуюсь случаем, чтобы поздравить отца, у которого вчера были именины, но у меня не осталось времени ему позвонить.