멀웨어 감염으로 인해 워드프레스 사이트가 웹호스팅 업체에 의해 계정이 차단된 문제 해결을 의뢰받아 진행했습니다. 사이트에 접속하면 '과부하 유발로 계정이 차단되었습니다' 경고가 표시되면서 사이트 접속이 차단된 상태였습니다.

iwinv이라는 국내 웹호스팅 업체인데요. 악성코드 감염으로 인해 사이트 접속이 차단되었지만, FTP와 phpMyAdmin에 접속하여 악성코드를 치료할 수 있도록 허용했습니다.
하지만 워드프레스 사이트에 접속이 불가능하여 클라우드웨이즈(Cloudways)에서 테스트 서버를 생성하여 테스트 사이트로 데이터와 DB를 옮긴 후에 악성코드를 제거하고 최신 버전으로 업데이트했습니다.
워드프레스 멀웨어 감염으로 서버 과부하 유발로 인한 계정 차단
워드프레스 사이트가 멀웨어에 감염되면 다양한 문제가 발생할 수 있습니다.
- 사이트 속도가 크게 느려지는 현상이 나타남
- 이상한 스팸 사이트나 음란 사이트, 독박 사이트 등으로 리디렉션
- 이상한 팝업 배너나 광고가 자동으로 표시
- 구글이나 네이버 등 검색엔진에 일본어, 아랍어 등 이상한 스팸 콘텐츠가 색인되어 표시됨
- 관리자 페이지의 일부 메뉴에 접속 불가 또는 플러그인 작동 안 함
- 코인 채굴 스크립트 또는 비슷한 스크립트 실행으로 비정상적인 트래픽을 유발하거나 CPU 사용량이 급증. (이런 경우 웹호스팅 업체에 의해 사이트가 차단될 수 있고, AWS를 이용하는 경우 요금 폭탄을 맞을 수 있습니다.)
- 서버에 이상한 PHP 파일이나 .htaccess 파일 생성
- 데이터베이스(DB)에 악성코드 주입
- 파일 삭제로 사이트 접속 불가
- 브라우저에서 '위험한 사이트' 경고 표시
멀웨어에 감염되면 가능한 한 빨리 악성코드를 제거하고 보안 조치를 해야 합니다. 악성코드 감염 상태를 방치하면 크롬 브라우저로 접속 시 '위험한 사이트' 경고가 표시될 수 있습니다.
사이트 방문 시 크롬에서 '위험한 사이트' 경고가 표시되는 경우 - 워드프레스 정보꾸러미
방문하려는 사이트가 안전하지 않은 경우 크롬 브라우저에서 '위험한 사이트. 방문하려고 한 사이트의 공격자가 속임수를 써서 소프트웨어를 설치하거나 비밀번호, 전화번호, 신용카드 번호 등
www.thewordcracker.com
문제의 사이트는 접속이 차단되어 어떤 현상이 발생하는지 알 수가 없었지만, FTP에 접속하여 살펴보니 .htaccess 파일에 이상한 코드가 추가되어 있었고, 이상한 이름의 플러그인들이 있었습니다.

gallery-1763973748과 slider-1764074652와 같이 플러그인 폴더 이름에 이상한 숫자가 포함되어 있었습니다. 파일 내용을 살펴보면 100% 멀웨어라는 것을 알 수 있었습니다.

의심스러운 코드는 챗GPT에 물어보면 악성코드인지 여부에 대하여 잘 알려줍니다.😄
이 코드는 외부에서 전달받은 $_REQUEST["itm"] 값을 복호화해서 PHP 코드로 만든 뒤, 서버의 임시 디렉터리(/tmp, /dev/shm 등)에 숨김 파일(.res)로 저장하고 require로 실행합니다. 즉, 공격자가 URL 파라미터만 조작하면 서버에서 임의의 PHP 코드를 실행할 수 있는 백도어 역할을 합니다. 이는 워드프레스나 정상 플러그인에서 절대 허용하지 않는 매우 위험한 동작입니다.
또한 변수명과 파라미터 이름을 \x69\x74m 같은 16진수 이스케이프와 복잡한 연산으로 의도적으로 난독화해 사람이 코드를 읽고 이해하기 어렵게 만들어 두었습니다. 실행이 끝난 후 임시 파일을 바로 삭제하는 방식도 흔적을 숨기려는 전형적인 멀웨어 패턴입니다. 이런 점들을 종합하면, 이 코드는 정상 기능이 아니라 서버에 몰래 심어진 악성 백도어 코드로 보는 것이 타당합니다.
그리고 twenty-nineteen-child-wp-plugin이라는 플러그인도 의심스러웠습니다. 사이트에 Twenty-Nineteen이라는 기본 테마가 사용되고 있었습니다. 보통 차일드 테마를 만들지, 이렇게 차일드 테마를 플러그인으로 만들지는 않습니다.
파일을 열어보니 비교적 간단한 코드로 되어 있었습니다.

이 코드는 겉으로는 “테마용 플러그인”처럼 보이지만, 실제로는 숨겨진 파일(twentynineteen-child.theme) 안의 코드를 불러와 실행하는 로더 역할을 합니다.
그러면 twentynineteen-child.theme 파일은 어디에 있는 것일까요? 찾아보니 Tweny-Nineteen의 차일드 테마 폴더 아래에 있네요.😄

그러면 왜 이런 방식을 사용할까요? zip:// 방식은...
- PHP 파일이 디렉터리 검색이나 백도어 스캔에서 잘 안 보이게 하고
- 확장자가 .php가 아니어도 실행 가능하도록 하며
- 코드 내용을 바로 열어보지 않으면 정체를 알기 어렵게 하기 위해 사용된다고 합니다.
실제로 Wordfence 스캔에서 이 twentynineteen-child.theme 파일을 악성코드 파일로 인식하지 않았습니다.😥
데이터에서 악성코드를 모두 제거한다고 문제가 해결되는 것은 아닙니다. 경우에 따라 DB에 악성 스크립트가 주입되기도 합니다. 문제의 사이트의 DB를 스캔하니 아래 그림과 같이 <script src="https://cdn.talk2star.com/jquery.min.js"></script> 스크립트가 4000개 이상이 DB에 추가된 것을 확인할 수 있었습니다.

이 악성 스크립트에 대하여 이 블로그에서 언급한 적이 있습니다.
멀웨어에 감염된 워드프레스 사이트 복구 및 업데이트 작업
어떤 분의 소개로 멀웨어에 감염된 한의원 사이트의 복구와 업데이트 작업을 맡게 되었습니다. 사이트에는 Blo라는 유료 워드프레스 테마와 엘리멘터, 엘리멘터 프로 등의 플러그인이 설치되어
avada.tistory.com
악성코드를 제거한다고 문제가 해결되는 것은 아닙니다. 다음과 같은 조치가 필요합니다.
- 워드프레스, 테마, 플러그인을 최신 버전으로 업데이트하고 유지합니다.
- Wordfence와 같은 보안 프러그인을 설치합니다.
- 정기적으로 백업합니다.
이러한 조치를 통해 사이트를 안전하게 사용할 수 있습니다.
👉 멀웨어 치료를 비롯하여 워드프레스 또는 웹호스팅 관련 문제 해결에 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.
참고
https://avada.tistory.com/3839
워드프레스 검색 결과 일본어 스팸 노출 해킹 멀웨어 제거
워드프레스 사이트가 악성코드에 감염되어 구글 크롬 브라우저에서 사이트에 접속하면 '위험한 사이트' 경고가 표시되는 문제 해결을 맡았습니다. 사이트를 살펴보니 크롬 브라우저에 위험한
avada.tistory.com
https://avada.tistory.com/3667
카페24 워드프레스 멀웨어 치료 작업
며칠 전 카페24에서 호스팅되는 워드프레스 사이트 문제로 클라이언트께서 연락해 왔습니다. 관리자 페이지를 제외한 모든 페이지가 열리지 않는 상태였고, 잠시 후 관리자 페이지에 접속 시 "
avada.tistory.com
https://avada.tistory.com/3046
해외웹호스팅: 클라우드웨이즈 vs. 블루호스트 vs. 카페24 비교 (Cloudways vs. Bluehost vs. Cafe24)
저는 오랫동안 블루호스트(Bluehost)를 이용해 왔으며 2021년부터는 클라우드웨이즈(Cloudways) 웹호스팅 서비스도 함께 이용하고 있습니다. 현재 일부 중요하지 않는 블로그는 Bluehost에서 호스팅되고
avada.tistory.com