본문 바로가기
Research & Insights

샌즈랩은 실제 사이버 위협 정보를 지속적으로 수집하고 분석하며, APT를 비롯한 고도화 공격의 흐름과 맥락을 추적합니다. 장기간 축적한 대규모 위협 데이터와 CTI 운영 경험을 바탕으로 악성코드, 공격 인프라, 데이터 유출, AI 보안 이슈를 깊이 있게 연구합니다. 실제 위협에서 발견한 변화와 기술적 분석 결과는 Tech Report로, 새롭게 포착되는 위협 정보는 CTX Threat News로 공유합니다.

[09월 | 악성코드 분석 보고서] 부가가치세 신고 파일로 위장한 문서형 악성코드 분석 (Konni APT 캠페인)

2024년 09월 02일위협 분석

샌즈랩 위협 분석팀은 매월 악성코드를 선정하여 보고서를 작성합니다.

샌즈랩 위협 분석팀은 매월 악성코드를 선정하여 보고서를 작성합니다.

전문 분석을 통해 파악한 악성코드의 특징과 위협 동향, 연관 정보 등을 공유해 안전한 사이버 환경을 만들어 가고자 합니다.

악성코드에 대한 더 상세한 정보는 사이버 위협 인텔리전스 서비스 <CTX>에서 확인하실 수 있습니다.



샌즈랩 위협분석팀은 부가가치세 신고 기간을 타깃으로 한 Konni APT 캠페인을 분석해 위협 시작점(공격 국가), 사용된 악성코드, 배포 경로, 유사 위협 파일 등 다양한 정보를 확인했습니다. 본 리포트를 읽어보시는 많은 분들이 향후 해당 캠페인과 유사한 공격에 효과적인 대응 체계를 구축하는 데 도움이 되기를 바랍니다.


[목차]

1. 요약/배경

2. 악성코드 정보

3. 악성코드 동작 순서도

4. 상세 분석

5. 유사한 악성 파일 및 문서

6. 결론

7. IoC(Indicator of Compromise) 정보


1. 요약/배경



사진 1. 부가가치세 신고 기간을 노린 문서형 악성코드

사진 1. 부가가치세 신고 기간을 노린 문서형 악성코드


최근 부가가치세 신고 기간을 노려 배포되는 문서형 악성코드가 확인되었다.

Konni와 연관된 악성코드로, 2014년부터 꾸준히 발견되는 유형의 공격이다. 부가가치세 신고는 기관 및 기업에게 매우 민감한 시기로, 공격자는 이를 악용해 수정신고 안내를 위장한 파일을 첨부하여 사용자가 이를 실행하도록 유도했다. * 부가가치세 신고는 분기별 15일에 진행


Konni 유형의 악성코드는 난독화 된 PowerShell 스크립트와 사용자의 실행을 유도하는 제목의 문서를 사용하여 탐지를 피하고, 피해자의 컴퓨터에서 정보를 수집한 후 추가 악성코드를 설치하는 방식을 사용한다. 분석에 사용된 링크(LNK) 파일은 사용자가 클릭하면 악성코드가 실행되는 방식으로 설계되었으며, 단계별 명령을 통해 시스템 정보를 외부로 유출하거나 원격 시스템 제어를 진행한다.




2. 악성코드 정보

샌즈랩 위협분석팀이 분석한 결과 이번 공격에 사용된 악성코드는 '부가가치세 수정신고 안내(부가가치세사무처리규정).hwp.lnk'로 피해자에게는 200KB 정도 사이즈의 ZIP 압축 파일로 유포되었다.



그림 2. 악성 링크 파일 상세 정보

그림 2. 악성 링크 파일 상세 정보


악성코드는 내장된 스크립트를 윈도우 명령줄 인터페이스(cmd.exe)에서 실행하기 위해 링크 파일로 작성되었으며, 클릭 시 cmd.exe를 통해 일련의 스크립트가 실행된다. 또한, 링크 파일에 최소화 옵션이 적용되어 있으므로 사용자는 CMD 창이 실행되는 걸 볼 수 없다.



그림 3. 악성 링크 파일의 실행 옵션

