Меню Содержимое
Главная
История взлома сайта и поиски этого Daun-а Печать E-mail

Скажите, как часто вы испытывали состояние, когда проснувшись утром вдруг обнаруживаете, что ваш любимый сайт, выглядит не так как он выглядел вечером? Я думаю большая половина владельцев сайтов не испытывала этого никогда. Поэтому первое ощущение - это шок и растерянность. Ну прямо как в "Бриллиантовой руке": - "Шеф все пропало ...".

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

Обсудить новость в форуме. (0 сообщений)

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

Я даже не понял сначала кто это. У меня в работе было несколько заказчиков и есть еще свои проекты. Я начал смотреть где, что и как.

Зашел на свой сайт - в норме. Зашел на сайт портала города - в норме. Зашел на сайт фармацевтической компании, тоже в норме.

И тут вдруг меня посещает проснувшаяся мысль. Говорю:
- А какой сайт взломали?
- Как какой, mesto.co.il !!!
- Саш, ты что ли, я с просони никак не мог понять кто это. Ты что из Израиля звонишь?
- Да, да, Влад, что делать?
...

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

Успокоив Сашу, как мог, я сказал, что попробуем сделать все возможное. И главное, только 2 дня назад я закончил на этом сайте правку скриптов и вывод нового раздела фото-галереи(я не админ сайта, был лишь привлеченным программистом).

Первое, что делаю, это сохраняю для истории и доказательства - картинку взломанного сайта. Далее пытаюсь зайти в админку сайта - ничего не получается, похоже, что или поменяли пароль или просто удалили всех админов сайта. Сайт работает под управлением CMS Joomla. Ладно думаю, посмотрим. Захожу по ftp на площадку сайта и редактирую файл конфигурации, задаю параметр вывода страницы:
"Сайт сейчас закрыт на техническое обслуживание. Пожалуйста зайдите позже.".

После этого там же в конфиге нахожу, что переменная с названием сайта:
$mosConfig_sitename = ' Mesto.co.il Молодежный Израильский портал ';
имеет другое содержимое:
$mosConfig_sitename = ' Mesto.co.il Сайт нахрен взломан админы не доделки лохи учитесь работать';

Юмор тот еще, сразу видно с головой у парня не в порядке, видимо или в детстве обидили или просто урод выскочка (это первое из анализа, что пришло в голову). Как правило профессионалы взлощики(дефейсеры) так себя не ведут. Я не знаю как это объяснить, но чуство было такое, стиль написания говорил об этом.

Зайдя в каталог темплайтов сайта обнаружил, что темплайт не стерт полностью, а в него просто дописали подобные фразы. Попутно обнаруживаю, что каталог с фотками галлереи пользователей пуст. Так, это уже серьезнее. Что делать? Теперь главное посмотреть в панеле управления площадкой, что там осталось, зашел ли он туда и есть ли бакапы сайта!!! Без этого дело выглядело полной трубой.

Захожу и вижу, что да есть бакапы сайта за несколько последних дней, причем если все бакапы занимают где-то 230-232 Мбайта, то вчерашний бакап всего лишь 74 Мбайта. Да-а-а. Сразу становиться виден масштаб трагедии. Сайт почищен и изрядно. Ну что, теперь главное, чтобы провайдер не подкачал, чтобы эти бакапы были не битыми, а это часто может случаться, и по закону подлости всегда случается в самый неподходящий момент.

Опять позвонил Саша, спрашивал как удут дела по востановлению, я объяснил, что сейчас качаю на свой комп все бакапы, а так как скорость скачки с данного сервера не высокая, в районе 40 Кбайт/сек, то для заливки всего архива (порядка 900 Мбайт) уйдет некоторое количество часов, а потом мне надо будет еще залить это все назад  на сайт в распакованном виде. Говорю Саше, что надо срочно поменять все пароли захода на площадку, емайлов и ftp логинов для сайта и прошу его этим заняться. Он мне сказал, что у него пока есть подозрения только на одного человека, его логин на нашем сайте RESSI и у него есть конкурирующий сайт сходной тематики. К тому же он уже говорил, что хакнет сайт. Ну думаю, мало ли кто из нас чего кому говорит в жизни, если на все это обращать внимание... И так вернемся к нашим баранам - закачке бакапа. Вы спросите почему я это не делал на самом сайте? Да потому, что это винда 2003 сервер и у меня нет шела или удаленного терминала на сервере. Ладно, с видной на сервере это лирическое отступление, кто в курсе тот поймет. Пока качаются бакапы, через админку площадки захожу в управление базами данных, захожу в базу пользователей сайта и вижу, что там полный облом, всего одна запись:

