Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PowerHuntShares — Active Directory SMB 공유를 감사하여 과도한 권한을 인벤토리, 분석 및 보고합니다. 접근 가능한 시스템을 발견하고, 공유 ACL을 열거하며, 고위험 구성을 식별하고, 수정 우선순위를 위한 HTML/CSV 보고서를 생성합니다. | Kitploit
도구/GitHubGitHub/netspi/powerhuntshares
Vulnerability AnalysisConfiguration AuditingInformation GatheringNetwork SecurityPenetration Testing
GitHubnetspi/powerhuntshares

PowerHuntShares

Active Directory SMB 공유를 감사하여 과도한 권한을 인벤토리, 분석 및 보고합니다. 접근 가능한 시스템을 발견하고, 공유 ACL을 열거하며, 고위험 구성을 식별하고, 수정 우선순위를 위한 HTML/CSV 보고서를 생성합니다.

저장소 보기
1.0k11510개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PowerHuntShares v2

PowerHuntShares는 사이버 보안 팀과 침투 테스터가 Active Directory 환경에서 SMB 공유를 더 잘 식별, 이해, 공격 및 수정할 수 있도록 설계된 PowerShell 도구입니다. 모든 해커는 SMB 공유를 악용하는 이야기를 가지고 있지만, 사이버 보안 팀은 여전히 이 공격 표면을 방어하는 데 어려움을 겪고 있습니다. 이 프로젝트는 포괄적인 공유 인벤토리를 생성하고, 통계, 차트, 그래프 및 언어 모델을 활용하여 공유를 상황에 맞게 설명하고, 관계를 요약하고, 위험을 평가하고, 수정 우선순위를 지정하기 위한 오픈 소스 개념 증명 도구를 제공하는 것을 목표로 합니다.

다음 기능을 지원합니다:

  • 인증: 현재 사용자 컨텍스트, 자격 증명 또는 일반 텍스트 사용자/비밀번호를 사용합니다.
  • 검색: Active Directory 도메인과 연결된 접근 가능한 시스템을 자동으로 검색합니다. 또한 사용 가능한 열린 포트를 기반으로 Active Directory 컴퓨터를 필터링합니다.
  • 대상 설정: 단일 컴퓨터, 컴퓨터 목록 또는 검색된 Active Directory 컴퓨터(기본값)를 대상으로 합니다.
  • 수집: PowerShell을 사용하여 대상 컴퓨터에서 SMB 공유 ACL 정보를 수집합니다.
  • 분석: 수집된 공유 ACL 데이터를 분석합니다.
  • 보고: HTML 및 CSV 파일 형식으로 요약 보고서와 과도한 권한 세부 정보를 생성합니다.

추가 기능:

  • 독립형 LLM 함수: https://github.com/NetSPI/PowerHuntShares/blob/main/Scripts/Invoke-FingerPrintShare.ps1
  • 독립형 비밀번호 파서: https://github.com/NetSPI/PowerHuntShares/tree/main/Scripts/ConfigParsers

PowerHuntShares v2 리소스:

  • v2 블로그: https://www.netspi.com/blog/technical-blog/network-pentesting/powerhuntshares-2-0-release/

PowerHuntShares v1 리소스:

  • v1 블로그: https://www.netspi.com/blog/technical/network-penetration-testing/network-share-permissions-powerhuntshares/
  • v1 발표 영상: https://www.youtube.com/watch?v=TtwyQchCz6E
  • v1 발표 슬라이드: https://github.com/NetSPI/PowerHuntShares/blob/main/Presentations/SO-CON_2025_Sutherland_Hunting_SMB_Shares_Final.pdf

용어 설명

PowerHuntShares는 "과도한 권한"으로 구성된 SMB 공유 ACL을 인벤토리화하고 "고위험" ACL을 강조합니다. 이 맥락에서 각각의 정의는 아래와 같습니다.

