최근 '모니타이제이션(Monitization)'이라 불리는 monit.php 악성코드가 워드프레스 포럼에서 큰 화제가 되고 있습니다. 이 악성코드는 사이트 방문자에게 원치 않는(종종 선정적인) 팝업을 강제로 띄우며, 해커들이 이를 활용해 다양한 블랙햇 SEO 공격을 수행하면서 많은 웹사이트 운영자가 피해 복구에 어려움을 겪고 있습니다.
monit.php 해킹이란 무엇일까요?
조사 결과, '모니타이제이션'이라는 이름의 플러그인이 웹사이트 백엔드에 악성 코드를 주입한 것으로 밝혀졌습니다. 해당 플러그인 파일을 분석한 결과, monit.php 파일 내부의 코드가 워드프레스 사이트의 wp_options MySQL 테이블에 스팸 URL과 리디렉션을 삽입하고 일부 설정값을 임의로 변경하는 주범인 것으로 확인되었습니다.
실제로 monit.php 파일에서 발견된 악성 코드는 다음과 같습니다:
<?php
/**
* Plugin Name: Monitization
* Description: this plugin will help you Monitize your traffic easily from different ad networks.
* Author: Igor Glavatskiy
* Version: 1.0
*/
error_reporting(0);
ini_set('display_errors', 0);
$plugin_key='9f3d4cbd075c63c03c06a63f4579eb13';
$version='1.2';
add_action('admin_menu', function() {
add_options_page( 'Monitization Plugin', 'Monitization', 'manage_options', 'monit', 'mont_page' );
remove_submenu_page( 'options-general.php', 'monit' );
});
눈여겨볼 점은 이 코드가 관리자 메뉴에서 자신의 존재를 숨기도록 설계되어 있다는 것입니다. 즉, 워드프레스 관리자 화면에서는 이 플러그인을 쉽게 발견할 수 없습니다.
내 사이트가 감염되었는지 확인하는 방법
monit.php 해킹 여부를 확인하려면 아래 URL에서 [your-site-URL] 부분을 자신의 사이트 주소로 바꿔 브라우저에 입력해 보세요.
[your-site-URL]/wp-admin/options-general.php?page=monit
페이지가 로딩될 때 설정 화면과 알 수 없는 문자열이 표시된다면, 사이트가 이 해킹의 영향을 받았을 가능성이 높습니다. 그렇다면 아래의 복구 절차를 따라 진행하세요.
해킹 복구 방법: 단계별 가이드
1. 청소 전 반드시 사이트 백업을 먼저 하세요
복구 작업 중 방문자가 감염된 페이지에 노출되지 않도록 웹사이트를 일시적으로 오프라인 상태로 전환하는 것이 좋습니다. 핵심 파일과 데이터베이스 전체를 백업하되, .zip처럼 압축된 형식으로 저장하세요. 문제가 생길 경우 이전 상태로 되돌릴 수 있는 안전장치가 됩니다.
2. 코어, 플러그인, 테마 파일을 교체하세요
감염된 핵심 파일은 신뢰할 수 있는 출처에서 제공하는 원본 버전으로 교체하세요. 최신 버전의 파일과 디렉터리를 다운로드한 후 기존 파일을 삭제하면 됩니다. 특히 '모니타이제이션' 플러그인 관련 파일은 모두 삭제해야 합니다.
3. 의심스럽게 최근 수정된 파일을 정리하세요
파일 수정 날짜를 확인하면 잠재적으로 감염된 파일을 찾을 수 있습니다. 최근에 갑자기 수정된 파일은 깨끗한 백업본이나 신뢰할 수 있는 원본 소스에서 복원하세요.
4. 데이터베이스를 청소하세요
플러그인 파일 삭제와 파일 내 악성 코드 제거 외에도, wp_options MySQL 테이블에서 다음 option_name 레코드가 남아 있는지 반드시 확인하고 삭제해야 합니다:
- default_mont_options
- ad_code
- hide_admin
- hide_logged_in
- display_ad
- search_engines
- auto_update
- ip_admin
- cookies_admin
- logged_admin
- log_install
이 레코드들은 악성 광고 코드와 설정 정보를 담고 있으므로, 하나라도 남아 있으면 재감염의 원인이 될 수 있습니다.
5. 악성코드 스캔을 실행하세요
웹 서버 전체에 대해 악성코드와 악성 파일 검사를 실행하세요. 호스팅 업체가 제공하는 cPanel의 '바이러스 스캐너(Virus Scanner)' 도구를 이용하거나, Astra Pro 플랜 같은 전문 악성코드 제거 서비스를 활용하는 방법도 있습니다.
재감염을 예방하는 방법
해커들의 끊임없이 진화하는 공격 기법으로부터 웹사이트를 확실히 보호하는 유일한 방법은 보안에 대한 지속적인 투자입니다. 웹 애플리케이션 방화벽(WAF) 구축, 정기적인 악성코드 스캔, 주기적인 보안 감사를 통해 사이트를 안전하게 유지하세요.
실제로 대부분의 사용자는 정기적인 악성코드 스캔 덕분에 monit.php 멀웨어를 조기에 발견했고, 스캔 결과가 악성 코드의 출처가 '모니타이제이션' 플러그인임을 즉시 식별해 줬습니다. 따라서 정기적인 악성코드 스캔은 선택이 아닌 필수입니다.
monit.php 해킹: 마무리
최근 발견된 '모니타이제이션' 악성 플러그인은 웹사이트에 코드를 주입한 뒤, 일본어 키워드 해킹(Japanese Keyword Hack)이나 파르마 해킹(Pharma Hack) 같은 블랙햇 SEO 공격에 악용되었습니다.
이런 사이버 공격은 그 자체로도 심각하지만, 트래픽 감소, 매출 손실, 나아가 사이트 평판 훼손이라는 후유증까지 남깁니다. 공격을 예방하려면 보안에 미리 투자하고 올바른 보안 습관을 실천하는 것이 무엇보다 중요합니다. 작은 예방이 큰 피해를 막는 지름길입니다.
Astra 소개
Astra에는 웹사이트 소유자와 개발자가 공격자로부터 사이트를 안전하게 지킬 수 있도록 매일 돕는 보안 전문가 팀이 있습니다. 저희의 지능형 방화벽은 악성 봇, 해커, 멀웨어, XSS, SQLi 등 80여 가지 공격으로부터 실시간 24시간 연중무휴 보호를 제공합니다. Astra 방화벽은 Prestashop, OpenCart, Magento에 맞춰 최적화되어 있어 이커머스 스토어에 전방위적인 보안을 제공합니다.