그림 3. 악성 링크 파일의 실행 옵션


파일 내부는 보안솔루션 탐지를 회피하기 위해 전체 크기의 약 99.7% 가 반복되는 더미데이터(0x09 0x00)로 이루어져 있으며, 이로 인해 ZIP 파일 압축률이 극대화될 수 있다. 압축파일을 전달받은 사용자는 파일의 용량이 크지 않아, 정상 파일로 간주하고 실행할 가능성이 높다.



그림 4. 악성 링크 파일의 Hex Dump

그림 4. 악성 링크 파일의 Hex Dump


공격에 활용된 정상 문서는 2월에 생성된 파일이며, 링크 파일 실행 후 약 1초 내로 아래와 같은 문서를 한글 프로그램에서 실행한다.

- 파일 명: 부가가치세 수정신고 안내(부가가치세사무처리규정).hwp / HWP 한글 문서

- 파일 생성 시간: 2024-02-26 16:13:52

- 파일 사이즈: 18.50 KB



그림 5. 공격에 사용된 정상 문서

그림 5. 공격에 사용된 정상 문서




3. 악성코드 동작 순서도

악성 링크 파일을 실행하면, 부가가치세 관련 원본 문서와 악성 스크립트 파일을 드롭 및 실행한다.

피해자들은 정상 문서를 실행한 것으로 보여 감염 사실을 인지하지 못한다. 이후 일련의 과정을 통해 바탕화면, 다운로드, 문서 폴더의 파일 리스트와 더불어 systeminfo 명령어로 대상 PC의 하드웨어/소프트웨어 정보를 외부로 유출한다.



그림 6. 악성 링크 파일 동작 순서도


다만, 공격자가 작성한 스크립트에 문법적인 오류와 인증서 문제로 공격이 성공적으로 이루어지진 않았을 것으로 확인된다. 해당 문서에 포함된 스크립트로는 di372626.zip, gonHE.cab 파일의 다운로드가 불가능하며, 감염된 시스템의 정보를 수집하는 단계까지 작동한다.




4. 상세 분석

4.1. 부가가치세 수정신고 안내(부가가치세사무처리규정).hwp.lnk

난독화 된 PowerShell 스크립트를 포함하고 있으며, 링크 파일의 특정 위치에서 2개의 파일을 추출 후 XOR 연산을 통해 복호화 하고 있다.



그림 7. 난독화 된 PowerShell 스크립트

그림 7. 난독화 된 PowerShell 스크립트


링크 파일에서 PowerShell 스크립트를 추출하면, Offset 과 Length 기반으로 파일을 추출하는 로직과 XOR 복호화를 위한 키 정보가 확인된다. 파일이 실행되면, 원본 문서 드롭 및 실행하여 일반적인 문서 파일을 실행한 것으로 보여주고, C:\Users\Public\Documents 경로에 Byimtb.cab 파일을 드롭, 압축 해제(expand), 자가 삭제하고, start.vbs 파일을 실행한다.



그림 8. 파일 드롭을 위한 정보 추출 및 복호화 로직

그림 8. 파일 드롭을 위한 정보 추출 및 복호화 로직


4.2. Byimtb.cab

Byimtb.cab 파일은 공격자가 악성 행위 수행을 위해 기능별로 생성한 Batch 파일을 하나의 파일로 압축해 놓은 파일이다. 단계별 공격 과정에서 성공 확률을 높이기 위해 각 기능별로 모듈화한 것으로 유추할 수 있다.



그림 9. Byimtb.cab에 압축된 파일 정보

그림 9. Byimtb.cab에 압축된 파일 정보


다수의 Batch 파일과, start.vbs, unzip.exe를 구성으로 하는 방식은 Konni 공격 도구로 특정할 수 있는 핵심 정보이다. 해당 도구는 APT 공격에서 이와 같은 모듈화된 Batch 파일을 이용하고 있다.


4.3. start.vbs

Visual Basic으로 작성되었으며, 윈도우 쉘 사용이 가능한 COM객체(new:9BA05972-F6A8-11CF-A442-00A0C90A8F39)를 가져와 32013754.bat 파일을 실행한다. ShellExecute 실행 시, 5번째 인자에 0 값을 사용하여 실행 창을 숨긴다.