과도한 권한
과도한 읽기 및 쓰기 공유 권한은 "Everyone", "Authenticated Users", "BUILTIN\Users", "Domain Users" 또는 "Domain Computers" 그룹에 대한 명시적 ACE(Access Control Entry)를 포함하는 모든 네트워크 공유 ACL로 정의됩니다. 이들 모두는 권한 상속 문제로 인해 도메인 사용자에게 영향을 받는 공유에 대한 액세스를 제공합니다. 참고: 운영자가 자신의 대상 그룹을 추가할 수 있는 매개변수가 있습니다.
다음은 추가 배경 정보입니다:

  • Everyone은 인증되지 않은 사용자와 인증된 사용자 모두에게 적용되는 직접 참조입니다. 일반적으로 이러한 리소스에 액세스하려면 null 세션만 필요합니다.
  • BUILTIN\Users에는 Authenticated Users가 포함됩니다.
  • Authenticated Users에는 도메인에 가입된 시스템의 Domain Users가 포함됩니다. 따라서 공유 권한이 "BUILTIN\Users"에 할당된 경우 Domain Users가 공유에 액세스할 수 있습니다.
  • Domain Users는 직접 참조입니다.
  • Domain Users는 기본적으로 최대 10개의 컴퓨터 계정을 만들 수 있으며, 이는 Domain Computers 그룹에 배치됩니다.
  • 도메인에 가입된 컴퓨터에 대한 로컬 관리자 액세스 권한이 있는 Domain Users는 컴퓨터 계정을 가장할 수도 있습니다.

참고: 공유 권한은 NTFS 권한에 의해 재정의될 수 있습니다. 또한 다음 키워드를 포함하는 공유 이름은 테스트에서 제외됩니다:

root@kitploit:~
print$, prnproc$, printer, netlogon,and sysvol

고위험 공유
이 보고서의 맥락에서 고위험 공유는 시스템 또는 애플리케이션에 대한 승인되지 않은 원격 액세스를 제공하는 공유로 정의됩니다. 기본적으로 여기에는

root@kitploit:~
 wwwroot, inetpub, c$, and admin$   
공유가 포함됩니다. 그러나 이 외에도 추가적인 노출이 존재할 수 있습니다.

설정 명령어

다음은 현재 PowerShell 세션에 PowerHuntShares를 로드하는 데 사용할 수 있는 명령어 목록입니다. PowerShell이 실행될 때마다 이 중 하나를 실행해야 합니다. 영구적이지 않습니다.

root@kitploit:~
# Bypass execution policy restrictions
Set-ExecutionPolicy -Scope Process Bypass

# Import module that exists in the current directory
Import-Module .\PowerHuntShares.psm1

or

# Reduce SSL operating level to support connection to github
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
[Net.ServicePointManager]::SecurityProtocol =[Net.SecurityProtocolType]::Tls12

# Download and load PowerHuntShares.psm1 into memory
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/PowerHuntShares/main/PowerHuntShares.psm1")

예제 명령어

중요 참고: 모든 명령은 권한이 없는 도메인 사용자로 실행해야 합니다.

root@kitploit:~
.EXAMPLE 1: Run from a domain computer. Performs Active Directory computer discovery by default.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test 

.EXAMPLE 2: Run from a domain computer with alternative domain credentials. Performs Active Directory computer discovery by default.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test -Credential domain\user

.EXAMPLE 3: Run from a domain computer as current user. Target hosts in a file. One per line.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test  -HostFile c:\temp\hosts.txt      

.EXAMPLE 4: Run from a non-domain computer with credential. Performs Active Directory computer discovery by default.
C:\temp\test> runas /netonly /user:domain\user PowerShell.exe
PS C:\temp\test> Import-Module PowerHuntShares.psm1
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -RunSpaceTimeout 10 -OutputDirectory c:\folder\ -DomainController 10.1.1.1 -Credential domain\user 
root@kitploit:~
===============================================================
PowerHuntShares
===============================================================
 이 함수는 다음 작업을 자동화합니다:     

 o 현재 컴퓨터의 도메인 확인
 o 도메인 컴퓨터 열거        
 o ping 요청에 응답하는 컴퓨터 필터링          
 o TCP 445가 열려 있고 접근 가능한 컴퓨터 필터링  
 o SMB 공유 열거 
 o SMB 공유 권한 열거   
 o 잠재적으로 과도한 권한이 있는 공유 식별       
 o 읽기 및 쓰기 액세스를 제공하는 공유 식별           
 o 고위험 공유 식별
 o 일반적인 공유 소유자, 이름 및 디렉터리 목록 식별   
 o 생성, 마지막 작성 및 마지막 액세스 타임라인 생성
 o HTML 요약 보고서 및 상세 CSV 파일 생성         

 참고: 대규모 환경에서는 실행하는 데 몇 시간이 걸릴 수 있습니다.       