id name username email usertype block sendEmail gid registerDate lastvisitDate
1135 Daun Daun Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script Super Administrator 0 0 25 2007-05-24 02:52:41 0000-00-00 00:00:00

  Да уж, но все же одна зацепка есть - это время создания записи (хотя если честно, верить ей можно было с трудом, ведь если в базу данных зашли, то это поле тоже могли поменять) 2007-05-24 02:52:41. Отметим это время, в дальнейшем мы к нему еще вернемся.

И так когда у меня все бакапы закачались я посмотрел и увидел, что бакап за 23 число выглядит вполне прилично и содержит практически все в том виде, в каком сервер существовал на 23 в ночь. Это просто сказка в данной ситуации. Я тут же сообщаю об этом Саше и начинаю восстановление сайта. Но сначала на всякий случай делаю бакап сломанной базы данных. Далее я восстанавливаю ее из архива. Сразу, на всякий случай делаю всех админов сайта простыми юзерами (оставив лишь себя, но не забыв при этом поменять пароль). И затем пробую зайти в админку сайта и вижу, что не все уж так плохо. Далее закачиваю "нормальный" темплайт сайта и запустив на закачку все стертые разделы с фотографиями начинаю анализ логфайлов.

Для начала нахожу на сайте подозрительного пользователя с логином RESSI и увидев дату последнего захода на сайт отписываю Саше, что это вряд-ли он, так как его последний заход на сайт был в 2006-12-25 02:57:08 (это по состоянию на 23 число, запомним это!!!)

id name username email usertype block sendEmail gid registerDate lastvisitDate
142 RESSI RESSI Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script Author 0 0 19 2006-12-09 06:14:51 2006-12-25 02:57:08

Но ведь это данные которые можно править, это же не логи. Или возможно он и не правил время своего захода, а до 23 числа просто и не логинился на сайт под этим именем. Так что пока пусто. Пробую найти записи лог-файла обращения к сайту в 2007-05-24 02:52:41. Сначала ничего не нахожу, но потом быстро соображаю, что в логах время отличается ровно на 2 часа, т.е. в логах время указано по "Гринвичу", а в базе данных по местному времени.

И так что же я нахожу в это время в логах? Я как увидел, просто не поверил сначала своим глазам (а вообще иногда винда бывает и ничего, уж очень у нее лог информативный, это мне в ней уже нравиться :) ):

2007-05-24 00:52:41 POST /administrator/index2.php - 80 - 89.1.103.88 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+SIMBAR+Enabled;+SIMBAR=
{B33C4E30-CA29-48f7-B6F4-F28B51C6D316};+SIMBAR=0;+.NET+CLR+1.1.4322) 1b623e68d8991e7aa1220fb0f90e50c5=644323949968f166ec57ab3345f652c7b823
6285288a65e2eb4521344a2ab20f142;+jalUserName=RESSI;+GALLERYSID=8e3b885f
03201b1fe714942bd0e462c3;+d56d10654405ea87a70d14eabc1c5eac=cd16d1863841
86e1999a30fc65678f89 http://mesto.co.il/administrator/index2.php mesto.co.il 200 0 0 560 867 109

2007-05-24 00:52:42 GET /administrator/index2.php option=com_users&mosmsg=%D3%F1%EF%E5
%F8%ED%EE+%E7%E0%EF%E8%F1%E0%ED+
%EF%EE%EB%FC%E7%EE%E2%E0%F2%E5%EB
%FC%3A
+Daun 80 - 89.1.103.88 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+
SV1;+SIMBAR+Enabled;+SIMBAR={B33C4E30-CA29-48f7-B6F4-F28B51C6D316};+SIMBAR=0;+.NET+CLR+1.1.4322) 1b623e68d8991e7aa1220fb0f90e50c5=644323949968f166ec57ab3345f652c7b8236285288a
65e2eb4521344a2ab20f142;+jalUserName=RESSI;+GALLERYSID=8e3b885f03201b1fe714942
bd0e462c3;+d56d10654405ea87a70d14eabc1c5eac=cd16d186384186e1999a30fc65678f89
- mesto.co.il 200 0 0 77273 666 1015

