Home > 전체기사
악성 한글파일 이용한 APT 공격 ‘유령 꼭두각시’ 집중분석
  |  입력 : 2018-09-20 18:03
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
이스트시큐리티 시큐리티대응센터, 최신 APT 캠페인 작전명 ‘유령 꼭두각시’ 발표

[보안뉴스 원병철 기자] 악성코드 감염을 위해 한글 문서 파일을 사용한 새로운 공격이 발견됐다. 이스트시큐리티 시큐리티대응센터(ESRC)는 지난 8월 악성 한글 문서 파일 ‘유사수신행위 위반통보.hwp’가 발견됐다고 밝혔다. 해당 문서 파일은 특정인의 유사 수신 행위에 대한 고발 내용을 담고 있지만 파일 내부에 ‘GhostScript’ 취약점 코드를 포함하고 있으며, 이용자가 무심결에 실행할 경우 취약점으로부터 원격 제어 기능을 수행하는 악성코드(페이로드)에 감염된다.

▲ ‘유령 꼭두각시’ APT 공격 분석보고서[자료=이스트시큐리티]


공격 과정에서 주목할 점은 공격자는 악성코드 감염을 위해 한글 문서 파일을 사용했다는 것이다. 공격자가 한글 문서를 사용한 이유는 ‘한글’ 워드프로세서 제품은 MS Office 제품군(Excel, Word 등)과 달리 한글이라는 전용 언어를 사용하는 국산 워드프로세서로써, 사용처가 주로 국가 기관이기에 공격 대상이 명확하기 때문으로 보인다.

ESRC는 ‘GhostScript 엔진의 취약점’과 ‘페이로드의 원격제어 기능’과 같은 공격 특징을 토대로 작전(Operation)명을 ‘유령 꼭두각시(Ghost Puppet)’로 명명한다고 밝혔다.

악성 한글 문서 파일 사례 분석(유사수신행위 위반통보.hwp)
'유사수신행위 위반통보.hwp’는 취약점이 포함된 포스트스크립트를 실행해 악성코드를 다운로드하는 기능을 수행한다.

그림 1은 악성 한글 문서 파일에 ‘포스트스크립트’가 압축된 화면이다. 악성 한글 문서 파일은 취약점 코드가 포함된 포스트스크립트로 악성 행위를 수행하며, 포스트스크립트는 한글 파일(HWP) 구조 중 ‘BinData’의 ‘BIN0001.ps’에 존재한다. ‘BinData’는 ‘그림이나 OLE 개체와 같이 문서에 첨부된 바이너리 데이터’를 의미하며, ‘BinData’ 하위의 ‘BIN0001.ps’는 악성 포스트스크립트 파일로 ‘zlib’ 압축 모듈로 압축(Compress)되어 있다.

▲그림 1. 악성 한글 문서에 포함된 포스트스크립트(BIN0001.ps)[자료=ESRC]


한글 워드프로세서에서는 ‘포스트스크립트(PostScript)’를 ‘고스트 스크립트’로 처리한다. 그림 2는 ‘gbb.exe’를 통해 포스트스크립트 C:\Users\(사용자 계정)\AppData\Local\Temp\Hnc\BinData\EMB00000cf808e8.ps’를 로드하는 화면이다.

▲그림 2. ‘gbb.exe’를 통해 포스트스크립트를 로드하는 화면[자료=ESRC]


‘gbb.exe’에서 실행된 ‘EMB00000cf808e8.ps’는 포스트스크립트로서, 디코딩을 통해 인젝션 및 다운로드 기능을 가진 쉘코드를 로드한다. 로드된 쉘코드는 ‘explorer.exe’에 Thread 인젝션한 후 C&C로 부터 페이로드를 다운로드 하는 기능을 수행한다. 다운로더 코드는 그림 3을 참조하면 된다.

▲그림 3. 다운로더 코드[이미지=ESRC}


‘explorer.exe’ 메모리에서 실행되는 ‘gcoin2.swf’ 악성코드는 원격 제어 기능을 수행한다. 공격자로부터 명령을 받기 위해 C&C에 연결하는 코드와 정보는 그림 4와 같다.

▲그림 4. C&C 연결 코드[이미지=ESRC]


C&C에서 명령을 받은 경우, 공격자가 전송한 명령어에 따라 악성 기능이 수행된다. 원격 제어 코드 및 명령어에 따른 기능을 정리한 표는 그림 5와 같다.

▲그림 5. 원격 제어 코드[이미지=ESRC]


