Kant's IT/Issue on IT&Security

온에러 이벤트를 활용한 결제 정보 탈취 악성코드 공격

Kant Jo 2025. 2. 28. 19:58

Cybercriminals Exploit Onerror Event in Image Tags to Deploy Payment Skimmers

 

  • 개요
    • 사이버 범죄자들이 HTML의 <img> 태그 내 onerror 이벤트를 악용하여 결제 정보를 탈취하는 악성코드를 배포
    • MageCart라는 악성코드 그룹이 Magento 기반 전자상거래 사이트를 타겟으로 고객의 신용카드 정보를 탈취
    • 악성코드는 결제 페이지에서만 활성화되며, 사용자가 입력한 결제 정보를 실시간으로 캡처하여 외부 서버로 전송
  • 공격 기법
    • MageCart 악성코드 특징
      • 전자상거래 사이트의 클라이언트 및 서버 측 코드에 악성코드를 삽입하여 결제 정보 탈취
      • 공격자는 가짜 결제 양식을 삽입하거나 사용자가 입력한 데이터를 직접 가로채는 방식으로 정보를 탈취
    • 이미지 태그를 활용한 위장 기법
      • 일반적으로 <img> 태그는 정상적인 이미지 파일을 참조하지만, 공격자들은 Base64로 인코딩된 악성 JavaScript 코드 삽입
      • onerror 이벤트를 이용하여 JavaScript 코드 실행을 유도, 브라우저가 이를 신뢰하도록 유도
    • 악성코드 작동 방식
      • <img> 태그 내 Base64 인코딩된 악성 JavaScript 포함
      • 사용자가 결제 페이지를 방문하면 onerror 이벤트를 트리거하여 악성코드 실행
      • 스크립트는 사용자가 입력한 카드번호, 유효기간, CVV를 가로채 외부 서버(wellfacing[.]com)로 전송
      • 보안 솔루션 우회를 위해 코드 난독화 및 숨김 기법 사용
  • 탐지 및 대응 어려움
    • 보안 탐지 우회 기법
      • <img> 태그는 웹사이트에서 일반적으로 사용되므로 보안 솔루션에서 위협 요소로 인식되지 않음
      • 악성코드는 입력한 결제 정보가 전송되기 직전에만 활성화되어 보안 모니터링을 우회
    • 사용자 관점에서 탐지 어려움
      • 가짜 양식 삽입 후 기존 양식을 가리는 방식으로 사용자가 이상 현상을 감지하기 어려움
      • 웹사이트 디자인을 그대로 유지하면서 악성코드를 삽입하는 방식으로 사용자 경계 무력화
  • 전자상거래 플랫폼 대상 추가 위협
    • Magento, WooCommerce, PrestaShop 등 다양한 전자상거래 플랫폼이 타겟
    • WordPress 기반 사이트에서도 플러그인 취약점 악용 사례 증가
      • mu-plugins(필수 플러그인) 디렉토리를 이용한 백도어 삽입
      • 일반적인 플러그인 리스트에서 보이지 않으며, 관리 패널에서 쉽게 비활성화할 수 없음
  • 보안 권고
    • 웹사이트 보안 강화
      • Web Application Firewall(WAF) 도입하여 악성 스크립트 차단
      • HTML 및 JavaScript 코드 무결성 검증을 위한 정기적인 코드 감사 수행
    • 사용자 입력 데이터 보호
      • 신뢰할 수 있는 결제 게이트웨이 사용 및 결제 데이터 암호화 적용
      • 결제 페이지에서 입력된 데이터가 승인된 서버로만 전송되도록 제한
    • 운영 환경 모니터링 및 탐지 강화
      • 이상한 onerror 이벤트 핸들러 실행 여부 점검
      • 웹사이트 내 <img> 태그 및 Base64 인코딩된 JavaScript 코드 검토
      • 관리되지 않는 플러그인 및 불필요한 확장 프로그램 삭제