Pull to refresh

Сетевой поединок

Reading time9 min
Views1.3K

Вступление


Я хочу рассказать вам почти детективную историю о сетевом поединке. Прошу прощения за длинное вступление, мне показалось, что без него не будет понятно, почему всё так вышло.
Одна сторона я — занимался администрированием лет 10 назад, в организации, где было около 150 компьютеров и тогда всё в Windows (2000). Позже от администрирования отошёл, и хотя сейчас на работе осуществляю функции администратора (тоже с Windows), но больше по поддержке, чтобы не падало, чем по продвижению куда-то вперёд. В жизни отвернулся от Microsoft и сейчас использую Ubuntu Linux. Ubuntu и на уровне пользователя, потому что уже далеко не студент — на компьютере надо работать работу, на ныряние в глубины при всём желании не хватает времени.
О другой стороне я расскажу позже, а пока вокруг поля боя.

Год назад моя половина устроилась руководителем ИТ-отдела в один из многочисленных в нашем курортном городе отелей. В тот момент там работали два парня (правда один из них скоро ушёл) и меня смешила возникшая ассоциация с IT Crowd. Хотя это просто посмеяться — на самом деле она разбирается в ПО автоматизации гостиничного бизнеса, а году в 2003 успешно сдала пару экзаменов MS по администрированию. Тем не менее большого опыта администрирования ну и какого-то мужского отношения к этому у неё нет.

Осенью и второй решил покинуть компанию и уехал в Москву, продолжать профессиональный рост. Оставил после себя рабочую станцию с Gentoo (она перешла половине по наследству), сервера с Gentoo и FreeBSD, домен Windows (с двумя DC), одну Cisco 1810 и пообещал поддерживать удалённо в меру сил. (Страшное пожелание директору компании: «Да чтобы у тебя гентушник уволился!»).

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

Постепенно отношения компании с гентушником сошли на нет, вместо него стал работать молодой парень, который до этого работал на подстраховке и на полставки, условно Вова. Со временем Вова стал как-то справляться с администрированием один, а недавно пришёл и ещё один молодой парень.

Обострение


В каждой компании есть какие-то особенности, к которым старожилы привыкают, а молодые и энергичные хотят победить, но чаще уступают место следующим. В этой компании это регулярно повторяющийся бан их IP-адреса хостингом их же сайта. Время от времени половина обращалась ко мне с вопросом — что делать, и уходила с ответом — смотрите логи своего squid'а. Что по какой-то причине не удавалось сделать: бан снимали/лог не находился за нужное время и т.д…

В понедельник на этой неделе половина опять захотела посмотреть логи, и оказалось, что не может зайти на сервер Gentoo, где и работает squid. При этом Вова уехал куда-то на 5 дней и обещал быть доступен. Половина приходит с работы и делится переживаниями — я говорю, ну звони, узнавай. Часов в 8 вечера звонит, сообщает о проблеме. Вова перезванивает в полдесятого, говорит — а я могу зайти, вот с таким-то паролем. Половина пробует — заходит в туннель, потом заходит на нужный сервер — всё получается и пароль тот же, что она набирала. Я без особого внимания — ну подумаешь, не переключила раскладку или в имени ошиблась. Во вторник уходит на работу — там пробует ту же операцию — подключиться не удаётся, опять жалуется. Говорю, ну ладно, разберётесь — мало ли что бывает, может там через Kerberos проверка выполняется, а он ломается.
Среда — опять вопрос ко мне, как же попасть на тот сервер. Параллельно с рабочими вопросами в фоновом режиме по аське — говорю, ну поищите быкап вашего сервера Gentoo, посмотрите в нём конфигурацию, файл /etc/shadow (в слабой надежде на то, что быкап есть — сделался ночью и содержит более-менее актуальные данные и в нём будет видна дата изменения shadow или можно посмотреть, правда ли там Kerberos настроен). Сначала вроде быкап не находится, а потом всё-таки ура, нашли его — на сервере с FreeBSD. Пока думали, что с ним делать/копировать/не копировать и как смотреть — её подключение к FreeBSD отваливается и больше зайти нельзя, пароль не подходит. Я говорю, ну звони Вове, спрашивай пароль, пусть пробует, налаживает. Вова недоступен. Ну ладно, потерпите, позже разберётесь. Параллельно вяло отвечаю на другие вопросы — а почему у меня журнал Безопасности на контроллере домена очищается? Ну не хочется фантазировать и некогда, поэтому традиционный ответ «пойми, при каких условиях это происходит, а потом проанализируем...». Ну уже какие-то её смутные сомнения начали терзать, может это Вова?

