Enumerating Active Directory
CMD
net user /domain : AD 도메인의 모든 사용자 출력
net user <username> /domain
net group /domain : AD 도메인의 모든 그룹 출력
net group <groupname> /domain
net accounts /domain : AD 도메인의 패스워드 정책 출력
cmd을 사용한 AD 열거 장점
- 추가 도구가 필요하지 않으며, 이러한 간단한 명령어는 블루팀에서 모니터링하지 않는 경우가 많음
- 명령 실행을 위한 GUI 불필요
- 피싱 페이로드에 주로 사용되는 VBScript 및 기타 매크로 언어는 cmd 명령을 기본적으로 지원함. 구체적인 페이로드가 작성되기 전에 AD 도메인에 관한 정보 열거 가능
단점
- net 명령은 도메인에 가입된 컴퓨터에서 실행 가능.
* 도메인 미가입 시 기본적으로 WORKGROUP 도메인으로 설정
- net 명령이 모든 정보를 표시하고 있지는 않음
Ex) 사용자가 10개 이상의 그룹 구성원인 경우, 일부 그룹은 출력되지 않음
Powershell
Get-ADUser : AD 사용자 열거
# 모든 속성 출력
Get-ADUser -Identity <username> -Server <Domain Server> -Properties *
# 이름 필터, 출력 포맷 설정
Get-ADUser -Filter 'Name -like "*stevens"' -Server <Domain Server> | Format-Table Name, SamAccountName -A
Get-ADGroup : AD 그룹 열거
Get-ADGroup -Identity <groupname> -Server <Domain Server>
Get-ADGroupMember : 그룹 구성원 열거
Get-ADGroupMember -Identity <그룹명> Server <Domain Server>
Get-ADObject : AD 개체에 대한 검색 수행
# 특정 날짜 이후에 변경된 모든 AD 개체 출력
$ChangeDate = New-Object DateTime(2023, 10, 19, 12, 00, 00)
Get-ADObject -Filter 'whenChanged -gt $ChangeDate' -includeDeletedObjects -Server <Domain Server>
# badPwdCount > 0 계정 출력 (* badPwdCount : 사용자가 잘못된 비밀번호를 사용하여 계정에 로그온을 시도한 횟수)
Get-ADObject -Filter 'badPwdCount -gt 0' -Server <Domain Server>
GET-ADDomain : 특정 도메인에 대한 추가정보 검색
Get-ADDomain -Server <Domain Server>
Set-ADAccountPassword : AD 사용자의 암호 강제 변경
Set-ADAccountPassword -Identity <Username> -Server <Domain Server> -OldPassword (ConvertTo-SecureString -AsPlaintext "old" -force) -NewPassword (ConvertTo-SecureString -AsPlainText "new" -force)
Powershell을 사용한 AD 열거 장점
- cmd의 net 명령보다 더 많은 정보 확인 가능
- 도메인에 가입되어있지 않아도 runas를 사용하여 명령을 실행하도록 서버 및 도메인 지정 가능
- 특정 정보를 열거하기 위해 cmdlet 작성 가능
- AD-RSAT cmdlet을 사용하면 암호를 재설정하거나 특정 그룹에 사용자를 추가하는 등 AD 개체를 직접 변경 가능
단점
- 블루팀에서 cmd보다 powershell 명령을 더 집중적으로 모니터링
- AD-RSAT 도구를 설치하거나 PowerShell 열거를 위해 잠재적으로 감지 가능한 다른 스크립트를 사용해야함
'System > 침투' 카테고리의 다른 글
THM - Offensive Pentesting-Skynet (0) | 2023.10.24 |
---|---|
THM - Enumerating Active Directory(2) (0) | 2023.10.20 |
THM - Breaching Active Directory (2) (1) | 2023.10.12 |
THM - Breaching Active Directory (1) (0) | 2023.09.27 |
THM - Windows Local Persistence (3) (0) | 2023.09.25 |