분석 방해 기능이 추가된 SVG(Scalable Vector Graphics) 피싱 악성코드 유포
ASEC(AhnLab SEcurity intelligence Center)은 최근 SVG(Scalable Vector Graphics) 포맷의 피싱 악성코드가 유포 중인 정황을 확인하였다. SVG 포맷은 XML 기반의 벡터 이미지 파일 형식으로, 주로 아이콘, 로고, 차트, 그래프 등에 사용되며, 코드 내 CSS 및 JS 등의 스크립트 사용이 가능하다. 지난 2024년 11월, ASEC Blog 를 통해 SVG 포맷 악성코드를 소개한 바 있으며, 최근에는 기존보다 더 정교해진 형태로 유포되고 있다.
- 대표 유포 파일명
Play Voicemail Transcription. (387.KB).svg
MT103_0296626389_.svg
DOC217_3052.svg
ATT78683.svg
Access Document Remittance_RECEIPT6534114638.svg

[그림 1] Base64 인코딩된 악성 스크립트
최근 유포 중인 SVG 악성코드는 파일 내 악성 스크립트가 존재하며, <script> 태그의 src 속성을 이용하여 Base64 인코딩된 형태로 삽입되어 있다. Base64 인코딩된 데이터를 src 속성에 사용하는 방식은 주로 웹 페이지에 이미지를 삽입할 때 서버 요청을 최소화하거나 독립적인 페이지를 만들기 위해 사용되지만, 악성 스크립트를 해당 방식으로 삽입한 것은 파일 진단을 우회하기 위한 것으로 보인다.

[그림 2] 디코딩된 코드
디코딩된 코드는 [그림 2] 와 같으며, 리다이렉트 URL 이 난독화된 형태로 존재한다.
- 리다이렉트 URL
hxxp://oK2Nv4ZWX6.moydow[.]de/aRghs76TyPdTWwfkOLkGoZRvtAKfi7SZIhk9vgovyVtf0Fl6Q86sq9CsNroQKjXHfbTWmJC49a5xoN1LdzgLlvse0zrGoqwJoaxHrElkA3a9Jn5xQbixSnS5KtaP3Hsj8j6usck0gto5qZoL44dKVbO6uQUwpokCD9qIQncUphBywUx8wta38JwOJcHKTKF6mbsxwNXG/MZz8BcXH4eB0RMRSQ5VqnN2doConZCsLAfBulS7bWQG7kNXIU2etgBMMODIaetz92FvV84lE6zALE52Z2qJBiGHbrUhnXd98X0PxQpDjc6nXZSW7GkWk6mHfLYx88VemLE678FkIXkK4ILAxSVW5yiMkWuMVe1sFdBc2lD4HlBqWWOfHT2D0REEiZFeYEMQOaQLaY33/[이메일계정] - 최종 URL
hxxps://[계정도메인].islaxw[.]es/jfWNu1IAW/#[이메일계정]

[그림 3] 캡차 위장 페이지
리다이렉트된 페이지는 캡차를 위장한 악성 페이지로, 사용자의 버튼 클릭을 유도하고 있다. 이때 해당 페이지에는 분석을 방해하기 위한 스크립트 코드가 삽입되어 있으며, 기능은 아래와 같다.
1. 자동화 도구 차단

[그림 4] 자동화 도구 차단 코드
UserAgent 및 변수 등을 체크하여 웹 드라이버, 자동화 도구(PhantomJS), 프록시 도구(Burp Suite) 를 감지한다. 이러한 자동화 도구가 감지되었을 경우 빈 페이지로 리다이렉트하여 접속을 차단한다.
2. 특정 키 입력 차단

[그림 5] 특정 키 입력 차단 코드
개발자 도구 열기, 소스 코드 보기 등의 단축 키 입력이 발생했을 경우, 해당 이벤트의 동작을 차단한다. 차단되는 키 조합은 아래와 같다.
| key | function |
| F12 (keycode:123) | 개발자 도구 열기 |
| Ctrl + U (keycode:85) | 소스 코드 보기 |
| Ctrl + Shift + I (keycode:73) | 개발자 도구 열기 |
| Ctrl + Shift + C (keycode:67) | 개발자 도구 열기 + 요소 선택 |
| Ctrl + Shift + J (keycode:74) | 개발자 도구 열기 + 콘솔 선택 |
| Ctrl + Shift + K (keycode:75) | 개발자 도구 열기 + 콘솔 선택 (Firefox) |
| Ctrl + H (keycode:72) | 방문 기록 열기 |
| Command + Alt + I (keycode:73) | 개발자 도구 열기 (Mac) |
| Command + Alt + C (keycode:67) | 개발자 도구 열기 + 콘솔 선택 (Mac) |
| Command + U (keycode:85) | 소스 코드 보기 (Mac) |
[표 1] 차단 키 조합
3. 마우스 오른쪽 클릭 차단

[그림 6] 마우스 오른쪽 클릭 차단 코드
사용자가 페이지에서 마우스 오른쪽 버튼을 클릭할 경우, 해당 이벤트의 동작을 차단한다.
4. 디버깅 감지

[그림 7] 디버깅 감지 코드
performance.now() 함수를 통해 코드 실행 시간을 측정하여, 일정 시간 이상이 감지된 경우 디버거가 활성화된 것으로 간주하여 정상 사이트로 리다이렉트 한다.
해당 기능을 모두 통과한 후 사용자가 캡차 인증 버튼을 클릭하게 되면, 아래 URL에 GET 요청을 보내 응답 값을 받아온다. 응답 값에 따라 추가 악성 행위를 수행하게 되며, 현재는 응답 값이 존재하지 않아 이후 상세한 행위는 알 수 없으나 유사한 악성코드 이력을 확인한 결과 Microsoft 를 사칭한 로그인 페이지 등의 피싱 사이트로 접근되는 것으로 보인다.
- URL
hxxps://w2cc.pnkptj[.]ru/kella@aok5y
최근 SVG 포맷을 이용한 악성코드 유포가 증가하고 있으며, 더욱 정교하게 제작되고 있어 사용자의 주의가 필요하다. 사용자는 출처가 불분명한 메일에 첨부된 파일을 열람하는 행위를 자제해야 하며, 특히 SVG 포맷의 파일이 첨부되어 있을 경우 각별한 주의가 필요하다.