Просмотров: 4471

Принтер, как источник угрозы. Часть 2


Продолжаем серию статей про безопасность сетевых принтеров. Сегодня — ещё пару примеров удаленного программирования подобных устройств. Традиционно напоминаю, что начало этой серии можно найти вот здесь.

HP printer принтер угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

Пример печати на экране принтера

Согласитесь, иногда бывает удобно, не вставая, послать вашему коллеге из соседнего отдела «Привет!», но использовать для этого ICQ или SMS было бы слишком банально и скучно, для чего в качестве места отображения я предлагаю выбрать экранчик состояния его принтера. Увидев утром на своем рабочем принтере вместо сухого системного сообщения «Ready» живой дружеский «Привет!», он наверняка был бы счастлив, для чего опять же напишем наш очередной Perl-скрипт:

#!/usr/bin/perl -w 
#File name: lcdmsg.pl 
use IO::Socket; 
$iphost = $ARGV[0]; 
$lcdprn = $ARGV[1]; 
my $mysock = new IO::Socket::INET ( 
 PeerAddr => $iphost, 
 PeerPort => '9100', 
 Proto => 'tcp', ); 
die "NETWORK ERROR: Could not create socket! $!\n" stuff $mysock; 
print $mysock "\@PJL RDYMSG DISPLAY = \"$lcdprn\"\n"; 
close($mysock);

Аргументы здесь аналогичны предыдущему примеру, рассматривая же код самого скрипта понято, что здесь мы используем единственную принтерную команду — «@PJL RDYMSG DISPLAY », которую можно применить с таким же успехом и через обычный telnet, как это было показано выше.

Вот пример запуска этого скрипта:

lcdmsg.pl 192.168.1.1 “INITIATING ROBOT UPRISING”

На Рисунке ниже показан примерный результат, который будет получен на вашем (чужом) принтере:

сообщение СМС принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

DDOS’им удаленный принтер

Двигаемся дальше, постепенно усложняя уровень примеров. В качестве вариаций того что можно сделать, допустимы и следующие подручные команды:

cat /dev/hda | netcat -q 0 192.168.1.2 9100

Здесь мы бережно пересылаем всё содержимое нашего винчестера (в raw-формате) на удаленный принтер для последующей его печати. Большинство испытанных мною принтеров мгновенно зависает от такой импровизированной DDOS-атаки, но некоторые, наиболее перспективные модели, если подловить их в момент печати, зацикливаются и начинают издавать громкие щелкающие звуки, что приводит в суеверный ужас секретарш и других представительниц женского пола.

Прекратить эти «принтерные судороги» можно только отключив принтер от питания (как вариант — добив его чем-то тяжелым). Кстати говоря, более эффективно скидывать на принтер громадные файлы через протокол ftp с публичных сервисов (тарбол с последними исходниками Linux подходит как ничто другое), что снимает в данном случае нагрузку с вашего компьютера. От подобных жестких трюков также частенько достаётся и хост-компьютеру (если принтер подключен через него), впрочем, не будем здесь отвлекаться от нашей главной темы.

Печатающее устройство, как идеальное хранилище

Давайте теперь посмотрим на проблему принтеров немножко с другой стороны. Вот, например, вы напечатали некий важный и конфиденциальный договор, куда он делся после этого? Возможно, такая постановка вопроса немножко обескуражит неподготовленного читателя, давайте попробуем ответить на него вместе.

Я свел наиболее известные системные папки в принтере в Таблице приведенной ниже. В этих папках можно найти порой много чего интересного, включая интимные послания отдельных сотрудников, распечатанные ими полгода назад на казенной технике.

сообщение СМС принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

К главной общей папке принтера от HP чаще всего можно получить доступ по адресу:

http://192.168.1.1/hp/device/

где вместо 192.168.1.1 укажите сетевой адрес вашего принтера.

Итак, суммируя: сетевой принтер можно использовать как большую удаленную флешку (или ftp-сервер, так как большинство из них поддерживают этот протокол), на котором, как правило, отсутствует пароль, поэтому для многих хакеров печатающие устройства — идеальное место для создания скрытых от посторонних глаз «файлопомоек», находящихся к тому же глубоко в тылу врага и далеко позади линии фронта (всех брандмауэров). Размер встроенного винчестера на большинстве современных моделей офисных принтеров колеблется в диапазоне от 5 до 50Gb, что более чем достаточно для подобного специализированного хостинга.

Hijetter принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

Если же вы привыкли к комфорту и хотите выполнить монтирование удаленного принтера в свою локальную файловую систему, а набора стандартных ftp-команд недостаточно для развития особенно бурной деятельности — выручит специализированная утилита Hijetter, которая использует PJL-интерфейс для управления принтером. Вот как можно скачать и установить его:

mkdir pjllib
cd pjllib
wget http://www.phenoelit-us.org/hp/libPJL-1.3-src.tgz
tar -xzf libPJL-1.3-src.tgz
make
cd pft/
make