---------------------------------------------------------------
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---------------------------------------------------------------
공유 검색      
---------------------------------------------------------------
[*][03/01/2021 09:35] 스캔 시작
[*][03/01/2021 09:35] 출력 디렉터리: c:\temp\smbshares\SmbShareHunt-03012021093504
[*][03/01/2021 09:35] 도메인 컨트롤러에 성공적으로 연결됨: dc1.demo.local
[*][03/01/2021 09:35] demo.local 도메인과 연결된 컴퓨터에 대해 LDAP 쿼리 수행 중
[*][03/01/2021 09:35] - 245개의 컴퓨터 발견됨
[*][03/01/2021 09:35] 245개의 컴퓨터에 ping 보내는 중
[*][03/01/2021 09:35] - 55개의 컴퓨터가 ping 요청에 응답함.
[*][03/01/2021 09:35] 55개의 컴퓨터에서 TCP 포트 445가 열려 있는지 확인 중
[*][03/01/2021 09:36] - 49개의 컴퓨터에서 TCP 포트 445가 열려 있음.
[*][03/01/2021 09:36] 49개의 컴퓨터에서 SMB 공유 목록 가져오는 중
[*][03/01/2021 09:36] - 217개의 SMB 공유가 발견됨.
[*][03/01/2021 09:36] 217개의 SMB 공유에서 공유 권한 가져오는 중
[*][03/01/2021 09:37] - 374개의 공유 권한이 열거됨.
[*][03/01/2021 09:37] 33개의 SMB 공유에서 디렉터리 목록 가져오는 중
[*][03/01/2021 09:37] - 최대 3개의 중첩 디렉터리 수준 대상
[*][03/01/2021 09:37] - 563개의 파일 및 폴더가 열거됨.
[*][03/01/2021 09:37] 잠재적으로 과도한 공유 권한 식별 중
[*][03/01/2021 09:37] - 12개 시스템에서 33개의 잠재적으로 과도한 권한이 발견됨..
[*][03/01/2021 09:37] 스캔 완료
---------------------------------------------------------------
공유 분석      
---------------------------------------------------------------
[*][03/01/2021 09:37] 분석 시작
[*][03/01/2021 09:37] - 12개 시스템에서 14개의 공유를 읽을 수 있음.
[*][03/01/2021 09:37] - 1개 시스템에서 1개의 공유에 쓸 수 있음.
[*][03/01/2021 09:37] - 32개 시스템에서 46개의 공유가 기본값이 아닌 것으로 간주됨.
[*][03/01/2021 09:37] - 0개 시스템에서 0개의 공유가 고위험으로 간주됨
[*][03/01/2021 09:37] - 과도한 공유의 상위 5개 소유자 식별됨.
[*][03/01/2021 09:37] - 상위 5개 공유 그룹 식별됨.
[*][03/01/2021 09:37] - 상위 5개 공유 이름 식별됨.
[*][03/01/2021 09:37] - 최근 90일 이내에 생성된 공유 식별됨.
[*][03/01/2021 09:37] - 최근 90일 이내에 액세스된 공유 식별됨.
[*][03/01/2021 09:37] - 최근 90일 이내에 수정된 공유 식별됨.
[*][03/01/2021 09:37] 분석 완료
---------------------------------------------------------------
공유 보고서 요약      
---------------------------------------------------------------
[*][03/01/2021 09:37] 도메인: demo.local
[*][03/01/2021 09:37] 시작 시간: 03/01/2021 09:35:04
[*][03/01/2021 09:37] 종료 시간: 03/01/2021 09:37:27
[*][03/01/2021 09:37] 실행 시간: 00:02:23.2759086
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] 컴퓨터 요약
[*][03/01/2021 09:37] - 245개의 도메인 컴퓨터가 발견됨.
[*][03/01/2021 09:37] - 55개(22.45%)의 도메인 컴퓨터가 ping에 응답함.
[*][03/01/2021 09:37] - 49개(20.00%)의 도메인 컴퓨터에서 TCP 포트 445에 접근 가능함.
[*][03/01/2021 09:37] - 32개(13.06%)의 도메인 컴퓨터에 기본값이 아닌 공유가 있음.
[*][03/01/2021 09:37] - 12개(4.90%)의 도메인 컴퓨터에 잠재적으로 과도한 권한이 있는 공유가 있음.
[*][03/01/2021 09:37] - 12개(4.90%)의 도메인 컴퓨터에 READ 액세스를 허용하는 공유가 있음.
[*][03/01/2021 09:37] - 1개(0.41%)의 도메인 컴퓨터에 WRITE 액세스를 허용하는 공유가 있음.
[*][03/01/2021 09:37] - 0개(0.00%)의 도메인 컴퓨터에 고위험 공유가 있음.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] 공유 요약
[*][03/01/2021 09:37] - 217개의 공유가 발견됨. 최소 98개의 공유가 예상됨
[*][03/01/2021 09:37]   (49개 시스템이 열린 포트를 가지고 있고 일반적으로 두 개의 기본 공유가 있기 때문).
[*][03/01/2021 09:37] - 32개 시스템에서 46개(21.20%)의 공유가 기본값이 아님.
[*][03/01/2021 09:37] - 12개 시스템에서 14개(6.45%)의 공유가 33개의 잠재적으로 과도한 ACL로 구성됨.
[*][03/01/2021 09:37] - 12개 시스템에서 14개(6.45%)의 공유가 READ 액세스를 허용함.
[*][03/01/2021 09:37] - 1개 시스템에서 1개(0.46%)의 공유가 WRITE 액세스를 허용함.
[*][03/01/2021 09:37] - 0개 시스템에서 0개(0.00%)의 공유가 고위험으로 간주됨.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] 공유 ACL 요약
[*][03/01/2021 09:37] - 374개의 ACL이 발견됨.
[*][03/01/2021 09:37] - 374개(100.00%)의 ACL이 기본값이 아닌 공유와 연결됨.
[*][03/01/2021 09:37] - 33개(8.82%)의 ACL이 잠재적으로 과도한 것으로 발견됨.
[*][03/01/2021 09:37] - 32개(8.56%)의 ACL이 READ 액세스를 허용하는 것으로 발견됨.
[*][03/01/2021 09:37] - 1개(0.27%)의 ACL이 WRITE 액세스를 허용하는 것으로 발견됨.
[*][03/01/2021 09:37] - 0개(0.00%)의 ACL이 고위험 공유 이름과 연결됨.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] - 가장 일반적인 공유 이름 상위 5개는 다음과 같습니다:
[*][03/01/2021 09:37] - 발견된 14개 공유 중 9개(64.29%)가 상위 5개 공유 이름과 연결됨.
[*][03/01/2021 09:37]   - 4 backup
[*][03/01/2021 09:37]   - 2 ssms
[*][03/01/2021 09:37]   - 1 test2
[*][03/01/2021 09:37]   - 1 test1
[*][03/01/2021 09:37]   - 1 users
[*] -----------------------------------------------

