Эти глаза напротив
2006-08-22 04:12 pmЭпиграф:
Имейте в виду: всякая история хочет быть рассказанной, как всякое семечко хочет прорасти. Когда человек носит в себе слишком много нерассказанных историй, он начинает сутулиться, голова его ноет по утрам, а сны начинают повторяться одно и то же, из ночи в ночь, сущий кошмар.
Наверняка все из нас в разное время становились объектами розыгрышей со стороны сослуживцев, когда добрых, а когда - не очень. Эта история - об одном из таких розыгрышей, а был ли он добрым или нет - судить вам, дорогие читатели :)
Где-то на заре 2000-го года мне довелось самым непосредственным образом участвовать в проекте по внедрению достаточно большого UNIX-based програмно-аппаратного комплекса. GUI для управления и мониторинга этим комплексом были "толстыми" X11-клиентами, которые приходилось использовать "по сети".
Для незнакомых с технологией (это существенно для понимания шутки) поясню, что повсеместно используемая на UNIX-ах графическая система X11 позволяет запускать приложение на удаленной машине так, что его интерфейс будет рисоваться на экране вашей рабочей станции (по сети будут посылаться команды X11, описывающие, что и как надо отобразить в окне приложения - там квадратик закрасить, тут строчку вывести, и т.п.). Нечто вроде terminal client под windows, но отрисовывается не весь удаленный десктоп, а окно одного приложения.
И вот я у себя на рабочей станции настраиваю все для удобной работы с этим самым програмно-аппаратным комплексом. Поскольку он состоит из нескольких машин, я решаю, что я буду у себя запускать Xnest, в котором с помощью XChooser выбирать, на какую из машин я буду логиниться.
Я запускаю "Xnest :1 -indirect localhost" и вижу (помимо интересных мне машин) еще несколько. Часть из них я узнаю по hostname-ам - это рабочие станции моих коллег, а часть мне незнакома. Быстрая проверка с помощью "DISPLAY=remote_hostname:0 xdpyinfo" показывает, что одна из незнакомых машин позволяет подключаться к ее X-серверу без всякой аутентификации. Другими словами, можно запустить произвольное приложение и попросить его отрисовать свой интерфейс на экране этой незащищенной машины, и это произойдет.
Развитие событий напрашивалось само собой. В то время еще не прошло и года с тех пор, как вышла "Матрица" и строчка "Wake up, Neo" узнавалась и отождествлялась с фильмом абсолютно однозначно.
На одном из общедоступных UNIX-серверов под безликим account-ом навроде "test" в cron для исполнения раз в пять минут вешается скрипт следующего содержания:
Тот, кто сидит за дисплеем удаленной машины, при этом видит следующее: сначала у него на экране появляется окошко-сообщение "Wake up, Neo. Matrix watches you" с кнопокй "Huh?", а через три секунды оно исчезает и появляются ОГРОМНЫЕ, во весь экран, глаза, которые следят за курсором мыши. Что-то вроде вот этого, но гораздо больше :)

Даже если же приложение с глазами будет закрыто, через пять минут cron запустит скрипт еще раз, и все повторится сначала :)
Для наблюдения за жертвой использвалось приложение xtv, позволяющее в реальном времени наблюдать все, что творится на несекьюрной машине. Довольно быстро выяснилось, что несекьюрный X-сервер был установлен у одного из наших администраторов, который использовал его для мониторинга работы серверов под управлением SunOS. Глаза довольно быстро вывели его из себя, и он стал искать источник напасти.
По какой-то причине он не сразу догадался посмотреть по "netstat", с какого хоста в сети к нему приходит напасть, и ограничился тем, что методично прибивал "глаза" по мере их появления. Тогда из скрипта была убрана проверка на то, что "xeyes" уже запущены и опция по "максимизации" глаз, а интервал запуска - сокращен до минуты. Получилось что-то вроде вот этого:

