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

조옴라(Joomla) 파마 해킹 완벽 대응 가이드 – 원인, 탐지 방법 및 복구 절차

조옴라(Joomla)는 PHP와 MySQL 기반의 오픈소스 콘텐츠 관리 시스템(CMS)으로, 워드프레스에 이어 세계에서 두 번째로 많이 사용되는 CMS입니다. 체계적인 사용자 관리, 비표준 콘텐츠를 자유롭게 표시할 수 있는 유연성, 기본 제공되는 다국어 지원 등 강력한 장점을 갖추고 있습니다. 하지만 웹에서 인기 있는 플랫폼일수록 보안 위협에 노출되기 마련이며, 조옴라 역시 예외가 아닙니다. 이번 글에서는 조옴라 웹사이트에서 발생하는 대표적인 보안 문제 중 하나인 '파마 해킹(Pharma Hack)'의 원리부터 탐지, 제거, 예방 방법까지 종합적으로 살펴보겠습니다.

인터넷에는 이 해킹에 대한 정보가 산발적으로 흩어져 있어 실질적인 대응이 어려운 경우가 많습니다. 이 글 하나로 조옴라 파마 해킹의 전체 그림을 이해하고 즉각적인 대응 전략을 세우실 수 있을 것입니다.

관련 글 – 조옴라 해킹: 증상, 취약점 및 해결 방법

조옴라 파마 해킹이란?

파마 해킹은 정상적인 웹사이트를 대상으로 수행되는 일종의 블랙햇 SEO(Black Hat SEO) 공격입니다. 주로 발기부전 치료제 등 의약품을 홍보하는 데 악용되며, 사이트 소유자의 눈에 띄지 않도록 은밀하게 진행됩니다. 최근에는 수많은 조옴라 웹사이트가 이 공격에 감염된 것으로 확인되었습니다.

이 해킹의 교묘한 점은 일반 방문자에게는 거의 드러나지 않으면서, 검색엔진 결과 페이지(SERP)의 캐시 결과만 오염시킨다는 것입니다. 그렇기 때문에 사이트 운영자가 감염 사실을 인지하기 어렵고, 신고나 대응이 늦어질수록 해커의 공격은 더욱 공세적으로 이어집니다.

흔히 '기생 호스팅(parasite hosting)'이라고도 불리는 이 공격은 단순한 블랙햇 SEO의 범주를 넘어선 행위로, 명백한 '불법 해킹'에 해당합니다.

조옴라(Joomla) 파마 해킹 완벽 대응 가이드 – 원인, 탐지 방법 및 복구 절차

조옴라 파마 해킹의 작동 원리

  1. 파마 해킹은 구버전 확장 프로그램(add-on) 또는 플러그인을 사용하는 CMS 웹사이트만을 표적으로 삼습니다.
  2. 해커는 웹셸(web-shell)을 업로드하거나 원격 파일 포함(RFI) 취약점을 이용해 조옴라 사이트에 침입합니다.
  3. 사이트 내부에 진입한 후 블랙햇 SEO 기법을 적용해 파마 해킹과 연관된 키워드를 삽입합니다.
  4. 브라우저에는 기존과 동일한 제목이 표시되므로 방문자는 수 주 동안 변경 사항을 알아채지 못합니다. 경우에 따라 새로운 폴더를 생성해 파일 시스템에 악성 파일을 채워 넣기도 합니다.
  5. 구글 크롤러가 해당 사이트를 다시 크롤링하면, 사이트는 삽입된 새 키워드로 검색 순위를 얻게 됩니다.
  6. 사이트 곳곳에 하이퍼링크가 심어지고, 이미 해킹된 다른 사이트로 연결되는 악성 링크도 추가됩니다. 이 과정이 반복되면서 파마 해킹 네트워크는 더욱 깊어집니다.

