Kant's IT/Issue on IT&Security

Unicode 난독화를 이용한 E-Skimming 캠페인: Mongolian Skimmer

Kant Jo 2024. 11. 20. 09:16

E-skimming campaign uses Unicode obfuscation to hide the Mongolian Skimmer

 

E-skimming campaign uses Unicode obfuscation to hide the Mongolian Skimmer

Jscrambler researchers found a skimming campaign using unique JavaScript obfuscation with accented characters to hide a skimmer named Mongolian Skimmer.

securityaffairs.com

 

  • 발견 및 주요 특징
    • Jscrambler 연구진은 Mongolian Skimmer로 명명된 스키머 코드가 고유한 자바스크립트 난독화 기법으로 사용자 데이터를 탈취하는 캠페인을 확인
    • Unicode 문자의 악센트를 변수와 함수 이름에 활용해 코드 가독성을 낮추고 분석을 어렵게 만듦
    • 해당 스키머는 Mongolian Letter OE와 같은 몽골어 Unicode 문자를 식별자로 사용하여 탐지 회피를 시도
  • 기술적 세부사항
    • DOM 모니터링을 통해 사용자의 민감한 입력 변화를 감시
    • 인코딩된 트래킹 픽셀을 통해 데이터 유출
    • DevTools 탐지로 디버깅 회피
    • 페이지 언로드 이벤트에서 데이터 수집, 다양한 이벤트 처리 기술로 크로스 브라우저 호환성 확보
    • 반디버깅 기법을 활용해 코드 변조 탐지 및 방지
  • 특정 변형 및 로딩 방식
    • 스키머 코드는 홈페이지의 인라인 스크립트로 로드되며, 외부 서버에서 가져옴
    • 일부 변형은 Magento 2 Google Tag Manager 플러그인을 통해 사용자 상호작용(스크롤, 마우스 움직임) 후에만 활성화, 이를 통해 봇 탐지를 회피하고 페이지 성능에 미치는 영향 최소화
  • 난독화의 실질적 효과
    • Unicode 문자를 이용한 난독화는 코드의 혼란도(obfuscation potency)는 높였으나, 내구성(resiliency)은 낮아 실제 역공학이 어렵지는 않음
    • 자바스크립트의 ECMAScript 표준에 따른 일반적인 기능을 활용했을 뿐 새로운 기법은 아님
    • 코드 변환기를 사용해 난독화된 문자 제거 가능하며, 기저에는 일반적인 스키밍 코드가 존재
  • 결론
    • Mongolian Skimmer는 오래된 기술을 사용하여 탐지를 어렵게 보이게 했으나, 역공학이 어려운 수준은 아님
    • 일반적으로 구성 오류 또는 취약한 Magento 설치에서 발견되는 유형의 스키머 코드