Найти вирус по ssh


    21.09.2015 13006 3.3 0 Константин Винниченко

Содержание с переходом

Ниже приведен список основных команд при работе SSH (на деле в OS Linux в командной оболочке Bash по соединению SSH, через программу PuTTY). Остальные команды не стал добавлять, так как на моей практике редко используются. Для каждой команды можно получить подробный мануал, вызвав следующую инструкцию:

  • man ИмяКоманды — вывести справку для ИмяКоманды, помощь по работе с командой

Если вы работаете в PuTTY, то правый клик вставит текст из буфера обмена, так что копируем команду и делаем правый клик в программе.

Данные команды проверены при работе с OS Linux CentOS 6

  • Ctrl+C — завершить текущую команду
  • Ctrl+D — разлогиниться как exit
  • Ctrl+W — удалить одно слово в текущей строке
  • Ctrl+U — удалить строку
  • Tab — автозаполнение, завершение команды когда других вариантов нет
  • su root — сменить текущего пользователя на пользователя root
  • passwd root — сменить пароль для пользователя root
  • whoami — вывести имя текущего пользователя
  • who — показать список пользователей в системе
  • w — показать информацию о работающих в данный момент на сервере и о их процессах, а также среднюю нагрузку сервера за последние 1, 5 и 15 минут (uptime + who).
  • ls — список файлов и папок в текущей директории
  • ls -lia — вывод списка даже скрытых файлов и папок по алфавиту с отображением размеров
  • cd ПУТЬ/ — (change directory) сменить директорию на путь/
  • pwd — показать текущую папку
  • cd / && du -hs * — когда жесткий забит до отказа, то посмотреть в какой именно директории много файлов
  • df — (disk free) узнать размер всех смонтированных дисков
  • mkdir ПАПКА — создать папку
  • rmdir ПАПКА — удалить папку из файловой системы
  • rm -rf ПАПКА – удалить папку со всем содержимым без подтверждения
  • mv ПАПКА1 ПАПКА2 — (move) используется для перемещения или переименования файлов или папок
  • cp -r ПАПКА1 ПАПКА2 — скопировать папка1 в папка2
  • du -sh — сколько весит текущая папка
  • du -sh * — показать размер каждого файла в текущей папке
  • vi ФАЙЛ или view ФАЙЛ — вывести файл на экран в редакторе, для выхода ESC и отправить команду :q
  • touch ФАЙЛ — создать файл
  • rm ФАЙЛ — удалить файл
  • cp ФАЙЛ1 ФАЙЛ1 — скопировать файл1 в файл2
  • ln -s ФАЙЛ ССЫЛКА — создать символическую ссылку к файлу
  • fsck -y — автоматическая проверка и исправление ошибок в файловой системе
  • find / -name php.ini — поиск файла с именем php.ini c корня OS
  • find / -name a.txt -printf '%TY-%Tm-%Td %TT %p\n' | sort -r — поиск файлов с именем a.txt c корня OS с выводом датой изменения и сортировкой в обратном порядке
  • find /home/bitrix/www/ -mtime -14 -printf '%TY-%Tm-%Td %TT %p\n' > /home/bitrix/find.txt — поиск всех файлов в папке WWW которые изменялись за последние 14 дней и выводом результата в файл
  • tar АРХИВ.tar ФАЙЛ — заархивировать файл и присвоить ему имя архив.tar:
  • tar cf АРХИВ.tar ФАЙЛ — создать tar-архив с именем file.tar содержащий files
  • tar xf АРХИВ.tar — распаковать файл.tar
  • tar czf АРХИВ.tar.gz ФАЙЛ — создать архив tar с сжатием Gzip
  • tar xzf АРХИВ.tar.gz — распаковать tar с Gzip
  • tar cjf АРХИВ.tar.bz2 — создать архив tar с сжатием Bzip2
  • tar xjf АРХИВ.tar.bz2 — распаковать tar с Bzip2
  • gzip ФАЙЛ — сжать файл и переименовать в file.gz
  • gzip -d АРХИВ.gz — разжать архив.gz в file
  • zip -r АРХИВ.zip ПАПКА/ — запаковать в архив.zip включая все папки в ПАПКА
  • chown root:testuser ПАПКА/ - сменить владельца для папки или файла
  • chmod 751 ПАПКА/ - сменить права доступа на директорию (для директорий зачастую используются 751(-rwxr-xr-x) или файлов - 644(-rw-rw-r--)), где сумма чисел
  • 4 — чтение (r)
  • 2 — запись (w)
  • 1 — исполнение (x):
  • top — показать все запущенные процессы
  • kill pid — убить процесс с id pid
  • killall proc — убить все процессы с именем proc
  • ps — вывести ваши текущие активные процессы
  • ps -aux — вывести все процессы (от рута)
  • reboot ИЛИ shutdown -r — перезагрузить сервер
  • df — показать инф. о использовании дисков
  • free — использование памяти и swap
  • vmstat — свободная память и загрузка процессора
  • uptime — показывает текущее время, время работы после загрузки, количество текущих пользователей и нагрузку за последние 1, 5 и 15 минут
  • date — вывести текущую дату и время
  • cal — вывести календарь на текущий месяц
  • cat /proc/cpuinfo — информация о процессоре CPU
  • cat /proc/meminfo — информация об оперативной памяти DDR
  • cat /etc/*release* — узнать версию дистрибутива Linux
  • yum update — обновление всей системы
  • yum update foo — обновить только пакет foo
  • yum remove foo — удалить пакет foo из системы
  • yum install foo — установка пакета через интернет
  • yum localinstall foo.rpm — установить пакет локально
  • yum list foo — просмотреть название пакетов и их версии для foo
  • yum search foo — поиск пакета с названием foo
  • yum provides foo — поиск пакетов содержащих файл foo
  • yum clean all — очистить кэш
  • yum makecache — создать кеш заново

VIM имеет три режима работы:

  • командный — нажатие Esc
  • режим редактирования — нажатие Ctrl+V
  • визуальный режим — нажатие клавиш редактирования

  • vi ФАЙЛ — открыть файл в редакторе VIМ
  • i — перейти в режим редактирования
  • a — перейти в режим редактирования после текущего символа
  • h — Перемещает курсор на один символ влево
  • j — Перемещает курсор вниз на одну строку
  • k — Перемещает курсор вверх на одну строку
  • l — Перемещает курсор на один символ вправо
  • x — Удалить символ
  • u — отмен::q:qlить последнее действие
  • yy — копировать строку
  • dd — вырезать строку
  • p — вставить
  • — Возврат каретки
  • — Перейти из режима ввода в командный режим
  • :w — сохранить файл на диске
  • :q — Завершить работу с редактором
  • :q! — выход без сохранения файла
  • :wq или zz — выход с сохранением файла
  • crontab -e — настройка автозапуска в редакторе vi
  • vi /etc/crontab — основной файл конфигурации cron

Команды делаться пробелом, где

  • */5 – запускать каждые 5 минут (принимает * или любое целое число от 0 до 59)
  • 2 – в 2 часа ночи (* или 0-23)
  • 10,12,31 – только в дни 10, 12, 31 числа (* или 1-31)
  • 1-3,12 – месяцах Январь, Февраль, Март, Декабрь (* или 1-12)
  • 7 – запускать в день недели, когда Воскресенье (0-7)
  • cd /home/www/ && php send_reports.php – сама команда, здесь в папке /home/www/ запускаем файл send_reports.php в программе php

  • x — конкретное число и значение
  • * — принимать все допустимые значения
  • */x — задать шаг значений
  • x,x — перечисление
  • x-x — интервал значений
  • /etc/init.d/mysqld restart или /etc/rc.d/mysql-server restart или /usr/local/etc/rc.d/mysql-server restart — перезапуск MySQL
  • /usr/local/etc/rc.d/mysql-server stop — остановка MySQL
  • /usr/local/etc/rc.d/mysql-server start — запуск MySQL
  • mysql –v — узнать версию MySQL
  • mysql –uЛОГИН –pПАРОЛЬ — вход в MySQL