Впрочем, не прошло и трех часов, как админ выследил хост, с которого лезли "глаза", вынес строчку из крона, настроил у себя xauth и пришел ругаться со мной ...
Мораль: не открывайте доступов больше, чем реально нужно :)
Имейте в виду: всякая история хочет быть рассказанной, как всякое семечко хочет прорасти. Когда человек носит в себе слишком много нерассказанных историй, он начинает сутулиться, голова его ноет по утрам, а сны начинают повторяться одно и то же, из ночи в ночь, сущий кошмар.
Наверняка все из нас в разное время становились объектами розыгрышей со стороны сослуживцев, когда добрых, а когда - не очень. Эта история - об одном из таких розыгрышей, а был ли он добрым или нет - судить вам, дорогие читатели :)
Где-то на заре 2000-го года мне довелось самым непосредственным образом участвовать в проекте по внедрению достаточно большого UNIX-based програмно-аппаратного комплекса. GUI для управления и мониторинга этим комплексом были "толстыми" X11-клиентами, которые приходилось использовать "по сети".
Для незнакомых с технологией (это существенно для понимания шутки) поясню, что повсеместно используемая на UNIX-ах графическая система X11 позволяет запускать приложение на удаленной машине так, что его интерфейс будет рисоваться на экране вашей рабочей станции (по сети будут посылаться команды X11, описывающие, что и как надо отобразить в окне приложения - там квадратик закрасить, тут строчку вывести, и т.п.). Нечто вроде terminal client под windows, но отрисовывается не весь удаленный десктоп, а окно одного приложения.
И вот я у себя на рабочей станции настраиваю все для удобной работы с этим самым програмно-аппаратным комплексом. Поскольку он состоит из нескольких машин, я решаю, что я буду у себя запускать Xnest, в котором с помощью XChooser выбирать, на какую из машин я буду логиниться.
Я запускаю "Xnest :1 -indirect localhost" и вижу (помимо интересных мне машин) еще несколько. Часть из них я узнаю по hostname-ам - это рабочие станции моих коллег, а часть мне незнакома. Быстрая проверка с помощью "DISPLAY=remote_hostname:0 xdpyinfo" показывает, что одна из незнакомых машин позволяет подключаться к ее X-серверу без всякой аутентификации. Другими словами, можно запустить произвольное приложение и попросить его отрисовать свой интерфейс на экране этой незащищенной машины, и это произойдет.
Развитие событий напрашивалось само собой. В то время еще не прошло и года с тех пор, как вышла "Матрица" и строчка "Wake up, Neo" узнавалась и отождествлялась с фильмом абсолютно однозначно.
На одном из общедоступных UNIX-серверов под безликим account-ом навроде "test" в cron для исполнения раз в пять минут вешается скрипт следующего содержания:
Если в числе активных процессов нету "xeyes", то выполняем: DISPLAY=ip-незащищенной-машины:0 xmessage -nearmouse -buttons "Huh?" -timeout 3 "Wake up, Neo. Matrix watches you" && xeyes -geometry 1600x1200
Тот, кто сидит за дисплеем удаленной машины, при этом видит следующее: сначала у него на экране появляется окошко-сообщение "Wake up, Neo. Matrix watches you" с кнопокй "Huh?", а через три секунды оно исчезает и появляются ОГРОМНЫЕ, во весь экран, глаза, которые следят за курсором мыши. Что-то вроде вот этого, но гораздо больше :)

Даже если же приложение с глазами будет закрыто, через пять минут cron запустит скрипт еще раз, и все повторится сначала :)
Для наблюдения за жертвой использвалось приложение xtv, позволяющее в реальном времени наблюдать все, что творится на несекьюрной машине. Довольно быстро выяснилось, что несекьюрный X-сервер был установлен у одного из наших администраторов, который использовал его для мониторинга работы серверов под управлением SunOS. Глаза довольно быстро вывели его из себя, и он стал искать источник напасти.
По какой-то причине он не сразу догадался посмотреть по "netstat", с какого хоста в сети к нему приходит напасть, и ограничился тем, что методично прибивал "глаза" по мере их появления. Тогда из скрипта была убрана проверка на то, что "xeyes" уже запущены и опция по "максимизации" глаз, а интервал запуска - сокращен до минуты. Получилось что-то вроде вот этого:

Впрочем, не прошло и трех часов, как админ выследил хост, с которого лезли "глаза", вынес строчку из крона, настроил у себя xauth и пришел ругаться со мной ...
Мораль: не открывайте доступов больше, чем реально нужно :)
(no subject)
Date: 2006-08-23 07:51 pm (UTC)