그림 10. 악성 행위 시작 지점이 되는 start.vbs 스크립트

그림 10. 악성 행위 시작 지점이 되는 start.vbs 스크립트



그림 11. cmd.exe의 자식 프로세스로 악성코드가 실행됨

그림 11. cmd.exe의 자식 프로세스로 악성코드가 실행됨


4.4. 32013754.bat

모든 악성 행위를 통제하는 핵심 스크립트이며, start.vbs 파일을 시작 프로그램에 서비스 형태로 등록하여 지속성을 유지한다.



그림 12. cmd.exe의 자식 프로세스로 악성코드가 실행됨

그림 12. cmd.exe의 자식 프로세스로 악성코드가 실행됨



그림 13. 전체 악성 행위를 컨트롤하는 32013754.bat 스크립트

그림 13. 전체 악성 행위를 컨트롤하는 32013754.bat 스크립트



그림 14. 시작 프로그램에 서비스가 등록된 내역

그림 14. 시작 프로그램에 서비스가 등록된 내역


이후, Batch 파일을 실행(call) 하는 로직을 자세히 분석하면 아래와 같은 순서로 진행된다.


① 감염된 사이트에서 파일 다운로드(71728084.bat)

② 시스템 정보 획득 후 악성 도메인으로 해당 정보 유출(60646746.bat)

③ 악성 도메인에서 추가 파일 다운로드(23877740.bat)


각 단계에서 외부와의 통신이 필수적이며, 이를 통해 공격자가 의도한 행위를 지속적으로 수행할 수 있게 된다.


4.5. 71728084.bat

감염된 사이트에서 di3726.zip이라는 파일을 다운로드 후 Byimtb.cab에 포함되어 있던 unzip.exe 파일을 사용하여 압축 해제를 시도하는 스크립트이다. 압축이 성공하여 1.bat 파일이 존재한다면, 해당 파일을 실행 후 압축파일은 삭제한다.



그림 15. radionaranjalstereo.com 도메인에서 파일을 다운로드하는 71728084.bat 스크립트

그림 15. radionaranjalstereo.com 도메인에서 파일을 다운로드하는 71728084.bat 스크립트


현재 radionaranjalstereo.com 사이트는 폐쇄되어 접근이 불가능하며, di3726.zip 파일 확보가 되지 않으므로, 분석이 불가능하다. 다만, 공개된 정보를 기반으로 해당 도메인은 에콰도르(EC)의 방송 및 미디어 제작 회사가 사용한 것으로 확인된다.



(좌) 그림 16. radionaranjalstereo 관련 정보 /  (우) 그림 17. isitdownrightnow.com 사이트에서 검색한 사이트 상태 체크

(좌) 그림 16. radionaranjalstereo 관련 정보 / (우) 그림 17. isitdownrightnow.com 사이트에서 검색한 사이트 상태 체크


4.6. 60646746.bat

피해자의 다운로드, 문서, 바탕화면의 파일 및 폴더 목록과 감염된 PC의 하드웨어/소프트웨어 정보를 수집하여 공격자의 웹 서버(sibbss.com)로 유출하는 스크립트이다.



그림 18. 정보 유출을 실행하는 60646746.bat 스크립트

그림 18. 정보 유출을 실행하는 60646746.bat 스크립트


이 스크립트에서도 Konni 공격 도구로 특정할 수 있는 핵심 정보가 확인된다. 수집한 정보는 txt 확장자의 파일로 작성하며, upload.php 경로에 %COMPUTERNAME%_정보특성.txt 파일 명으로 업로드하는 방식으로, Konni 도구는 APT 공격에서 이와 같이 일정한 경로와 파일 명을 사용하고 있다.


공격에 사용된 웹 서버는 Apache 2.4.52로 2021년에 릴리즈 된 버전으로 확인된다. 해당 정보를 통해 공격에 사용된 서버는 3년 전에 구축한 것으로 유추할 수 있다. 또한, 서버 IP 주소는 싱가포르 국적을 가진 것으로 확인된다.



그림 19. 공격자 C&C 서버의 웹 및 운영체제 정보

