
PowerView에서 영감을 받은 .NET 기반 Active Directory 열거 도구입니다. 도메인, 사용자, 컴퓨터, 그룹, 공유, 세션을 열거합니다. LDAP 쿼리, 권한 상승 확인, WMI 및 작업 스케줄러를 통한 측면 이동 탐지를 지원합니다.
Enumerate Domain Data는 PowerView와 유사하지만 .NET에서 동작하도록 설계되었습니다. PowerView는 본질적으로 최고의 도메인 열거 도구이며, 우리는 직접 작업한 .NET 구현체를 원했습니다. 이 도구는 다양한 기존 프로젝트의 여러 기능 구현을 살펴보고 이를 EDD에 결합하여 대부분 구성되었습니다.
EDD를 사용하려면 애플리케이션을 호출하고, 실행하려는 함수(아래 나열)를 제공하며, 함수에서 사용하는 선택적/필수 매개변수를 제공하면 됩니다.
인수:
-f, --function=VALUE 사용하려는 함수
-o, --output=VALUE 저장할 파일 경로
-c, --computername=VALUE 대상 컴퓨터
-n, --canonicalname=VALUE 도메인 사용자의 정식 이름
-d, --domainname=VALUE 대상 도메인
-g, --groupname=VALUE 대상 도메인 그룹
-p, --processname=VALUE 대상 프로세스
-fd, --filedata=PATH 호출하는 함수와 관련된 데이터가 포함된 파일 경로
-w, --password=VALUE 인증할 비밀번호 또는 설정할 값
-u, --username=VALUE 대상 도메인 계정
-t, --threads=VALUE 실행할 스레드 수 (기본값: 5)
-q, --query=VALUE 검색할 사용자 지정 LDAP 필터
-a, --adright=VALUE 반환할 Active Directory 권한 (쉼표로 구분)
-s, --search=VALUE FindInterestingDomainShareFile의 검색어 (쉼표(,)로 구분, 와일드카드 허용)
--sharepath=VALUE 흥미로운 파일을 검색할 특정 공유
-i, --info 지정된 함수에 대한 정보 반환
-l, --listfunction 사용 가능한 모든 함수 반환
-h, --help 이 메시지를 표시하고 종료
다음 함수는 -f 플래그와 함께 사용하여 열거하려는 데이터 또는 수행할 작업을 지정할 수 있습니다.
getdomainsid - 도메인 SID 반환 (도메인이 제공되지 않으면 기본적으로 현재 도메인)
getforest - 현재 포리스트의 이름 반환
getforestdomains - 현재 포리스트에 있는 모든 도메인의 이름 반환
getsiddata - SID를 해당 그룹 또는 도메인 이름으로 변환 (SID 값 제공 시 -u 옵션 사용)
getadcsservers - 현재 도메인 내에서 AD CS를 실행 중인 서버 목록 가져오기
getdomaincomputers - 도메인에 있는 모든 컴퓨터 목록 가져오기
getdomaincontrollers - 모든 도메인 컨트롤러 목록 가져오기
getdomainshares - 모든 도메인 공유 목록 가져오기
getreadabledomainshares - 읽기 가능한 모든 도메인 공유 목록 가져오기
changeaccountpassword - 대상 계정의 비밀번호 변경
customldapquery - 임의의 LDAP 필터를 설정하여 개체 검색
getuserdacl - 지정된 도메인 개체의 DACL 반환
getnetlocalgroupmember - 원격 시스템의 로컬 그룹에 있는 모든 사용자 목록 반환
getdomaingroupmember - 도메인 그룹에 있는 모든 사용자 목록 반환
getdomainuser - 특정 사용자에 대한 정보 검색 (이름, 설명, SID, 도메인 그룹)
getdomaindescriptions - 비표준 계정 설명이 있는 도메인 개체 반환
getnetsession - 대상 시스템에 세션이 있는 계정 목록 반환
getnetloggedon - 대상 시스템에 로그온된 계정 목록 반환
getuserswithspns - 연결된 SPN이 있는 모든 도메인 계정 목록 반환
getdomaingroupsid - 그룹의 SID 가져오기
getdomainsid - 도메인의 SID 가져오기
getsiddata - SID로부터 사용자 이름 반환
joingroupbysid - 그룹의 SID를 통해 계정을 그룹에 추가
joingroupbyname - 그룹의 이름을 통해 계정을 그룹에 추가
findadminsch - 작업 스케줄러를 사용하여 도메인 내 관리자 권한 쿼리
findadminwmi - WMI를 사용하여 도메인 내 관리자 권한 검색
finddomainprocess - 도메인의 모든 시스템에서 특정 프로세스 검색 (원격 시스템에 대한 관리자 액세스 필요)
finddomainuser - 지정된 사용자 또는 그룹에 대해 도메인 환경을 검색하고 활성 세션을 찾으려고 시도 (기본적으로 Domain Admins 검색)
findemptysystem - 사용자 계정이 로그인되어 있지 않은 시스템을 도메인에서 검색
findinterestingdomainsharefile - 액세스 가능한 모든 공유에 대해 도메인 환경을 검색합니다. 발견되면 모든 파일 이름에서 "흥미로운" 문자열을 구문 분석합니다.
findwritableshares - 도메인의 모든 공유를 열거한 후 현재 계정이 루트 수준 공유 및 한 단계 깊이에 텍스트 파일을 생성할 수 있는지 확인합니다.
PowerView - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
CSharp-Tools - https://github.com/RcoIl/CSharp-Tools
StackOverflow - 무작위 질문 (이것이 참고 자료로 나열되지 않았다면, 우리는 그것을 잊어버린 것입니다 :))
SharpView - https://github.com/tevora-threat/SharpView