Просмотр списка базы данных

Создать новую базу данных с именем sitemanager0

Просмотр списка пользователей

Создать пользователя mainsite и задать пароль PASS

Указать все привилегии для базы данных sitemanager0 пользователю mainsite

Раньше мы уже говорили о вирусах в Linux. Большинство людей считают, что вирусов в Linux нет и кое в чем они правы. Ведь вредоносных программ, которые сами могли бы распространятся по системе и заряжать другие компьютеры в сети минимум. Известные широкой общественности программы такого рода для Linux можно сосчитать на пальцах. Но есть и другой тип угроз, более характерный для Linux. Это руткиты, программы которые устанавливаются вручную и скрывают свою деятельность в системе.

Эти программы могут предоставлять установившему их вам человеку полный доступ к вашей системе, вычислительным ресурсам и данным. Не стоит недооценивать эту опасность. Если ваш компьютер подключен к интернет без использования локальной сети (роутера) и без технологии NAT, то обратится к нему может любой человек из сети провайдера. Для этого даже не обязательно знать ваш ip адрес. Злоумышленник может просто перебирать все адреса в своей подсети и если на вашем компьютере или сервере окажется искомая им уязвимость, например слабый пароль ssh или любая другая уязвимость в системном сервисе программная или недостаток настройки - ваш компьютер будет взломан.

