Microsoft에 인증되지 않은 취약점? 이야기

소개



Microsoft는 제품이나 서비스의 취약성을 발견하면 보상금을 받을 수 있는 제도 「Microsoft Bug Bounty Program」이 있다. 본 기사에서는 Microsoft에 인정되지 않았지만, 유저에게의 리스크가 될 수 있는 보고를 두어 둔다. 내용은 Microsoft가 즉시 수정할 수 없다고 판단한 것이므로 사용자 측에서의 대책이 필요하다.
Microsoft Bug Bounty Program

이 기사는 Microsoft로부터 공개 허가를 받았습니다. 본 기사의 내용을 시험할 경우 법률에 따라 처벌될 수 있습니다.

취약성 개요



이 취약점은 Microsoft Forms에 대한 게시물을 Microsoft Power Automate를 사용하여 Microsoft Teams에 통지(전송)하는 경우에 발생한다. 피해로서는 통지 템플릿의 개찬, 부정한 링크의 매입, DDoS 공격에의 하담 등이다.

설정 정보



Microsoft Forms에서 다음과 같은 양식을 만듭니다.

Microsoft Power Automate 알림 템플릿을 다음과 같이 설정합니다. 문자열 "Forms"의 링크 대상에는 htps : // / rms. 오후세. 이 m을 지정했다.


올바른 행동



올바른 동작을 확인하기 위해 Forms의 Text에 문장을 넣어 송신을 실시한다.

링크도 정상적으로 기능하고 있는 것 같다.

알림 템플릿 수정



다음에, Forms로부터 이하를 송신함으로써 템플릿의 내용을 개찬한다. 구체적으로는 링크 부분을 삭제하고 임의의 문자열을 삽입 할 수 있습니다.
ある日の事でございます。 Teams<iframe

링크 부분의 "Forms"의 문자열이 사라지고, "Teams"의 링크 없는 문자열로 대체되고 있다.


악성 링크 포함



또한 링크 부분의 "Forms"문자열에 부정한 링크를 삽입한다. 다음을 Forms에서 보냅니다.
ある日の事でございます。 <a href=http://example.com

htps : // / rms. 오후세. 이 m이었던 링크가, ぁ tp : // 에어 mpぇ. 이 m (으)로 변경되고 있는 것을 알 수 있다.

악의적인 제3자가 ぁ tp : // 에어 mpぇ. 이 m 같은 부드러운 링크를 삽입하지 않습니다.

DDoS 공격에 대한 짐



img 태그를 삽입하면 DDoS 공격에 사용자를 담을 수 있습니다. img 태그는 다음 파이썬으로 생성됩니다.
for i in range(50):
    print("<img src=\"http://xxx.xxx.xxx.xxx/{:x}\">".format(i),end="")

xxx.xxx.xxx.xxx에는 피해자의 IP가 들어가게 된다. 이번에는 시험적으로 RequestBin htps : // 엔자 21 아 308d3 에. x. 피페 d레아 m. 네 t을 사용했다. Teams에 대한 통지는 다음과 같다.

RequestBin에는 다음과 같은 액세스 로그가 Microsoft 서버에서 발행되고 있었다.

이것을 복수의 Forms에 계속 송신하는 것으로, 타인에게 Microsoft 서버 경유로의 DDoS 공격을 실시하게 할 수 있다. Teams는 img 태그를 축적하기 때문에 한 번에 다량의 액세스가 가능해진다.

사용자가해야 할 조치



Microsoft Power Automate에서 받은 콘텐츠를 신뢰하지 않습니다. 현재, img 태그에 대한 대책은 사용자 측에서는 어렵다.

replace에서 복수의 특수 기호를 문자 참조로 치환함으로써 사용자 측에서의 대책이 가능하다는 코멘트가 있고, 이하에서 본 취약성에 의한 공격의 회피를 확인했다.
replace(replace(replace(Text,'"','&quot;'),'<','&lt;'),'>','&gt;')

무해화하기 위한 함수가 없는 것으로부터도 알 수 있듯이, 본래는 Microsoft측에서 무해화가 행해지고 있다(이벤트 핸들러나 부정한 태그의 삭제 등). 이 취약점은이 기능을 우회하는 것으로 사용자 측이 적절한 처리를 수행하지 않기 때문에 취약점과는 별개로 간주됩니다.

Microsoft 평가



Hi,
Thank you for your submission. We determined your finding does not meet our bar for immediate servicing.
It is a Low/Moderate bug, which would require significant effort to exploit. You may disclose at this time if you wish.

링크를 수정할 수 있지만 w
🕷

좋은 웹페이지 즐겨찾기