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

국내 해킹된 사이트에서 발견된 "HTML Style tag based malicious Iframes (2)"

by 알 수 없는 사용자 2011. 4. 12.
 

프롤로그

이전에 "HTML Style tag based malicious Iframes"에 대해서 간단하게 언급했었는데 오늘 그 두번째 시간으로 악성코드를 유포할 때 다운로드 되는 악성 PDF에 관한 내용입니다.

* "HTML Style tag based malicious Iframes": http://core.ahnlab.com/275

PDF 분석
V3
에서 PDF/Pdfka진단되는 해당 PDF를 살펴보면 아래처럼 /XFA로 묶여진 여러 개의 Object ID들이 존재하며,

/
XFA [8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R 16 0 R 17 0 R]

실제
PDF의 취약점을 통해서 악성코드를 다운로드 하도록 악성 JS파일을 담고 있는 Object ID8 0, 9 0, 10 0, 11 0, 12 0이며 아래 그림으로 표현할 수가 있습니다.



 

악성 JS의 메인코드는 위 [그림 2]에서 본 것처럼 Object ID 11 0에 존재하며 난독화(Obfuscated)된 자바 스크립트임을 알 수가 있습니다. 여기서 파란색 Bold체로 표시된 변수들이 가진 의미를 정리해 보면 아래와 같습니다.


1.
TunOkoxamezb: evalString.fromCharCode

2. VolaaGiqina: eval

3. DbolaNarolybi: function fromCharCode() {[native code]}

4. DaqAsdyxk: function DbolaNarolybi를 통해서 난독화 해제된 JS코드를 저장하는 변수


아래 그림은 난독화
(Obfuscated)된 자바 스크립트가 난독화 해제되는 과정을 요약한 것입니다.


[그림 3]의 난독화 해제 과정이 완료되면 아래 [그림 4]처럼 난독화 해제된 자바 스크립트 코드가 존재함을 알 수가 있습니다.

 

위 그림은 난독화 해제된 후 악성 자바 스크립트의 일부 코드인데 2개의 쉘코드와 해당 쉘코드를 Heap Spray해 주는 코드로 구성되어 있고 아래 그림으로 표현할 수 있습니다.



 

_YS()라는 Function에는 manual.pdf를 실행하는 PDF Reader가 어떤 버전이냐에 따라 조금씩 다른 취약점 코드와 쉘코드를 구성하게 되며 빨강색 네모 박스로 표시된 부분이 취약점을 발생시키는 코드가 조합되는 부분인데 해당 변수들을 조합해 보면 아래 그림과 같이 조합된 취약점 코드를 얻을 수 있습니다. 참고로 manual.pdfCVE-2006-3459 취약점을 이용한 것으로 보여집니다.

* CVE-2006-3459 취약점 정보: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3459



[그림 7]에 보여진 취약점 코드와 함께 [그림 6]에서 보여진 Shellcode가 Heap에 복사가 되면서 실행됩니다. 해당 쉘코드를 분석해 보면 아래 [그림 8]처럼 특정 URL로 접속하여 또 다른 악성코드를 다운로드 후 실행하는 것으로 보이나 지금은 접속이 불가능합니다.


에필로그
악성 PDF 문서를 분석함에 있어 여러 정보를 참고하여 진행한 것이므로 잘못된 내용이 있을 수 있으니 코멘트 남겨 주시면 확인 후 수정하겠습니다. 고맙습니다.

댓글