Как я узнаю, что мой сервер уже скомпрометирован из-за ошибки Shellshock?
Вы не Это идея уязвимости в безопасности. Если вам нужно было нажать «Впустить крекеры»? ОК / Отмена, это не будет большой уязвимостью.
Возможно, вам посчастливится проверить журналы ваших векторов атак, но, учитывая, что многие службы уязвимы и не все из них регистрируют каждый доступ, вероятно, невозможно окончательно найти атаку.
Если это было скомпрометировано, есть ли конкретная папка, где я должен искать вредоносные файлы?
Нет, вредоносный файл может быть где угодно.
Обычные руткиты устанавливаются в /root
или /
или /tmp
или в одном из двоичных путей, но на самом деле они могут быть где угодно. У них может быть имя, похожее на реальный сервис или что-то «важное», похожее на « IPTables
» или « kernel-bin
», но они также могут быть случайными строками символов или тем же именем, что и подлинный двоичный файл (просто по другому пути). Вы можете заметить действительно очевидную загрузку руткитов /etc/rc.local
или создание соединений через них netstat -neopa
. Ищите подозрительные имена процессов в top -c
.
Менее распространенный и гораздо более трудный для поиска руткит заменяет библиотеку или загружает себя в качестве библиотеки shim и перехватывает системные вызовы. Это почти невозможно найти, если вы не соберете все компоненты, работающие в вашей системе, и не сравните их с ожидаемым поведением заведомо исправной системы или исходного кода.
Было бы быстрее, проще и убедительнее просто перезагрузить систему.
Как выглядит вредоносный файл?
Вероятно, как любой другой обычный бинарный файл ELF или библиотека. Это также может быть сценарий.
В заключение, если вы считаете, что существует вероятность того, что ваша система была взломана, отнеситесь к ней так, как если бы она была взломана, и примите необходимые меры.
bash
установлены и сетевой кабель подключен, верно?Shellshock не червь, поэтому нет файлов для поиска. Shellshock - это способ атаковать сеть, чтобы получить доступ. Оказавшись внутри, кто знает, что сделает злоумышленник.
источник
is there a particular folder where I should look for malicious files
.Я видел одну попытку использовать ошибку, которая установила бы бот IRC как
/var/tmp/x
. Но в целом нет конкретных файлов для поиска, так как они могут быть где угодно или нигде.Если вы получили взлом через веб-сервер, то любой новый файл или процесс, принадлежащий пользователю веб-сервера, будет подозрительным.
В случае, если злоумышленник сначала использовал
bash
ошибку для входа в систему, а затем стал локальной уязвимостьюroot
, ее стало практически невозможно обнаружить.Также посмотрите на этот похожий вопрос .
источник
Я бы повторил ответ от suprjami и сказал, что если ваша система уязвима, вы должны относиться к ней как к скомпрометированной.
Если вы используете apache, вы можете проверить журналы попыток вторжения Shellshock с помощью следующей команды:
Эта команда извлекает все строки, содержащие «cgi», из журналов доступа Apache (по умолчанию они называются access_log, access_log.1, access_log.2 и т. Д.), А затем передает их в egrep с помощью регулярного выражения.
(Источник: http://linux.slashdot.org/story/14/09/24/1638207/remote-exploit-vulnerability-found-in-bash )
источник
Поскольку существует несколько векторов атак для Shellshock, некоторые из которых пока неизвестны широкой публике или вызваны специальным CGI-сценарием, нет определенного способа определить, скомпрометирован или нет.
В дополнение к обычному подходу «давайте посмотрим, изменились ли некоторые системные файлы или произошло что-то еще подозрительное в последнее время», вам может потребоваться следить за поведением вашего сервера.
netstat
показывать странные сетевые соединения илиps aux
показать процессы , которые вы не признаете?Если у вас есть надлежащий мониторинг работоспособности сервера (например,
Zabbix
), он также может помочь вам обнаружить нарушения безопасности. Вы также можете сравнить суммы системных файлов MD5 / SHA с заведомо исправной резервной копией.Просто действуйте так, как будто ваш сервер был скомпрометирован, и исследуйте все, что вы можете придумать
источник
Я просто имел удовольствие почистить скомпрометированную старую систему Plesk. Первым, что выдало его, были многочисленные процессы, которые начали прослушивать несколько портов, а другие пытались загрузить код с исходного сервера сканирования.
После регистрации я обнаружил, что окончательной дырой был
cgi_wrapper
сценарий, то, что должно было защищать и защищать систему, это то, что фактически разрывало дыру в защите. Вот некоторые из строк журнала от зондов и успешной атаки:Это строки из access_log, так как это всего лишь пример, обратите внимание на 200 на двух из строк, в то время как другие не работают с 404. Вам не нужно беспокоиться о строках с 404, так как они не увенчались успехом, те с 200 однако сделали. Схема этих атак здесь всегда одна и та же: 1. найдите уязвимый сценарий cgi, используйте эксплойт «shellshock» для загрузки и выполнения сценария perl, снова удалите сценарий perl. Сценарий perl фактически загрузит некоторые исходные файлы (tgz), скомпилирует их и запустит, из того, что я видел, они включают, по крайней мере, бэкдор и механизм автоматического обновления, плюс то, что похоже на эксплойты, чтобы попытаться получить повышенные привилегии выполнения. Все начальные сценарии фактически выполняются от имени пользователя, предоставленного оболочкой, в то время как последующие службы запускаются с PPID 1 (запускается из корневого процесса)).
И вот соответствующие строки error_log:
Файлы, загруженные в / tmp Как можно догадаться, у меня нет файла bot.pl, поскольку он удален сразу.
Через некоторое время я заметил ssh-соединения из разных мест, например из Китая, которые обычно не посещают наш сервер так часто. Я исправил bash в качестве экстренной меры (было бы неплохо, чтобы исправленные источники были доступны на веб-сайте FSF, а не только действительно устаревшие источники и файлы исправлений (один из которых сначала не был корректно применен). Система запланирована для полного завершения. стереть сейчас, так что если кто-то ищет что-то еще об атаке, вы можете спросить, но сделать это в ближайшее время.
источник
Этот ответ не имеет особого отношения к Shellshock, но для любой системы вы думаете, скомпрометированы
Второе замечание: вы не можете быть уверены, что восстановились из скомпрометированной корневой системы. Ваше единственное действие - уничтожить и восстановить систему
Попробуйте получить чистую статическую сборку
rpm
и запустить командуrpm --verify --all
. Он скажет вам, какие файлы, принадлежащие пакету, были изменены. Но так как вы можете запустить его на скомпрометированной системе, вы не можете полностью доверять результату. Затем вы можете просто сделать a,rpm -qa
чтобы получить список пакетов, воссоздать другую систему с теми же версиями пакетов, а затем afind / -type f |xargs -r -n 100 md5sum |sort
в обеих системах и посмотреть, что отличается. Также, если вы правильно управляете своей системой (то есть не устанавливаете ничего вручную вне / opt или / usr / local / bin или другого неуправляемого места), вы можете искать все файлы в вашей системе, которые не принадлежат пакету, с помощьюfind / -type f -exec rpm -qf {} \;
. Должны отображаться ошибки для неизвестных файлов. Я позволю вам не показывать позитивы в качестве упражнения ;-)Чтобы периодически делать то же самое с криптографическим доказательством, существует инструмент,
Tripwire
который вы можете найти как бесплатную версию. Он стар, но делает свою работу. Более новая альтернатива естьAIDE
, но она не использовала крипто, когда я смотрел на это много лет назад.Есть несколько инструментов, которые могут помочь. Например, посмотрите на пакет
rkhunter
. Он будет сканировать ваш компьютер на наличие известных корневых инструментов и эксплуатируемых файлов.Очевидно, что эти инструменты должны быть установлены и настроены до того, как система будет взломана, и эти инструменты также могут быть целевыми, если ваша система успешно взломана для получения root-доступа. Кроме того, эти инструменты могут быть очень интенсивными и замедлять работу вашей системы.
источник
Единственный способ узнать, скомпрометирован ли ваш сервер, - это иметь где-нибудь подпись ваших файлов и сравнивать текущие файлы с ней. Тем не менее вы можете увидеть, если вы уязвимы.
источник
Как найти, если ваша коробка Linux скомпрометирована.
Если, если возвращается
ты.
Чтобы запустить обновление, под root запустите следующую команду
источник
yum
а не другой менеджер пакетов.Вы можете проверить уязвимость, выполнив следующие команды (код, предоставленный CSA). Откройте окно терминала и введите в командной строке следующую команду:
Если ваш bash НЕ обновлен, он напечатает:
Если ваш bash обновлен, вы увидите только:
Более подробная информация доступна по этой ссылке .
источник