Я говорю — ну если сомневаешься, запрети просто доступ во внутреннюю сеть пока он не приедет, может его пароль куда-то ушёл и кто-то вместо него сейчас у вас. Она поручила сделать это новенькому парню и отправилась домой. Доступ в VPN, который был настроен на Cisco, ограничивался через группу WebVPN в AD. Парень аккуратно делает снимки экрана с составом этой группы до и после изменений и высылает половине на почту в 17:55.
Потом домашние дела, и часов в 10 вечера хоть и не хочется этим всем заниматься, но думаю, ну ладно, сейчас быстро помогу и к своим делам. Пробуем подключиться и посмотреть ещё раз, что же там теперь ещё с FreeBSD, почему теперь туда не удаётся зайти. И о чудо, теперь не удаётся зайти и в VPN. При этом уже я уверен, что с конфигурацией VPN-клиента всё нормально, ничего в ней не менялось. Какое-то возникло чувство, что это уже просто неправильными настройками не объяснить, а кто-то обиделся на то, что ограничили вход в VPN. При этом сам он не пострадал от этого никак — всё так же легко зашёл, просто видимо пришлось откуда-то доставать запасной логинопароль, а это задело. Половина звонит Вове — он по-прежнему не отвечает. Звонит новенькому парню, просит попробовать — и у него такая же ерунда.

Боевые действия


Я говорю — ну что, дело плохо пахнет, надо ехать на место и разбираться. Собрались — нашёл старый компакт с Ubuntu и флешку взяли, поехали туда. Пока ехали, какой-то план в голове формировался, но вообще ехать и что-то быстро делать в неизвестной для меня сети, да ещё с таким зоопарком ОС — как-то пугает. Первая мысль — надо отключить Интернет, но если я его отключу, я смогу только на себя рассчитывать и те проблемы, с какими не сталкивался, не решу. Например, с Cisco дела не имел — перед выездом быстро нашёл, как сбросить пароль, на флешку записал, но понимал, что само по себе это не поможет, надо будет ещё её конфигурацию менять. Но если Интернет не отключать и проявить хоть какую-то активность, он заметит и может пойти на что угодно. Поэтому всё-таки первое — отключить.

Заходим в её кабинет, она сразу за компьютер — я посмотрю. Я говорю — ничего не трогай, не надо себя выдавать. Успела только мышкой пошевельнуть. Пошли сразу в серверную, там стоит стойка, много чего в неё напихано. Для сети с 50 компами даже слишком много. Когда я администрировал сеть со 150 не позволял себе настолько раскручивать руководство. Какие-то сетевые KVM (я такие и не видел, понял суть только по подключениям), и UPS с сигналами по Ethernet, ещё что-то интересное. Камера стоит, пишет всё, что происходит. Как потом сказала половина, со звуком пишет. Разбираюсь в проводах — выяснилось, что в Cisco входит и оптика, и что-то из радиосети — резервный канал. То есть вроде как и два канала, а если Cisco падает, Интернета не будет никакого. Спрашиваю — есть ли где-то ещё 3G-модемы? Есть, но без симок. Ну и я значит опять без Интернета, ну зато и в сеть кажется только эти два пути ведут. После наверное минуты колебаний всё-таки волевое решение — перевести Cisco в самое безопасное состояние — выключить. Половина сильно занервничала «а что если», а мне что — терять нечего, работа не моя. Это было уже где-то 23:30.

Дальше вставляю компакт с Ubuntu в сервер «Gentoo», не грузится — надо в BIOS менять параметры загрузки. Ура, на BIOS нет пароля, а то с ужасом представил — вынимать сервер из стойки, а потом из него диски или в нём искать джампер. Загружается Ubuntu, стою и смеюсь — вот посмотрит кто-то видео, как я с 'самым чайниковским' Linux'ом полез в логово кулхацкера, застыдит.

Ну тем не менее система загрузилась, RAID увиделся (опять ура), флешка заработала (не ура, что USB 1.1, ну и ладно). Смотрю /etc/shadow — ну пока ничего подозрительного, дата не смущает — до момента, когда половина не смогла зайти. Содержимое конечно сложно проверить, запускаю копирование /etc на флешку и изучаю дальше. В /var/log тоже ничего в глаза не бросается, какие-то файлы пустые (типа sshd.log), что странно, но мало ли — может лог отключен. Архивирую ещё логи для истории и каталог /root. Одно интересное всё-таки нахожу — в файле lastlog виден IP-адрес: 87.245.163.145. Интернета нет, проверить и с чем-то сопоставить возможности нет, интрига сохраняется. Потом захожу на контроллер домена Windows, посмотреть, а что же там с группами и пользователями. Первое — журнал Безопасности — и сюрприз: последнее событие «очищен в 00:32» пользователем тем как раз, которым я и зашёл. Следующее событие сразу за ним — Аудит отслеживания процессов, «c:\windows\system32\wscript.exe завершает работу». На самом деле я только в этот момент обрёл уверенность, что всё-таки это не сбои компьютерные и не ошибки настройки. До этого можно было сомневаться и думать, ну может какое-то недоразумение, недопонимание.

