Subject
Active Directory에 대해서 최근 많은 공부를 하고 있으며
프로젝트 팀원 모집 포스팅에서와 같이 개인 프로젝트도 진행중인데
AD에 대한 딥한 개념을 배우면 배울 수록 굉장히 헷갈리는 상황이 많습니다.
예를 들어서 핵더박스 플렛폼에 있는 머신 들 중에서
LAPS_Readers 권한을 악용한 권한상승, LSASS를 이용한 권한상승 등
다양한 로컬 권한 상승 기법들이 문제로 주어지는데
AD에 대해서 제대로 이해하고 로컬과 AD의 차이를 명확하게 알지 못한다면
이 개념이 헷갈릴 것이고 스스로에게도 직접 구축해보면
앞으로 모의해킹 서버를 제작하거나 배울 때 도움이 될 것 같아
AD 환경을 제작해보게 되었고 이를 통해서 Users와 Computers의 차이점에 대해서 학습합니다.
Content
AD에는 Users와 Computers 계정이 존재합니다.
컴퓨터 계정은 머신 계정이라고 부르며 이름 뒤에는 MS 패치를 적용한 이상
반드시 맨 끝에 $ 기호가 추가됩니다.
그리고 사용자 계정은 사용자 이름 자체로 사용됩니다.
이렇게 배울 때는 머신 계정이 무엇이고 사용자 계정이 무엇인지
감은 잘 오지 않습니다.
왜냐하면 각각의 컴퓨터에는 이름이 겹칠 수 있는 로컬 계정이 존재하기 때문에
그럼 이 많은 로컬 계정들이 도메인 내에서 어떻게 관리가 될까 싶기도 합니다.
우선 결론만 말하고 넘어가면 도메인 컨트롤러의 자격 증명이 필요합니다.
이 말을 반대로 말하면 도메인 컨트롤러의 자격 증명이 없다면
도메인 내에 사용자 계정을 생성하지는 못합니다.
위 사진은 도메인 컨트롤러의 서버 관리 패널에서 사용자 계정을 생성하는 모습입니다.
생성한 계정은 도메인 내에서 존재하는 계정이기 때문에
도메인 내의 다른 머신에 대한 IP에서도 해당 사용자의 자격 증명 정보가 사용될 수 있습니다.
10.0.2.11 주소의 로컬 계정은 CA01\Administrator 입니다.
그럼에도 현재 CA01 머신 계정이 도메인에 등록되어 있기 때문에
CA01의 주소로 도메인의 관리자 계정 정보를 토대로 접속과 서비스 이용이 가능합니다.
반면 도메인 주소를 통한 SMB 접속은 CA01 머신의 로컬 계정으로 연결이 불가합니다.
정리하여 요약하자면 다음과 같습니다.
다시 말해 도메인 컨트롤러가 아닌 다른 머신에서의 로컬 패스워드는
다른 계정과 패스워드가 동일하지 않은 이상 도메인 내에서 적용되는 일은 없습니다.
ntds 덤핑을 통해서 나오는 NT Hash 목록은 모두 도메인에 등록된 계정들이며
등록된 머신의 로컬 계정들은 도메인에 등록되어 있지 않기 때문에 나오지 않습니다.
Pentesting Wiki 개설 (0) | 2024.11.08 |
---|---|
[Active Directory] Server Operators (0) | 2024.11.07 |
[Active Directory] Golden-Ticket (0) | 2024.11.03 |
[Active Directory] LSASS (0) | 2024.11.02 |
[Active Directory] noPac (3) | 2024.10.31 |