
CVE-2023-38831에 대한 POC 데모
CVE-2023-38831에 대한 POC 데모
취약점에 대한 간략한 설명
취약점은 어떻게 동작하나요?

악용의 첫 번째 단계
첫 번째 단계는 악용을 시작하기 위해 공격자 머신에서 진행됩니다.

1) 먼저 다음 명령을 사용하여 악성 첨부 파일인 “pdf”, 악용 파이썬 코드, bat 스크립트가 포함된 악용 폴더를 생성해야 합니다: “git clone https://github.com/HDCE-inc/CVE-2023-38831”

2) 악용이 이루어지기 전에 폴더에 포함된 내용은 다음과 같습니다.

3) ifconfig를 통해 kali 머신의 IP 주소 확인:

4) 그런 다음 script.bat의 기존 스크립트를 다음 명령줄(위 이미지)로 수정합니다.
“start”는 명령줄 프로세스를 시작하기 위한 것이고, “/min”은 명령 프롬프트를 백그라운드에서 최소화하기 위한 것이며, ncat은 공격자 IP 주소와 포트 4444를 통해 연결을 시작하기 위한 것이고, 마지막으로 -e cmd.exe는 명령 프롬프트에서 명령줄을 실행하기 위한 것입니다.

5) 다음은 exploit.py 코드에 대한 설명입니다:
1은 미끼 파일 이름(document.pdf), 스크립트 파일 이름(bat.script), 그리고 피해자가 RAR 파일로 보게 될 출력 이름에 대한 사용자 입력을 나타냅니다. 이 경우 getrich.rar로 저장합니다.
2는 kali linux 머신의 CVE-2023-38831 폴더에 올바른 명명 규칙으로 기존 파일이 존재하는지 검증하는 검사를 나타냅니다. 이름이 잘못되었거나 중복된 파일이 있으면 오류 메시지가 출력되고 프로그램이 중지되어 종료됩니다.
3은 os.mkdir()을 사용하여 임시 파일 대상을 생성하고, 새로 생성된 파일을 압축하여 아카이브로 만들기 전에 저장하고 작업 공간으로 사용하는 것을 나타냅니다.
4는 복사 라인인 shutil.copyfile을 나타내며, 미끼 파일과 스크립트 파일을 모두 복사하여 “tmp” 내의 각각의 디렉터리에 저장하고, 다음 단계로 진행하기 전에 필요한 모든 파일이 올바르게 제자리에 있는지 확인합니다. 다음 단계인 shutil.make_archieve는 “tmp” 폴더의 모든 내용이 포함된 “tmp.zip”이라는 아카이브를 “tmp”에서 생성합니다.
5는 위 코드 실행의 성공을 나타내며, 미끼 파일, 스크립트 파일 및 출력 파일 이름의 사용자 입력을 통해 악용 RAR 파일이 성공적으로 생성되었음을 의미합니다.

6) IP 주소를 확인하고 bat 스크립트를 수정한 후, 이제 “python exploit.py” 명령을 실행하여 악성 “.rar” 파일을 생성할 수 있습니다.
exploit.py는 3개 필드에 대한 사용자 입력을 요구합니다: 존재하는 미끼 파일 이름(document.pdf), 이전에 수정한 스크립트 파일 이름(script.bat), 그리고 피해자가 파일을 다운로드하고 클릭하도록 유인하기 위한 출력 RAR 파일 이름입니다. 이 경우 적합한 이름으로 “steps-to-generate-income.rar”를 사용했습니다. 이제 CVE-2023-38831은 피해자 머신을 악용할 준비가 되었습니다.
악용의 두 번째 단계
두 번째 단계는 kali 머신과 windows 11 VM인 피해자 머신에서 모두 진행됩니다.

1) 먼저 악성 웹사이트를 만들거나 첨부 파일을 피해자에게 보냅니다.
왼쪽에서는 “python -m http.server 8080”을 실행합니다. 이 명령은 어떤 IP 주소가 이 악성 URL에 접근하는지 캡처하여 피해자 IP 주소를 알 수 있게 하고, 특정 IP 주소의 “200”과 같은 다양한 HTTP 요청을 수신하는 프로세스입니다. 오른쪽에서는 피해자가 이 IP 주소로 유인되어 “steps-to-generate-income.rar” 파일을 다운로드하도록 유도됩니다.

2) 피해자가 악성 파일 “steps-to-generate-income.rar”을 성공적으로 다운로드하도록 유인되면, 시간대와 함께 어떤 IP 주소가 파일을 다운로드했는지 표시됩니다. 이 정보를 통해 피해자 IP 주소를 얻을 수 있습니다.

