본문 바로가기
악성코드 정보

kimsuky 그룹, 국회의원 선거기간 노린 공격정황 포착

by 분석팀 2020. 4. 10.

어제(2020.04.09) 자사에서는 국회의원 선거관련 문서 형태의 악성코드가 유포 중임을 공개하였다. 해당 문서는 단독으로는 국회의원 선거관련 문서인지 알 수 없지만 다른 문서의 매크로를 통해 발현 됨을 확인하였다. 교묘하게 특정의 상황에서만 선거 관련 문서 내용이 확인 되도록 만들어져 특정 시스템을 타겟팅 했을 것으로 보인다.이 악성코드는 그간 알려진 kimsuky 그룹의 공격으로 확인되어 추가적인 내용을 공유하고자 한다. 

 

[그림1] - 'WORD 1' 동작 구조

 

'WORD 1'은 [그림1]과 같이 settings.xml.rels에 명시된 주소인 'saemaeul.mireene.com' 도메인에 연결하며 현재는 추가 데이터가 다운로드되지 않지만 다운로드 성공 시 생성되는 문서 'WORD 2'에서도 역시 같은 도메인에 연결을 시도한다. 해당 도메인은 그간 알려져 왔듯 kimsuky 그룹이 공격에 사용해온 mireene.com 호스팅 서버로 이번에도 여전히 이용하였다.

 

그리고 'WORD 1'과 'WORD 2' 및 그동안 이와 유사하게 유포된 문서들에서는 영어로 작성된 듯하게 보이지만 내부 속성에는 한국어 설정 내용이 함께 포함되어있다. 또한 흥미롭게도 'WORD 1'의 만든이의 이름 역시 한국인으로 보일 수 밖에 없는 이름으로 작성되었다.

 

 

[그림2] - 한국어 속성 확인 (settings.xml)

 

[그림3] - 한국인 이름 확인

 

'WORD 1'은 단독 실행 만으로는 국회의원 선거 관련 문서 내용이 확인되지 않는다. [그림4]와 같이 내부(document.xml)에 관련 내용은 포함하고 있으나 단독으로는 발현되지 않고 'WORD 2'의 매크로가 함께 동작하면 해당 내용이 발현 된다. 

 

[그림4] - 'WORD 1' 내부에 존재하는 선거 관련 내용 (document.xml)

 

'WORD 1'은 편집제한이 걸려있어 단독 실행 시에는 아래와 같이 편집이 가능하지 않으나 'WORD 2' 매크로 내부에 암호를 포함하고 있어 'WORD 2'를 통해서 만이 수정이 가능한 구조이다. 즉 'WORD 2'가 연결 된 시스템만이 'WORD 1' 실행 시 국회의원 선거 관련 내용을 확인 할 수 있다. 따라서 특정 시스템을 타겟팅 한 것으로 추정된다.

 

[그림5] - 'WORD 1' 편집제한 해제를 위해 필요한 암호

 

[그림6] - 'WORD 2' 내부에 존재하는 편집 해제 암호 및 파일 재가공 코드

 

'WORD 2'의 매크로를 통해 'WORD 1'이 재구성 되면 파일 자체의 데이터가 일부 삭제되어 새로 저장된다. 따라서 아래와 같이 파일 사이즈가 줄어든 것을 확인 할 수 있다. 'WORD 2' 매크로는 사용자 정보를 특정 서버로 전송하며 작업 스케줄러를 등록하여 생성된 VBS를 5분마다 실행하도록 하여 특정 네트워크 주소에 접속 시도한다. (네크워크 주소 [그림1] 참고)

 

[그림7] - 'WORD 2' 매크로를 통해 수정 된 'WORD 1'

 

 

[그림8] - 'WORD 1'이 재구성 되어 새로 저장 됨

 

이렇듯 kimsuky 그룹은 문서를 이용한 공격을 꾸준히 하고 있음을 알 수 있으며 자사에서는 지속적으로 다양한 공격의 악성코드들을 분석하여 지속 공유할 예정이다.

 

사용자들은 확인 되지 않는 문서를 사용하는데 주의가 매우 필요하며 현재 V3에서는 위와 같은 악성 문서들을 아래와 같이 진단 중이다.

 

  • XML/Dloader (2020.04.10.00)
  • Downloader/Doc.Generic (2020.04.10.00)

댓글