그림 19. 공격자 C&C 서버의 웹 및 운영체제 정보



그림 20. 싱가포르 IP로 확인되는 whois 검색 결과

그림 20. 싱가포르 IP로 확인되는 whois 검색 결과


4.7. 23877740.bat

이 스크립트는 공격자의 웹 서버에 현재 시간(타임스탬프)과 피해자 컴퓨터 이름을 암호화하여 전달하고, gonHE.cab 파일을 다운로드한다. 직전 단계에서, 60646746.bat 파일을 통해 공격자에게 보낸 피해자의 시스템 정보를 사용하여, 공격 환경에 맞는 악성 파일을 응답해 주는 것으로 유추할 수 있다.


또한 gonHE.cab 파일을 압축 해제 후 temprun.bat을 실행하고 있습니다. 이를 통해 공격자의 최종 목적은 temprun.bat 파일에서 확인 가능할 것으로 보인다.



그림 21. 피해자 PC 맞춤형 악성파일을 다운로드하는 23877740.bat 스크립트

그림 21. 피해자 PC 맞춤형 악성파일을 다운로드하는 23877740.bat 스크립트


다만, 분석 시점에서는 공격자 서버에서 gonHE.cab을 응답받지 못하고 있다. 공격자 측에서 실제 의도(목표)를 노출하지 않기 위해, 해당 파일의 다운로드는 중단한 것으로 유추할 수 있다. 아래 그림과 같이 HTTP Response에 Body 값이 존재하지 않아 gonHE.cab 파일을 생성하더라도 데이터가 없는 0 바이트의 파일이 만들어진다.



그림 22. 현재는 공격자 서버에서 temprun.bat을 포함하는 gonHE.cab 파일을 응답하지 않음

그림 22. 현재는 공격자 서버에서 temprun.bat을 포함하는 gonHE.cab 파일을 응답하지 않음


4.8. 88079270.bat

이 스크립트는 파일 다운로드를 수행하는 핵심 모듈이며, 공격자가 다운로드 행위를 은닉할 목적으로 구성되어 있다. 입력받은 링크로 웹 요청을 전송 후, 응답받은 값으로 파일을 생성하며, 해당 파일의 이름은 입력받은 2번째 인자 값으로 설정한다. 기능적으로는, 세 번째 인자로 받은 값을 기준으로는 암호화 전송과 평문 전송 두 가지로 나누어진다.



그림 23.  파일 다운로드 기능을 모듈화해 주는 88079270.bat 스크립트

그림 23. 파일 다운로드 기능을 모듈화해 주는 88079270.bat 스크립트


암호화 전송 모드는 71728084.bat 파일에서 호출하는 구문을 기준으로 설명하면 아래와 같다.



그림 24. 파일 다운로드 모듈을 실행하는 예제

그림 24. 파일 다운로드 모듈을 실행하는 예제


‘?’ 문자를 기준으로 왼쪽의 데이터는 요청하려는 URL 링크가 된다. 오른쪽의 데이터는 암호화 대상 문자열이 되며, 현재 시간의 값(타임스탬프)가 암호화 키가 된다. 해당 기준으로 위의 예시를 수행했을 때 발생하는 웹 요청은 hxxps[:]//radionaranjalstereo.com/wp-content/themes/ai-news/js/inc/get.php?{timestamp}={encryptedString} 이다. 웹 요청을 진행하고, 응답 값으로 파일을 생성한다.


88079270.bat 스크립트의 특이점으로는, 해당 스크립트에서 웹 요청으로 사용하는 명령어(cmdlet)는 “iwr”이다. 이는 PowerShell 3.0 버전부터 지원하는 명령어이며, 최소 Windows 8부터 PowerShell 3.0이 시스템에 기본적으로 설치되어 있다. 공격자는 Windows 8 이상의 운영체제를 타깃으로 한 것을 알 수 있다.


또한, 스크립트의 문법적 오류와 낮은 TLS 버전으로의 요청으로 일부 다운로드 기능이 정상적으로 동작하지 않은 것으로 확인된다. 특히, C&C 서버로 활용한 radionaranjalstereo.com은 HTTPS(SSL) 통신이 필요하므로, 스크립트를 사용한 웹 요청 시 에러가 발생한다.

