adaudit — Powershell script to do domain auditing automation | Kitploit
도구 / GitHub / phillips321 / adaudit
phillips321/adaudit adaudit Powershell script to do domain auditing automation
414 106 6개월 전커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.
지난 7일 지난 30일
adaudit
이 PowerShell 스크립트는 Microsoft Active Directory의 포괄적인 감사를 수행하여 일반적인 보안 취약점과 약점을 식별하는 데 중점을 둡니다. 실행을 통해 강화가 필요한 중요한 영역을 정확히 찾아내어 Active Directory를 대상으로 하는 측면 이동 또는 권한 상승 공격에 사용되는 일반적인 전술에 대해 인프라를 강화할 수 있습니다.
_____ ____ _____ _ _ _
| _ | \ | _ |_ _ _| |_| |_
| | | | | | | | . | | _|
|__|__|____/ |__|__|___|___|_|_|
by phillips321
스크립트에 사용할 수 있는 좋은 PowerShell 원라이너가 있다면 알려주세요. 이 스크립트는 외부 도구(ntdsutil 및 cmd.exe 제외)에 대한 요구 사항 없이 단일 파일로 유지하려고 합니다.
DC에서 DA 계정으로 직접 실행하세요. 코드를 신뢰할 수 없다면 먼저 읽어보시길 권장합니다. 모두 무해하다는 것을 알 수 있을 것입니다! (하지만 인터넷에서 다운로드한 코드를 DA로 실행하기 전에 그렇게 해야 하지 않을까요?)
이 기능이 하는 일
장치 정보
도메인 감사
Get-LastWUDate
Get-DCEval
Get-TimeSource
Get-PrivilegedGroupMembership
Get-MachineAccountQuota
Get-DefaultDomainControllersPolicy
Get-SMB1Support
Get-FunctionalLevel
Get-DCsNotOwnedByDA
Get-ReplicationType
Get-RecycleBinState
Get-CriticalServicesStatus
Get-RODC
도메인 트러스트 감사
사용자 계정 감사
Get-InactiveAccounts
Get-DisabledAccounts
Get-LockedAccounts
Get-AdminAccountChecks
Get-NULLSessions
Get-PrivilegedGroupAccounts
Get-ProtectedUsers
비밀번호 정보 감사
Get-AccountPassDontExpire
Get-UserPasswordNotChangedRecently
Get-PasswordPolicy
Get-PasswordQuality
NTDS.dit 덤프
컴퓨터 개체 감사
GPO 감사 (및 SYSVOL에서 비밀번호 확인)
Get-GPOtoFile
Get-GPOsPerOU
Get-SYSVOLXMLS
Get-GPOEnum
일반 그룹 AD 권한 확인
도메인 내 LAPS 존재 여부 확인
인증 정책 및 사일로 존재 여부 확인
Get-AuthenticationPoliciesAndSilos
안전하지 않은 DNS 영역 확인
새로 생성된 사용자 및 그룹 확인
ADCS 취약점(ESC1,2,3,4,8) 확인
고가치 Kerberoastable 계정 확인
ASREPRoastable 계정 확인
사용자, 그룹 및 컴퓨터에 대한 위험한 ACL 권한 확인
LDAP 및 LDAPs 설정 확인 (서명, null 세션 등)
런타임 인수
다음 스위치를 조합하여 사용할 수 있습니다.
-installdeps 선택적 기능(DSInternals) 설치
-hostdetails 호스트 이름 및 기타 유용한 감사 정보 검색
-domainaudit 기능 수준 등 AD에 대한 정보 검색
-trusts 모든 도메인 트러스트에 대한 정보 검색
-accounts 만료, 비활성화 등 계정 문제 식별
-passwordpolicy 암호 정책 정보 검색
-ntds ntdsutil을 사용하여 NTDS.dit 파일 덤프
-oldboxes 도메인에 가입된 XP/2003과 같은 오래된 OS 식별
-gpo GPO를 XML 및 HTML로 덤프하여 나중에 분석
-ouperms 일반 OU 권한 문제 확인
-laps LAPS가 설치되었는지 확인
-authpolsilos 인증 정책 및 사일로 존재 여부 확인
하위 도메인 지원
이 스크립트는 이제 포리스트 루트 도메인 과 하위 도메인 을 모두 완벽하게 지원합니다.
Schema Admins 및 Enterprise Admins는 하위 도메인에서 적절히 처리됩니다(포리스트 루트에만 존재).
포리스트 루트에만 존재하는 그룹이 없는 경우 스크립트는 적절한 정보 메시지와 함께 정상적으로 완료됩니다.
하위 도메인 시나리오에서 누락된 그룹으로 인한 충돌 또는 차단 실패가 없습니다.
Windows Server 2022 하위 도메인에서 테스트 및 검증되었습니다.
오류 처리 및 견고성
스크립트는 전체적으로 포괄적인 오류 처리를 구현합니다.
선택적 감사 함수는 스크립트 실행을 차단하지 않고 정상적으로 실패합니다.
GPO 보고서 생성 오류(예: 손상된 GPO)가 다른 감사 완료를 방해하지 않습니다.
방어적 검사를 통해 선택적 출력 파일에서 파일을 찾을 수 없음 예외가 발생하지 않습니다.
명확한 오류/경고/정보 메시지를 통해 심각한 실패와 예상되는 시나리오를 구분할 수 있습니다.
선택적 모듈(DSInternals, LAPS, AdmPwd.PS)이 없어도 핵심 감사 기능이 중단되지 않습니다.
Nessus XML 출력
사후 처리 없이 유효하고 올바른 형식의 Nessus XML을 생성합니다.
모든 특수 문자는 소스에서 적절히 이스케이프됩니다(&, <, >, ", ').
출력 파일은 수동 수정 없이 Nessus에 직접 가져올 준비가 됩니다.
사후 처리 단계나 추가 출력 파일이 필요하지 않습니다.
테스트 환경
Windows Server 2022에서 검증됨 (포리스트 루트 및 하위 도메인 모두)
Windows Server 2008R2부터 2022까지 지원
손상된 GPO 및 혼합 구성이 있는 복잡한 프로덕션 환경을 성공적으로 처리합니다.
-insecurednszone 안전하지 않은 DNS 영역 확인
-recentchanges 최근 30일 내 새로 생성된 사용자 및 그룹 확인
-adcs ADCS 취약점(ESC1,2,3,4,8) 확인
-acl 사용자, 그룹 및 컴퓨터에 대한 위험한 ACL 권한 확인
-spn 고가치 Kerberoastable 계정 확인
-asrep ASREPRoastable 계정 확인
-ldapsecurity 여러 LDAP 문제 확인
-exclude adaudit.ps1 -all -exclude ouperms,ntds,adcs와 같이 사용 시 특정 검사를 제외할 수 있습니다.
-select adaudit.ps1 -all "gpo,ntds,acl"와 같이 사용 시 특정 검사를 선택할 수 있습니다.
-all 모든 검사 실행(예: AdAudit.ps1 -all)