Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

웹사이트 운영자가 겪을 수 있는 최악의 순간 중 하나는 바로 내 워드프레스 사이트가 해킹당했다는 사실을 깨닫는 것입니다. 사전에 철저한 보안 조치를 취하지 않으면, 해커는 관리자 패널 취약점을 통해 파마(pharma) 공격, 피싱 페이지, 일본어 SEO 스팸, 리디렉션 악성코드 등을 사이트에 심을 수 있습니다.

특히 최근에는 승인받지 않은 워드프레스 관리자 계정을 몰래 추가한 뒤 사이트를 파마 해크(pharma hack)로 감염시키는 새로운 유형의 wp-admin 해킹이 등장했습니다. 이러한 해킹의 대표적인 결과물은 사이트 완전 장악, 데이터 유출, 데이터베이스 침해, SEO 하이재킹 등입니다. 워드프레스 관리자 영역은 사이트의 심장과 같습니다. 관리자 접근 권한을 잃는다는 것은 곧 사이트에 대한 통제권 자체를 잃는다는 의미입니다.

wp-admin 해킹의 주요 증상

워드프레스 관리자 패널이 해킹당했을 때 나타날 수 있는 대표적인 징후는 다음과 같습니다.

  1. 본인이 만든 적 없는 관리자 계정이 추가되어 있거나, 스팸성 사용자 계정이 다수 생성되어 있다면 wp-admin 해킹을 강력히 의심해야 합니다.
  2. 구글 검색 결과에 내 사이트가 파마 스팸 페이지로 색인됩니다.
  3. 워드프레스 사이트 속도가 비정상적으로 느려집니다.
  4. 일본어 텍스트로 작성된 새로운 페이지(일본어 SEO 스팸)가 사이트에 생성됩니다.
  5. 설치해 둔 보안 플러그인이 저절로 비활성화됩니다.
  6. /public_html 또는 /public_html/wp-admin 폴더에서 admin.php, adminer.php 같은 낯선 파일이 발견됩니다.
  7. wp-admin 로그인 화면 대신 'B Ge Team File Manager'라는 이름의 파일 매니저가 업로드되어 있거나, 서버 파일 목록이 표시되는 검은색/회색 화면이 나타납니다.
워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드
  • wp-admin 접속 시 또는 로그인 직후 PHP 500 내부 서버 오류가 발생합니다.
  • 관리자 영역의 설정 » 일반 페이지에서 '누구나 회원으로 등록할 수 있습니다' 옵션이 활성화되어 있습니다.
  • 플러그인을 추가하거나 삭제할 수 없습니다.
  • 호스팅 업체로부터 계정이 정지됩니다.
  • 웹 셸(web shell)이 사이트에 업로드되어 있습니다.
  • 테마 또는 코어 파일에서 수상한 base64 인코딩 코드가 발견됩니다.
  • 워드프레스 코어 파일이 임의로 수정되었습니다.

함께 읽으면 좋은 글 – 해킹당한 워드프레스 사이트 복구 완벽 가이드

wp-admin 악성코드 제거 방법

1. index.php 파일 확인하기

먼저 사이트의 index.php 또는 wp-admin/index.php 파일이 수정되었는지 확인하는 것이 좋습니다. 일반적으로 wp-admin 해킹을 당하면 index.php 파일 상단에 아래와 같은 코드가 삽입됩니다.

워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

여기서 'require/include' 되는 파일에는 악성코드가 담겨 있으며, 워드프레스가 실행될 때마다 함께 구동됩니다. 이러한 코드는 가짜 파마 페이지, 일본어 SEO 스팸 페이지 등 각종 악성 감염을 만들어냅니다.

워드프레스 공식 GitHub 저장소의 원본 코어 파일 내용과 비교한 뒤, 해당 @require 코드를 삭제하면 됩니다.

2. 악성코드가 생성한 파일 찾기

서버 루트 또는 /wp-admin 폴더에 본인이 생성하지 않은 새로운 파일이 있는지도 확인하세요. 대표적인 예시 파일은 다음과 같습니다.

  • Marvins.php
  • db_.php
  • 8c18ee
  • 83965
  • admin.php
  • buddy.zip
  • dm.php

위와 같은 수상한 파일을 발견하면 먼저 사이트를 백업한 후 삭제하세요. 표준 워드프레스 설치 환경에서 루트에 존재해야 하는 파일 목록은 정해져 있으므로, 그 외에 본인이 만들지 않은 파일은 악성코드일 가능성이 높습니다.

워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

3. SEO 스팸 점검하기

구글에서 도메인을 지정해 검색하면 내 사이트로 색인된 페이지 목록을 확인할 수 있습니다.

워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

검색 결과가 위 스크린샷과 유사하다면 일본어 SEO 스팸 제거 가이드를 참고해 정리하는 것이 좋습니다.

4. 알 수 없는 관리자 계정 추적 및 삭제

여러 개의 관리자 계정이 발견된다면, 사용자 페이지에서 모르는 계정을 삭제하고 관리자 계정을 생성하는 백도어 스크립트까지 추적해야 합니다.

워드프레스 사용자 페이지(wp-admin/users.php?role=administrator)에 접속해 새로 추가된 관리자 계정이 있는지 확인하고, 인식할 수 없는 계정은 즉시 삭제하세요.

그다음에는, 실행될 경우 해커가 Administrator 권한을 가진 새 사용자를 삽입할 수 있게 해주는 백도어 스크립트를 찾아야 합니다. 이 백도어는 해커가 원하는 시점에 언제든 다시 접근할 수 있는 통로이므로, 추가 피해를 막기 위해 반드시 제거하는 것이 좋습니다.

워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

5. uploads 디렉터리 점검

'uploads' 디렉터리 안에서 발견되는 PHP 파일은 모두 삭제해야 합니다.

플러그인 또는 워드프레스 코어 자체의 보안 취약점 때문에 해커가 웹 서버에 악성 PHP 파일을 업로드할 수 있습니다. 사이트의 /uploads 디렉터리 내 어디에서든 .php, .php3, .php4, .php5, .py, .asp, .aspx 확장자를 가진 실행 파일을 발견하면 삭제하세요.

또한 /uploads 폴더의 루트에 아래 코드를 넣은 .htaccess 파일을 배치하면 해당 디렉터리에서 PHP 실행 자체를 차단할 수 있습니다.

# Kill PHP Execution
<Files ~ "\.ph(?:p[345]?|t|tml)$">
   deny from all
</Files>

6. 멀웨어 스캔은 필수

서버에 있는 모든 파일을 대상으로 멀웨어 스캔을 실행하는 것을 권장합니다.

웹호스팅 관리 화면이나 cPanel에는 '바이러스 검사기(Virus Scanner)' 기능이 마련되어 있는 경우가 많습니다. 이를 실행해 서버에 남아 있을 수 있는 악성 파일을 탐지하고, 경고가 뜬 파일들을 검증한 뒤 삭제하세요. Astra Security가 제공하는 것처럼 사이트 전체를 정밀 진단하는 멀웨어 스캔 서비스를 활용하는 것도 효과적인 방법입니다.

재감염 방지 및 원인 파악 단계

1. 웹 애플리케이션 방화벽(WAF) 설치 고려

보안 위협을 탐지하고 선제적으로 차단하는 웹 애플리케이션 방화벽(WAF) 설치를 고려하세요. 워드프레스 자체는 보안을 염두에 두고 개발되었지만, 플러그인은 끊임없이 각종 보안 위협에 노출됩니다. Astra 같은 보안 솔루션은 수백 가지 신규 위협으로부터 사이트를 지켜줍니다.

2. 워드프레스 코어·플러그인·테마 정기 업데이트

해커와 사이버 범죄자들은 플러그인과 테마의 알려진 취약점을 공략하는 도구를 만드는 경우가 많습니다. 그렇기 때문에 워드프레스 코어, 플러그인, 테마에는 취약점 악용을 막기 위한 업데이트가 지속적으로 배포됩니다. 해킹을 예방하는 가장 확실하고 쉬운 방법은 소프트웨어를 항상 최신 버전으로 유지하는 것입니다.

3. 관리자 계정 생성 모니터링

일반적인 사이트 침해 과정에서 해커는 나중에 관리자 영역이나 백엔드에 접근하기 위해 스스로 관리자 계정을 생성합니다. 이 부분을 미리 점검하고, 최소 권한 원칙(Principle of Least Privilege)을 준수하는 습관을 들이세요.

4. 정기적인 파일·데이터베이스 백업

서버의 모든 파일과 데이터베이스를 자동으로 아카이브하는 백업을 설정하세요. 백업 데이터를 외부 서버에 별도로 보관하면, 설령 해킹을 당하더라도 백업을 안전하게 복원할 수 있습니다.

5. 서버 파일·폴더 권한 업데이트

파일 권한은 누가 해당 파일을 읽고, 쓰고, 실행할 수 있는지를 결정하므로 매우 중요합니다. 워드프레스 Codex에서 권장하는 일반 가이드라인은 다음과 같습니다.

  • 폴더 – 755
  • 파일 – 644
워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

필요하다면 명령줄을 통해 재귀적으로 권한을 변경할 수도 있습니다.

디렉터리의 경우:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

파일의 경우:

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

6. 대시보드 파일 편집 기능 비활성화

워드프레스 대시보드 내에서의 파일 편집 기능을 비활성화하는 것이 좋습니다. wp-config.php 파일의 마지막에 아래 코드를 추가하면 대시보드를 통한 파일 편집을 차단할 수 있습니다.

## Disable Editing in Dashboard
define('DISALLOW_FILE_EDIT', true);
워드프레스 관리자 페이지(wp-admin) 해킹, 증상부터 복구까지 완벽 대응 가이드

이 해킹 유형이 매우 널리 퍼져 있기 때문에, 워드프레스 사이트를 안전하게 보호하는 방법을 담은 상세한 단계별 영상도 함께 준비되어 있습니다. 이 글은 인포그래픽 형태로도 다운로드할 수 있습니다.

Astra Security Suite 소개

Astra는 해커, 각종 인터넷 위협, 봇으로부터 사이트를 대신 지켜주는 필수 웹 보안 솔루션입니다. 워드프레스, OpenCart, Magento 등 인기 CMS 기반 웹사이트에 선제적인 보안을 제공합니다.