В Windows у меня опыта побольше (так сложилось), быстро проверяю Автозагрузку, реестр, групповые политики (домена, контроллеров домена), в итоге нахожу usrlogon.vbs в NETLOGON, а запуск его назначен просто в профиле пользователя избранным. Можно было наверное и всем поставить, но видимо поленились. Сам script тоже бесхистростный — через WMI очищается журнал безопасности. Дата создания скрипта — сегодняшний вечер, 21 с чем-то. Переименовываю его сразу от греха подальше. Смотрю через net user время входа административных пользователей. И оказывается, что вот admin и заходил в 23 с чем-то. То есть был в сети в момент, когда мы пришли и обрубили Интернет. Ещё другой пользователь, с правами админа — тоже входил вечером, когда на работе уже никого не было.

Запускаю поиск файлов, изменённых за последние сутки — нахожу c:\program files(x86)\qip\<UIN моей половины>\config.ini. То есть понятно, что он читал наши с ней логи и поэтому мог оперативно отключать её сеансы и серверы. Например в процессе такого диалога:

[09:59] она: журнал безопасности на xxx сервере ведется с 20 июля с 00:36
[10:00] я: а там какой предельный размер?
[10:00] она: на yyy-ом 131 мб
[10:13] я: а на xxx?
[11:21] она: как непонятно все работает
[11:21] она: хотела из запущенного терминала записать команду введенную ранее опустила глаза в тетрадь' подняла - терминала нет


На это я просто тогда не обращал внимания. Возможно, в последний день он хотел уже что-то и сам мне написать, раз в config.ini полез. Были ещё менее интересные находки в файлах, типа в «Recent Documents» test.wsh — видимо тренировался кто-то, над чем-то ещё работал. Чтобы поискать интересное позже, запустил архивацию профилей важных пользователей.

Время идёт, а жаворонкам такой поздней ночью плохо думается и хочется спать. Поэтому уже захотелось довести до какой-то точки. Закрутить по-настоящему гайки в домене, на сервере Gentoo поставить-таки свой пароль root'у, а FreeBSD, где лежали быкапы, показалось проще вообще отключить. С Windows мне опять проще — профильтровать группы Администраторов, сменить пароль оставшимся админам.

Возвращаюсь на сервер Gentoo — там прямо из Ubuntu решил поменять /etc/shadow, убрать пароли в нём, чтобы поставить свои после перезагрузки. Просматриваю список пользователей внимательнее — вижу aimsniff — красота! locate aimsniff, нахожу конфиг, в котором задаётся фильтр, по каким портам перехватывать сообщения и куда писать (в БД MySQL). Да, есть такая база, даты свежие. Останавливаю aimsniff, убираю из запуска.
Потом перегружаю всё-таки систему в нормальном режиме, в Gentoo — она успешно загружается — ура, ничего не поломалось. Сбрасываю пароли root/toor, остальных сомнительных отключаю.

Всё, похоже конец, около 4 утра. Остался философский вопрос — включить ли cisco, чтобы некто мог войти внутрь, но и люди изнутри могли пользоваться Интернетом, или не включать и утром уже переключать каналы и т. д. Не зная противника, сложно предугадать его поведение, но умный бы наверное понял, что всё-таки нашла коса на камень, затаился бы и если и ходил бы на cisco дальше, то по-тихому. Я сделал ставку на это — включили cisco, проверили на рабочем месте — Интернет работает, как и работал — ничего не изменилось. С чувством удовлетворения удалились. Утром я уже туда не поехал, надо свою работу делать, но оказалось, что расчёт был неверен — он видимо не поверил чему-то и продолжил активную деятельность. В сети перестал работать Интернет. А молодой парень, который продолжал сегодня приводить сеть в порядок, сказал, что пока он управлял чем-то через сетевой KVM, к нему кто-то подключался. Я сказал, что сетевым KVM'ом ни в коем случае пользоваться сейчас нельзя, надо отключать, и переходить на обычные или просто физически подключать, что нужно. Позже днём уже Интернет был подключен без cisco, и время покажет, что будет дальше.

Но наверное не должна детективная история заканчиваться без разоблачения. Наверное самые не ленивые уже посмотрели, что за IP я привёл, он относится к сети:

Owner Name: Network for OOO «Kabeljnyy Internet Krasnoznamenska»
From IP: 87.245.163.128
To IP: 87.245.163.159
Address: Russia, Moscow region, Krasnoznamensk, ul. Krasnokazarmennaya, d. 23

В /root/.history (которую он не успел очистить, не ожидав, что мы в поздний час поедем на место разбираться) я увидел «ping moneybox.sktv.ru», а sktv.ru — это опять Краснознаменск. По наличию команд «:>lastlog » там же можно предположить, что IP-адрес настоящий, а не какой-то промежуточный, который не стоило бы скрывать.
Какую роль в этом играл Вова и связывался ли он с этим бывшим админом (условно Ромой), когда надо было поменять пароль, наверное ещё станет известно.

Некоторые подробности этой истории я писал для тех, кто может попасть в подобную ситуацию, вдруг это пригодится. Прекрасно понимаю, что и обратная сторона может делать более сильные ходы, но физический доступ есть физический доступ и если действовать аккуратно, победить возможно. Вот так.
Tags:
Hubs:
Total votes 115: ↑91 and ↓24+67
Comments56

Articles