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

드루팔 악성코드: Drupal Kitty 크립토 채굴 악성코드 감염 시 해결 방법

전 세계에서 가장 안전한 CMS 중 하나로 평가받던 Drupal(드루팔)이 최근 좋지 않은 이유로 뉴스에 오르내리고 있습니다. “키티(Kitty)”라는 이름의 악성코드가 드루팔 사이트들을 감염시켜 크립토 채굴 공격에 매우 취약한 상태로 만들고 있습니다. 이 악성 스크립트는 드루팔의 잘 알려진 치명적인 원격 코드 실행 취약점인 “Drupalgeddon 2.0”을 악용하며, 취약한 드루팔 사이트를 감염시켜 내부 네트워크와 웹 애플리케이션 서버를 장악하고, 방문자의 브라우저까지 탈취합니다.

Drupalgeddon 2.0 취약점이란?

Drupalgeddon 2.0 취약점은 2018년 3월에 발견되었으며, 드루팔 7.x 및 8.x 버전에 영향을 미칩니다. 이 취약점은 드루팔 핵심 모듈에서 배열 객체에 대한 입력값 검증(sanitization)이 부족하여 발생하며, 결국 원격 코드 실행(RCE)을 허용하게 됩니다. 이 결함은 다양한 드루팔 악성코드의 진입 통로가 되며, Kitty도 그중 하나입니다.

Astra의 드루팔 악성코드 스캐너는 이를 PotentialRisk.PUA/CryptoMiner.Gen으로 탐지합니다.

드루팔 키티(Drupal Kitty) 악성코드란?

“Kitty” 크립토 채굴 악성코드는 여전히 “Drupalgeddon 2.0”에 취약한 드루팔 사이트를 이용해 모네로(Monero) 암호화폐를 불법적으로 채굴합니다. 이 악성 채굴 스크립트는 매우 치명적인 Drupalgeddon 2.0 원격 코드 실행 취약점(CVE-2018-7600)을 악용하며, 서버는 물론 브라우저까지 공격 대상으로 삼습니다. 해당 익스플로잇은 2018년 3월에 공개되었으며, 현재도 드루팔 7.x 및 8.x 대부분의 버전에 남아 있습니다.

Drupalgeddon 2.0 취약점은 드루팔 핵심 모듈의 배열 객체 검증 부족으로 인해 발생하며, 원격 코드 실행을 가능하게 합니다. 이 취약점은 드루팔 사이트를 다양한 공격 벡터에 노출시켜 백도어 설치, 크립토 채굴 시도, 데이터 유출, 계정 탈취 등으로 이어질 수 있습니다.

Kitty 악성코드의 작동 원리

Kitty bash 스크립트가 실행되면 공격자는 감염된 서버 디스크에 “kdrupal.php”라는 PHP 파일을 작성하여 백도어를 생성합니다.

위 PHP 백도어의 Base64로 디코딩된 소스 코드는 의외로 단순하며, 공격자는 sha512 해시 함수를 사용해 원격 인증을 보호합니다.

그다음 스크립트는 ‘크론잡(cronjob)’, 즉 시간 기반 작업 스케줄러를 등록하여 원격 호스트에서 bash 스크립트를 주기적으로 다운로드하고 실행합니다. 이를 통해 공격자는 서버를 재감염시키고, 감염된 서버의 업데이트를 지연시킬 수 있습니다.

서버에 대한 완전한 통제권을 확보하면 공격자는 잘 알려진 xmrig 모네로 채굴기인 “kkworker” 모네로 채굴 프로그램을 설치하고 실행합니다.

그러나 공격자는 한 대의 서버에만 머무르지 않습니다. 대신 me0w.js라는 채굴 스크립트로 다른 웹 자원들까지 감염시키도록 명령합니다. 공격자는 index.php 파일을 변조하고 악성 JavaScript인 me0w.js를 추가하는 방식으로 이를 수행합니다. 마지막으로 공격자는 ‘me0w, don’t delete pls i am a harmless cute little kitty, me0w’(“야옹, 삭제하지 말아줘. 나는 무해한 귀여운 아기 고양이니까, 야옹”)이라는 메시지를 출력하며 자신의 악성코드를 그대로 두라고 장난스럽게 요청하기까지 합니다.

Kitty 악성코드는 정기적으로 업데이트되며, 운영자는 새 버전 노트를 추가할 때마다 갱신합니다. 이는 소프트웨어 제품처럼 버그를 수정하고 새로운 기능을 출시하는 체계적인 공격 조직이 개발·관리하고 있는 것으로 보입니다.

드루팔 Kitty 악성코드 제거 방법

Kitty 악성코드는 온라인 취약점으로부터 핵심 모듈을 엄격하게 보호하려는 드루팔의 보안 코딩 관행에 흠집을 냈지만, 드루팔은 여전히 세계에서 가장 안전한 CMS 중 하나라는 점은 부정할 수 없습니다.

이미 감염된 웹사이트를 처리하기 위해 드루팔 커뮤니티는 소프트웨어 업데이트를 배포하고 있습니다. 감염된 드루팔 웹사이트 대응 방법과 후속 절차에 대한 안내는 드루팔 공식 사이트에 게시되어 있으니 참고하시기 바랍니다.

재감염 예방을 위한 필수 조치

예방은 치료보다 낫습니다. 아래 예방 조치를 따르면 드루팔 웹사이트 운영 환경을 더욱 안전하게 유지할 수 있습니다.

  • 정기적인 파일 무결성 모니터링: Astra 같은 도구를 활용해 서버의 파일을 주기적으로 모니터링하고, 변경 사항이 발생하면 즉시 알림을 받으세요. 해커들은 서버의 파일을 변조하고 웹사이트 핵심 파일에 악성코드와 바이러스를 삽입하는 경향이 있습니다. 이런 코드는 PHP, Python 등 서버 측에서 실행될 수도 있고, JavaScript처럼 클라이언트 브라우저에서 실행될 수도 있습니다.
  • 웹 애플리케이션 방화벽(WAF) 적용: 악성 웹 요청이 취약한 CMS에 피해를 주기 전에 차단할 수 있도록 웹 애플리케이션 방화벽을 사용하세요.
  • CMS 정기 업데이트: 보안 패치와 업데이트는 대체로 새 버전의 CMS와 함께 배포됩니다. 새 버전을 정기적으로 확인하고 업그레이드하는 것이 강력히 권장됩니다.
  • 벤더가 배포하는 모든 보안 패치 설치: 거의 모든 CMS는 중요한 문제가 보고될 때마다 보안 패치를 배포합니다. 보안 메일링 리스트나 RSS 피드를 구독하여 소프트웨어를 항상 최신 상태로 유지하세요.

온라인 공격자로부터 드루팔 사이트를 보호하는 것이 걱정되시나요? Astra의 드루팔 보안 솔루션으로 사이트를 안전하게 지켜보세요. Astra의 드루팔 보안 블로그를 구독하면 최신 동향, 패치 릴리스 및 취약점 소식을 가장 빠르게 접할 수 있습니다.