Вы можете посмотреть содержимое файла /var/log/audit.log. Здесь фиксируются все события в системе, в том числе неудачные попытки входа по ssh. Я был удивлен когда увидел что мой пароль пытались подобрать. Также можно посмотреть логи сервиса sshd с помощью journalctl:

sudo journalctl _SYSTEMD_UNIT=sshd.service

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

Для поиска руткитов мы будем использовать утилиту rkhunter или RootkitHunter, а также chkrootkit. Мы рассмотрим как ее установить и настроить для правильной проверки. Вообще, я больше склоняюсь к первой, она новее и имеет больше функций.

Что такое Rkhunter?

RkHunter (Rootkit Hunter) - это инструмент для сканирования системы Linux / Unix с открытым исходным кодом, выпущенный под лицензией GPL. Утилита выполняет сканирование Linux на предмет руткитов, бекдоров, локальных эксплойтов и уязвимостей. На данный момент известно 349 руткитов, и всех их программа может найти, если они были установлены в вашей системе. Программа - всего лишь скрипт, позволяющий проверить локальные файлы, и обнаружить известные руткиты. Также выполняется проверка изменения системных команд, файлов запуска, а также проверка сетевых интерфейсов, на предмет прослушивания определенных портов.

Установить программу в Ubuntu можно командой:

sudo apt-get install rkhunter

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

tar -xvf rkhunter-1.4.2.tar.gz
cd rkhunter-1.4.2
./installer.sh --layout default --install

Обновление RkHunter

Перед тем как будет выполнена проверка linux на вирусы, необходимо обновить базу данных утилиты. Для этого выполните:

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

Обновление желательно выполнять регулярно, поэтому давайте создадим специальный скрипт и будем запускать его с помощью cron каждый день. Для этого создайте файл скрипта в папке /etc/cron.daily:

#!/bin/sh
(
/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s 'rkhunter Daily Run (Ваш сервер)' your@email.com

Теперь осталось только дать программе права на выполнение:

chmod 755 /etc/cron.daily/rkhunter.sh

Проверка Linux на вирусы Rkhunter

Сначала давайте рассмотрим основные опции программы которые мы уже использовали, или которые вам могут пригодится:

  • --verbose-logging - максимально подробный вывод
  • --quiet - минимум информации в выводе
  • -l, --logfile - записать лог программы в свой файл
  • --cronjob - не интерактивный режим проверки, используется для запуска с помощью cron, отсюда и название.
  • --list - позволяет посмотреть какие возможности проддерживает программа, можно передать несколько параметров, test - тесты, lang - языки, rootkits - руткиты.
  • --unlock - удаляет файл блокировки базы данных, может быть полезна если предыдущий сеанс работы с программой был завершен некорректно.
  • --check - проверка системы
  • --update - обновление баз руткитов
  • --versioncheck - обновление программы
  • --propupd - создать базу данных файлов

Например, чтобы посмотреть все руткиты, которые может найти программа выполните:

sudo rkhunter --list rootkits

Для того чтобы проверить Linux на вирусы всю систему выполните от суперпользователя:

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

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

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

Сначала программа инициализируется и загружает конфигурационные файлы, здесь нет ничего интересного:

[12:07:51] Running Rootkit Hunter version 1.4.2 on dhcppc0
[12:07:51]
[12:07:51] Info: Start date is Вс июн 5 12:07:51 EEST 2016
[12:07:51]
[12:07:51] Checking configuration file and command-line options.
[12:07:51] Info: Detected operating system is 'Linux'
[12:07:51] Info: Found O/S name: openSUSE 42.1 (x86_64)
[12:07:52] Info: Command line is /usr/bin/rkhunter --check

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

Проверка системы начинается с этих срок:

[12:07:53] Starting system checks.
[12:07:53]
[12:07:53] Info: Starting test name 'system_commands'
[12:07:53] Checking system commands.

Программа сканирует системные утилиты и пытается выявить там подозрительные признаки, в том числе проводится сравнение хеша утилиты с хешем сохраненным в базе данных, чтобы понять не была ли она изменена. Обычно если с утилитами все хорошо лог заполнен такими строками:

[12:07:53] Scanning for string /usr/sbin/ntpsx [ OK ]
[12:07:53] Scanning for string /usr/sbin/. /bkit-ava [ OK ]
[12:07:53] Scanning for string /usr/sbin/. /bkit-d [ OK ]
[12:07:53] Scanning for string /usr/sbin/. /bkit-shd [ OK ]
[12:07:53] Scanning for string /usr/sbin/. /bkit-f [ OK ]

Также выполняется проверка параметров файлов, например если файл должен быть бинарным, а он скрипт, то это не порядок:

[12:07:59] Info: Starting test name 'properties'
[12:07:59] Performing file properties checks
[12:07:59] Checking for prerequisites [ OK ]
[12:08:00] /usr/sbin/cron [ OK ]
[12:08:00] /usr/sbin/depmod [ OK ]
[12:08:01] /usr/sbin/fsck [ OK ]
[12:08:02] /usr/sbin/groupadd [ OK ]
[12:08:02] /usr/sbin/groupdel [ OK ]

При обнаружении подозрительного файла программа тут же объясняет в чем с ним проблема.

Дальше будет выполнена проверка Linux на вирусы с поиском известных руткитов:

[12:09:31] Info: Starting test name 'rootkits'
[12:09:31] Checking for rootkits.
[12:09:31]
[12:09:31] Info: Starting test name 'known_rkts'
[12:09:31] Performing check of known rootkit files and directories

Обычно, если в этом разделе что-то обнаружено, то это значит, что в системе есть руткит и с этим нужно что-то делать, но обычно мы видим строки Not found (не найдено):

[12:09:33] Checking for Ambient (ark) Rootkit.
[12:09:33] Checking for file '/usr/lib/.ark?' [ Not found ]
[12:09:33] Checking for file '/dev/ptyxx/.log' [ Not found ]
[12:09:33] Checking for file '/dev/ptyxx/.file' [ Not found ]
[12:09:33] Checking for file '/dev/ptyxx/.proc' [ Not found ]
[12:09:33] Checking for file '/dev/ptyxx/.addr' [ Not found ]
[12:09:33] Checking for directory '/dev/ptyxx' [ Not found ]
[12:09:33] Ambient (ark) Rootkit [ Not found ]

Дальше будет запущен поиск нежелательного программного обеспечения:

[12:15:23] Info: Starting test name 'malware'
[12:15:23] Performing malware checks

Вот мы и видим первое предупреждение:

[12:15:38] Performing check for enabled xinetd services
[12:15:38] Info: Using xinetd configuration file '/etc/xinetd.conf'
[12:15:38] Checking '/etc/xinetd.conf' for enabled services [ None found ]
[12:15:39] Checking '/etc/xinetd.d/vnc' for enabled services [ Warning ]
[12:15:40] Checking for enabled xinetd services [ Warning ]
[12:15:40] Warning: Found enabled xinetd service: /etc/xinetd.d/vnc

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

Проверка опасных портов:

[12:16:00] Performing checks on the network ports
[12:16:00] Info: Starting test name 'ports'
[12:16:00] Performing check for backdoor ports
[12:16:00] Checking for TCP port 1524 [ Not found ]
[12:16:00] Checking for TCP port 1984 [ Not found ]
[12:16:00] Checking for UDP port 2001 [ Not found ]
[12:16:00] Checking for TCP port 2006 [ Not found ]
[12:16:01] Checking for TCP port 2128 [ Not found ]

На этапе проверки конфигурационных файлов мы тоже получаем предупреждение:

[12:16:04] Info: Starting test name 'passwd_changes'
[12:16:04] Checking for passwd file changes [ Warning ]
[12:16:04] Warning: Unable to check for passwd file differences: no copy of the passwd file exists.
[12:16:04]
[12:16:04] Info: Starting test name 'group_changes'
[12:16:04] Checking for group file changes [ Warning ]
[12:16:04] Warning: Unable to check for group file differences: no copy of the group file exists.
[12:16:04] Checking root account shell history files [ OK ]

Но здесь видно, что проблема не в вирусе, а в том, что программе просто нет с чем сравнивать.

Дальше выполняется проверка настроек системы, и здесь тоже программе не все нравится:

[12:16:04] Info: Starting test name 'system_configs'
[12:16:04] Performing system configuration file checks
[12:16:04] Checking for an SSH configuration file [ Found ]
[12:16:04] Info: Found an SSH configuration file: /etc/ssh/sshd_config
[12:16:04] Info: Rkhunter option ALLOW_SSH_ROOT_USER set to 'no'.
[12:16:04] Info: Rkhunter option ALLOW_SSH_PROT_V1 set to '0'.
[12:16:05] Checking if SSH root access is allowed [ Warning ]
[12:16:05] Warning: The SSH configuration option 'PermitRootLogin' has not been set.
The default value may be 'yes', to allow root access.
[12:16:05] Checking if SSH protocol v1 is allowed [ Warning ]
[12:16:05] Warning: The SSH configuration option 'Protocol' has not been set.
The default value may be '2,1', to allow the use of protocol version 1.

А именно две вещи - разрешенный root доступ по ssh и возможность использовать протокол первой версии для подключения к ssh. И она права, это очень небезопасно.

Дальше будет выполнено сканирование файловой системы:

[12:16:05] Info: Starting test name 'filesystem'
[12:16:05] Performing filesystem checks
[12:16:05] Info: SCAN_MODE_DEV set to 'THOROUGH'
[12:16:10] Warning: Hidden file found: /usr/bin/.hmac256.hmac: ASCII text
[12:16:10] Warning: Hidden file found: /usr/bin/.fipscheck.hmac: ASCII text

И обнаружено два скрытых файла, но я знаю, что эти файлы созданы программой logmein-hamachi Вы можете отследить какая программа работает с определенным файлом с помощью команды lsof:

sudo lsof | grep /адрес/файла

Осталась проверка приложений:

[12:16:25] Info: Starting test name 'apps'
[12:16:25] Checking application versions..

И небольшой отчет о найденных проблемах:

[12:16:26] System checks summary
[12:16:26] =====================
[12:16:26]
[12:16:26] File properties checks.
[12:16:26] Files checked: 193
[12:16:26] Suspect files: 0
[12:16:26]
[12:16:26] Rootkit checks.
[12:16:26] Rootkits checked : 379
[12:16:26] Possible rootkits: 0
[12:16:26]
[12:16:26] Applications checks.
[12:16:26] Applications checked: 4
[12:16:26] Suspect applications: 0
[12:16:26]
[12:16:26] The system checks took: 8 minutes and 32 seconds

Для удобства просмотра лога вы можете не смотреть его полностью, а выбрать только предупреждения:

sudo cat /var/log/rkhunter.log | grep -A5 "\[ Warning \]"

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

Теперь давайте рассмотрим еще одну программу с помощью которой может быть выполнена проверка Linux на руткиты. Это chkrootkit. Она мнение функциональна, но тоже хорошо делает свое дело.

Что такое Chkrootkit?

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

Программа состоит из нескольких отдельных утилит:

  • chkrootkit - скрипт для проверки системы
  • ifpromisc - сканирование интерфейсов на предмет неразборчивого режима
  • chklastlog - проверить лог lastlog на предмет удаления записей
  • chkwtmp - проверка лога wtmp на предмет удаления записей
  • chkproc - поиск троянских программ и скрытых файлов в подсистеме proc

Установить программу в Ubuntu можно с помощью команды:

sudo apt-get install chkrootkit

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

wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense
make install

Проверка системы с помощью chkrootkit

Команды выполняются без параметров. Достаточно запустить нужную утилиту чтобы найти руткиты linux:

Лог программы немного похож на предыдущую, поэтому мы не будем его отдельно разбирать. Здесь сначала выполняется проверка системных команд, более ограниченная чем в rkhunter, затем поиск руткитов linux.

Аналогично вы можете выполнить другую утилиту, чтобы проверить на модификацию lastlog:

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

Выводы

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

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

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

Как проверить сайт на вирусы платно и бесплатно?

В этой статье будет рассказано о нескольких способах проверить свой сайт на вирусы:

Онлайн антивирусы — самый простой, но при этом и самый ненадежный способ.

Антивирус Айболит — самый надежный, но и самый сложный способ.

Сайт антивирус Вирусдай — самый оптимальный вариант.

Чем опасен взлом сайта?

Но вначале немного теории и личного опыта — ломали меня не раз. Зачем сайт заражают вирусом? Получив доступ к вашему сайту злоумышленники могут выполнить следующее:

Важно понимать: сайты с вирусами могут попасть под санкции поисковых систем и потерять позиции. Мой хостинг уже не раз бомбили хакеры, обрушивая на него мощные DDOS атаки. Для чего это делается? Цель банальна: получить доступ к вашим паролям или залить вирус на ваш сайт через уязвимость в коде.

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

Да и сейчас, после авторизации, почти все мои сайты выкидывают такую страницу:


Потом, когда я опять ввожу адрес, я захожу на сайт и в админку в том числе. Что за беда, до сих пор не знаю. На этом сайте, самом моём последнем, такого нет. Так и под DDOS атаки он ещё не попадал….

Самый простой способ вылечить сайт — это снести всё и установить скрипт сайта заново. Но, как понимаете, это крайняя мера, к которой нужно прибегать только в крайнем случае. Да и к тому же вредоносный код могут вшить в шаблон, а его не заменишь. Поэтому для начала нужно попробовать определить, заражён ли наш сайт или нет? Как это сделать?

Где проверить сайт на вирусы онлайн?

Проверка сайта на вирусы онлайн — хотя этот метод не самый эффективный, как я и написал выше, можно начать с него. Есть неплохой сервис Antivirus Alarm .


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

Как проверить на вирусы сайт скриптом?

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


Что это за антивирус и как с ним работать?


Этот антивирус можно скачать с сайта разработчиков — Айболит . На данный момент есть версия для Windows, раньше можно было работать только через хостинг.

Что может этот антивирус для сайта? Вот что:

— искать вирусы, вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам и гибким паттернам, шеллы на основе несложной эвристики — все то, что обычные — антивирусы и сканеры найти не могут.
— искать уязвимые скрипты timthumb, fckeditor, uploadify, и ряд других.
— искать редиректы в .htaccess на вредоносные сайты.
— искать код ссылочных бирж, таких как sape/trustlink/linkfeed/… в .php файлах
— определять каталоги и файлы дорвеев.
— искать пустые ссылки (невидимые ссылки) в шаблонах.
— показывать директории, открытые на запись.
— работать со всеми cms без исключения (joomla, wordpress, drupal, dle, bitrix, phpbb,…)
— отсылать отчет по email или сохранять в файл.

Установка проста: распаковываем архив и заливаем в папку с нашим сайтом файлы ai-bolit.php, .aignore, .aurlignore из папки ai-bolit и файл из папки known_files, который соответствует версии нашей CMS, в моём случае это .aknown.wp_3_8_1 для wordpress. Возможно, нужно будет задать правильные права на файлы, 755, например.

Далее можно проверить сайт через браузер, но лучше сделать полную проверку. А для этого нам будет нужен доступ по SSH. Если ваш хостинг не даёт вам такой доступ, то у вас плохой хостинг, меняйте его:)

Ну а тем, у кого правильный хостинг, нужно войти в терминал (У меня линукс, поэтому никаких эмуляторов не нужно) и далее подключаемся к нашему хостингу через SSH.

Как это делать точно, объяснять не буду, если вы не в теме, то тут нужен индивидуальный подход, пишите в комментариях, объясню.

После подключения нужно перейти при помощи команды cd в папку с сайтом. Далее даём команду:

После этого начнётся сканирование, которое продлится достаточно долго, в зависимости от размера сайта. После окончания в папке с сайтом появится файл с примерным названием AI-BOLIT-REPORT-07-04-2014_23-10-719945.html

Открываем файл и анализируем, что да как. У меня выдало, к примеру, в самом начале:

Найдены сигнатуры шелл-скрипта. Подозрение на вредоносный скрипт: (12)

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

Самый простой способ разобраться тут — это скачать чистый вордпресс, или что у вас там, и сравнивать подозрительные фалы. Если в оригинале все тоже самое, то волноваться не нужно. Ну а если нет, то удаляем вредоносный код. Далее у меня ругалось на:

Двойное расширение, зашифрованный контент или подозрение на вредоносный скрипт. Требуется дополнительный анализ: (14)

Ругался антивирус на один плагин — ТОП 10 — не уверен, что есть проблема. Так же и другие опасности были ложным срабатыванием.