И там мы видим, что в  2007-05-24 00:52:41 в административной части сайта юзером RESSI бы послан POST запрос (команда). Это время полностью совпадает со временем создания юзера Daun. Далее, после выполнения команды (через 1 секунду 2007-05-24 00:52:42), скрипт перебрасывает данного пользователя RESSI на эту же страницу, но с системным сообщением:

&mosmsg=%D3%F1%EF%E5%F8%ED%EE+%E7%E0%EF%E8%F1%E0%ED+%EF%EE%EB%FC %E7%EE%E2%E0%F2%E5%EB%FC%3A+Daun
что в переводе на русский составляет: 
&mosmsg=Успешно записан пользователь: Daun

Вы можете сами это проверить подставив это сообщение в строку запроса, например, гугла:
http://www.google.com/search?q=mosmsg=%D3%F1%EF%E5%F8%ED%EE+%E7%E0%EF%E8%F1%E0%
ED+%EF%EE%EB%FC%20%E7%EE%E2%E0%F2%E5%EB%FC%3A+Daun


А я напомню, что это был на утро единственный пользователь в базе данных на сервере, и такое состояние базы данных записано в бакапе за 24 число. И кстати по состоянию на 23 число (после восстановления базы данных) этот пользователь RESSI числился простым юзером, а никак не админом. Поэтому сразу становиться ясно, что это именно тот, кто нам нужен, это виновник торжества!
Так же из этого лога видно, с какого адреса работал этот недоделанный. Пробежавшись поиском по логу, я так же нашел место, где он очистил директорию с фотографиями пользователей:

2007-05-24 01:27:07 POST /administrator/index2.php option=com_joomlaxplorer
&action=post&dir=photo&order=name&srt=yes 80 - 89.1.103.88 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+SIMBAR+Enabled;+SIMBAR={B33C4E30-
CA29-48f7-B6F4-F28B51C6D316};+SIMBAR=0;+.NET+CLR+1.1.4322)
d56d10654405ea87a70d14eabc1c5eac=cd16d186384186e1999a30fc65678f89;+1b623e68d8991e7
aa1220fb0f90e50c5=+;+jalUserName=RESSI;+GALLERYSID=8e3b885f03201b1fe714942bd0e462c3;
+d444dab817a3c9afea60be7391b8d624=845b4396cc42131ba73b7e398bf2f8e0;+mosvisitor=1;+
webfxtab_modules-cpanel=0;+webfxtab_content-pane=0 http://mesto.co.il/administrator/index2.php
?option=com_joomlaxplorer&action=list&dir=photo&order=name&srt=yes
mesto.co.il 200 0 0 726 996 1234

Из этого так же стало ясно, чем он работал, и как правил тепмлайты сайта. Он делал это с помошью компонента com_joomlaxplorer. Вообще данный компонент весьма опасно держать в админки сайта, это же своего рода Web Нортон-Командер. С его помощью на сайте можно делать все: удалять, редактировать, перемещать файлы и директории. Забегая вперед, скажу, что сразу снес этот компонент от греха подальше.

Анализируя логи дальше, я пришел к выводу, что этот Даун-РЕССИ действовал весь вечер только с одного ip адреса, а это значит, что скорее всего он действительно Даун, и вряд ли этот адрес принадлежит ананимному прокси-серверу. Ну что ж, пора с тобой познакомиться поближе RESSI-Daun!!!  И так смотрим:
root#nslookup 89.1.103.88
Server:         217.16.22.12
Address:        217.16.22.12#53
Non-authoritative answer:
88.103.1.89.in-addr.arpa        name = 89.1.103.88.dynamic.barak-online.net.

Заходим на сайт http://www.barak-online.net и видим, что это израильский сайт интернет-провайдера. Далее находим русскоязычную страницу сайта и далее видим, что это провайдер, предоставляющие ADSL подключения. Опаньки, осталось только забежать в полицейское управление по борьбе с преступлениями в сфере ИТ и взять клиента тепленьким, ибо вычислить адрес проживания и подключения ADSL не просто, а очень просто. Даже  если у провайдера ip адреса выдаются динамически, то найти в логах провайдера какому клиенту принадлежал этот адрес в ночь на 24 мая не составляет никакого труда для органов, этим занимающимся профессионально.
И так воставновив и снова включив сайт я несколько расслабился и пошел отдохнуть. Помните, что с утра я был очень сильно не выспавшийся. Не, ну кто мог предположить, что этот Даун, который можно сказать просто оставил за собой подробнейший журнал о том, что он, когда он и как делал, и где его место жительства, решиться делать еще что-то. А в прочем если даже и не решится, теперь у нас есть сохраненный бакап и как в песенке поется: "Нам не страшен серый волк, серый волк, серый волк...".
И вдруг вечером примерно в семь часов, когда я был уже в летнем ресторанчике со своим старым знакомым, мне на сотовый звонок и взволнованный Саша говорит, что сайт опять хакнули. Ну ничего себе думаю, у дауна вообще наверное крыша поехала, он вообще наверное оборзел, думает, что он такой крутой, и может делать все безнаказанно. А сам говорю, да не волнуйся ты так сильно, сейчас дойду до дома и максимум через 10-20 минут будет сайт в первозданном виде, а я займусь уже тогда расследованием дальше, найдя где он и как заходит на сайт и как делает себя админом. Я конечно и так это планировал сделать, но в более спокойной обстановке. Ну кто бы мог подумать, что Дауны могут возвращаться, оставляя новые и новые доказательства.

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

2007-05-24 18:46:12 GET /administrator/components/com_joomlaxplorer/_img/joomla_x_icon.png
- 80 - 89.1.103.88 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;
+SIMBAR+Enabled;+SIMBAR={B33C4E30-CA29-48f7-B6F4-F28B51C6D316};+SIMBAR=
0;+.NET+CLR+1.1.4322) jalUserName=RESSI;+GALLERYSID=
8e3b885f03201b1fe714942bd0e462c3;+d56d10654405ea87a70d14eabc1c5eac=
a91578b27c9f48d12b81eef3386a2736 http://mesto.co.il/administrator/index2.php
?option=com_content&sectionid=0&mosmsg=%CC%E0%F2%E5%F0%E8%E0%EB+-
+%DF+%E6%E5+%E1%EB%FF+%F1%EA%E0%E7%E0%EB+%F1%E0%E9%
F2+%E2%E7%EB%EE%EC%E0%ED+%ED%E0%F5%F0%E5%ED+
-+%F3%F1%EF%E5%F8%ED%EE+%F1%EE%F5%F0%E0%ED%E5%ED

mesto.co.il 200 0 0 959 842 15

&mosmsg=%CC%E0%F2%E5%F0%E8%E0%EB+-+%DF+%E6%E5+%E1%EB%FF+%F1%EA%E0%
E7%E0%EB+%F1%E0%E9%F2+%E2%E7%EB%EE%EC%E0%ED+%ED%E0%F5%F0%E5%ED+-
+%F3%F1%EF%E5%F8%ED%EE+%F1%EE%F5%F0%E0%ED%E5%ED

Что в переводе означает:
&mosmsg=Материал - Я же бля сказал сайт взломан нахрен - успешно сохранен

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

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

Письмо первое:

Тема: Mesto.co.il Молодежный Израильский портал  / Video Portal

Письмо с сайта ' Mesto.co.il Молодежный Израильский портал ' Сообщение: Портал www.IsraNetClub.com рад вам сообщить об открытии нового раздела Фильмы онлаин теперь вы можете смотреть фильмы без скачивания и ожидания! Прямая трансляция так что не теряйте времени и заходите на http://video.isranetclub.com Portal www.IsraNetClub.com rad vam soobwit' ob otkrytii novogo razdela Fil'my onlain teper' vy mozhete smotret' fil'my bez skachivanija i ozhidanija! Prjamaja transljacija tak chto ne terjajte vremeni i zahodite na http://video.isranetclub.com .

Письмо второе:

Тема: Mesto.co.il Молодежный Израильский портал  / Igra 

Письмо с сайта ' Mesto.co.il Молодежный Израильский портал ' Сообщение: Привет, игрок RESSI ( Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script ) хотел бы тебя пригласить в браузерную стратегическую игру. RESSI играет в игровом мире ru2 и выбрал следующий народ: Римляне. Чтобы зарегистрироваться, нажми на эту ссылку: http://www.travian.ru/?uc=ru2_42892&signup .

Даун, он ведь и в Африке даун, не говоря уж об Израиле.В это же время я заметил, что на сайте mesto.co.il в главном меню появился раздел видео портала и ссылка ведущая соответствующий сайт этого RESSI. Мало того, что он это сделал, он еще по аске написал Саше, что это сделал он, ну просто бери его пока он тепленький. Хотя и так уже видно, кто, что рекламирует, и какой опять ник мелькает в сообщении. Ну что пора познакомиться с Дауном, что называется в лицо. Я не буду писать адрес его сайта(он указан им в письме) и не буду давать урл его персональной странички здесь, ибо это легко сделать в поиске на www.google.com, просто поищите по слову RESSI и вы все найдете.

Ну что ж опять исправив это, я убрал модуль рассылки, анализируя дальше заметил, что на сайте был пустой пароль коннекта к базе данных (я себе и не мог предположить, что такое может быть, поэтому даже не смотрел сначала конфиг сайта), а сама mysql открыта для доступа из интернета. Я поменял логин и довавил пароль коннекта к базе. Изменил каталог, где находиться админка сайта. Еще раз поменял пароли и ftp и администраторов сайта и пароль захода на площадку хостера. Конечно надо было бы еще и проапдейтить jooml-у, она там 10 версии, но она уже была сильно правленная, поэтому процедура перехода на 12 версию в которой убрали много дыр и в частности по sql-injection мне представляться весьма затратным и не тривиальным занятием. Поэтому на данный момент было сделано ограничение доступа и измение имени каталога администрирования на очень трудно находимый-подбираемый методом перебора. Тьфу, тьфу, тьфу, но пока больше дауны не посещали и не баловались. Конечно нет страховки от этого в будущем, все мы не безгрешны, не безгрешны и все другие разработчики, и люди участвовавшие в создании и правке скриптов данного сайта, но на мой взгляд сделано главное. Это найден и установлен тот мягко говоря "нехороший человек", который это все сделал.

Я не занимаюсь профессионально защитой данных и сайтов от взлома, я просто занимаюсь программированием и настройкой и администрирование сайтов клиентов. Я никогда не занимался хакерством, даже для пробы, поэтому с методами взлома и проникновения я знаком по беглому чтению статей в интернете, но в данной статье я решил показать как имея здравый смысл и логику, прибегая к несложному анализу все-таки выявлять кто, что, когда, и как нагадил на твоем сайте. А главный наверное урок из всего этого можно сделать один:

"Далайте резервные копии сайта, и если есть возможность, то качайте их с сервера провайдера к себе на локальные машины"

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

 

 

Продолжение, развитие истории. Добавлено 08.06.2007

Вчера вечером у меня на сотовом раздался звонок с номера +972544937351 и человек представившийся Алексом сказал, что он тот, про кого я написал в этой статье. После не продолжительного разговора в адрес данного сайта и его владельцев, в мой адрес были высказаны угрозы потери данных (сайтов). Дословно было сказано: - "у тебя же много сделано сайтов на джумле, ты делаешь все на ней, а ты не боишься все эти сайты вдруг потерять". Контекст разговора шел о том, зачем я написал эту статью. Далее прозвучало, что у него по миру много друзей и, что мне может быть не сладко за то, что сделал(написал статью и опубликовал ее здесь и особенно на своем личном сайте http://www.chubuk.ru

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

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

Автор: Влад Чубук http://www.chubuk.ru

Обсудить новость в форуме. (0 сообщений)
 
« Пред.   След. »

IT Законы Мэрфи

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


Sape.ru