사용자는 이러한 변화를 인지하지 못한 채 평소처럼 사이트를 이용합니다. 해킹된 사이트들이 서로 링크를 걸고 새 키워드를 통해 상호 홍보하면서 전체 네트워크가 함께 성장하고, 해커는 모든 악성 사이트에 대한 잠재적 트래픽을 축적해 갑니다. 물론 이런 상호 연결로 직접적인 수익을 거두기까지는 상당한 시간이 필요하지만, 해커 입장에서는 장기적인 투자인 셈입니다.

실제 해킹된 사이트에서 발견된 코드 스니펫은 다음과 같습니다:

<script>
// <![CDATA[
function bl(){x = document.referrer;if ( (x.indexOf('viagra')!=-1)||(x.indexOf('VIAGRA')!=-1)||(x.indexOf('buy')!=-1)||(x.indexOf('Viagra')!=-1)||(x.indexOf('Buy')!=-1)) {location.replace("https://www.megarxpills.com/viagra.php?affid=34582011");}}bl();
// ]]>
</script>

이 코드는 웹 브라우저가 전달하는 리퍼러(referrer), 즉 방문자가 어떤 페이지를 거쳐 들어왔는지에 대한 정보를 검사합니다. 방문자를 보낸 페이지 URL에 'Viagra' 또는 'Buy' 같은 단어가 포함되어 있다면, 트래픽이 megarxpills.com의 비아그라 판매 페이지로 강제 이동되며, 해당 제휴 ID(affid=34582011)에 판매 실적이 적립됩니다.

해커의 의도와 목적

이런 해킹의 궁극적인 동기는 트래픽 증가, 검색 노출 확대, 그리고 이를 통한 금전적 이득입니다. 범죄자들은 콘텐츠를 업데이트하다 무심코 보안 허점을 노출하는 개발자들을 끊임없이 찾아냅니다. 결국 감염된 정상 웹사이트는 해당 업계에서 명성에 타격을 입고, 해킹 제거 작업에 상당한 비용과 시간을 투입해야 하는 상황에 처합니다.

다행히 현재는 Astra처럼 조옴라 웹사이트 보안 솔루션을 제공하는 업체들이 있어, 보다 안심하고 사이트를 운영할 수 있습니다. 그렇다면 파마 해킹의 감염 여부는 어떻게 확인할 수 있을까요?

조옴라 파마 해킹 탐지 방법

파마 해킹은 검색엔진 결과를 오염시키기 때문에, 간단한 구글 검색만으로도 사이트 감염 여부를 짐작할 수 있습니다. 검색 결과 문구에 발기부전 치료제나 관련 약품이 언급되어 있다면 전형적인 감염 신호입니다.

1. 검색엔진 봇으로 위장하기

검색 결과에서 이상 징후가 포착되었다면, 구글봇으로 위장해 검색엔진이 바라보는 우리 사이트의 모습을 직접 확인할 수 있습니다. 방법은 브라우저가 사이트에 자신을 식별시키기 위해 보내는 사용자 에이전트(user-agent) 문자열을 수정하는 것입니다.

파이어폭스(Firefox) 기준으로 기본 사용자 에이전트 문자열은 다음과 같습니다:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1

파이어폭스의 사용자 에이전트 전환 애드온을 활용해 이 값을 구글봇으로 변경한 뒤 검색 결과를 열람하면, 봇에게만 노출되는 스팸 콘텐츠를 확인할 수 있습니다. 번거롭게 느껴진다면 구글 서치 콘솔(구 웹마스터 도구)의 'Googlebot으로 가져오기(Fetch as Googlebot)' 기능을 사용해 Joomla Pharma Hack 관련 키워드를 점검하는 방법도 있습니다.

2. 페이지 소스 보기

웹 브라우저에서 내 조옴라 사이트를 검색한 뒤, 검색 결과 페이지에서 마우스 우클릭 → '페이지 소스 보기'를 선택해 소스 코드를 확인하는 방법도 효과적입니다.

조옴라(Joomla) 파마 해킹 완벽 대응 가이드 – 원인, 탐지 방법 및 복구 절차