HTML 보고서 예제

요약 보고서 페이지

요약 보고서 페이지

흥미로운 파일 페이지

흥미로운 파일 페이지

추출된 비밀 페이지

추출된 비밀 페이지

ShareGraph 탐색기 페이지

ShareGraph 탐색기 페이지

크레딧

저자
Scott Sutherland (@_nullbind)

사용된 오픈 소스 코드
이 프로젝트의 일부로 오픈 소스 코드를 작성한 분들입니다. 그분들의 작업에 큰 감사를 드립니다!

이름사이트
Will Schroeder (@harmj0y)https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1

라이선스
BSD 3-Clause

할 일

수정해야 할 사항/버그

  • Defender를 피하기 위해 코드 업데이트
  • 비밀번호 추출 함수가 파일에서 필드를 찾으면 "유효한" 레코드를 반환하지만 값이 비어 있는 경우가 있습니다. 또한 일부 디렉터리가 파일로 처리되는 것으로 보입니다.
  • Builtin\Users와 연결된 ACL이 정의되지 않은 조건에서 LocalSystem으로 나타나는 경우가 있어 과도한 권한 내보내기에 표시되지 않습니다. - Sam님 감사합니다!

추가 예정 기능

  • HTML 보고서 출력에 powerhuntshares 버전 추가
  • 흥미로운 파일 열거 및 비밀 구문 분석을 건너뛰는 옵션 추가
  • 추가 대상 그룹을 지정하는 기능 추가
  • 파일 내용 검색 추가
  • DontExcludePrintShares 옵션 추가
  • 사용자 인구의 큰 비율(예: 70% 이상)을 포함하는 그룹 자동 대상 지정 (구성 가능). 옵션으로 추가.
  • 구성 추가: netlogon 및 sysvol의 경우 아래 설정이 구성되지 않으면 Windows 10을 사용할 때 액세스 거부가 발생할 수 있습니다. 자동으로 확인하고 권한 수준이 적절하면 수정을 시도합니다. gpedit.msc에서 Computer -> Administrative Templates -> Network -> Network Provider -> Hardened UNC Paths로 이동하여 정책을 활성화하고 "Show" 버튼을 클릭합니다. "Value name"에 서버 이름(모든 서버의 경우 *)을 입력하고 "Value" 필드에 다음 텍스트를 따옴표 없이 입력합니다: "RequireMutualAuthentication=0,RequireIntegrity=0,RequirePrivacy=0".
  • 공유의 잠재적 소유자/사용자를 식별하는 데 도움이 되는 활성 세션 데이터 추가
  • 소유자/비즈니스 단위 식별을 돕기 위해 SPN 및 컴퓨터 설명/SPN 계정 설명 가져오기
  • BloodHound 가져오기 파일/엣지(고위험 공유) 생성
  • IPv6 지원 개선, 서브넷 요약에 IPv6 주소가 표시되지 않음
  • 고위험 공유 생성/공통 그룹의 급증 동적 식별, 타임라인 이상의 세부 정보 요약 필요. 각 데이터 인사이트에 대해 연도/월별로 인사이트 그룹당 생성된 평균 공유 수를 추가하고 급증하는 월/연도의 증가분을 표시합니다. (일부 역사적 맥락 제공 시도); 각각에서 사용되는 가장 일반적인 기본값이 아닌 디렉터리를 나열할 수도 있습니다. "최초 발견 날짜"도 추가할 수 있습니다. (알파 단계)
  • 공유 이름이 동일하고 유사성 수준이 높은 공유 모집단에서 공유 생성, 수정 및 액세스 주기를 동적으로 식별
  • 공유 권한(이미 표시된 NTFS 권한과 함께) 및 결과 액세스(가장 제한적인 것이 우선) 표시
  • 깊이, 파일/디렉터리 플래그 추가
  • 기타 여러 가지.

