2010-05-25 6 views
6

Недавно мы получили звонок от одного из наших клиентов, жалуясь, что на их сайте есть «странный код» внизу страницы. Мы проверили исходный код и обнаружили, что около 800 байтов вредоносного кода javascript были добавлены в файл templates/master после тега </html>. Я не буду публиковать указанный код, потому что он выглядел особенно противным.Вредоносное ПО на веб-сайте клиента - Идеи?

Насколько я могу судить, не было бы никакого способа редактировать этот файл, если бы у кого-то не был прямой доступ к данным о сервере и/или FTP. Сам фактический файл был изменен, поэтому исключает любую атаку SQL. Помимо того, что физически получает учетные данные и вручную модифицирует этот файл, будет ли какое-либо другое логическое объяснение того, что произошло? У кого-нибудь еще был опыт с чем-то подобным этим?

ответ

7

Места Я бы проверить:

  • модификации файла раз (чтобы увидеть, когда это случилось)
  • журналов HTTP-сервера на наличие признаков смешных вида GET Params (например, ?foo=exec('...'))
  • сервер журналов FTP
  • SSH журналы (что-то подобное случилось со мной однажды, и это потому, что кто-то выдал свой пароль)

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

3

Если злоумышленник не имеет другого доступа к файлу, вероятно, что в этом коде есть эксплойт, который позволяет пользователю выполнять произвольный код. Здесь используются общие проблемы passthru(), exec() и eval(). Если на том же компьютере работает FTP, это, как правило, сильный вектор атаки.

Я не уверен, что я категорически исключаю атаку SQL (особенно отраженный в сочетании с вышеупомянутыми эксплойтами), но неясно, будет ли это тоже.


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

+3

Другим распространенным вариантом является то, что компьютер, на котором запущен ftp-клиент, был скомпрометирован, а учетные данные понюхали. – Quentin

+0

Причина, по которой я говорю, не SQL, потому что физический файл был изменен. Это потребовало бы, чтобы злоумышленник угадал местоположение наших файлов шаблонов (предоставлено, не особенно неясно). Может ли это быть какой-то автоматизированной атакой или, скорее всего, она будет направлена ​​лично? – Jeriko

1

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

+0

Нет, это географически около 50 км от нас. Это произошло на двух из трех поддоменов для домена этого клиента. Я полагаю, что моя главная проблема заключается в том, следует ли менять пароли FTP, или абсолютно разорвать сайт, а не тестировать его. – Jeriko

+1

Почему бы не обойтись? Измените пароли и иным образом ограничите доступ, насколько сможете, затем перейдите к работе, выясняя, что произошло. –

+0

Если ftp уже владел, то более чем вероятно изменение паролей не приведет к тому, что ваш хакер станет чем-то большим, чем неудобство. См. Мой ответ, удалите FTP и используйте SFTP – Cruachan

3

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

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

1

Вот как я это вижу. Использование FTP-программы? Ваши файлы журнала ftp, хранящие пароли, пути и т. Д., Захватываются. Пароли декодируются.

Не пытайтесь хранить FTP-пароли в FTP-клиенте. Или, как описано выше, используйте SFTP. У нас была аналогичная проблема, и, похоже, она появилась на одном компьютере с набором логинов FTP. Также, как этот компьютер имел много предыдущих странных проблем с ним. Javascript не будет работать правильно, нечетные тайм-ауты сеанса или просто удалить. Который мне указывает, что на этом компьютере было что-то на нем.

0

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

Попробуйте запустить скрипт here, если вы используете PHP.

0

Чтобы обнаружить существующий вредоносный код, я рекомендую вам использовать хороший механизм проверки на наличие вредоносных программ на сервере для обнаружения вредоносного кода в файлах веб-сайта. Много раз сервер не уязвим, но сайт есть! Чтобы предотвратить это, используйте Web Application Firewall, который может просмотреть каждый запрос, чтобы обнаружить и заблокировать попытку атаки.