본문 바로가기

Analysis

73. Kimsuky's 애니챗_20240511.xlsx.lnk

정보 수집 중, "애니챗_20240511.xlsx.lnk" 라는 이름의 파일을 발견하였다. 해당 파일에 대해 분석한다.

 

* sha256 : 0c19c0ea46b67a7d5cf75c78dd1148d7aa51d0ce942040733a60ea1bfad33666

 

해당 파일은 lnk 형태를 가지고 있으며 이전에 Kimsuky 그룹이 유포한 lnk 악성코드와 비슷하게 내부에 파워쉘 실행 코드를 포함한다.

내부 파워쉘 코드 실행 부

 

위 코드 부분만 따로 떼어보면 아래 그림과 같다. $a 변수에 base64 인코딩 된 값이 할당되어 있으며 해당 값을 디코딩한 후 실행하는 형태이다.

파워쉘 코드 실행 부분

 

$a 변수에 할당된 base64 값을 디코딩 하면 아래 그림과 같다. 내부 값을 이용해 xor 디코딩 연산을 수행한다. 해당 연산을 통해 실제 악성행위를 수행하는 코드를 가져온다.

* xor 디코딩 연산 시작부 : 0x0d76

base64 디코딩 된 $a

 

lnk 파일로부터 디코딩을 통해 총 4개의 파일을 추출하는데, 추출 방식은 다음과 같다.

첫 1 바이트 : xor 키

이후 1 바이트 : 파일 실행 여부 플래그

이후 4바이트 : 경로 길이

이후 4바이트 : 파일 크기

 

첫 1바이트를 이용해 파일 크기 만큼 xor 디코딩을 수행해 파일을 추출해내는 방식이다.

 

헤더 구조

 

아래와 같이 총 4개의 파일이 추출된다. 이 중 "i9024.vbs"와 "TMP48573.xlsx"는 추출 이후 바로 실행된다.

  - c:\programdata\62840.tmp

    - TmpSc868.tmp 파일 실행
  - c:\programdata\TmpSc868.tmp

    - C2 서버와 연결, 추가 악성코드 다운로드

  - c:\programdata\i9024.vbs

    - 62840.tmp 파일 실행
  - c:\programdata\TMP48573.xlsx

 

62840.tmp 파일

 

TmpSc868.tmp 파일에는 a 변수 안에 base64 인코딩 된 코드가 포함되어있다. 해당 코드가 디코딩 되면 C2 서버 주소가 나타난다. 이후 해당 파일은 C2 서버로부터 파일을 다운로드 받고 해당 파일을 실행하는 형태로 공격을 수행한다.

  - C2 서버 : 79[.]133[.]56[.]173:5555

 * 현재 C2 서버 접속 불가능

TmpSc868.tmp
디코딩 내용
C2 서버 접속 불가능

 

반응형