- TLS 1.2 사용 누락: [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;


4.9. 08874295.bat

이 스크립트는 공격자의 서버 피해자의 정보를 업로드하는 모듈이다. 입력받은 파일을 암호화하여 지정한 웹 경로로 파일을 전달 후, HTTP Status Code가 200(정상)인 경우 입력받은 원본 파일을 삭제하고, upok.txt 파일을 생성한다. upok.txt 파일은 악성 행위를 통제하는 32013754.bat 스크립트에 정보 유출 완료 여부를 확인시켜 주기 위해 생성하므로, 파일 사이즈는 0바이트로 생성된다.



그림 25. 파일 업로드 기능을 모듈화해 주는 08874295.bat 스크립트

그림 25. 파일 업로드 기능을 모듈화해 주는 08874295.bat 스크립트


암호화된 데이터는 아래와 같으며, Konni 공격 그룹으로 특정할 수 있는 핵심 정보이다. 해당 그룹은 C&C 서버와 통신할 때 하기와 같은 구조와 변수명을 사용한다.


fn={공격자 서버에 생성될 파일명을 암호화한 문자열}&fd={입력받은 파일의 암호화된 문자열}&r={타임스탬프}

그림 26. Konni 공격 도구의 정보 유출 트래픽에서 확인되는 HTTP Post Method 파라미터



그림 27. 실제 유출되는 HTTP 트래픽

그림 27. 실제 유출되는 HTTP 트래픽


4.10. 46639707.bat

미 사용된 Batch 파일이며, 첫 번째 인자의 파일의 경로에서 첫 번째 항목(파일 또는 폴더)의 이름을 가져와 두 번째 인자의 이름의 파일 명으로 저장한다.


예시로 46639707.bat “C:\Users\Public\Documents\test.txt” “a.txt”을 실행할 경우, “C:\Users\Public\Documents” 경로에 존재하는 첫 번째 파일 또는 폴더의 이름을 “a.txt”라는 이름의 파일로 저장한다.



그림 28. 분석 가능한 파일 들에서는 미 사용된 46639707.bat 스크립트

그림 28. 분석 가능한 파일 들에서는 미 사용된 46639707.bat 스크립트


4.11. unzip.exe

이 파일은 정상적인 압축 해제 프로그램이며, Info-ZIP 프로젝트의 일환으로 유닉스의 unzip 명령어를 윈도우 실행파일로 포팅 한 프로그램이다. Konni 공격 그룹의 다른 APT 공격에서 MD5 Hash 값이 동일한 unzip.exe 파일을 사용한 것으로 확인된다.




5. 유사한 악성 파일 및 문서



그림 29. 유사 악성 zip 파일

그림 29. 유사 악성 zip 파일


재무 관련 문서로 위장하였으며, 공격 기법이 유사한 행위를 하는 악성 파일이 다수 확인되고 있다. 아래 예시를 통해 일부 확인 가능하다.


● 파일명: 미신고 자금출처 소명자료 제출 요청안내.zip

- sha256: ef6bcf1657099879e990641d4c23d7fb670e510f85eb66cba4dcc297645a0202

- https://www.virustotal.com/gui/file/ef6bcf1657099879e990641d4c23d7fb670e510f85eb66cba4dcc297645a0202


● 파일명: 소명자료 목록(국세징수법 시행규칙).zip

- sha256: 9762d5c00cdc58e774676ab868a5928466664ba5dc1f063e14b11f302b777995

- https://www.virustotal.com/gui/file/9762d5c00cdc58e774676ab868a5928466664ba5dc1f063e14b11f302b777995




6. 결론



그림 30. Konni APT 캠페인

그림 30. Konni APT 캠페인


분석가의 관점에서 보았을 때, 공공 기관의 재무 담당자를 대상으로 정찰 및 초기 진입 경로 확보를 위한 공격으로 보인다. 이는 Konni 공격 도구가 포함된 다양한 APT 공격에서 발견되는 형태이며, 북한의 APT37 공격 그룹이 지속적으로 수행하는 캠페인과 매우 흡사하다.

악성코드 분석 관점에서 보면, 해당 스크립트들은 Windows 8 이상부터 정상적으로 실행된다. 2020년부터 공공분야 윈도우 7 PC를 상위 버전으로 교체한 점과 일치한다. APT37과 같은 북한 공격 그룹 들은 지속적으로 다양한 기술을 사용하여 탐지를 회피하고 정보 수집을 이어가고 있다. 이번 공격은 치밀하게 준비된 지속적인 공격 활동을 잘 보여주며, 기업들은 이와 같은 위협에 대해 주의를 기울여야 한다.

다만, 특이점으로는 공격자의 악성코드 제작 과정이 매끄럽지 않았던 것으로 보인다. 최소 3년 전부터 사용하던 sibbss.com(176.97.64.174)은 HTTP 통신을 사용하므로 오류 없이 단계 별로 공격이 수행되었지만, 이번 공격에서 확인된 radionaranjalstereo.com(213.158.94.166) 도메인은 HTTPS(SSL) 통신을 사용하기 때문에 인증서 오류와 함께 파일이 다운로드 되지 않았다. 이는 C&C 서버로 활용한 radionaranjalstereo.com 도메인이 공격 설계 단계에서 충분히 검토되지 않은 것으로 보이는 대목이다.




7. IoC(Indicator of Compromise) 정보

7.1. 악성코드 sha256 해시

- 부가가치세 수정신고 안내(부가가치세사무처리규정).zip / e7a9da4f70299216d368b366a4544ff3b48fad057b3ec7758b6bc9c714ed0683

- 부가가치세 수정신고 안내(부가가치세사무처리규정).hwp.lnk / 6d901221cb5162c190cce720726889ccb1f8435f5d71fb05614672497425e931

- C:\Users\Public\Documents\start.vbs / 670892dc616431a25b6dfcf4d0223bd0b8f974fc533b421aa569a9c175a27625

- C:\Users\Public\Documents\08874295.bat / 8f164ca160b458af126d70f356ad47b6b07be2395dd6b55c8f4e8abddde0eb02

- C:\Users\Public\Documents\23877740.bat / df26abadb207e3e264f1910c5119ce3388f75244a511e86710cfd48584d95696

- C:\Users\Public\Documents\32013754.bat / f212e1414092d09ac103be3f2c48cb253db0b1862b1e20a0f787654dac7b9965

- C:\Users\Public\Documents\46639707.bat / c0b1ee982cc6a2b805ec3a2fa8a59fd8d73da4474f810abc5e1e7a639d777bfa

- C:\Users\Public\Documents\60646746.bat / d81713d1d8d462db8b6468b0a813e8a483c6c3cc5a58f005e0cc08d7786d3b8b

- C:\Users\Public\Documents\71728084.bat / 69f1458e75a5781335f2fb0d751a083791e9f7c3bf19fb7a6abfd04f80fda730

- C:\Users\Public\Documents\88079270.bat / 87e700c2707d58a18fbb9f0085b781794a5d4e302ab973cc20efde4f32f8d53f

- C:\Users\Public\Documents\unzip.exe / 8d9b5190aace52a1db1ac73a65ee9999c329157c8e88f61a772433323d6b7a4a


7.2. 시스템 명령

- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v startsvc1 /t REG_SZ /d "%~dp0start.vbs" /f > nul


7.3. 악성 도메인 및 경로

- hxxps://radionaranjalstereo.com/wp-content/themes/ai-news/js/inc/get.php?ra=iew&zw=lk0100

- hxxp://sibbss.com/list.php

- hxxp://sibbss.com/post.php


7.4. 연관 IP

- 176.97.64.174

- 213.158.94.166





사이버 위협은 언제 어디에서나 발생할 수 있습니다.

샌즈랩은 최신 악성코드 분석을 통해 획득한 위협 간 연관 정보 및 IoC를 리포트로 지속적으로 공유해 사이버 위협을 예방하고 안전한 사이버 사회를 만들고자 합니다.










위협분석팀_전찬빈







월간_리포트_CTX_푸터


블로그_푸터_시안1