Страницы

История одного пентеста или как не надо делать аудит

10  мая на Хабре появилась интересная статья про пентест Кубанского Универсально Банка (www.kubunibank.ru). Автор - пентестер с ником 090h. Статья быстро набрала популярность и к вечеру стала самой популярной статьей за день на Хабре.
В статье рассказывалось, как был проведен аудит Кубанского Универсального Банка и был найден ряд уязвимостей, позволяющих получить контроль над вебсервером, расположенным  внутри локальной сети, что открывало потенциальную возможность по атаке внутренних информационных систем банка.
Служба безопасности банка узнала о статье в день публикации и начала внутреннее расследование. Как оказалось, ни руководитель департамента ИТ, ни сама служба безопасности не была предупреждена о пентесте заранее, и уж тем более разрешение на публикацию статьи о проведении пентеста руководство банка не давало.
В итоге всего этого системный администратор уволился с формулировкой "я хотел как лучше, а вам ничего не надо". Да и комментарии к статье на хабре сложились не в пользу банка:



Вот я и решил разобраться в этой ситуации подробней, чтобы понять кто прав, а кто виноват.

Для начала давайте коротко посмотрим хронологию событий:

В час ночи 5 мая была обнаружена классическая дыра в одном из скриптов банка. В теле твита так же содержалась ссылка с демонстрацией возможности взлома + был выложен скриншот.
хттп://www.kubunibank.ru/index.php?linksdop=../../../../../../../../../../etc/passwd
Стоит отметить, что информация о дыре, демонстрация и ссылки на уязвимости были опубликованы еще даже до того, как пентестер уведомил о дыре банк.

В 2 часа ночи 5 мая пентестер направил письмо в банк с описанием ситуации и предложил услуги по аудиту сайта.

Вспомним, что 5 мая - это суббота, последний рабочий день перед праздниками. Я так же знаю, что в это время начальник департамента ИТ банка был в отпуске. К тому же письмо, отправленное пентестером, попало в спам фильтр. 
6, 7, 8 и 9 мая - выходные дни.
Утром 10 мая была опубликована статья на Хабре.
Т.е. при всём желании похвалить пентестера за бесплатный труд на благо банка, у СБ навряд ли нашлось время, чтобы адекватно оценить ситуацию.

СБ КубУниБанка не знала ни о дырах, ни о письме пентестера, однако сработала оперативно: по факту публикации материалов пентеста было начато внутреннее расследование в банке в тот же день.

Конечно, был сразу найден сотрудник - системный администратор банка - ответственный за организацию пентеста (друг пентестера). 10 мая системный администратор на работу не явился. Трубку не брал. Поэтому служба безопасности провела с ним беседу и попросила написать объяснительную.
Именно он "санкционировал" все действия пентестера, по-видимому, он же и разрешил публикацию результатов на Хабре. 
По словам сотрудника СБ, парня никто увольнять не собирался, уйти он решил сам и, по-видимому, ещё до проведения пентеста. Однако объяснить последствия его действий ему было просто необходимо. 
Давайте представим ситуацию, когда ваш врач без вашего ведома просит посмотреть коллегу-врача ваши анализы. Второй врач вам помогает, однако публикует о вас и вашей болезни статью в прессе с вашей фотографией без вашего разрешения. Какова будет ваша реакция на происходящее? 
Именно так эта ситуация и выглядела с точки зрения банка (конкретней, руководства банка). 
При проведении пентеста крайне рекомендую придерживаться буквы закона и оформлять договора с заказчиком, публиковать материалы строго с ведома ответственных лиц (желательно с письменного согласия) и обезличивать публикуемые материалы (уж это то не трудно было сделать!). Иначе отличить аудит от взлома будет сложно как с правовой, так и с моральной точки зрения.

По собственному опыту могу сказать, что банк обошелся и с пентестером и администратором очень "по-доброму". Ведь СБ могла уволить по статье администратора и подать в прокуратуру заявление на пентестера.  Тут, например, человека без предупреждения уволили из банка с волчьим билетом за разовое использование анонимайзера.

[UPDATE] Сопоставив факты пришел еще к одному интересному наблюдению. Дырка на сайте была закрыта админом примерно между часом и двумя часами ночи.
Это значит, что админ банка на 99% управлял веб-сервером из дома. Т.е. у админа был шелл  на веб-сервер, находящийся в локальной сети банка, с административными привилегиями. Вот так вот. Если я прав, то такому админу не то что безопасность, но и хелпдэск я бы не доверил.

