Как стать автором
Обновить

Комментарии 73

Спасибо за статью. Очень интересно было. Только не было раскрыто — как получили root доступ?
Ну, если говорят что
почва для взлома была вполне плодородной

очевидно, устаревший софт какой-то торчал. Типа того, что какой-нибудь непатченный вордпресс/DLE/Drupal/Joomla, или дырявый плагин в нем, где можно получить локальный шелл, а потом повысить привилегии через какие-нибудь иные сплоиты.

Но ведь на фронтенде кроме прокси ничего не было...


взлом не мог коснуться кода сайта и баз данных.
тут может я не очень понимаю, что значит «взлом не мог коснуться кода сайта».
ведь и не трогая код можно добавить какой-нибудь аттач kartinka.jpg.php в форму комментария, и потом выполнить его через /uploads/kartinka.jpg.php
(если конечно там настолько странный софт стоит и права на папки аналогично странные)

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

Вполне можно подменить то, что клиент заливает. Админ. Мы ж MitM в обе стороны, причем доверенный посредник.

Надо было им хитрее поступить, скомпилировать такую же версию, а вместо скрытия всего конфига, утаить только свою часть. Но интересно, как же рута получили. Вдруг дыра на сайте, и если даже дыра, бэкенд наверняка от обычного пользователя работает, то есть ещё и права подняли.
НЛО прилетело и опубликовало эту надпись здесь
Да как же вы стати читаете?
Сайт на другом хосте
auditd хотя бы на систему накатите, проще искать будет изменения

Разве strace не показывает, к каким файлам было обращение? А скомпилированный конфиг было бы видно через strings.

Символы ведь совсем необязательно хранить в ascii. Да хотя бы поксорить их могли.

Да, я понял уже. Это несложно сделать. Другое странно: запилить такой изящный хак с подменой выдачи, и лопухнуться с версией nginx? Модифицировать ведь все равно какие исходники.
И что хакеры не додумались strip нуть символы, странно как-то.

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

Как-то сложно и узкоспециализировано для готового решения. Если уж есть доступ к прокси, и хочется вмешиваться в отдаваемый контент, можно и не заморачиваться в скрытие рабочего конфига. Закодировать замену некоторых символов по некоторым условиям можно и прямо внутри кода nginx. Также (если тут действительно конкуренты замешаны) странно, что данные из формы заказа пилы не дублируются, например, в telegram-контакт конкурента.
очевидно, конфиг был модифицирован в коде nginx, а не получен из файлов
Вопрос. Почему Вы не видели этих зловредных включений, когда просматривали конфиги через cat?
Я припоминаю баг в bash-e нескольколетней давности, когда можно было скрыть содержимое скрипта при просмотре в консоли, но деталей не помню, если честно.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за статью.
Хорошая нетривиальная статья. Я тоже «вполне себе UNIX-пользователь», поэтому читать было интересно)
Как сервер могли взломать? Это nginx решето или что-то другое?
nginx — достаточно безопасный и очень стабильный продукт. Да и серьезных багов в нем очень мало. Проблема в 9 случаев из 10 в Wordpress/Joomla/плагинах для них и т.д т.п.
Хакают через дырявые плагины, а потом заливают шелл и уже повышают привилегии.
Только по тексту ВордПресс на другом сервере.
Я как-то совсем не уверен на 100%, бэкэнды не затронуты, ну стоит оно на другом сервере, но вот по последней ссылке в статье, там есть каменты как минимум, значит есть динамика которая смотрит наружу, соотв возможно злоумышленники сломали бэк и уже с него пролезали на фронт. Как-то организована серая адресация между хостами, значит уже не только http/https их связывает, есть vpn либо это все на одном гипервизоре. Много недосказанного в статье, хочется подробностей )
Позволю себе высказать свое мнение об ситуации. Полностью поддерживаю Ваши слова. Только вот, как сказали ниже, бекенд сайта был на другом хосте. Из-за этого мне история кажется странной. Как чтиво — очень понравилось. Но если на балансере торчали наружу только «обновленные» nginx и ssh, то гораздо целесообразнее было бы ломать именно сайт (поймать момент когда не вовремя обновят какие то плагины или библиотеки, таких мест на веб-сайтах обычно много), а это дало бы доступ до бекенда. И если правда история реальна, то информация о том, каким образом сломали именно фронтенд, мне кажется очень полезной.
НЛО прилетело и опубликовало эту надпись здесь
Достаточно просто ставить fail2ban ;)
НЛО прилетело и опубликовало эту надпись здесь

