udfx.git

udfx

~
git clone https://github.com/debuman/udfx.git

README.md (3138B)

      1 # UDFX - Ultimate Domain Finder X
      2 
      3 Active Directory 통합 DNS에서 도메인 및 DNS 레코드를 수집하는 에어갭 환경용 도구입니다.
      4 
      5 ## 개요
      6 
      7 - **목적**: AD DNS에 등록된 모든 도메인/서브도메인 및 레코드 수집
      8 - **환경**: Windows 도메인 환경 (에어갭 지원)
      9 - **권한**: 일반 도메인 사용자 권한으로 실행 가능
     10 - **방식**: LDAP을 통한 AD DNS 직접 조회
     11 
     12 ## 요구사항
     13 
     14 - Windows PowerShell 5.1 이상
     15 - Active Directory 도메인 가입된 시스템
     16 - 도메인 사용자 계정
     17 
     18 ## 사용법
     19 
     20 ### 기본 실행
     21 
     22 ```powershell
     23 .\Get-ADDnsRecords.ps1 -Domain <도메인명>
     24 ```
     25 
     26 ### 예시
     27 
     28 ```powershell
     29 # 기본 실행
     30 .\Get-ADDnsRecords.ps1 -Domain corp.example.com
     31 
     32 # 출력 파일명 지정
     33 .\Get-ADDnsRecords.ps1 -Domain corp.example.com -Output scan_results
     34 
     35 # 디버그 모드 (상세 출력)
     36 .\Get-ADDnsRecords.ps1 -Domain corp.example.com -ShowDebug
     37 ```
     38 
     39 ### 파라미터
     40 
     41 | 파라미터 | 필수 | 설명 | 기본값 |
     42 |----------|------|------|--------|
     43 | `-Domain` | O | 대상 AD 도메인명 | - |
     44 | `-Output` | X | 출력 파일 기본명 | dns_records |
     45 | `-ShowDebug` | X | 상세 출력 활성화 | False |
     46 
     47 ## 출력 파일
     48 
     49 | 파일 | 설명 |
     50 |------|------|
     51 | `dns_records.csv` | 전체 DNS 레코드 (CSV) |
     52 | `dns_records_root_domains.csv` | 루트 도메인 목록 (중복 제거) |
     53 | `dns_records.json` | 전체 DNS 레코드 (JSON) |
     54 | `dns_records.txt` | 전체 DNS 레코드 (텍스트) |
     55 
     56 ## 출력 필드
     57 
     58 | 필드 | 설명 | 예시 |
     59 |------|------|------|
     60 | Domain | FQDN | vcsa.example.com |
     61 | RecordType | DNS 레코드 타입 | A, NS, CNAME, MX, SRV, TXT |
     62 | Value | 레코드 값 | 10.1.10.100 |
     63 | Zone | DNS 영역명 | vcsa.example.com |
     64 | ZoneType | 영역 분류 | Primary, Subdomain, External |
     65 | RootDomain | 루트 도메인 | example.com |
     66 
     67 ### ZoneType 분류
     68 
     69 | 타입 | 설명 |
     70 |------|------|
     71 | Primary | 메인 AD 도메인 |
     72 | Subdomain | 메인 도메인의 서브도메인 |
     73 | External | 외부 도메인 |
     74 
     75 ## 지원 레코드 타입
     76 
     77 - **A**: IPv4 주소
     78 - **AAAA**: IPv6 주소
     79 - **NS**: 네임서버
     80 - **CNAME**: 별칭
     81 - **MX**: 메일 서버
     82 - **SRV**: 서비스 레코드
     83 - **TXT**: 텍스트 레코드
     84 - **PTR**: 역방향 DNS
     85 
     86 ## 활용 예시
     87 
     88 ### 내부 IP 호스트만 필터링
     89 
     90 ```powershell
     91 Import-Csv .\dns_records.csv | Where-Object {
     92     $_.RecordType -eq "A" -and
     93     ($_.Value -match "^10\." -or $_.Value -match "^172\.(1[6-9]|2[0-9]|3[01])\." -or $_.Value -match "^192\.168\.")
     94 } | Export-Csv .\internal_hosts.csv -NoTypeInformation
     95 ```
     96 
     97 ### 특정 도메인만 필터링
     98 
     99 ```powershell
    100 Import-Csv .\dns_records.csv | Where-Object {
    101     $_.RootDomain -eq "example.com"
    102 } | Export-Csv .\filtered_records.csv -NoTypeInformation
    103 ```
    104 
    105 ### 루트 도메인 목록 확인
    106 
    107 ```powershell
    108 Import-Csv .\dns_records_root_domains.csv
    109 ```
    110 
    111 ## 제한사항
    112 
    113 - AD 통합 DNS만 지원 (독립 DNS 서버 미지원)
    114 - NS, SRV 레코드의 대상 호스트명에 점(.)이 누락될 수 있음
    115 - Zone Transfer가 허용되지 않은 환경에서는 LDAP 방식으로 대체
    116 
    117 ## 라이선스
    118 
    119 MIT License