MS XML vulnerability detection rule : CVE-2012-1889 rev:4
IE기반이라 네트워크 단에서 탐지하기 어렵다. 탐지를 해도 추후분석이 조금더 필요하다
룰은 다음과 같다
alert tcp any $HTTP_PORT -> any any (pcre:”\x3c\s*\bobject\b[^\x3e]*?\bclsid\b[^\x3e]*?\b(f6D90f11\x2d9c73\x2d11d3\x2db32e\x2d00C04f990bb4|f5078f32\x2dc551\x2d11d3\x2d89b9\x2d0000f81fe221|88d969c0\x2df192\x2d11d4\x2da65f\x2d0040963251e5|88d96a05\x2df192\x2d11d4\x2da65f\x2d0040963251e5|88d969e5\x2df192\x2d11d4\x2da65f\x2d0040963251e5)\b[^\x3e]*?\bid\s*\x3d\s*[\x27\x22]?\b([\w]+)\b[\x27\x22]?.+?(var\s+\b([\w]+)\b\s*\x3d\s*document\.getElementById\x28\s*[\x27\x22]?\b\2\b[\x27\x22]?\s*\x29\.object.+\b\4\.definition\b\s*\x28[0-9]{0,10}\x29|document\.getElementById\x28\s*[\x27\x22]?\b\2\b[\x27\x22]?\s*\x29\.object\.definition\b\s*\x28[0-9]{0,10}\x29)/is”;)
object 태그로 해당 취약점이 발생하는 clsid를 찾고 id를 찾아서 저장한다.
이 id를 이용하여 엘리먼트객체 생성하면서 바로 definition을 이용하거나,
이 id를 이용하여 엘리먼트를 생성한 변수를 찾아 저장하고 이 변수에 definition을 이용하면 탐지한다.
이 룰은 패킷 조립이 된 후 검사되어야 하며, backreference로 인한 성능이슈가 있다.
저대역 트래픽 망에서만 적용하길 바란다.
위 룰이 탐지하는 예제는 메타스플로잇 혹은 광범위한 예제에서 탐지를 수행한다.
메타스플로잇예,
<body>
<script>
…중간생략…
var obj = document.getElementById(‘CGbi’).object;
var src = unescape(“%u0c08%u0c0c”);
while (src.length < 0x1002) src += src;
src = “\\\\xxx” + src;
src = src.substr(0, 0x1000 – 10);
var pic = document.createElement(“img”);
pic.src = src;
pic.nameProp;
obj.definition(1000);
</script>
</body>
</html>
또 다른 예,
<html> <body> <script> document.getElementById(“aa”).object.definition(0); </script> </body> </html>
좀더 light하게 만들면 다음과 같다.
하지만 탐지 후, 분석을 해주어야한다.
alert tcp any $HTTP_PORT -> any any (content:”f6d90f11-9c73-11d3-b32e-00c04f990bb4″; nocase; pcre:”/\x3c\s*object[^\x3e]*CLSID[^\x3e]*f6d90f11\x2d9c73\x2d11d3\x2db32e\x2d00c04f990bb4/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any $HTTP_PORT -> any any (content:”f5078f32-c551-11d3-89b9-0000f81fe221″; nocase; pcre:”/\x3c\s*object[^\x3e]*CLSID[^\x3e]*f5078f32\x2dc551\x2d11d3\x2d89b9\x2d0000f81fe221/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any $HTTP_PORT -> any any (content:”88d969c0-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\x3e]*CLSID[^\x3e]*88d969c0\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any $HTTP_PORT -> any any (content:”88d969e5-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\x3e]*CLSID[^\x3e]*88d969e5\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any $HTTP_PORT -> any any (content:”88d96a05-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\x3e]*CLSID[^\x3e]*88d96a05\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
태클환영, 오류수정요청환영, 피드백환영
추가 취약한 CLSID발견
{f6d90f12-9c73-11d3-b32e-00c04f990bb4}
{f5078f33-c551-11d3-89b9-0000f81fe221}
{88d969c1-f192-11d4-a65f-0040963251e5}
{88d969e6-f192-11d4-a65f-0040963251e5}
{88d96a06-f192-11d4-a65f-0040963251e5}
룰은 다음과 같다
alert tcp any 80 -> any any (content:”f6d90f12-9c73-11d3-b32e-00c04f990bb4″; nocase; pcre:”/\x3c\s*object[^\r\n\x3e]*CLSID[^\r\n\x3e]*f6d90f12\x2d9c73\x2d11d3\x2db32e\x2d00c04f990bb4/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any 80 -> any any (content:”f5078f33-c551-11d3-89b9-0000f81fe221″; nocase; pcre:”/\x3c\s*object[^\r\n\x3e]*CLSID[^\r\n\x3e]*f5078f33\x2dc551\x2d11d3\x2d89b9\x2d0000f81fe221/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any 80 -> any any (content:”88d969c1-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\r\n\x3e]*CLSID[^\r\n\x3e]*88d969c1\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any 80 -> any any (content:”88d969e6-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\r\n\x3e]*CLSID[^\r\n\x3e]*88d969e6\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
alert tcp any 80 -> any any (content:”88d96a06-f192-11d4-a65f-0040963251e5″; nocase; pcre:”/\x3c\s*object[^\r\n\x3e]*CLSID[^\r\n\x3e]*88d96a06\x2df192\x2d11d4\x2da65f\x2d0040963251e5/i”; pcre:”/\x2edefinition\s*\x28/iR”;)
About this entry
You’re currently reading “MS XML vulnerability detection rule : CVE-2012-1889 rev:4,” an entry on Snort rules
- 게시일:
- 6월 21, 2012 / 11:34 am
- 카테고리:
- Hot issue
- 태그:
- 1889, cve-2012-1889, xml
No comments yet
Jump to comment form | comment rss [?] | trackback uri [?]