Сразу после запуска введите команду help  — длинный листинг всевозможных команд на пару экранов позволит вам почувствовать себя на удаленном принтере «как у себя дома» (имеется также подробная онлайн-документация). Hijetter доступен в открытом исходном коде, и насколько я знаю, на базе Hijetter написано как минимум несколько приватных ботов, сканирующих сеть в поисках сетевых принтеров с целью их захвата и порабощения.

Я даже не называю это «взломом», так как повторюсь, по-умолчанию системный пароль в принтере или стандартный, или не установлен вовсе — это легкая добыча.

Hijetter принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

Hijetter замечательно работает с принтерами серии HP JetDirect, для которых он и был написан. Но, несмотря на это, в большинстве случаев он работает и с другими моделями HP, а также с принтерами от других фирм, проверить это в каждом конкретном случае можно только на практике. Кроме консольной версии он имеет графическую версию под Windows, и в обоих своих инкарнациях обеспечивает практически весь набор всевозможных операций с принтером. Hijetter — это любимый многими хакерами «швейцарский нож» для серьезной низкоуровневой работы с ним.

Используем принтер в качестве зомби

Рассмотрев все эти бесполезные, но достаточно милые трюки, движемся дальше к следующему уровню «погружения». Теперь хотелось бы показать, как можно использовать лазерное печатающее устройство не по назначению, а, скажем, в качестве «боевого лазерного сканера». В самом деле, обычно интеллектуальные системы типа Snort сразу «заводятся в истерике» при попытках сканирования сети из внешнего интернета, поэтому давайте поручим это ответственное и деликатное мероприятие безликому посреднику внутри самой локальной сети.

Для этого я снова применю всем хорошо известный сканер безопасности nmap, запущенный в режиме idle scan, чтобы ещё больше скрыть его работу. Наш принтер (вернее, тот который попал под наш контроль) будет выступать в роли ретранслятора потока запросов, т.е. выражаясь терминологией nmap — это «zombie host».

Я воспользуюсь ключом —sI чтобы переключить nmap в режим idle scan , и ключом -P0 для работы в режиме «через посредника», вот пример такого запуска:

nmap -P0 -sI 192.168.1.93 192.168.1.77
Starting nmap 3.89 ( http://www.insecure.org/nmap/ ) at 2011-12-18 16:22 EDT
Idlescan using zombie 192.168.1.93 (192.168.1.93:80); Class: Incremental
Interesting ports on 192.168.1.77:
(The 1853 ports scanned but not shown below are in state: closed|filtered)
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop3
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
587/tcp open submission
Nmap finished: 1 IP address (1 host up) scanned in 35.262 seconds

Здесь адрес 192.168.1.93 — это принтер-ретранслятор (zombie host), а 192.168.1.77 — целевая система для исследования, в логах которой после нашего сканирования останется адрес любопытного принтера (192.168.1.93), но не наш.

Вероятно, в рассмотрении практических возможностей сетевых принтеров стоит остановиться на этой месте, чтобы двигаясь дальше не превратить эту статью ненароком в руководство по взлому локальных сетей. Ибо мы, балуясь с основами, даже ещё не дошли до возможностей перепрошитых принтеров, а они — поверьте мне на слово, — воистину безграничны (демонстрация с попыткой удаленного поджога офиса, как в эксперименте Колумбийского университета — это лишь одна грань из широкого спектра захватывающих дух возможностей).

горящий принтер в огне пироманьяк принтеры угрозы взлом компрометация уязвимость перепрошивка PJL HP Canon Samsung МФУ MFU атака сетевые принтеры безопасность защита угрозы секьюрити

Впрочем, и того что уже описано, при желании достаточно чтобы «натворить дел»: прошу воспринимать все рассказанное как руководство к действию прежде всего для администраторов, в зоне ответственности которых находится обслуживание парка принтеров.

~

В заключении, хотя я намеренно избегаю подробно обсуждать эту тему, всё же прошу обратить внимание читателя на очень серьёзную деталь. По непонятным для меня причинам, HP организовал механизм обновления прошивки так, что для его проведения даже не нужно знать системный пароль принтера. Более того, для этого не нужно скачивать специальный менеджер от самой HP, — любой может проделать эту относительно несложную процедуру через обычный netcat , тогда как инициировать её можно через интернет посылкой «магического» задания для печати (почти как в первом примере).

Очевидно, что эта часть статьи порождает целый ряд справедливых вопросов, в тоже время оставляя их без ответов. Как же защитить свои принтеры, почему просто зафильтровать печатающее устройство через брандмауэр на шлюзе или установить сложный пароль порой недостаточно? На эти и другие вопросы мы подробно ответим в нашей следующей, заключительной части, полностью посвященной активной защите сетевых принтеров.


Читать этот материал дальше. Оглавление и начало этой серии статей — здесь.

Игорь Савчук ©  Системный Администратор, 2012
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , ,
Эта запись опубликована: Четверг, 2 августа 2012 в рубрике Обзоры.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз