Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вымогатели взломали магазин, удалили базу и просят деньги, что делать?


Yoda

Recommended Posts

Вот с таким вопросом к нам пришел наш старый товарищ, несколько дней назад.

Цитата

 

Здравствуйте! Меня зовут Неумелый хакер. Я по поводу Вашего сайта - xxx.com .
Я занимаюсь поиском уязвимостей на заказ и для себя. В этот раз попался Ваш сайт на глаза.

У Вас есть множественные уязвимости, которые позволяют полностью считывать БД сайта, а так-же через некоторые дырки заливать любые скрипты-файлы (с последующим управлением сервера). 

Вот, к примеру последние данные о заказах...

Последние данные о зарегистрированных пользователях...

Данные админов (хэш так-же расшифровывается в спец. сервисах). Хотя в данном случае админка и не нужна вовсе, т.к. с помощью уязвимостей можно полностью. контролировать Всего на сайте 3 серьезные уязвимости + уязвимость сервера + еще кое что (все-таки услугу я не бесплатно предлагаю:)
. Каждая из которых имеет очень неприятные последствия и все приводят к сливу трафика, переадресации заказов на предопалты, заражению посетителей сайта и прочей гадости. Я таким не занимаюсь. Получаю деньги именно за работу.

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

В итоге получаете полностью безопасный сайт, который с гарантией защищен от взлома. Ни я , ни мои "коллеги о цеху" по другую сторону баррикад не смогут никак залезть на сайт и как-либо навредить.

Сегодня есть много свободного времени, поэтому выполню работу с хорошей скидкой. Цены тоже не деру (Учитывая что более-менее конторы берут от 1000$ за пентест 1 сайта и не факт то найдут все что я нашел. Я уже не говорю за разработчиков сайтов, которые в принципе и не виноваты в этом, но и исправить всю ситуацию не смогут, тем более  я убрал в логах самые серьезные следы, по которым можно было бы как-то что-то узнать). 


Жду Ваш ответ. Для примера удалил некоторые данные с БД (все можно восстановить).

С уважением, Глупый хакер.

 

 

 

У меня три вопроса:

Что бы вы сделали на месте владельца магазина?

Что сделать чтобы обезопасить себя от подобных "доброжелателей".

И что делать в ситуации, когда подобные действия практически над любым магазином могут быть реализованы  парой десятков авторов популярных дополнений?

 

  • +1 2
Надіслати
Поділитися на інших сайтах


0. настроил резервное копирование ежедневно

1. выбирать и сотрудничать с одной компанией\исполнителем с которого и спросить можно

2. заказать рефакторинг кода, предварительно просканировав код на наличие потенциального "говнокода", а дальше придерживаться п.1

Надіслати
Поділитися на інших сайтах

1. подумала бы что очередной развод на деньги и не велась бы на шантаж однозначно

таких предложений, как и предложений по сео-оптимизации,продвижению и т.п мне на почту приходят почти каждый день. При этом рассказывают сказки и о уязвимости, вскрытии,неоптимизированности,отсутствии в поиске-....ага случайно на мой сайт попали)

2. игнор и черный список, не будете им платить-не будете интересны

3.сделать копию сайта и дб  и делать откат при любом поползновении

Надіслати
Поділитися на інших сайтах

7 минут назад, auditor сказал:

0. настроил резервное копирование ежедневно

1. выбирать и сотрудничать с одной компанией\исполнителем с которого и спросить можно

2. заказать рефакторинг кода, предварительно просканировав код на наличие потенциального "говнокода", а дальше придерживаться п.1

0 - не спасает, я вам могу потихому на свою базу переключить, неделя две... А данных  у вас нету.
Ну чуток стало медленее не заметили, а через какое то время. Все аля улю.

1 - не до конца понятно как оценить скилл компании. Скажем так, разработчиков, квалификации которых я доверяю, со всего форума, можно посчитать по пальцем одной руки.

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

В данном случае рефакторинг - не вариант. Очень дорого и специалистов днем с огнем не найти, но выход есть)))!

  • +1 1
Надіслати
Поділитися на інших сайтах


1 минуту назад, alena967 сказал:

1. подумала бы что очередной развод на деньги и не велась бы на шантаж однозначно

таких предложений, как и предложений по сео-оптимизации,продвижению и т.п мне на почту приходят почти каждый день. При этом рассказывают сказки и о уязвимости, вскрытии,неоптимизированности,отсутствии в поиске-....ага случайно на мой сайт попали)

2. игнор и черный список, не будете им платить-не будете интересны

3.сделать копию сайта и дб  и делать откат при любом поползновении

1 - база таки была убита.

2 - таки да.

3 - ну можно каждые пять минут это делать. Это не работа.

Надіслати
Поділитися на інших сайтах


13 минут назад, Yoda сказал:

2 - таки да.

так это самое главное! интересен только тот кто платит

иначе хакер свое время тратит впустую

вскрыть можно все, даже подвалы фсб, другое дело интерес,который стоит за вскрытием

убрать причину=излечить от болезни

Надіслати
Поділитися на інших сайтах

не платить.

Иметь любой работоспособный бэкап

Иметь синхронизацию с црм или учетными программами.

Все потери можно восстановить с систем учета и даже с накладных почты, email о заказах.

 

 

И стоить написать заявление в органы. Был взлом, была кража персональных данных, вымогательство и т.д. Пусть и не помогут, но себя вы защитите от исков

Змінено користувачем prochet
Надіслати
Поділитися на інших сайтах


1 минуту назад, prochet сказал:

И стоить написать заявление в органы. Был взлом, была кража персональных данных, вымогательство и т.д. Пусть и не помогут, но себя вы защитите от исков

вот правильное дополнение к вышесказанному о бэкапе всего и вся!

Надіслати
Поділитися на інших сайтах

34 минуты назад, alena967 сказал:

вот правильное дополнение к вышесказанному о бэкапе всего и вся!

Бекап не спасает. Если он не под подушкой. Устранить все дыры тоже в принципе не возможно. Но можно не допускать подобного.

А заявление. На кого? На Васю из Тайланда? Который через три прокси пришёл. Хм... Бесполезно.

Надіслати
Поділитися на інших сайтах


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

и тут без разницы, кто куда чего там потом хакер напихал и вскрыл

если на шантаж не отвечать совсем-ну не будут на вас тратить свое время

ну не интересны вы им будете, ну вот от слова совсем)

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

данные клиентов в бд восстановить несложно

 

Надіслати
Поділитися на інших сайтах

0. Меняем все пароли 

1. Меняем 22 порт и делаем с root магию 

2. Закрываем все не нужные порты 

3. Прибиваем все доступы (FTP SSH) по IP если это возможно 

4. Настраиваем мониторинга изменений файлов, их есть достаточно, пример  https://habr.com/post/213895/

5. Навастриваем filt2ban 
6. Убиваем все что может запустит 

Спойлер

 


		'shell' => 
		[
			'eval\(',
			'shell_exec\(',
			'system\(',
			'exec\(',
			'passthru\(',
			'proc_open\(',
			'ssh2_exec\(',
			'ssh2_connect\(',
			'ssh2_tunnel\(',
		],

 

 

 

7. Проверяем все дыры SQL и убиваем все админеры которые можно запустить из вебморды 

8. Проверяем 

Спойлер

 


		'http_query' => 
		[
			'fsockopen\(',
			'file_get_contents\(',
			'curl_init\(',
			'socket_create\(',
		],

		'ftp' => 
		[
			'ftpconnect\(',
		],

 		'posix_getpwuid',
		'posix_getgrgid'

 

 

 

8. Проверяем все сторонние подключение к базе 

Спойлер

 


		'sql_connect' => 
		[
			'PDO\(',
			'mysqli\(',
			'mssql_connect\(',
			'mysql_connect\(',
			'pg_connect\(',
			'MongoDB\\Client\(',
			'MongoClient\(',
			'sqlsrv_connect\(',
		],

 

 

 

9. Прогоняем все через айболит 

10. Убиваем все формы загрузки файлов на сайт

11. Смотрим соседей (к примеру WP), если есть такие 

12. Пользуемся  https://www.exploit-db.com 

13. Настраиваем верно права на файлы и папки 

14. Не забываем о безопасной настройки сервера 

 

Мониторим ...

  • +1 1
Надіслати
Поділитися на інших сайтах

2 часа назад, Yoda сказал:

Что бы вы сделали на месте владельца магазина?

Послал бы на х.. этого студента сутенера.

Аргументирую. Уже давно хостеры, нормальные хостеры! делают бекапы, независимо от настроенных клиентом, в т.ч. и вдс и общепит. Да, согласен, что раз в неделю или три раза, но все же. А письмо рассчитано только на тех, кто вообще ничего не понимает в этом. И если клюнет, то хорошо, если нет, то и фиг с ним, и скорей всего делать ничего не будет. Не удивлюсь, что письмо отправлено из Магадана. Обычный лохоразвод.

 

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

Надіслати
Поділитися на інших сайтах

17 минут назад, ibond сказал:

Послал бы на х.. этого студента сутенера.

Аргументирую. Уже давно хостеры, нормальные хостеры! делают бекапы, независимо от настроенных клиентом, в т.ч. и вдс и общепит. Да, согласен, что раз в неделю или три раза, но все же. А письмо рассчитано только на тех, кто вообще ничего не понимает в этом. И если клюнет, то хорошо, если нет, то и фиг с ним, и скорей всего делать ничего не будет. Не удивлюсь, что письмо отправлено из Магадана. Обычный лохоразвод.

 

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

Бекап в нашем случае был. Но он мог быть скомпроментирован давно, а отследить 200 000 строк кода движка - ну увольте нереально. Тут попался глупый хакер.
Ну и при векторе атаке, в случае, когда база переводится на другой хост, и в бекапах она будет за три месяца назад - если будет. Не выход.

Бекапы хорошо но бекапы бекапам рознь. И это первая большая ошибка большинства. Надеятся на то что где-то они там есть.

Нет это не шантаж, возможно заказ, возможно "мимопроходил". 
И в данном случае я могу допустить, что скомпроментирован был непосредственно сервер хостера, а не движок. 
Но в целом это неважно. 

 

16 минут назад, magneto2010 сказал:

@Yoda  Ну вы так рассказываете и отвечаете, как будто у вас есть ответ, так огласите его?

Если я расскажу просто так, то это прочитают и пройдут мимо, либо будут бездумно имплементировать советы от гугла, как вон кто-то выше написал простыню бездумных хауту.
Даже не думая о том, что не все магазины живут на серверах, и даже у тех кто живет на Vps не всегда есть навыки внедрить 20% из этих нагугленных наскорую руку HOWTO.


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

Я чуть позже изложу развернуто свои мысли по этому поводу.

 

  • +1 2
Надіслати
Поділитися на інших сайтах


3 часа назад, Yoda сказал:

А заявление. На кого? На Васю из Тайланда? Который через три прокси пришёл. Хм... Бесполезно.

не важно на кого. есть бумажка и всё.

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

Надіслати
Поділитися на інших сайтах


2 минуты назад, prochet сказал:

не важно на кого. есть бумажка и всё.

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

В данном случае есть переписка с хостера. Факт взлома легко доказать.

Надіслати
Поділитися на інших сайтах


Итак, кроме того что не платить ни при каких обстоятельствах толковых советов 0.

Поэтому давайте разберем ситуацию по косточкам.

 