18 комментариев:

  1. Да, тоже понравилась эта статья.
    Вот что называется привлечь внимание Руководства к проблеме ИБ.
    Надо отметить что Администратор добился своих целей.
    Хотя и рисковал своей работой.

    ОтветитьУдалить
  2. Админ уволился! Руководство испытало шок не из-за дыр, а из-за публикации новости о дырах!

    т.ч. о хэппиенде всё-таки говорить не приходится.

    ОтветитьУдалить
  3. Всё-таки ты банк прикрываешь.

    Это был не аудит и не аудиторская организация, а независимый тестер.

    От независимого специалиста можно ожидать чего угодно.
    Так что лучше Руководству банка не испытывать шок, а разработать процедуры оперативного реагирования на такие ситуации.

    ОтветитьУдалить
  4. если я банк и прикрываю, то только для баланса с хабровской статьей, которая неправильно осветила работу СБ (мол злая СБ решила уволить админа вместо закрытия дыр).

    оперативное реагирование на такие процедуры может быть только одно - с помощью оперов.

    ОтветитьУдалить
  5. А если тестировали из другой страны?
    Одними операми не отделаешься.

    ОтветитьУдалить
  6. По-моему это яркий пример как публичный web-сайт может послужить причиной потери репутации банком.

    А ведь может ещё ЦБ посчитать это за инцидент и понизить комплексный показатель банка.

    Надо делать выводы.

    ОтветитьУдалить
  7. по-моему это яркий пример того как качественно отработала инцидент служба безопасности банка. Фактически, с момента обнаружения уязвимости (совпадает с моментом публикации её на хабре) до "разбора полётов" службой безопасности прошло всего несколько часов.

    Мало кто из компаний может таким похвастаться.

    Вопрос в том сколько банков ещё не обжигались на таком...

    ОтветитьУдалить
  8. Админ ваш молодец. Дыру прикрыл оперативно. Я сейчас вот уже неделю жду прикрытия критической ошибки от более серьезного банка.
    Возникает вопрос к СБ банка. Вы вообще этот сайт хоть чем нибудь проверяли?
    Ведь по сути такой сайт с ошибкой из 90х - это окно в локалку.

    ОтветитьУдалить
    Ответы
    1. Админ больше ваш, чем наш :)
      Мы ничем не проверяли. Договора на аудит с этим банком у нас не было.

      Лично меня сейчас больше интересует вопрос было ли (и есть ли) окно в локалку у бывшего админа...

      Удалить
  9. Анонимный16 мая 2012 г., 20:32

    "kubunibank phorum" в гугле наберите =) sqstat/sarg корпоративной прокси на вебсайте для всего честного мира =) dial-up с прямым доступом в сеть =) кросс-доменные учётки на почту =) дальше продолжать список?)

    >> Это значит, что админ банка на 99% управлял веб-сервером из дома. Т.е. у админа был шелл на веб-сервер, находящийся в локальной сети банка, с административными привилегиями. Вот так вот. Если я прав, то такому админу не то что безопасность, но и хелпдэск я бы не доверил.
    вы таки не поверите, но админ-доступ был у всего IT-отдела в любое время дня и ночи, и не только у IT-отдела - у любой учётки в домене =) вы даже не знаете, что там творится =)

    ОтветитьУдалить
    Ответы
    1. с гуглом - мощно :)

      про ИТ отдел - верю. Когда-то я работал в крупной дочке газпрома, в которой не было денег ни на антивирус, ни на компьютер для службы безопасности (я приносил свой домашний ноутбук). Зато ЗП у начальника была 300 т.р. и на работе он практически не появлялся (Жил в Новороссийске. Работал в Краснодаре). У руководителя дочки газпрома пароль был 123456 и админский доступ на ВСЕ системы дочки (он же руководитель! как ему без админских прав!).

      Не удивлюсь если там и до сих пор ничего не поменялось...

      Т.ч. ваши условия представить вполне могу :)

      Удалить
    2. Анонимный17 мая 2012 г., 13:05

      Эндрю, я точно знаю что это ты, список надо продолжать не трубя об этом в нэте, а отписавшись на ящик IT

      Удалить
    3. Анонимный17 мая 2012 г., 13:19

      они это прекрасно и давно знают (даже знали до моего прихода туда) =)
      проблема усугубляется тем, что изначально была выбрана неправильная архитектура (в т.ч. безопасности), а теперь всё на ней завязано и хрен ты так наскоком перейдёшь - только с нуля. Этого собсно и боится делать IT-отдел. Хотя даже не столько боится, сколько "впадлу" за ту ЗП, что там платят.

      Удалить
    4. Анонимный17 мая 2012 г., 13:35

      через 2 недели открывается вакансия начальника, приходи, будем работать, будешь давать задания, под твоим чутким руководством все наладим и переделаем

      Удалить
  10. Хочу прочесть на хабре статью вашего авторства. Под хаголовком: "Я нашел уязвимость, что делать?"
    Ибо проблема насущная. Уязвимостей найдено много, хочу публиковать правильно.

    ОтветитьУдалить
    Ответы
    1. ну для этого нужен аккаунт на хабре )...

      да и Вы все правильно сделали кроме одного - нужно было или обезличить банк (тогда, конечно, статья потеряла бы наглядность и остроту), или добиться разрешения на публикацию. В последнем случае все может быть непросто, но возможно.

      В КубУниБанке вполне адекватные люди работают, которые готовы тратить деньги на безопасность (знаю, о чем говорю!). Просто не думаю что банковские службы безопасности (где часто работают военные отставники, занимающиеся ловлей должников банка) психологически готовы к такой подаче материала ИБ - на главной странице одного из самых популярных сайтов рунета.

      К тому же наутро после празднования Дня Победы.... =)

      Удалить
    2. Ради такой статьи могу и инвайт дать. Я там в скайп вопросы свои написал.

      Удалить
  11. 1. Взлом сайта в нормальной сети даёт только возможность для социнженерии, ибо сайт должен быть в DMZ. Возможности доступа из DMZ к процессингу показано не было, т.е. риск в таком случае может быть вообще нулевым (для данных платёжных карт).
    2. Действия Олега нарушали законодательство РФ.
    3. О таком вообще лучше молчать, а не постить в твиттер.
    4. Из дома можно администрировать сеть вполне безопасно, используя, например, port-knocking.

    P.S. К банку этому отношения не имею, просто решил загуглить выдачу по запросу "пентест" и наткнулся на эту заметку о старой заметке %)

    P.P.S. 1 и 4 пункт относятся к сферической баге на сайта банка в вакууме. У данного конкретного банка дела могут быть более чем плохо, но выяснять это должны аудиторы и сертифицирующие организации.

    ОтветитьУдалить