PowerHuntShares 시각적 개요

다음은 PowerHuntShares가 어떻게 작동하고, 어떤 데이터를 추출하며, 실행 가능한 결과를 어떻게 제시하는지에 대한 시각적 설명입니다.

대시보드

발견된 공유 및 관련 위험에 대한 개괄적인 보기를 제공합니다.

대시보드

생성된 파일

쉬운 분석 및 오프라인 검토를 위해 자동 생성된 보고서입니다.

생성된 파일

공유 이름

공유 이름과 해당 속성의 자세한 매핑입니다.

공유 이름 - 예제 1 공유 이름 - 예제 2 공유 이름 - 예제 3

수정 지침

식별된 위험을 해결하기 위한 권장 수정 단계입니다.

수정

타임라인 보기

시간 경과에 따른 발견된 문제의 시각화입니다.

타임라인

동료 비교

다른 시스템에서 발견된 공유 및 권한을 비교합니다.

동료 비교

폴더 그룹

더 나은 컨텍스트를 위해 관련 폴더와 공유를 그룹화합니다.

폴더 그룹

자산 지문 노출

발견된 지문을 기반으로 한 자산 노출을 보여줍니다.

자산 지문 노출

공유 그래프

발견된 공유와 관계의 시각적 표현입니다.

공유 그래프

추출된 비밀

스캔 중 발견된 민감한 정보와 비밀을 강조합니다.

추출된 비밀

흥미로운 파일

공유에서 발견된 잠재적으로 흥미롭거나 고가치 파일을 나열합니다.

흥미로운 파일

데이터 노출

민감한 데이터가 노출될 수 있는 영역을 강조합니다.

데이터 노출

위험 노출

상세한 분석과 함께 포괄적인 위험 노출 보기입니다.

위험 노출 위험 노출 2

도구 다운로드
Warren F (@pscookiemonster)https://github.com/RamblingCookieMonster/Invoke-Parallel
Luben Kirovhttp://www.gi-architects.co.uk/2016/02/powershell-check-if-ip-or-subnet-matchesfits/