пятница, 14 января 2011 г.

[Из песочницы] История попавшегося хакера

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

Вступление


Увлекаясь темой информационной безопасности, время от времени, искал уязвимости на сайтах. Это было такое своеобразное хобби. Дефейсы и прочий вандализм я не одобряю, поэтому такими пакостями не занимался. Сразу оговорюсь, что особо выдающимися знаниями и умениями я не обладаю и хакером себя не считаю, но, чтобы в большинстве случаев через стандартную уязвимость в веб-приложении получить доступ к командной строке сервера, навыков у меня, вроде бы, достаточно. В общем всё это было баловство.

Пен-тестинг провайдера


Вдоволь наигравшись с простыми сайтами я решил переключиться на что-нибудь посерьёзнее. Осенью 2009 решил проверить сервера и сайты своего провайдера. Вот что из этого получилось.

Технические детали проникновения

Действия, описанные ниже, проводились с VDS, находящимся в Норвегии. На нём был установлен Socks proxy для обеспечения анонимности (как оказалось, этого было недостаточно). Сканирование портов на наличие уязвимых служб осуществлялось с помощью сканера nmap с ключами -sS -sV -O (стелс-сканирование, определение версий демонов и определение операционной системы, соответственно). В редких случаях использовал ключ -A (агрессивное сканирование), который выводит дополнительную информацию о службах + все предыдущие опции + трассировка. Директории сканировал по словарям утилитой DirBuster и самописным скриптом на Питоне и далее вручную искал уязвимости.

На основных провайдерских сайтах и серверах уязвимостей выявлено не было. Тогда мой взор упал на хостинг, предоставляемый провайдером. Список хостящихся сайтов на сервере, выделенном специально под хостинг, был получен с помощью сервиса Reverse IP, который выводит список доменов, привязанных к определённому IP-адресу. Далее ручками прошёлся по сайтам и мне повезло — на одном из них я нашёл уязвимость типа PHP-инъекция, на другом была обнаружена уязвимость к SQL-инъекции (которую я оставил на всякий пожарный и она мне в дальнейшем не пригодилась). С помощью PHP-инъекции открыл файл /etc/passwd со списком всех пользователей: site/index.php?page=../../../../../../etc/passwd%00. С помощью своего скрипта был создан комболист вида login:login для последующего брутфорса FTP.

Удача улыбнулась мне ещё раз и у меня был получен доступ к FTP одного из сайтов. Кратко опишу мои следующие действия: заливка шелла на сайт → повышение привилегий на сервере (с помощью публичного эксплоита, так как ядро Linux на сервере было не первой свежести) → брутфорс администраторских учётных записей из файла с хэшами паролей /etc/shadow. Пользователю, к которому я удачно подобрал пароль, был разрешён вход по SSH на сервер биллинга провайдера по SSH-ключу без защиты паролем. Этим я воспользовался и беспрепятственно проник на биллинговый сервер.

В дальнейшем было обнаружено, что некоторые администраторы использовали один и тот же пароль для доступа к различным интерфейсам администрирования. В том числе и на критическую часть системы — биллинг (CRM). К провайдеру на тот момент было подключено более 60000 клиентов. Так как всё это я проделывал не из корыстных побуждений, я ничего там не менял, а только подчистил лог-файлы с помощью стандартной консольной утилиты sed: sed 's/my_ip/new_ip/' file.log > file.log.tmp && mv file.log.tmp file.log

Взлом был совершён чисто из спортивного интереса и любопытства узнать, как там всё внутри крутится. О последствиях особо не задумывался и личной безопасностью я пренебрегал. Насмотрелся я на внутренности организации и благополучно об этом забыл, не удалив шелл. Пока не…

Попался!


По злой иронии за мной приехали 1 апреля рано утром сотрудники управления «К» ГУВД города с ордером на обыск. Дело было нешуточное. Такой неожиданный поворот событий поверг меня в шок. Всё проходило достаточно тихо: никаких «маски-шоу» с заламыванием рук и наручниками не было. Опер-уполномоченный привёл двух соседей в качестве понятых для изъятия системного блока и носителей информации. Затем посадили в фургон и увезли в отделение для дачи показаний. Там мне предоставили государственного защитника (адвоката). Отрицать я ничего не стал и активно сотрудничал со следствием. А мой прокол заключался в том, что я недостаточно внимательно чистил логи и мой IP восстановили из бэкапа.

В ходе экспертизы у меня на компьютере обнаружили файлик с адресами шеллов других нескольких взломанных серверов. По ним я мог получить дополнительные эпизоды, но состава преступления найдено не было, так как действий, подпадающих под статью 272 ч. 1 («Неправомерный доступ к компьютерной информации»), обнаружено не было. Я действительно там ничего не трогал и не удалял.

Дело вышло в 6 томов. Допрашивали очень подробно. Вызывали в течении полугода. Находился под подпиской о невыезде.

Суд

Судили меня по вышеуказанной статье 272 часть 1. Отягчающих обстоятельств не было, характеристики хорошие, корыстного умысла тоже не было. Исковых требований от провайдера не поступало, так как реального ущерба нанесено не было. В итоге приговорили к штрафу в 10000 рублей. Что называется легко отделался. Желание заниматься таким сомнительным хобби отпало. Но интерес к информационной безопасности остался.

Выводы


Ошибки со стороны «хакера», то есть меня:
  1. Пренебрёг использование OpenVPN.
  2. Я мог бы загружаться с зашифрованного носителя и потом надёжного его спрятать, тогда бы ничего не доказали.
  3. Также я не очень тщательно зачищал следы (а лучше вообще не стоило это делать).

Ошибки со стороны провайдера:
  1. Одинаковые пароли для доступа в разные административные интерфейсы.
  2. SSH-ключи не защищены паролем.
  3. Относительно слабые пароли.
  4. В панель администратора можно заходить с любого IP-адреса, так же как и подключаться по SSH.
  5. Старое и уязвимое ядро Linux.
  6. Относительно много свободы у хостинг-аккаунтов.

Так что товарищи хакеры и администраторы, не совершайте подобных глупостей!


Источник: Хабрахабр - Информационная безопасность
Оригинальная страница: [Из песочницы] История попавшегося хакера

Комментариев нет:

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