1. 개요
하우리에 따르면 지난 2월 6일 한국계 중국인 이력서로 위장하여 이메일을 통해 유포된 것으로 보이는 악성파일 ‘이력서-이광희.hwp’ 가 포착되었다. 신년을 맞아 인력수급이 한창인 지금 최근 급증하는 한글파일로 위장한 악성코드 중 하나인 이 악성코드를 분석하고, 대응책을 알아보겠다.
관련기사: http://www.asiae.co.kr/news/view.htm?idxno=2017020616551290957
2. 파일정보
항목 | 내용 |
---|---|
파일명 | 이력서-이광희.hwp |
파일 타입 | HWP |
파일 크기 | 24,576 bytes |
MD5 | 16a3f7b7191fc3c70b3a9aad7dd44a25 |
설명 | 한글 취약점을 이용한 쉘코드 다운로더 |
3. 악성 행위
한글 워드프로세서를 이용해 이 악성코드를 열 경우, 윈도우 정상프로세스인 netsh.exe 를 실행하고 악성 실행코드를 인젝션해 악성 동작을 수행한다. 이번 분석에서 사용한 한글 워드프로세서는 한글 2010 v8.0.0.466이다.
악성 한글파일 안에는 그래픽 파일인 EPS 파일이 포함된 것을 확인할 수 있다. 이 EPS 파일은 한글 워드프로세서에서 처리하지 않고 외부 모듈인 EPS viewer1 를 통해 출력한다.
취약점은 한글 2010에서 생기는 것이 아닌, 한글 2010이 EPS 파일을 보여주기 위해 사용하는 외부 모듈에서 발생한다. 외부 모듈 파일명은 gsdll32.dll 로, BOF 가 발생해 공격자가 삽입한 임의의 코드가 실행된다. 이 취약점은 2013년 8월 28일 정식으로 패치 됐지만, 이를 가져다 쓰는 써드파티 앱들(이 경우에는 한글 2010)이 외부 모듈의 업데이트를 소홀이 한다면 취약점 패치까지는 시간이 더 소요될 수 있다.
3.1. 과거 공격이력
과거 동일한 방식으로 동작하는 악성코드 우려되는 대한민국.hwp 를 분석한 적이 있다. 당시 악성 행위는 netsh.exe 가 아닌 sort.exe 에 인젝션되어 이뤄진다는 차이가 있지만, 실행 과정의 유사점이 발견되어 두 악성코드간 쉘코드를 비교분석 했다.
우려되는 대한민국 분석 보고서: http://securityfactory.tistory.com/368
그 결과 netsh.exe 에 인젝션되어 동작하는 다섯 개의 악성함수 모두는 과거 우려되는 대한민국.hwp에 사용된 악성함수와 완벽하게 일치하는 것으로 나타났다. 이를 통해 두 악성코드의 제작자는 동일하거나 적어도 같은 소스코드를 공유한 것으로 보인다.
3.2. 다운로드
악성코드가 인젝션된 netsh.exe 는 hxxp://www.info2000services.it:8080/docs/images/cotton.jpg 주소로 부터 쉘코드를 다운로드 받는다. 일반적으로 이런 추가 다운로드 행위는 ‘파일’을 다운로드 받아 ‘실행’하는 것으로 동작하나, 이 악성코드는 ‘쉘코드’를 다운받아 ‘호출’ 하는것으로 동작해 파일 시스템상 어떤 흔적도 남기지 않는다. 따라서 분석을 위한 악성코드 수집은 물론 감염 사실도 파악하기 어렵다.
외부 웹서버에 있는 추가 악성코드는 현재 다운로드 되지 않아 추가적인 분석은 불가능하다. 하지만 외부 웹서버의 상황에 따라 언제든 다시 악성행위를 할 수 있고, 어떤 악성파일이 업로드 될지 모른다는 점에서 이로 인한 피해는 예측할 수 없다.
4. 대응방안
netsh.exe는 네트워크 관련 설정을 할 수 있는 CLI 기반 프로그램이다. 사용자가 직접 실행하지 않는 이상 항상 실행되고 있지 않기 때문에, 실행중인 프로세스 목록에 netsh.exe 가 있다면 감염을 의심해 봐야 한다. 또한 한글과 컴퓨터에서는 한글 2014버전부터 EPS 파일을 처리하기 위해 별도의 외부 모듈을 사용하지 않는다. 따라서 최신 버전의 한글 프로그램을 사용한다면 이 위협에서 벗어날 수 있다.
5. 마치며
실행파일 하나가 하나의 프로그램이라고 생각하기 쉽지만 보통 프로그램은 여러 모듈들이 결합해 만들어진다. 그리고 이번 경우처럼 외부에서 가져다 쓰는 모듈에서 취약점이 발생한다면, 해당 모듈을 가져다 쓰는 모든 프로그램이 함께 취약해진다. 이는 과거 HeartBleed 로 잘 알려진 OpenSSL 취약점 사례에서 잘 나타난 바 있다. 여러모듈들의 업데이트를 일일히 쫓아가며 확인하는 것은 사실상 불가능하기에 IT 복잡도가 심해질 수록 종합적인 위협 관리의 필요성은 더욱 부각된다.
- EPS viewer 제작사 공식 홈페이지 및 관련 취약점 CVE-2013-0808 ↩