MS IE mhtml component vulnerability – zeroday detection rule (CVE-2011-0096)

http://www.wooyun.org/bugs/wooyun-2010-01199

위 PoC에서 보면 mhtml:http:// 이 나오는데

이는 웹페이지에서 프로토콜 핸들러인 mhtml을 바로 사용하는 경우는 유효하지 않다.

웹페이지에서 mhtml:http://를 탐지하면 되나 이 사용법은 합법적인 경우가 있을 수 있으므로 오탐을 유발한다.

즉, 웹페이지를 조회하고 응답으로 mhtml:http:// 악성 링크가 삽입되는 경우를 탐지하는 것이다.

예를들어 iframe, a href, window.location 등을 사용한 링크 삽입이다.

링크 삽입 함수 혹은 태그등은 변동이 자유로움으로 mhtml:http://을 탐지하되 오탐을 걸러내야한다.

다음은 상당히 러프한 룰이다.

alert tcp any $HTTP_PORT -> any any (content:”mhtml|3a|http|3a2f2f|”; nocase;)

링크를 삽입하는 형태의 룰은 다음과 같을 수 있다.

하지만 좀더 복잡한 링크 삽입형태는 탐지를 못할 수 있다. 코딩의 복잡함을 고려했을 때 탐지를 못할 수 있는 것들이 있을 수 있다.

그런 경우 위룰을 사용하여 오탐을 걸러내는 수밖에 방법이 없다.

다음룰은 nsmaster의 작성룰이다.

alert tcp any $HTTP_PORT -> any any (content:”mhtml|3a|http|3a2f2f|”; nocase; pcre:”/(location|src|href)\s*\x3d\s*\x22mhtml\x3ahttp\x3a\x2f\x2f/i”;)

Advertisements

About this entry