| 한글문서 취약점 악용 스피어피싱 공격, 기술적 특징 분석해보니 | 2017.09.27 |
한글문서 취약점 이용한 특정인 노린 스피어피싱 공격 탐지
표적 찾아 데이터 유출 및 깊은 침투, 무료 클라우드 서비스로 암호 저장 [보안뉴스 김경애 기자] 국내 정부기관에서 많이 사용하는 한글문서 취약점을 이용해 특정인을 노린 스피어피싱 공격이 발견됐다. 이번 공격은 한글문서의 CVE-2015-2545 EPS(Encapsulated PostScript) 취약점을 이용했다. ![]() ▲ 악성코드가 심어진 한글 악성파일[이미지=포티넷] 27일 포티넷의 포티가드랩(FortiGuard Labs) 측은 “악성문서 내용은 한국의 원전 및 노동 정책 등의 정치적 이슈로 사용자를 유인한 것으로 추측되고 있다”며 “이 공격은 추적이 어려울 뿐만 아니라 데이터 스토리지와 통신을 제공하는 무료 클라우드 서비스인 ‘피클라우드(pCloud)’를 이용했으며, 수집한 샘플을 분석한 결과 ‘클라우드탭(CloudTap)’이라는 멀웨어가 나타난지 1년이 넘은 것으로 나타났다”고 분석했다. 악성문서에는 캡슐화된 포스트 스크립트를 숨겼으며, 문서가 실행되면 스크립트가 실행되고 페이로드가 다운된다. 그리고 피해자 단말에 저장된 기밀문서를 검색하고, 브라우저에 저장된 자격 증명을 탈취하는 것으로 보인다. 또한, 이 공격은 무료 클라우드 서비스인 ‘pCloud’를 C&C 서버로 사용하며, 타깃 사용자로부터 기밀문서와 자격증명을 탈취한 후 암호화해 저장한다. 무료 클라우드를 사용하면 C&C 서버 운영 비용을 줄일 수 있을 뿐 아니라 추적을 피할 수도 있다. 또한 ‘CloudTap’이라는 악성코드를1년 이상 사용한 것으로 분석됐다. 이번 공격의 주요 특징을 살펴보면 △JPEG 이미지에 숨겨진 페이로드 △표적 찾기 △프로세스와 특정 확장자가 붙은 문서 목록화 △다양한 방법을 활용하여 자격 증명 추출 △무료 클라우드 서비스pCloud를 C&C 서버 활용 △데이터 유출 및 깊은 침투를 했다. JPEG 이미지에 숨겨진 페이로드 먼저 JPEG 이미지에 숨겨진 페이로드의 경우 이 공격에서 사용된 한국의 원자력과 노동력 문제가 관련된 기사 발췌문의 문서에서 발견됐다. 캡슐화된 포스트스크립트 파일이 문서에 들어 있는데, 사실상 일반 사용자의 눈에는 전혀 보이지 않는다. 이 문서는 zlib을 사용해 압축을 풀어야 실제 쉘코드를 볼 수 있다. 이미지에는 실행바이너리가 있고, 간단한 싱글바이트 xor 키로 암호화돼 있었다. 또한, 해당 멀웨어의 이전 샘플도 발견했다. 그중 하나가 2016년 초에 컴파일된 디버그 버전인 것으로 미루어 보았을 때 이 멀웨어가 벌써 1년 이상 은닉되어 있다는 것을 짐작할 수 있다. 이렇게 가장하는 목적은 일부 멀웨어 방지 시스템이 스캔과 샌드박스 절차를 멀웨어에서 흔히 사용하는 실행 파일에만 적용해 서비스를 최적화하는 특징을 악용하기 위해서다. 표적 찾기 멀웨어 공격자는 대개 시스템 환경을 조사해 공격할 표적을 찾는다. 그 다음 네트워크에 깊이 침투하거나 가치가 높은 시스템에서 리소스를 찾아내는 등 다음 행보를 결정한다. 이 공격에서는 페이로드가 문서를 검색하고 브라우저가 저장한 자격 증명을 추출하려고 시도한다. 페이로드 실행 파일은 키 문자열을 바꾸어 놓기만 하고 분석 방지 기술을 전혀 사용하지 않은 채 바로 작업에 들어간다. 프로세스와 특정 확장자가 붙은 문서 목록화 멀웨어는 시스템의 모든 실행 중인 프로세스를 나열하고 피해자가 사용 중인 애플리케이션 중에 흥미로운 것이 있는지 살펴보거나 안티바이러스 제품을 찾아낸다. 그런 다음 .hwp, .doc, .docx, .pdf, .ppt, .pptx 등의 확장자가 붙은 문서를 찾기 시작한다. 루트 드라이브를 제외하고 시스템에서 발견된 모든 고정 및 이동식 드라이브의 디렉터리 전체를 검색하며, 확장자의 제한을 두지 않는다. 다양한 방법을 활용하여 자격 증명 추출 이 멀웨어는 여러 가지 기술을 활용하여 마이크로소프트 윈도우(Microsoft Windows)와 특정 브라우저가 저장한 자격 증명을 추출하는 것으로 분석됐다. Internet Explorer에서는 저장한 로그인 자격 증명을 알아내기 위해 CredEnumerateW API로 자격 증명을 끼워 맞추는 동시에 ‘Microsoft_WinInet’으로 시작하는 항목으로만 결과를 필터링한다. 그런 다음, CryptUnprotectData를 적용하고 GUID ‘abe2869f-9b47-4cd9-a358-c22904dba7f7’을 암호 해독 엔트로피를 활용하여 자격 증명을 해독한다. 그 외에 IE가 자동 완성 자격 증명을 저장하는데 사용하는 ‘Software\Microsoft\Internet Explorer\IntelliForms\Storage2’ 레지스트리도 활용한다. 뿐만 아니라 Microsoft가 내장한 자격 증명 스토리지인 Windows Vault와 Chrome 브라우저에서도 자격 증명을 추출하려고 시도한다. 무료 클라우드 서비스 pCloud, C&C 서버로 활용 공격자는 스위스 IT 회사인 pCloud AG가 개발한 클라우드 스토리지 서비스 pCloud를 활용한다. 이 클라우드는 2013년부터 서비스를 시작했으며, 가입하자마자 이메일 검증 절차 없이 무료 스토리지를 10GB 제공한다. AES로 표적 데이터를 획득하고 암호화한 뒤에는 .dat라는 이름으로 파일을 작성하고 클라우드에 업로드한다. 이는 훔친 데이터를 저장하는 공간으로 서비스를 악용할 뿐만 아니라 URL 목록에서 파일을 다운로드하도록 멀웨어에 지시한다. 클라우드 서비스를 C&C 서버로 활용하는데는 여러 가지 장점이 있다. 설정이 간편하고, 이런 목적으로 사용하기에 충분한 기능을 갖춘 무료 클라우드 서비스가 무수히 많다. 클라우드는 포렌식 조사를 진행할 실제 기계도 없고 멀웨어의 흔적을 찾아낼 만한 웹 관리자도 없다. 게다가 이런 서비스 계정은 개인정보보호 정책의 보호를 받는다. 이는 공격자 색출을 위해 정보가 필요할 때는 개인정보보호 정책이 걸림돌로 작용한다는 얘기다. 데이터 유출 및 깊은 침투 이 공격은 pCloud API를 사용하여 피해자 컴퓨터에서 쉽게 데이터를 업로드하고 감염된 시스템에 다른 도구나 멀웨어를 다운로드한다. 멀웨어는 계정 이메일과 비밀번호로 userinfo API를 사용하여 이후, API 호출에 사용할 세션 키를 얻으려고 시도한다. 멀웨어는 세션 키를 사용하여 uploadfile API를 통해 암호화된 데이터가 포함된 파일을 클라우드 스토리지에 업로드한다. 데이터에는 MAC주소, 실행 중인 프로세스, 파일 목록, 자격 증명 등의 정보가 포함되며, 그 후 파일은 시스템에서 삭제된다. 이는 공격자가 수집한 데이터를 기반으로 특정 피해자만 선택한다는 것을 의미할 수도 있다는 얘기다. 멀웨어는.lst 파일을 다운로드한 후에는 pCloud에서 삭제함으로써 멀웨어 분석 전문가/연구자들이 공격의 두 번째 단계를 알 수 없도록 차단한다. 다운로드가 실패하면 멀웨어는 5시간 동안 다시 시도하며, 시스템에 남아 있다가 자체 종료한다. 이 목록도 AES로 암호화돼 있으며, 멀웨어가 다운로드한 파일을 분석하는 방식을 기반으로 미루어 보면 새 줄로 구분한 URL 목록이 들어 있다. 최종적으로 멀웨어는 목록에 있는 모든 항목을 다운로드하고 실행한다. 따라서 사용자는 CVE-2015-2545 취약점 패치와 백신과 한글파일 등 소프트웨어는 항상 최신버전으로 업데이트해 유지해야 한다. 이와 관련 포티넷은 “공격자들은 공격의 흔적을 남기지 않도록 더욱 주의를 기울이고 있다”며 “클라우드 스토리지 서비스를 사용하는 장점을 결합해 보면, 점점 더 많은 멀웨어 공격이 간편한 무료 설정을 이용할 것”이라고 밝혔다. [김경애 기자(boan3@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|