3) 그런 다음 kali 머신의 포트 4444에서 ncat을 설정합니다. 포트 4444는 피해자 머신에서 실행될 script.bat에 작성된 것과 동일한 포트로 동기화하기 위함입니다.
피해자가 document.pdf를 클릭하면 bat.script가 명령줄을 실행하고 즉시 백그라운드에서 최소화되어 공격자에게 백도어 연결을 허용합니다.

4) 그런 다음 피해자 머신에서 “C:\Windows”로 이동한 후 “dir”을 실행하여 저장된 모든 exe 파일을 나열하는 등 다양한 명령을 실행할 수 있습니다.
피해자 머신에서 실행된 세 가지 명령은 다음과 같습니다:“1”로 표시된 첫 번째 명령은 계정이 몇 개 있는지 확인하기 위한 “net user”이며, 이를 통해 계정이 W11 하나뿐임을 알 수 있습니다.
“2”로 표시된 두 번째 명령은 피해자 머신에 대해 더 자세히 이해하고 사용자가 가진 권한을 확인하기 위한 “systeminfo”이며, 이 경우 관리자 권한입니다.
“3”으로 표시된 세 번째 명령은 임의의 폴더를 탐색하는 것입니다. 이 경우 “C:\Users\W11”을 실행한 다음 “dir”을 실행하여 파일과 폴더 유형을 확인하고, “C:\Users\W11\Documents”를 실행한 다음 “dir”을 실행하여 Documents 디렉터리의 내용을 확인합니다. 운 좋게도 이 사용자는 비밀번호를 notepad.txt에 저장해 두었습니다. 그런 다음 명령줄에서 이 메모장의 내용을 출력하여 세부 정보를 확인합니다: “type secret.txt”. 결과적으로 이 명령줄을 통해 피해자 머신에서 파일을 읽고, 쓰고, 편집할 수 있음을 보여주며, 키로거를 설치하는 등의 추가 작업을 통해 피해자 머신을 더욱 취약하게 만들고 더 많은 민감한 정보에 노출시킬 수 있습니다.

5) 마지막으로 다음 명령을 실행하여 사용자 바탕 화면에 메모장 파일을 생성할 수 있습니다.
“echo "You've been hacked, please go to testingwebsite" > C:\Users\W11\D\hacked.txt” 명령을 실행하면 사용자 바탕 화면에 hacked.txt가 생성되어 피해자에게 자신의 머신이 악용되었음을 보여줍니다.
Deland-Han. (2014, February 19). Dynamic link library (DLL) - Windows Client. Microsoft Learn. https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/dynamic-link-library
Gillis, A. S. (2023, September 26). principle of least privilege (POLP). Security. https://www.techtarget.com/searchsecurity/definition/principle-of-least-privilege-POLP
GmbH, W. (n.d.). WinRAR 7.00 Final released. WinRAR Latest News. https://www.win-rar.com/singlenewsview.html?&L=0&cHash=c5bf79590657e32554c6683296a8e8aa&tx_ttnews%5Btt_news%5D=232
Lab, S. (2023, September 26). Analysis of CVE-2023-38831 Zero-Day vulnerability in WinRAR. Penetration Testing and CyberSecurity Solution - SecureLayer7. https://blog.securelayer7.net/analysis-of-cve-2023-38831-zero-day-vulnerability-in-winrar/
Patch management: benefits and best practices | Balbix. (2022, October 22). Balbix. https://www.balbix.com/insights/patch-management-benefits-and-best-practices/
Research, U. T. (2023, November 17). WinRAR CVE-2023-38831 Vulnerability: Malware Exploits & APT Attacks. https://www.uptycs.com/blog/cve-2023-38831-winrar-zero-day
Slavin, B. (2024, March 18). Common DMARC problems faced by users | DMARC Report. DMARC Report. https://dmarcreport.com/blog/common-dmarc-problems-faced-by-users/
ThreatLocker. (2023, September 11). WinRAR Remote Code Execution. ThreatLocker. https://www.threatlocker.com/blog/winrar-remote-code-execution
Traders’ Dollars in Danger: CVE-2023-38831 zero-Day vulnerability in WinRAR exploited by cybercriminals to target traders. (2023, August 23). Group-IB. https://www.group-ib.com/blog/cve-2023-38831-winrar-zero-day/
Vulnera. (2023, November 16). DarkCasino: a new APT threat leveraging WinRAR vulnerability - VULNERA. VULNERA - Vulnerability Management. Simplified. https://vulnera.com/newswire/darkcasino-a-new-apt-threat-leveraging-winrar-vulnerability/