Назад | Перейти на главную страницу

VPS используется для майнинга биткойнов. Как определить недостаток?

Ubuntu VPS, который я запускаю для размещения нескольких базовых веб-сайтов, похоже, взломал apache для добычи биткойнов.

В моем apache error.log я вижу следующее.

[Sun Dec 15 06:27:58 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with
Suhosin-Patch configured -- resuming normal operations
[Sun Dec 15 06:27:58 2013] [info] Server built: Jul 12 2013 13:38:21
[Sun Dec 15 06:27:58 2013] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem
[Sun Dec 15 09:14:16 2013] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 0 idle, and 18 total children
curl: try 'curl --help' or 'curl --manual' for more information
./tmp.sh: 1: ./tmp.sh: ^M: not found
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
^M  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0^M100  165k  100  165k    0     0   402k      0 --:--:-- --:--:-- --:--:--  460k
./tmp.sh: 2: ./tmp.sh: ^M: not found
./tmp.sh: 3: ./tmp.sh: ^M: not found
./tmp.sh: 4: ./tmp.sh: ^M: not found
./tmp.sh: 5: ./tmp.sh: ^M: not found
./tmp.sh: 6: ./tmp.sh: ^M: not found
[2013-12-15 10:06:35] Starting Stratum on stratum+tcp://mine.pool-x.eu
[2013-12-15 10:06:35] 1 miner threads started, using 'scrypt' algorithm.
[2013-12-15 10:06:36] Stratum detected new block
[2013-12-15 10:11:05] Stratum detected new block
[2013-12-15 10:12:46] Stratum detected new block
[2013-12-15 10:13:15] Stratum detected new block

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

  1. Я могу перезагрузить свой VPS, и майнинг, похоже, не начнется снова, пока не пройдет несколько часов. Это работа CRON? (Кажется, перезапускается примерно в 10 утра каждый день).

    • Это увлекает работу CRON? Кажется, ничего не удается найти в crontab, но есть ли другие места, которые я могу проверить?
    • У них есть IP-адрес моего VPS и они что-то используют на моем сервере? Как я могу это обнаружить, журналы ошибок и доступа неубедительны.
  2. Не похоже на уязвимость wordpress

  3. Я установил lastcomm, и для пользователя www-data я вижу следующее, что явно является атакой. Как я могу получить больше информации о том, что происходит и выполняется?

    $ sudo lastcomm www-данные

  4. В чем разница между процессом apache2 и httpd?

  5. Теперь я заметил следующую запись в журнале доступа, но никогда не совпадающую с началом резервного копирования майнинга:

    177.10.216.85 - - [15 / Dec / 2013: 14: 19: 01 +0000] "POST / cgi-bin / php4?% 2D% 64 +% 61% 6C% 6C% 6F% 77% 5F% 75% 72 % 6C% 5F% 69% 6E% 63% 6C% 75% 64% 65% 3D% 6F% 6E +% 2D% 64 +% 73% 61% 66% 65% 5F% 6D% 6F% 64% 65% 3D% 6F% 66% 66 +% 2D% 64 +% 73% 75% 68% 6F% 73% 69% 6E% 2E% 73% 69% 6D% 75% 6C $

  6. Я также запустил pwdx против процесса, он только что вернул следующее

    4529: /

    В то время как процесс MySQL вернул следующее.

    2298: / var / lib / mysql

Обновить:

Я не думаю, что это эксплойт plesk, потому что apache возвращает 404 (правильно ?!) Теперь я почти уверен, что это просто скрытая работа CRON или что-то в этом роде. Может даже скрытый процесс. Как они вошли изначально, я действительно не уверен!

46.137.41.30 - - [26/Dec/2013:13:25:26 +0000] "POST /cgi-bin/php4?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 404 493 "-" "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26(KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"

Вы пытались расшифровать эту странную строку в журнале доступа?

Вставьте эту строку:

% 2D% 64 +% 61% 6C% 6C% 6F% 77% 5F% 75% 72% 6C% 5F% 69% 6E% 63% 6C% 75% 64% 65% 3D% 6F% 6E +% 2D% 64 + % 73% 61% 66% 65% 5F% 6D% 6F% 64% 65% 3D% 6F% 66% 66 +% 2D% 64 +% 73% 75% 68% 6F% 73% 69% 6E% 2E% 73 % 69% 6D% 75% 6C $

На этом сайте:

http://www.url-encode-decode.com

Быстрый поиск в Google по декодированному тексту ascii предполагает, что это Эксплуатация уязвимости Plesk.

http://about-threats.trendmicro.com/RelatedThreats.aspx?language=au&name=The+Perils+of+the+Plesk+Zero-Day+Exploit

У вас, вероятно, нет такой же проблемы, как у меня, но мой VPS был использован с использованием уязвимости JBoss, и они установили веб-оболочку (pwn.jsp), а затем использовали ее, загрузив некоторую оболочку бэкдора perl.

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

У меня есть еще кое-что в другом сообщение stackoverflow и еще больше в блоге

Определения заданий cron будут находиться в любом из этих возможных мест в виде текстовых файлов:

  • /etc/cron.d/
  • /etc/cron.daily/
  • /etc/cron.hourly/
  • /etc/cron.monthly/
  • /etc/cron.weekly/
  • / var / spool / cron / crontabs

Первые 5 являются системными папками cron и, как правило, все запускаются на корневом уровне, последний - это каталог, содержащий пользовательские crons (например, при запуске crontab -e или crontab -l он загрузит из этого каталога каждая учетная запись пользователя с созданными заданиями cron будет иметь файл в этой папке

загляните туда, вероятно, будет задача cron, которая начинается со следующего определения cron

6 10,22 * * * ....