Vulnerability

WinRAR (WinACE)

PeterC 2021. 2. 23. 10:05

# WinRAR는 전 세계적으로 5억 명의 유저가 사용중이라고 한다.

# WinRAR : https://www.win-rar.com/start.html?&L=0

 

경로조작 취약점(Path Traversal Vulnerability)

 

WinRAR를 이용하여 압출파일 추출 시 공격자가 원하는 폴더에 파일이 풀리도록 조작 가능한 보안 취약점이다.

이를 악용해 윈도 시작프로그램 폴더에 악성파일을 배치하면 PC 재부팅 시 악성코드가 자동 실행된다.

 

취약점은 WinRAR 프로그램 내 'unacev2.dll' 파일에서 발견되었다. 이 써드파티 라이브러리 파일은 ACE 형식으로 압축된 파일을 압축해제할 때 사용된다.

 

ACE 압축 포맷은 쓰이는 경우가 드물지만, WinRAR 확장자가 아니라 파일 내용으로 압축 포맷을 식별한다. 공격자는 ACE 포맷으로 압축된 악성파일 확장자를 RAR로 변경해 위장 가능하다.

 

WinRAR는 패키지에서 UNACEV2.dll을 삭제하기로 결정하였으며, "버전 5.70 Beta 1" 에서 ACE 형식을 지원하지 않는다.

(현재는 타사의 라이브러리를 사용하여 ACE 아카이브 압축을 푼다고 릴리즈 노트에 나와있다.)


ACE 아카이브에서 시작 폴더 경로에 압축된 실행 파일을 추출하여 코드를 실행시킬 수도 있다.

E.g)1. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
2. C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

 

시작 폴더의 첫 번째 경로에는 높은 권한/무결성 수준이 필요하다.(UAC가 켜져있는 경우) 그러나 WinRAR느 기본적으로 중간 무결성 수준으로 실행된다.

 

두 번째 경로는 사용자 계정의 이름명을 알면 간단하게 살펴볼 수 있다.

 

# winrar 응용프로그램을 이용하여 SFX 포맷 형식으로 압축 옵션 
echo "Path=%Temp%"> $env:TEMP\config.txt
echo "Silent=1" >> $env:TEMP\config.txt
echo "Overwrite=1" >> $env:TEMP\config.txt
echo "Setup=cmd /c %temp%\helper.cmd | notepad %temp%\update_list.txt" >> $env:TEMP\config.txt

# 임시파일 경로로 이동하여 SFX 압축
cd $env:TEMP\winsh
cmd.exe /c 'C:\Program Files\WInRAR\Rar.exe' a -c -cfg- -epl -idq -o+ -m5 -mdg -r -rr -s -sfx -x -y -z"<설정파일 경로>" "<압축 대상파일 경로>" "<WinACE 포맷형식을 사용할 경우 압축해제될 경로>"

References

1. CheekPoint - "Extracting a 19 Year Old Code Execution from WinRAR"

research.checkpoint.com/2019/extracting-code-execution-from-winrar/

 

Extracting a 19 Year Old Code Execution from WinRAR - Check Point Research

Research by: Nadav Grossman Introduction In this article, we tell the story of how we found a logical bug using the WinAFL fuzzer and exploited it in WinRAR to gain full control over a victim’s computer. The exploit works by just extracting an archive, a

research.checkpoint.com

 

2. 전자신문 팽동현 기자 - "윈RAR서 19년 된 보안취약점 발견돼"

m.etnews.com/20190222000238?obj=Tzo4OiJzdGRDbGFzcyI6Mjp7czo3OiJyZWZlcmVyIjtOO3M6NzoiZm9yd2FyZCI7czoxMzoid2ViIHRvIG1vYmlsZSI7fQ%3D%3D

 

윈RAR서 19년 된 보안취약점 발견돼

세계 5억명이 사용하는 윈도 압축프로그램 윈라(WinRAR)에 19년 동안 존재한 보안 취약점이 발견됐다. 이스라엘 보안업체 체크포인트 연구진은 윈라 프로그램 내에서 경로조작 취약점(Path Traversal V

www.etnews.com