메타 데이터 분석
문서 메타데이터로 봤을 때, 해당 악성 파일은 KST 기준으로 약 오전 10시 54분경 ‘User’ 계정으로 최초 문서가 만들어졌고, 약 40분 뒤에 최종 작성 완료됐다. 또한, 앞서 언급한 ‘gcoin2.swf’ 악성코드의 경우 빌드 시간(TimeStamp)이 ‘2018년 08월 03일 01:34:02(UTC)’이다. 따라서 한글 악성 파일과 ‘gcoin2.swf’ 파일은 별도의 시간 조작이 되지 않은 것으로 보인다. 다음은 악성 한글 문서와 원격제어 악성코드 DLL의 시간 관계를 나타낸 그림이다.

▲그림 6. 악성코드 간의 시간 순서[이미지=ESRC]


그림 7의 문서는 유사 수신 등의 법률과 관련된 전문적인 지식을 가지고 작성된 게 아닌 인터넷(법무법인 한우리에서 제공하는 온라인소송닷컴 사이트)에 업로드된 양식을 토대로 수정된 것으로 보인다. ‘명목’ 대신 ‘명복’이라는 오타를 그대로 사용한 점은 이를 뒷받침하는 근거다.

▲그림 7. 시기별 각 악성 한글 문서 별 본문 내용[이미지=ESRC]


과거 악성 한글 파일과 유사성 분석 - 문서 메타 데이터
다음은 ‘마지막 문서 저장 시간(Last Saved Time)’을 기준으로 정렬한 각 악성 한글 문서에 저장된 메타 데이터다. 메타 데이터로 볼 때, Author(문서 생성자)나 Last_Saved_by(마지막으로 문서를 저장한 사람)는 문서마다 상이하다. 하지만, 4월부터 6월 중순까지 발견된 문서가 대부분 ‘TATIANA’ 계정으로 작성되었음을 알 수 있다.

시기별로 내용을 정리한 것이 그림 8이다. 각 문서는 이력서, 논문, 보도자료 등의 상이한 내용을 담고 있지만, 대체적으로 가상화폐, 유사수신행위, 부동산 등의 금융과 관련된 내용이 많다는 점을 알 수 있다. 악성 한글 문서 파일의 포스트스크립트는 모두 XOR 연산으로 디코딩을 수행한다.

과거 악성 한글 파일과 유사성 분석 - 악성코드 문자열 비교
다음은 악성코드의 명령제어 기능 중 디렉토리 내 파일 및 폴더 이름을 수집하는 코드들이다. 특징적으로 7.7 디도스 사건, 중앙일보 해킹 사건, ‘Ghost Puppet’에서 파일 및 폴더 이름을 구분하기 위해 시그니처 문자열을 사용한다. ‘Ghost Puppet‘에서 ‘폴더’는 ‘:FZ:’, 파일은 ‘:GY:’, 수집이 완료된 경우에는 ‘;**;’ 시그니처(Signature) 문자열을 사용한다. 특징적으로 관련사건 모두 사용한 특수기호 및 사용 위치가 유사하다.

▲그림 8. 각 사건 악성코드에서 확인되는 수집 시그니처 문자열[이미지=ESRC]


명령제어 기능 중 명령 프롬프트(cmd.exe)를 실행하는 코드도 유사하다. 2009년 7.7 디도스 사건에서 2011년 4월 12일 농협 해킹 사건에서 발견된 악성코드는 ‘‘%sd.e%sc "%s > %s", 2012년 6월 중앙일보 해킹 사건부터 ‘Ghost Puppet’까지는 ‘%sd.e%sc "%s > %s" 2>&1’ 명령어 문자열을 사용한다. 해당 명령어 문자열은 명령프롬프트에서 명령어 수행 결과를 파일로 출력하는 기능을 하며, ‘2>&1’는 명령어 실행에 따른 에러 메시지를 파일로 출력한다.

▲그림 9. 각 사건 별 악성코드에서 발견된 cmd 문자열[이미지=ESRC]


지금까지의 사례 외에도 동일한 IoC 코드나 메타 데이터를 사용하는 유사한 침해사고가 한국에서는 수년간 계속 이어지고 있으며, ESRC는 그 변화 과정을 지속적으로 추적·연구하고 있다고 밝혔다.
[원병철 기자(boanone@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
그린존시큐리티 4개월 배너모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 팬더믹 이후, 가장 기승을 부리고 있는 사이버 공격 유형은 무엇이라고 보시나요?
랜섬웨어
피싱/스미싱
스피어피싱(표적 공격)/국가 지원 해킹 공격
디도스 공격
혹스(사기) 메일
악성 앱
해적판 소프트웨어
기타(댓글로)