В 99% случаев это все нафиг не нужно. Достаточно вообще отключить рутовый вход и входить под непривилегированным юзером, после чего делать su. Ботнет любого размера становится бесполезен, сбрутить пароль не зная логина становится невозможным, даже без fail2ban (но с ним всё же лучше).

НЛО прилетело и опубликовало эту надпись здесь
И вам: сайт на другом хосте
Интересно было бы узнать, у вашего друга этот сайт мониторился в Яндекс.Вебмастере или Google Search Console?
Просто такая абракадабра из букв могла бы рассматриваться как нарушение или даже критическое нарушение, могло бы отображаться какое-то предупреждение в этих инструментах…
это СЕО статья для сайта о пилах, на который ссылка в самом конце — а вся история просто придумана ;)
Может и не совсем придумана, но ссылка не просто так )) Сразу не обратил внимание на ссылки…
По крайней мере в Яндексе и Google по запросу «site:opilah.com» в сниппетах и кэше я не нашел страниц с подмененными буквами a и o. Могло, конечно, много времени пройти уже и кэш обновился…
В вебархиве тоже не нашел.
А там не должно их быть в любом случае, исходя из
Определяются User-Agent'ы yandex/google:

Исключаются служебные страницы wordpress:

И для тех, кто попал под оба вышеперечисленных условия
...
Вполне возможно, и да, это круто!
Стройматериалы, походу реально сверхконкурентная ниша,
если там делают такие взломы, или даже если для получения ссылки, пишутся такие статьи.
Более того, могут анализироваться цены с сайтов магазинов-конкурентов для того, чтобы вовремя выставить более привлекательную цену в собственном магазине. Об этом была статья на хабре.
НЛО прилетело и опубликовало эту надпись здесь
Я тоже очень склоняюсь к этому варианту. Ниже немного рассуждений по этому поводу. IMHO так сказать.
«Дружище я там слышал про Хабраэффект (а может и нет никакого друга?) — это же огромный траффик, некоторые из них задержатся после перехода — это плюсик к пользовательским факторам, тем более давай ссылку назовем не просто „Сайт-жертва“, а „О пилах, бензопилах и электропилах“ — как никак, а увесистая ссылочка с трастового домена с нужным анкором».

то комменты напишут непотребные и шлют абузы на хостинг и в РКН

Здесь еще интереснее. Открыл из выдачи гугла странички, что гугл предлагает из site:opilah.com — и ни в одной статье не было ни одного комментария. Совпадение? Не думаю.
Ну и интересно было бы посмотреть статистику из гугл аналитики/яндекс метрики, как сайт «падал» из ТОПа поисковиков — а то выглядит как красивый детективный опус о поисках мальчика, а был ли мальчик?
Но СЕО статья о пилах с такой задумкой на Хабре — это next level play
Вряд ли им это поможет. Поисковики уже давно научились определять контекст ссылки. Иными словами, размещать ссылку на рыболовный магазин на форуме о женском здоровье совершенно бесполезно :)
Помню, как лет 8 назад скачал кусок кода на C# с кириллическими о (не всеми, а 50/50 где-то) с какого-то сайта типа super-best-referaty.ru. Долго скомпилировать не мог, но все же нашлась проблема
Долго ломал голову, зачем это сделано
1) троллинг коллег-программистов, типа читать-читай, а писать код — свою голову имей)
2) достижение уникальности контента для сео
3) взят кусок кода из курсовой, которую готовили для прохождения системы антиплагиат
теперь еще один вариант появился)
Это ещё цветочки, а могут всякие управляющие символы нафигачить.
Типа пробела нулевой ширины «a​b» — в кавычках 3 символа. Или типа Right to left mark (не хочу тут экспериментировать )). Была кстати, такая атака с подменой расширений файлов типа picturexe.gif примерно так (на самом деле файл был picturfig.exe)
Поисковик такие «слова» тоже наверное забракует. А визуально вообще незаметно будет.
Белые IP бакендов известны только двум пользователям
и всем script kiddies, занимающимся их последовательным перебором

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