소스 페이지 전체가 이렇게 스팸 콘텐츠로 가득 차 있다면, 소스 코드 어딘가에 허점이 존재해 스팸 파일이 조옴라 사이트 곳곳에 주입되고 있을 가능성이 높습니다. 페이지 소스에서 Joomla Pharma Hack 계열 키워드, 즉 Viagra, Cialis, Regalis 등의 단어를 발견한다면 감염을 확신할 수 있습니다.

3. 명령어로 서버 디렉터리의 파일 검사하기

서버에 접근 가능하다면 아래 명령어들로 웹사이트 디렉터리 내 파마 해킹 흔적을 점검할 수 있습니다.

  • 의심스러운 압축 파일 탐지: zip, gzip, rar 등 불필요한 압축 파일이 있는지 확인합니다.
    find /home/user_account/public_html/ ( -iname "*.zip" -o -iname "*.gz" -o -iname "*.tar" -o -iname "*.jpa" -o -iname "*.rar" ) -exec ls -hog {} ;
  • .htaccess 파일 점검: 사이트 전역의 .htaccess 파일 위치와 내용에 이상이 없는지 확인합니다.
    find /home/user_account/public_html/ ( -name ".htaccess" ) -type f -print
  • 실행 스크립트 파일 탐지: .cgi, .pl, .sh 파일을 전수 조사합니다.
    find /home/user_account/public_html/ ( -iname "*.cgi" -o -iname "*.pl" -o -iname "*.sh" ) -exec ls -hog {} ;
  • 비정상 위치의 PHP 파일 점검: 원래 존재해서는 안 되는 경로에 PHP 파일이 있는지 확인합니다.
  • 파마 해킹 전용 파일 검색: 다음 명령어로 해커가 남긴 대표적인 파일명을 스캔합니다.
    find /home/user_account/public_html/ ( -name "*xmloem*.*" -o -name "*pharma*.*" -o -name "mod_joomla" -o -name "com_article" -o -name "LICESNE.php" ) -print
  • grep으로 악성 코드 패턴 검색: base64_decode, eval, preg_replace(a/e 수정자 사용), gunzip, rot13 등 해커 파일에서 흔히 발견되는 함수 패턴을 찾습니다. 'base64_decode' 포함 행을 스캔하는 예시 명령어는 다음과 같습니다.
    find /home/user_account/public_html/ ( -name "*.php" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "base64_decodes*("
  • 네트워크 로그 분석: 악성 파일에 접근했던 IP 주소를 로그에서 추출합니다.
  • 비정상 PHP 요청 스캔: 사이트 루트의 index.php 외에 다른 .php 파일로 연결되는 IP를 조사합니다.
  • 장기 로그 검토: 최근 2~3개월간 네트워크 로그를 훑어 미확인 IP에서 웹 서버로의 접속이 있었는지 확인합니다.
  • POST 요청 추적: 200(정상) 응답을 반환하는 POST 요청을 찾습니다. POST는 본질적으로 업로드 행위이므로, 최초 업로드 직후 해당 IP가 새로 올라간 해커 스크립트에 단 한 번 요청을 보내고, 이후 다른 여러 사이트가 같은 파일에 접속하기 시작하는 패턴을 보입니다. 이 흐름을 추적하면 감염 파일의 위치를 특정해, 사이트를 다시 오픈하기 전에 삭제할 수 있습니다.

혹시 조옴라 웹사이트가 해킹당하셨나요? 지금 메시지를 남기거나 Astra 상담원과 채팅해 주세요. 성심껏 도와드리겠습니다.

조옴라 파마 해킹 제거 방법

서버에서 해킹 파일을 수정·삭제하기 전에 반드시 웹사이트 전체 백업을 먼저 수행하여 데이터 손실 가능성에 대비하세요. 또한 웹사이트를 호스팅하는 컴퓨터 시스템 자체가 바이러스, 스파이웨어 등 잠재적 악성 소프트웨어에 감염되지 않았는지 확인하고, 관리자 권한을 가진 모든 PC를 스캔해야 합니다.

모든 스캔을 마친 후에는 FTP 계정, 이메일 계정, 데이터베이스 자격 증명의 보안 상태를 점검하세요. FTP 사용자의 SSH 접근을 차단하고, SSH 접속을 화이트리스트에 등록된 특정 IP로만 허용하는 것이 좋습니다.

이후 웹사이트를 일시적으로 오프라인 상태로 전환하고, 아래 절차에 따라 디렉터리 내 파마 해킹 파일들을 제거합니다.

데이터베이스 테이블 정리

스캔에서 발견된 스팸 키워드, 악성 콘텐츠, 페이로드(payload)를 데이터베이스 테이블에서 모두 제거합니다.

코어 파일 정리

스캔 결과에서 코어 파일로 표시된 모든 수정 사항을 검토합니다. 정상 원본 파일과 비교해 필요한 변경을 되돌립니다.

사용자 로그 감사

모르는 사용자/관리자 계정이 있다면 삭제합니다. 공격자가 여러 프로필을 생성하거나 자신을 관리자로 추가했을 가능성이 있습니다. 사용자 및 관리자 로그를 면밀히 감사해 계정을 제거함으로써 재접근을 차단하세요.

백도어 제거

잠재적인 백도어(backdoor)를 제거합니다. 해커는 반복적인 접근을 위해 백도어를 남기는 습관이 있습니다. 백도어가 자주 숨는 위치는 base64, str_rot13, gzuncompress, gzinflate, eval, exec, create_function, location.href, curl_exec, stream 관련 코드 등입니다.

침입 차단 스크립트 설정

추가로 다음 기능을 갖춘 차단 스크립트를 배치하는 것이 좋습니다:

  • 의심스러운 사용자 에이전트(user-agent)의 접속 차단
  • 해커의 파일 접근 시도를 탐지하고 해당 방문자 영구 차단
  • 악성 IP 주소 블랙리스트 등록

조옴라 파마 해킹 예방: 핵심 정리

월드 와이드 웹에 존재하는 어떤 것도 100% 안전하다고 말할 수 없습니다. 이미 해킹당했거나 해킹을 기다리고 있는 것이 현실입니다. 웹사이트 관리자가 할 수 있는 합리적인 예방 조치는 크게 두 가지입니다. 해킹 성공 확률을 최소화하는 것, 그리고 만약 피해를 입더라도 복구 속도를 앞당기는 것입니다.

CMS 최신 버전 유지

조옴라 관리자가 할 수 있는 가장 중요한 일은 콘텐츠 관리 시스템을 항상 최신 상태로 유지하는 것입니다. 사이트를 지탱하는 것은 글이나 이미지가 아니라 CMS 자체라는 점을 기억하세요. 이것이 조옴라 웹사이트가 해킹당하는 것을 막는 첫걸음입니다.

애드온 지속 점검

아울러 설치된 애드온의 동작 상태를 수시로 확인해야 합니다. 모든 애드온, 테마, 템플릿을 최신 안전 버전으로 업데이트하세요.

보안 허점 제거

조옴라 사이트에 존재하는 이상 징후나 버그는 해커에게 파일을 심고 파마 해킹을 실행할 기회를 제공합니다. 방문자가 파일을 업로드할 수 있게 허용하는 애드온은 특별히 주의 깊게 모니터링하고, 올바른 형식의 파일만 업로드될 수 있도록 검증 로직을 갖추세요.

Astra 같은 웹 애플리케이션 방화벽(WAF) 활용

마지막으로, Astra 같은 웹 애플리케이션 방화벽 유틸리티를 활용하면 조옴라 사이트 보안을 한결 안심할 수 있습니다. 이 유틸리티는 실시간으로 멀웨어를 스캔하고 제거하여 다양한 유형의 공격으로부터 웹사이트를 보호합니다. 웹사이트 디렉터리에 생성되는 스팸 파일을 주기적으로 점검하고, 조옴라 사이트에 손상을 주지 않으면서 해당 파일들을 제거합니다.

조옴라 보안에 관한 더 많은 글은 Astra Security 블로그의 해당 섹션에서 확인하실 수 있습니다. 조옴라 웹사이트에 닥칠 수 있는 다른 취약점과 보안 이슈들도 함께 만나보세요.