Как найти уязвимости в сервисах Ubuntu?

1071
bitkot

У меня работает сервер Ubuntu. Сегодня я обнаружил, что сервер был взломан и используется для DDoS через сообщение о нарушении Amazon.

Я нашел следующие вещи на сервере.

Следующие подозрительные файлы, где есть на сервере.

-rw-r--r-- 1 www-data www-data 759 Dec 21 15:38 weiwei.pl -rwxrwxrwx 1 www-data www-data 1223123 Dec 26 02:20 huizhen -rwxr-xr-x 1 www-data www-data 5 Jan 26 14:21 gates.lod -rwxrwxrwx 1 www-data www-data 1135000 Jan 27 14:09 sishen -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.5 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.4 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.3 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.2 -rw-r--r-- 1 www-data www-data 759 Jan 27 14:36 weiwei.pl.1 -rwxr-xr-x 1 www-data www-data 5 Jan 28 14:00 vga.conf -rw-r--r-- 1 www-data www-data 119 Jan 29 06:22 cmd.n -rw-r--r-- 1 www-data www-data 73 Feb 1 01:01 conf.n 

Следующий процесс был запущен

www-data 8292 10629 0 Jan28 ? 00:00:00 perl /tmp/weiwei.pl 222.186.42.207 5222 www-data 8293 8292 0 Jan28 ? 00:00:00 /bin/bash -i www-data 8293 8292 0 Jan28 ? 00:00:00 ./huizhen 

Я побежал, clamavи он удалил /tmp/huizhenи /tmp/sishenфайлы, но процессы все еще работали, weiwei.plи ./huizhenпоэтому я убил их вручную.

У меня на сервере работают следующие сервисы.

  • SSH - не используется порт 22 по умолчанию, только аутентификация по ключу
  • MongoDB - Порт открыт для определенной группы безопасности
  • Memcache - порт открыт для определенной группы безопасности
  • NodeJS - Порт открыт для определенной группы безопасности
  • Tomcat - порты 8080/8443 общедоступны для веб-службы axis2 и solr.

Я предполагаю, что хакер попал через какую-то уязвимость tomcat / axis2 / solr, потому что процесс выполняется с использованием той же группы пользователей, что и tomcat.

На данный момент я заблокировал 8080/8443 порты и буду заменять сервер новым. Tomcat будет доступен с другого сервера через nginx. Я также установил исправления безопасности с помощью автоматических обновлений .

Проблема в том, как узнать, как хакер проник и посадил троянов. Какие еще шаги я могу предпринять для усиления безопасности.

1
Уязвимость почти наверняка находится на уровне приложений, поэтому проверьте конфигурацию своего веб-сервера и конфигурацию приложений, которые вы в нем используете. Убедитесь, что ваш веб-сервер и компоненты приложения (например, Perl Runtime) обновлены. Frank Thomas 8 лет назад 2
Когда сервер скомпрометирован, полное излечение от заражения, вероятно, доставит больше хлопот, чем оно того стоит. Рассмотрим переустановку. Ben N 8 лет назад 0
@FrankThomas, спасибо, ты был прав. Это было на самом деле на уровне приложений. Консоль администрирования axis2 была общедоступной, по умолчанию un / pw. Они нашли его и загрузили веб-сервис, который предоставляет доступ к низкоуровневым функциям, таким как выполнение команд, получение доступа к оболочке, создание файлов и т. Д. bitkot 8 лет назад 0
@BenN, это первое, что я собираюсь сделать, но дело в том, что это не первый раз, когда это случилось, поэтому мне пришлось найти дверь, откуда они входили. bitkot 8 лет назад 0

1 ответ на вопрос

1
MariusMatutiae

This is quite a reasonable question. Strictly speaking, your best bet to answer it would have been to freeze your system and to perform forensic tests. Any later intervention on your part, including virus removal, will alter and possibly erase altogether any bread crumb left behind by your intruder.

Given that this path is no longer open to you, the best thing is to use a Vulnerability Scanner, a program i.e. designed exactly in order to stress-test your installation. There are very may, you may just Google the term Vulnerability Scanner, but by far the best known is Nessus. It comes in several version, from free to paid with different licenses, and it can become quite expensive, possibly more than you are willing to fork out.

However, there is also a free version of it, which comes pre-installed on Kali Linux. You will have to register it, even though it is completely free. Many of us use Kali by installing it onto a VM on a laptop, then performing the stress-tests from outside our homes, to see which defects (=non-patched, known vulnerabilities, most often) are left on the applications running on an Internet-facing server.

There are guides teaching you how to use that all over the Internet, and you can try it also within your own LAN (if you trust your firewall), and even from within the same pc, if you will be running Kali as a VM.