Я правильно понимаю, что перебор может вестись именно с фронта и тогда эта настройка файрволла не будет иметь смысла?

С фронта не нужно ничего перебирать, он уже шлет трафик на бэки, достаточно глянуть нетстат или ss, или конфиги nginx.
У бэкендов вообще не должно быть публичных адресов, по-хорошему. Что, конечно, не избавляет от настройки фаерволла на них.

Что посоветовал другу — в безопасности? Ведь коварные дядьки/тётьки наврятли остановятся…
Гораздо интересней, как отыскать этих дяденек и отомстить/подать в суд…
Ведь явно конкуренты на местном рынке.
НЛО прилетело и опубликовало эту надпись здесь
Как это про торт еще никто не написал? / sarcasm

Сильно жду продолжения с расследованием проникновения, нахождением исполнителя и заказчика и соответствующими последствиями.

С учётом того, что ребята занимаются бензопилами, последствия могут быть достаточно болезненными.
Интересно, хоть и ссылка на бензопилы, но идея очень интересная. А есть какие-нибудь онлайн сервисы по определению наличия русских/латинских букв в тексте?
Погуглил «проверка на русские символы онлайн» — полно. На английские думаю тоже найдутся…
НЛО прилетело и опубликовало эту надпись здесь
Можно делать снапшоты страниц и сверять их, показывая дифф.
Что сказать, ребята с фантазией.

Прям Шерлок Холмс и Мориарти
Если сайт создан таким же школьником ;)
Honeypot'ов то для хабровчан не забыли набросать?
Познавательная статья. Особенно если вспомнить недавнюю историю со взломом баз РЖД. Вот что бывает, когда защита информации делается не профессионально и используется абы какое, часто устаревшее ПО.
Это старый прием. У меня такая же история была с модом Фотограф на Сталкер. Во многих скриптах буквы а, с, е вместо латинских были русские, и имена файлов тоже, часть латинскими и где то русская. Как будто кто то не хотел чтоб в эту игру можно было играть за рубежом. И так как у меня стоял чисто английский виндовс, и даже для DOS программ не было кодировки, скрипты есесьно не нашли файлы, а в логах появились надписи типа «can't find file l?rg?gun». И я по мере прохождения мода при каждом вылете заглядывал в лог, исправлял скрипт и переименовывал файл. Потому что было интересно чем кончится… )) Но как так можно перепутать — для меня загадка. Если специально — это не иначе как какой то терроризм, и если бы не вопросики в логах, я бы не понял в чем проблема.
Если так заменены буквы, то запросы на страницы от описанных агентов должны получить код 404. И их количество в access.log должно увеличиться.
Вы меня навели на мысль, на сайтах в имеющейся статистике логов акцентировать внимание на этом факте.
Не, здесь русские буквы заменяются на английские, а они не участвуют в самой разметке, так что с чего бы 404 выдавать?
Спасибо. Уже понял. Подменяет всё содержимое, не только заголовки.
Наконец-то полезная статья, а не реклама. Спасибо.
Чтобы вовремя найти такое надо регулярно загружать страницу из сервера c нужным userAgent и находить на странице ожидаемый текст — но это же автоматическое тестирование, а на него почему-то большинство забивает.
Что-то подобное было у моей бурной молодости, когда я работал «опером» в IT отделе.
Был у нас доступ к безе Госкомстата — реестр зарегистрированных фирм на территории РФ. Как-то подходят ко мне и говорят: «Найди данные на фирму N». Я ищу и ничего не нахожу. Спрашиваю: «Фирма липовая?» — «Нет» — отвечают — «Точно фирма должна быть». Потратил дня два, пока не нашел по подстроке (часть названия выдавала слишком большой объем данных). Начал разбираться, почему не находил по полному названию, и выяснил, что в названии фирмы русская буква 'а', была заменена на английскую 'а'.
Была ли это ошибка оператора Госкомстата или ??? Лихие 90-е.
> Белые IP бакендов известны только двум пользователям, которым Михаил всецело доверяет.
Nat — это не безопасность; как и «секретный» белый IP. Как занавеску вместо двери поставить.
В криптографии принцип Керкгоффса есть на эту тему.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории