DnsAdmins
Last updated
Was this helpful?
Last updated
Was this helpful?
DnsAdmins 그룹은 Active Directory에서 존재하는 그룹이며
DNS에 관련된 많은 설정파일을 수정/삭제/생성 등을 할 수 있습니다.
만약 이 그룹에 소속된 계정 권한을 획득한다면
DNS 서비스의 DLL 경로를 악성코드 경로로 변경하여 권한상승을 할 수 있었지만
2017년 발견된 이후 4년 후인 2021년 Microsoft에서는 이것을 공식적으로 취약점으로 인정했으며
취약점 식별 번호는 CVE-2021-40469입니다.
현재는 DLL 경로를 수정할 수 있는 설정사항인 ServerLevelPlugin을
DnsAdmins 그룹의 권한에서 제거했습니다.
따라서 현재는 DnsAdmins 그룹의 구성원 계정을 장악했다고 하더라도
MS 보안패치가 적용되었다면 DLL 파일을 조작하지 못합니다.
이 권한상승 기법은 Server Operators와 굉장히 유사합니다.
DnsAdmins 그룹의 구성원은 보안패치가 이루어지기 전까지는 ServerLevelPlugin 항목을 변경할 수 있었는데, 이 항목이 DNS 서비스에서 참조하는 동적 라이브러리 링크 경로였습니다.
따라서 공격자는 그룹 구성원의 계정을 장악했을 때 리버스쉘 혹은 커맨드 파일을 DNS 파일의 DLL로 조작하여 서비스를 재실행하여 권한상승을 이룰 수 있습니다.
wiki 사용자가 속한 그룹 중 DnsAdmins가 존재하는 것이 확인됩니다.
먼저 DNS 서비스가참조하는파dll 파일을 악성코드로 변조하기 위하여
msfvenom을 통해서 리버스 쉘을 생성합니다.
리버스 쉘 dll 파일이 완성되었으면 경로에서 smb 서버를 실행합니다.
이제 Windows 로컬에서는 Kali 로컬의 SMB 서버에 접속이 가능하기 때문에
dnscmd 명령을 통해 serverlevelplugindll 속성값을 SMB 서버의 악성 dll 파일로 참조시킵니다.
이제 DNS 서비스를 재실행 한다면 Kali의 smb 서버에 접속하여
rev.dll 리버스 쉘 파일을 다운로드 한 뒤 해당 라이브러리를 참조할 때
리버스 쉘이 실행되어 로컬에서 대기중이던 포트에 쉘이 연결됩니다.