sh:
#!/bin/sh
#
# scanbackdoors.sh
#
# Этот скрипт рекурсивно проходит по заданной директории и ищет подозрительный PHP‑код,
# характерный для бекдоров, в том числе вызовы:
#   - eval(base64decode(...))
#   - md5($COOKIE[...])
#   - base64decode($REQUEST[...])
#   - copy($FILES...)
#   - $USER->Authorize(<целое число>);
#
# Результаты сканирования записываются в лог‑файл, имя которого содержит текущую дату и время.
#
# Использование:
#   ./scanbackdoors.sh /path/to/website
#
# Обратите внимание: данный скрипт предназначен для использования в оболочке sh.

if [ -z "$1" ]; then
  echo "Usage: $0 /path/to/website"
  exit 1
fi

SEARCHDIR="$1"

# Формирование имени лог‑файла с текущей датой и временем.
TIMESTAMP=`date +%Y%m%d%H%M%S`
SCRIPTDIR=`dirname "$0"`
LOGFILE="${SCRIPTDIR}/scanlog${TIMESTAMP}.log"

# Записываем стартовую информацию в лог‑файл
{
  echo "------------------------------------------------------------"
  echo "Начало сканирования: `date`"
  echo "Директория для сканирования: $SEARCHDIR"
  echo "------------------------------------------------------------"
} | tee "$LOGFILE"

# Определяем список шаблонов для поиска в виде многострочной строки.
PATTERNS="eval(base64decode
md5(\$COOKIE
base64decode(\$REQUEST
copy(\$FILES
\$USER->Authorize([0-9]\+)"

# Сохраняем значение IFS и переводим его в символ перевода строки
OLDIFS=$IFS
IFS='
'

# Перебираем каждый шаблон
for pattern in $PATTERNS; do
  {
    echo "Ищем строки, содержащие: $pattern"
    echo "------------------------------------------------------------"
  } | tee -a "$LOGFILE"

  grep -RHin --include="*.php" --color=auto "$pattern" "$SEARCHDIR" 2>/dev/null | tee -a "$LOGFILE"

  echo "------------------------------------------------------------" | tee -a "$LOGFILE"
done

# Восстанавливаем первоначальное значение IFS
IFS=$OLDIFS

{
  echo "Сканирование завершено: `date`"
  echo "Лог‑файл: $LOGFILE"
} | tee -a "$LOGFILE"
 

Как использовать:

 

1. Сохраните скрипт в файл, например, scan_backdoors.sh.
2. Сделайте файл исполняемым:

  chmod +x scan_backdoors.sh
3. Запустите сканирование, указав путь к директории сайта:
  ./scan_backdoors.sh /var/www/html
 

 

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

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

Если файлов на сайте много - имеет смысл запустить скрипт в фоне:

./scan_backdoors.sh /path/to/website > /path/to/output.log 2>&1 &

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

nohup ./scan_backdoors.sh /path/to/website > /path/to/output.log 2>&1 &

Вывод будет сохранен в файл nohup.out, если вы не указали другой файл для перенаправления.

Количество показов: 480


Реклама: ООО "Таймвеб". ИНН 7840339881. ERID: CQH36pWzJqCRJ4UXUsMHpqiAFXGXsNMKwFXHih2J7kSZMP
Реклама: ООО 'РЕГ.РУ Домены Хостинг'. ИНН 6312068502. ERID: CQH36pWzJqCRJ4UXaHSnYxUB4bq5fyuvNiq5y4geRNH7vF

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

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

Работы по сайту

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