Взломать 50.000 принтеров за 5 минут
29 ноября 2018 года пользователь твиттера под псевдонимом @TheHackerGiraffe «взломал» более 50 000 сетевых принтеров и распечатал на них листовки с призывом подписываться на YouTube-канал некоего PewDiePie. Он говорит, что таким образом хотел способствовать популярности своего кумира, который сейчас сражается за 1-е место по количеству подписчиков на YouTube.
Здесь интересна простота, с которой хакеру удалось получить доступ к 50 000 принтеров. В сессии вопросов и ответов AMA на Reddit хакер раскрыл подробности этого взлома. Оказывается, в нём нет ничего сложного. Более того, в Сети свободно доступны программные инструменты для эксплуатации многих уязвимостей в старых прошивках принтеров. К сожалению, повторить этот фокус может буквально любой желающий.
На иллюстрации: пeчать по raw-порту 9100
Сообщения на тысячах принтеров вызвали настоящий переполох, поскольку они появились на множестве устройств в разных компаниях: от высококачественных многофункциональных принтеров в крупных корпорациях до небольших портативных принтеров квитанций на заправочных станциях и в ресторанах, пишет издание ZDNet.
29 ноября 2018 года такое сообщение распечатали более 50 000 принтеров по всему миру. Фото опубликовал в твиттере пострадавший IT-администратор в Брайтоне (Великобритания). Одна из многих подобных фотографий в твиттере
Эта акция — часть большой кампании, которую развернули поклонники PewDiePie. Они сейчас изо всех сил агитируют в социальных сетях, чтобы шведский блогер сохранил лидерство по количеству подписчиков: в данный момент у него 72,6 млн подписчиков, а в спину дышит конкурирующий канал T-Series с 72,5 млн подписчиков.
Принтеры просто выводили текстовое сообщение с призывом подписаться на канал.
Аналогичные взломы
Нынешний взлом 50 000 принтеров не уникален. Такое происходило неоднократно. Например, нечто похожее провернул 24 марта 2016 года хакер weev (настоящее имя Эндрю Ауерхаймер), который вывел на тысячах сетевых принтеров расистские и антисемитские сообщения. Интересно, что Ауерхаймер присоединился к «белому движению» в тюрьме, где отбывал 41-месячный срок за предыдущее преступление, связанное с компьютерным взломом.
В феврале 2017 года этот трюк повторил другой хакер Stackoverflowin, который напечатал глупые рисунки на более чем 150 000 принтеров.
Сообщение Stackoverflowin
Технические детали
Как мы уже говорили, техническая сторона взлома не представляет особой сложности. @TheHackerGiraffe говорит, что сделал это из скуки: «Мне стало скучно после четырёх часов игры в Destiny 2 и я решил, что хочу кого-нибудь взломать».
Для поиска уязвимых устройств традиционно используется поисковая система Shodan. Она позволяет указать номер порта и протокол — и получить список сетевых устройств, в которых данный порт свободно открыт в интернет, с указанием IP-адресов.
Последняя атака была нацелена на принтеры с открытыми портами IPP (Internet Printing Protocol), LPD (Line Printer Daemon) и портом 9100. Затем пишется скрипт, чтобы рассылать по полученным IP-адресам и указанному порту файл PostScript, который сразу принимается на печать.
Количество принтеров с открытым портом 9100. Скриншот из поисковой системы Shodan (2 декабря 2018 года)
В Reddit AMA хакер @TheHackerGiraffe сказал, что он отправил сообщения только только 50 000 принтеров, хотя мог задействовать и большее количество: поисковик выдал более 800 000 непропатченных принтеров с выставленными в интернет портами по протоколам IPP, LPD и JetDirect. Но хакер выбрал только 50 000 принтеров с открытыми портами 9100.
Список уязвимых принтеров можно скачать с Shodan. Затем хакер взял инструмент Printer Exploitation Toolkit (PRET), исходный код которого свободно опубликован в интернете и использовал его для подключения к принтерам. Кстати, PRET позволяет не только вывести на печать сообщение, но и получить доступ к внутренней сети, к файлам, а также просто повредить принтер, среди прочего.
Архитектура Printer Exploitation Toolkit (PRET)
В январе 2017 года программу выложила группа исследователей вместе с научной работой о бедственной безопасности сетевых принтеров. В своей работе они подробно описали шесть уязвимостей в более чем 20 моделях сетевых принтеров со старыми прошивками. Инструмент предназначен для тестирования сетей и поиска уязвимостей.
@TheHackerGiraffe запустил такой bash-скрипт. Скрипт берёт список принтеров c Shodan (potential_bros.txt
) и циклом прогоняет по каждому IP-адресу PRET с командами, указанными в commands.txt
:
#!/bin/bash while read -r line; do ip="$line" torify ./PRET/pret.py $ip pjl -q -i ./commands.txt done < "./potential_bros.txt"
Содержимое commands.txt
:
print ./message.pdf display HACKED quit
В связи с большим количеством IP-адресов скрипт лучше запустить где-нибудь на сервере.
Атака в действии, скриншот с сервера. Фото: @TheHackerGiraffe
@TheHackerGiraffe не считает свои действия незаконными, потому что принтеры свободно открыты для управления через интернет: «Представьте большую кнопку „Печать” в интернете», — говорит он.
Независимо от целей взлома и глупого использования, нынешний инцидент многое говорит о защите сетевых устройств (точнее, об отсутствии этой защиты). Как видим, огромное количество пользователей не думает об обновлении прошивок и не следит за выпуском патчей. Впрочем, это давно известно, сейчас произошла лишь наглядная демонстрация, к чему такое может привести.
«Люди недооценивают, насколько легко хакер-злоумышленник может использовать такую уязвимость, чтобы вызвать серьезный хаос, — написал @TheHackerGiraffe — Они могут украсть файлы, установить вредоносное ПО, нанести физический ущерб принтерам и даже использовать принтер в качестве плацдарма для дальнейшей атаки на внутреннюю сеть».
Впрочем, принтеры — ещё не самая интересная мишень. Например, Shodan находит около 190 000 открытых FTP-серверов