Далее в плагине google-sitemap-generator были найдены фреймы — удалил на всякий случай.

Так же эвристический анализ заругался на файлы wordpress, но я сверил с оригиналами и всё было нормально.

В этих файлах размещены невидимые ссылки. Подозрение на ссылочный спам:

Тут я плагин, создающий кнопку ВВЕРХ — в нем была скрытая ссылка.

Хотя в отношении плагинов тут нужно понимать, что в них почти во всех есть ссылки. Но решается это элементарно, закрытием папки с плагинами от индексации. В wordpress это можно сделать, вписав в robot.txt строку Disallow: /wp-content/plugins

В каждом случае всё будет очень индивидуально, поэтому трудно написать что-то конкретное. Цель статьи больше состоит в том, чтобы дать направление.

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

Автоматическая проверка сайта на вирусы

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



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

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

Ну вот, на одном сайте обнаружен вирус. Этот сайт как раз выносил грузил мне сервер, пока я не вырубил протокол удаленной публикации. Проблема исчезла, но вирус остался:


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

Найденные угрозы: h.ExternalRedirect
В файле конфигурации WEB-сервера содержатся инструкции, условно или безусловно перенаправляющие пользователей сайта на сторонние ресурсы. Рекомендуется удаление .

Вот как проверить свой сайт на вирусы, если вы знаете еще способы, и даже лучше этих, то всем было бы интересно о них узнать…

