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

오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

Magento 및 OpenCart 신용카드 정보 탈취 해킹이란?

신용카드 악성코드(신용카드 하이재킹)는 Magento나 OpenCart로 운영되는 쇼핑몰에 악성 PHP/JavaScript 코드가 삽입되어, 해커가 고객의 신용카드 결제 데이터를 몰래 가로챌 수 있게 되는 공격을 말합니다. 이 새로운 형태의 신용카드 사기는 무려 6개월 동안이나 탐지되지 않은 채 활동했으며, Magento 결제 보안을 노린 해킹 사례 역시 이미 여러 건 보고된 바 있습니다.

신용카드 악성코드 해킹의 주요 증상

Magento와 OpenCart 같은 전자상거래 플랫폼의 사용이 늘어나면서 악성코드 감염 사례도 함께 급증하고 있습니다. 해커와 사이버 범죄자들은 해당 CMS의 핵심(core) 파일을 변조해 쇼핑몰 고객의 신용카드 정보를 훔쳐갑니다. 이러한 유형의 해킹이 발생하면 다음과 같은 증상이 나타날 수 있습니다.

  • 고객의 신용카드로 사기성 거래가 이루어졌다는 신고가 접수됨
  • 쇼핑몰에서 상품을 구매하려고 할 때 오류가 발생함
  • 결제 프로세스가 비정상적으로 느려지거나 중간에 멈춤
  • 웹사이트에 출처를 알 수 없는 팝업과 메시지가 표시됨
  • 관리자 페이지 로그인이 평소보다 오래 걸림
오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

Magento/OpenCart 스토어의 신용카드 해킹이 걱정되시나요? 채팅 위젯으로 메시지를 보내주시면 기꺼이 도와드리겠습니다. 지금 바로 웹사이트를 복구하세요.

아래는 해커가 삽입한 악성 코드의 실제 스크린샷입니다.

오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

고객이 결제 페이지에 머무는 동안 이 악성코드는 모든 입력 데이터를 인코딩한 뒤 해커의 서버로 전송합니다. 다음은 인코딩된 신용카드 정보를 전송하는 악성 코드의 스크린샷입니다.

오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

결제 게이트웨이 해킹으로 인한 피해

이 해킹은 매우 표적화된 성격을 지니며, 주로 Magento와 OpenCart 기반 전자상거래 스토어를 공략합니다. 악성코드는 아래와 같은 민감한 정보를 수집해 해커가 관리하는 서버로 전송합니다.

  1. 신용카드(CC) 정보
    1. 신용카드 번호
    2. 신용카드 보안 코드(CVV)
    3. 카드 유효기간
  2. Magento 관리자의 로그인 활동 기록이 해커에게 전송됨
  3. 사용자의 개인 식별 정보
    1. 계정 비밀번호
    2. 고객 IP 주소
    3. 청구지 이름
    4. 이메일 주소
    5. 주소
    6. 전화번호
    7. 생년월일
  4. Magento/OpenCart 스토어 서버 관련 정보

웹 애플리케이션 방화벽(WAF)은 전자상거래 스토어 운영에 필수적인 요소입니다. WAF는 웹사이트로 들어오는 모든 트래픽을 감시하고 정상 요청만 웹 서버로 통과시킵니다. Astra로 지금 바로 전자상거래 사이트를 안전하게 보호하세요.

Magento/OpenCart 스토어의 신용카드 해킹이 걱정되시나요? 채팅 위젯으로 메시지를 보내주시면 기꺼이 도와드리겠습니다. 지금 바로 웹사이트를 복구하세요.

Magento/OpenCart 스토어의 신용카드 악성코드 해킹 복구 방법

복구 작업이 다소 까다로울 수 있습니다. 대부분의 악성코드 스캐너가 이 유형의 공격을 놓치기 때문인데, 그 이유는 이 해킹이 매우 표적화되어 있고 스토어마다 침입 방식이 달라지기 때문입니다.

신용카드 하이재킹 — 1단계: 변조되었을 가능성이 있는 핵심 시스템 파일 확인

악성코드가 발견된 파일 목록을 정리했습니다. 서버에 로그인한 뒤 아래 파일들이 최근에 수정되었는지 확인해 보세요.

Magento 1.9.X

  • app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Ccsave.php
  • app/code/core/Mage/Customer/controllers/AccountController.php
  • app/code/core/Mage/Payment/Model/Method/Cc.php
  • app/code/core/Mage/Checkout/Model/Type/Onepage.php
오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

OpenCart 1.5 / 2.0

  • catalog/controller/extension/payment/pp_payflow.php
  • catalog/controller/extension/payment/pp_pro.php
  • catalog/controller/extension/payment/authorizenet_aim.php
  • catalog/controller/extension/payment/sagepay_us.php
  • catalog/controller/extension/credit_card/sagepay_direct.php

아래는 PHP의 cURL을 이용해 고객의 민감한 정보를 외부로 전송하는 악성코드의 일부입니다.

오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리 오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

신용카드 하이재킹 — 2단계: 최근 수정된 파일 점검

SSH로 웹 서버에 접속한 후 다음 명령어를 실행하면 가장 최근에 수정된 파일을 찾을 수 있습니다.

find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

이 명령은 최근 수정된 파일들의 경로를 반환합니다. 각 파일을 텍스트 편집기로 열어 수상한 내용이 없는지 꼼꼼히 살펴보세요.

Astra 고객이라면 악성 파일 변경 사항을 알리는 이메일 안내를 이미 받으셨을 것입니다.

신용카드 하이재킹 — 3단계: 웹셸(Web Shell) 및 백도어 파일 검색

서버에 대한 지속적인 접근 권한을 유지하기 위해 해커는 웹셸이나 백도어를 업로드해 두었다가 나중에 새로운 악성 파일을 추가로 올립니다. 앞선 단계와 마찬가지로 SSH로 서버에 접속한 후 다음 명령어를 실행하세요.

find /var/www -name "*.php" -exec grep -l "$_FILES\[" {} \;

검색 결과로 표시된 각 파일을 열어 아래 이미지와 유사한 코드가 포함되어 있는지 확인하십시오.

오픈카트(OpenCart)·마젠토(Magento) 신용카드 악성코드, 증상부터 제거 방법까지 완벽 정리

신용카드 해킹 예방 및 원인 분석을 위한 필수 조치

  1. OpenCart/WordPress 웹사이트를 최신 버전으로 업데이트: CMS 코어에 존재하는 알려진 보안 취약점을 해소합니다.
  2. 파일 업로드 시 악성코드 검사 활성화: 악성 셸 파일이 서버에 업로드되지 않도록 차단합니다. (Astra 대시보드에서 해당 모듈을 켤 수 있습니다.)
  3. 관리자 계정의 아이디와 비밀번호 변경: 악성코드 제거 후에도 해커가 웹사이트에 계속 접근하지 못하도록 합니다.
  4. 데이터베이스 비밀번호 변경: 해커가 데이터베이스에 직접 연결하지 못하도록 차단합니다.
  5. 서버 로그 검토(접속 로그 및 오류 로그): 로그에서 알 수 없는 오류나 의미 불명의 문자열을 발견할 수 있으며, 이는 해킹의 출처와 발생 시각을 추적하는 단서가 됩니다.
  6. 웹 방화벽으로 향후 공격 선제 차단: Magento 악성코드 감염을 막는 또 다른 효과적인 방법은 Astra 같은 웹 방화벽을 도입하는 것입니다. 저희 보안 솔루션은 사이트를 자동으로 보호하고, 악성 요청이 웹사이트에 도달하기 전에 차단하는 가상 패치 기능까지 제공합니다.