1. У нас слава богу был бекап. Но он мог бы быть скомпроментирован давно, поэтому когда вам сделали магазин - сразу сделайте бекап к себе на локальный компьютер и храните его как зеницу ока и руками сливайте раз в месяц.  И под подушку.

2. Когда мы запросили бекап у хостера, мы его запросили выложить удаленно виде архивов, а не восстановить в окружение.

Вот это очень важный момент. Мы не знаем, что у нас уязвимо. Движок, или хостинг. 

Просто примите это как аксиому - шаред хостинги дырявые. Если на шареде нет уязвимостей, то их просто либо не нашли, либо не искали, либо нашли и никто об этом не знает.

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

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

3. Список методов безопасности, которые можно внедрить на сервере - огромен. От suhosin мода, который запрещает выполнение функции eval до развертывания git и работы и допуска любых подрядчиков, только к dev ветке проекта. Но эти методы доступны отнюдь не всем и не всегда. Я тот же git просто физически не перевариваю.

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


Итак... Все советы выполнимы, только в случае если у вас таки свой сервер.

1 - меняем все пароли, убиваем лишних пользователей в админке, убираем фтп, переименовываем phpmyadmin, чистим весь хлам в корне (php.info, adminer и так далее), выносим конфиги за пределы root-директории, закрываем admin через htpass, меняем порты ssh, в идеале коннект к ssh по ключу.

2 - это был 1.5 меняем mysql на mysqli, отключаем вывод ошибок не в магазине а на уровне настроек сервера.

3 - зафильтровываем весь ввод на уровне сервера. Мы физически не можем провести рефакторинг всего кода. А вот сделать правило в nginx подобного вида легко:

        ## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string  "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string  "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
   .....

4. Закрываем все потенциально уязвимые директории, разрешая выполнять только index.php

 

    location ~* /(?:cache|logs|storage|image|download|system|export|vqmod)/.*\.php$ {
        deny all;
    }

5. добавляем еще немножко безопасности в nginx:

 

    server_tokens off;
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;

6. Дополнительно мы зафильтровали все что приходит к нам в request на фронт, чтобы избавиться от xss узявимостей, расставили несколько ловушек и ложных ресурсов. Как то подставили по адресу phpmyadmin голую форму.

 

Но в целом, надо понимать есть несколько векторов атаки.

Если у вас утекли фтп-пароли, все пропало.

Если у вас в корне лежит backup.zip или baza_moego_magazina.zip - все пропало.

Если у вас есть dev.magazin.com и там пароль admin admin все пропало. 
Если у вас под одним пользователем десять магазинов, и три блога на старом WP - у вас открытая дверь через задний двор любому.
Если у вас включен вывод ошибок и вы используете mysql, все пропало. 

Если вы храните в базе данных фтп лог-пасс и smtp лог-пасс к личной почте - это оооооооооочень глупо.
Если вам наложили или направили каких то файлов движка, которые можно запустить из мира и это разрешено правилами сервера - все пропало.

 

Тоесть вам необходимо не читать и внедрять бездумно правила из гугла как что закрыть, а понимание что делать. 
А это бекапы под подушкой. Безопасное нескомпроментированое окружение (свой сервер) с закрытыми потенцильными лазейками и стабильная свежая версия движка с набором проверенных модулей. Тогда вы в принципе можете спать спокойно.


И еще раз. Включенные логи ошибок, PHP_INFO и шаред хостинги - это зло!

  • +1 3
Надіслати
Поділитися на інших сайтах


2 минуты назад, noviktamw сказал:

если данные важные то можно и платить. Хотя лучше нет, т.к. могут и не восстановить.

 

А так это опыт- ценный!!!

 

 

Если 1 раз заплатить то с вас не слезут потом, это ж азы лохотронов

Надіслати
Поділитися на інших сайтах

1 час назад, spectre сказал:

Если 1 раз заплатить то с вас не слезут потом, это ж азы лохотронов

по разному бывает.

Можно восстановить а потом принять меры защиты и архивации.

Вопрос ценности информации.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.