Вчера у меня произошло не очень приятное происшествие — заразили все мои сайты. Хорошо, что я был за компьютером и сразу заметил проблему. Что произошло?

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

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

Что делать если сайт заражен?


Так как переадресация шла со всех страниц, то я подумал, что какой скрипт мне внедрили в шапку (header.php) или подвал (footer.php). Но там постороннего кода не было.

Я тут же связался со службой поддержки хостинга:

— У меня сайт такой то, стал переадресовываться на какой то неприличный ресурс, помогите решить проблему.

Но не успели они мне ответить, как я сам догадался куда ещё нужно посмотреть. В файле .htaccess, который находится в корне сайта, я обнаружил вот такой код:

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

К своему ужасу я обнаружил, что подобным образом заразили все мои сайты. Я тут же устранил проблему и написал в поддержку хостинга:

У меня все сайты заразили, значит заразили и все на вашем хостинге, не плохо было бы предупредить народ.

На что последовал ответ:

Может и так, не проверить. Это уже не первый случай, когда мои сайты на этом хостинге пытаются заразить. Неужели у всех вебмастеров такие проблемы? Или это только на моём хостинге?

Это мой не первый хостинг и нигде у меня не было таких проблем. Все больше склоняюсь к том, чтобы сменить хостинг, к примеру на ЭТОТ.

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

Я удалил этот файл, и проблема решилась. У меня уже чётко складывается впечатление, что WordPress — это тот же Windows, и что с этим делать?

Хочешь зарабатывать в интернете МНОГО? Самое время чему-то научиться!

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.