Как я могу обнаружить строки в кодировке base64, засаженные плохими парнями? - PullRequest
3 голосов
/ 06 февраля 2020

При расследовании хаков я иногда вижу файлы, содержащие такие вещи, как

<?php $_f__db='base'.(128/2).'_de'.'code';$_f__db=$_f__db(str_replace("\n", '',
'NrFujw3uBxuQgdlYFMmhRT5V9BI7aFnbviWhPbszFd2E/c3ZpFcl++i/D7YTZS/SS/UmjeX5iUwPas6c
lSM+lWVedpU7QjEjf4CDapQAkqXpaTvaQ3g247sz4HjqGhV71TFRk69+EctaM7tmymteKtT9OSwsSBmp

Я бы хотел просто проверить на "base64_decode", но плохие парни это запутывают - любые идеи по обнаружению такого рода вещи?

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

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

# cd /opt/
# wget https://downloads.cisofy.com/lynis/lynis-2.6.6.tar.gz
# tar xvzf lynis-2.6.6.tar.gz
# mv lynis /usr/local/
# ln -s /usr/local/lynis/lynis /usr/local/bin/lynis

, затем использовать

lynis audit system

Для сканирования сервера

Вы также можете использовать chkrootkit

# yum update
# yum install wget gcc-c++ glibc-static
# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
# tar –xzf chkrootkit.tar.gz
# mkdir /usr/local/chkrootkit
# mv chkrootkit-0.52/* /usr/local/chkrootkit
# cd /usr/local/chkrootkit
# make sense

Затем вы делаете это, чтобы начать сканирование

sudo chkrootkit

Вероятно, стоит упомянуть и Rkhunter

# yum install epel-release
# yum install rkhunter

Затем

rkhunter -c

Для сканирования

Вы также можете посмотреть этот проект здесь. https://github.com/jvoisin/php-malware-finder

Он обнаруживает много запутанного / хитрого кода.

Есть и другие, такие как ClamAV и LMD, но любой из перечисленных выше обнаружит большинство вирусов. Но ничто не сравнится с человеческим глазом ;-) Хорошая практика - следить за процессами сервера и новыми добавленными файлами. Если вам не нужен base64, вы всегда можете добавить это в PHP .ini как заблокированную функцию.

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

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

0 голосов
/ 06 февраля 2020

Патрик прав: вы должны быть уверены, что они не могут быть загружены в первую очередь.

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

Не ожидайте, что ssh защитит вас: в конце дня "s sh - это оболочка." Вам нужно намного сильнее, OpenVPN + сертификаты + безопасность на основе tls_auth для защиты и сокрытия административных порталов в ваших системах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...