📖
레드팀 플레이북
깃허브기여하는 방법WhoAreWe블로그
  • 레드팀 플레이북
  • 레드팀이란
  • 레드팀 글로벌 동향 (2024)
  • 베이직 레드팀(Basic Redteam)
    • 개요
    • 1. 공격자 인프라 구성
    • 2. 초기 침투
    • 3. 정보 수집
    • 4. 권한 상승 - US
    • 5. 횡적 이동: USWKSTN01 -> SQL01
    • 6. 권한 상승 - SQL01
    • 7. 도메인 장악 WEB01
    • 8. US -> RT 장악
    • 9. RT -> DEV 정보 수집
    • 10. 권한 상승 및 목표 달성
  • 🚧인프라 (Infrastructure)
    • 개념
    • 예시 인프라
    • 팀 서버 - Sliver
      • 스테이저 (Stager) 사용
    • 도메인 분류와 신뢰도
    • HTTP 리다이렉터
    • HTTPS 리다이렉터
    • SMTP Gophish + Mail
    • SMTP Gophish + ESP
    • SMTP Gophish + Relay + ESP
    • 인프라 구축 자동화
      • 테라폼 (Terraform)
      • SMTP 테라폼 자동화
      • HTTPS 리다이렉터 자동화 (AWS)
    • old-네뷸라를 이용한 인프라 구축
      • 도메인과 리다이렉터 설정
      • 중립 공간 (클라우드) 설정
      • 네뷸라 (Nebula)
      • 네뷸라 설정
    • 도메인 프론팅 (Domain Fronting)
    • 도메인 프론팅 - Azure Edgio CDN
    • Cloudflared Tunnel과 Worker
    • Cloudflared Tunnel과 Pages
  • 🔎초기 정찰
    • 개념
    • 타겟 발견
    • OSINT
      • 작전보안
      • 자산 정보 수집
      • 구글 도킹
  • ⚔️초기 침투 (Initial Access)
    • 개념
    • 피싱 첨부파일
      • 오피스 VBA 매크로
      • XLM Excel 4.0 매크로
      • 원격 템플렛 인젝션
      • VBA Stomping
      • HTA
      • LNK
      • ISO
      • VBA Purging - TODO
      • DotNetToJS - TODO
      • Follina - TODO
    • HTML 스머글링 (Smuggling)
    • 피싱 - AitM (Adversary in the Middle)
    • Living Off Trusted Sites (LOTS)
  • 🐳정보 수집 - 내부망
    • 개념
    • 로컬 호스트 정보 수집
    • 블러드하운드
    • SMB 쉐어 수집
    • 정보 수집 - 파워쉘
    • 정보 수집 - C# - TODO
    • 커버로스 유저 이름 정보수집
    • CME - 호스트이름과 IP주소
    • LDAP Anonymous Bind
  • 🐴실행 (Execution)
    • 개념
    • 파워쉘
      • 인메모리 실행
      • C# 실행
      • 윈도우 API 실행
    • LOLBAS
    • Native API - TODO
  • 🙃지속성 (Persistence)
    • 개념
    • 골든 티켓 (Golden Ticket)
    • DLL 사이드로딩 (DLL Side-Loading)
    • DLL Search Order Hijacking - TODO
    • 레지스트리 / 스타트업 폴더
  • ⬆️권한 상승
    • 개념
    • AD 권한 상승
      • Active Directory Certificate Services (ADCS)
        • ESC1
        • ESC8
      • Shadow Credentials
      • noPac
      • Kerberoasting
      • AS-REP Roasting
      • DHCPv6 포이즈닝
      • Resource-Based Constrained Delegation (RBCD)
      • SCCM
    • AD-DACL
      • AddAllowedToAct
      • AddKeyCredentialLink
      • GenericAll
      • GenericWrite
      • WriteDACL
      • AllExtendedRights
      • WriteAccountRestrictions
      • WriteOwner
      • AddMember
    • 로컬 권한 상승 - TODO
      • 잘못된 서비스 설정
      • Unquoted Service Path
      • Always Install Elevated
      • PrintNightmare
  • 🐍보안 우회 (Defense Evasion)
    • 쉘코드 암호화
    • 런타임 다이나믹 링킹 (Run-time Dynamic Linking)
    • AMSI 우회
    • 유저랜드 후킹 - 역사
    • 유저랜드 커널랜드 윈도우API 개념
    • 유저랜드 후킹
    • DInvoke - 시스템 콜
    • 페이로드 크기
    • 가변적 C2 프로필
    • 프로세스 인젝션
      • CreateRemoteThread
      • NtMapViewOfSection
    • 간단 디펜더 우회 - 쉘코드
    • 간단 디펜더 우회 - C#
    • MSIExec
    • 다형성 코드
  • 👿후속 공격 (Post Exploitation)
    • 후속 공격의 진화
    • External SID Golden Ticket
  • 🎭계정 정보 탈취 (Credential Access)
    • 커버로스
      • 커버로스팅 (Kerberoasting)
      • AS-Rep Roasting
    • 비밀번호 스프레이 공격
    • LLMNR/NBT-NS 포이즈닝
    • NTLM 릴레이 (NTLM Relay)
      • SMB to SMB
      • SMB to LDAP/S
      • HTTP to LDAP
      • SMB to HTTP
      • SMB to SCCM
    • 강제 인증 (Authentication Coercion)
      • MS-RPRN - Printerbug / Print Spooler
      • MS-EFSRPC - Petitpotam
      • MS-FSRVP - ShadowCoerce
      • MS-DFSNM - DFSCoerce
    • NTLM 다운그레이드
    • DHCPv6 포이즈닝
    • LAPS - TODO
    • DCSync
    • DPAPI
  • ↔️횡적 이동 (Lateral Movement)
    • 개념
    • Pass-the-Hash
    • SMB 와 PsExec
    • WMI
    • WinRM / Powershell Remoting
    • RDP
    • SSH Port Forwarding & Tunneling
    • Dynamic Port Forwarding & ProxyChains
    • 네트워크 피버팅 - 툴
    • Network Pivoting (피벗) - TODO
  • 개념
    • 윈도우 사용자 인증
      • NTLM 인증
      • 커버로스 (Kerberos) 인증 - TODO
      • ADCS 인증서 기반 인증
    • AD 관련 용어 해설
  • 실 공격 TTP와 대응방안 - TODO
    • 개념
  • 🧑‍🔬홈 랩 (Home lab)
    • 시스몬 (sysmon) 설치
    • SIEM과 EDR 솔루션 설치
    • 취약한 랩을 위한 설정 커맨드
    • 말웨어 자동 분석툴 Cuckoo 샌드박스 설치
  • 기본 개념
    • DNS
      • 사이버 보안에 필요한 DNS 개념 편 #1
      • 해킹에 필요한 DNS 공격 & 우회 기법 편 #2
      • 방어에 필요한 DNS 탐지 편 #3
  • 웹 & 모바일
    • 01-계정관리
      • 통신 과정 흐름 훑어보기
      • 첫번쩨, payload설정 방법
      • 두번째, 세션을 유지하는 방법
      • CSRF Token에 관하여
      • 세번째, OWASP Juice Shop 로그인 페이지에서의 통신 흐름과 구조 알아보기
  • 🎅MISC
    • Host-based 공격 CheatSheet (FEAT. OSCP)
      • Enumeration (정보 수집 및 열거)
      • Exploitation (공격)
      • Post Exploitation (후속공격)
    • Changelog
    • 기여하는 방법
    • 레퍼런스와 크레딧
    • C# snippets
    • winapi 리스트
      • original notes from obsidian
    • 파워쉘 원라이너 (oneliner)
  • 📖Personal-Research
    • README-and-Template
      • HellsGate
      • HalosGate
      • FreshyCall
Powered by GitBook
On this page
  • 모의해커를 위한 DACL, ACE
  • 주의점
  • DACL Summary
  • 레퍼런스
  1. 권한 상승

AD-DACL

이 페이지에서는 액티브 디렉토리내의 다양한 접근제어(Access Control)와 관련된 개념들을 아주 간단하게 알아본 뒤, 각 접근통제 권한을 어떻게 악용할 수 있는지에 대해서 알아본다. 이 프로젝트는 오퍼레이터들을 위한 플레이북이지 기본 보안 개념서가 아니기에, 필요한 개념에 관련된 설명은 레퍼런스 섹션을 참고한다.

  • ACE (Access Control Entries, 액세스 제어 항목): ACE는 특정한 Security Principal (유저, 그룹, 컴퓨터, 등)의 접근 권한을 부여, 또는 거부하는 특정한 권한이다. ACE는 접근 권한이 부여되는 대상, 권한을 허용/거부 받는 주체를 식별할 수 있는 보안 식별자 (SID), 그리고 액세스 마스크로 이뤄져있다.

  • ACL (Access Control List, 액세스 제어 리스트): ACL은 ACE의 집합이다. 개별 ACE를 적용하기엔 ACE 갯수가 너무 많아 ACL이라는 집합을 만든 뒤, 이를 주체와 대상에게 부여하는 경우가 많다.

  • DACL (Discretionary Access Control Lists, 임의적 사용자 기반 액세스 제어 리스트): ACL의 종류 중 하나. 객체 (Object)의 접근을 제어하는데 사용되는 윈도우 액티브 디렉토리 ACL 의 종류다. 특정 객체에 대해 허용되거나 거부되는 보안 주체와, 그 접근 유형을 갖고 있는 ACL이다.

간단하게 정리하자면 윈도우 액티브 디렉토리에서 액세스/접근 제어를 위해서는 DACL 이 사용되며, 각각의 항목은 ACE로 이뤄져있다.

모의해커를 위한 DACL, ACE

내부망 모의해킹 진행시 액티브 디렉토리내의 잘못 설정된 DACL 및 ACE 들이 있다면, 공격자들은 이 접근 제한 항목/리스트 들을 이용해 다양한 공격을 진행할 수 있게 된다.

DACL/ACE를 악용할 때 신경써야하는 것들은 다음과 같다.

  1. DACL/ACE를 가지고 있는 주체가 무엇인가

  2. DACL/ACE가 적용되는 대상의 종류 - 유저, 컴퓨터, 그룹, OU

  3. DACL/ACE 악용을 할 때의 작전 보안 및 주의할 점

주의점

이 페이지에서는 블러드하운드 Edge 와 액티브 디렉토리의 권한에 대해서 알아본다. 예를들어 AddAllowedToAct 는 공식 액티브 디렉토리 권한이 아니라, 블러드하운드에서 임의로 만든 Edge 이름이다. 그러나 GenericAll 은 공식 액티브 디렉토리 권한임과 동시에 블러드하운드의 Edge 이름이기도 하다. 이처럼 둘이 섞여있어 헷갈릴 수 있으니, 설명란에다가 표시 해놨다.

DACL Summary

  • 레퍼런스: https://www.thehacker.recipes/ad/movement/dacl

Name
Type
Description
Abuse

GenericAll

Access Right

Combination of all other rights

- User: ShadowCreds, TargetedKerberoast, ForceChangePassword - Machine: RBCD, ShadowCreds, LAPS - Group: AddMember - GPO: Evil GPO (Dangerous) - Domain: DCSync - OU/Container: DaclEdit + FullControl + ShadowCreds

GenericWrite

Access Right

Combination of write permissions

- User: ShadowCreds, TargetedKerberoast - Machine: RBCD, ShadowCreds - Group: AddMembers - GPO: Evil GPO (Dangerous)

AllExtendedRight

Access Right

Extended Rights like Create/Delete Child, Read/Write Property, Control Access, Write Owner, etc.

- User: ForceChangePassword - Machine: LAPS - Group: AddMember - Domain: DCSync, LAPS

WriteDACL

Access Right

Edit object's DACL

- User: FullControl + ShadowCreds,TargetedKerberoast,ForceChangePassword - Machine: FullControl + ShadowCreds, RBCD - Group: WriteMembers + AddMember - Domain: DCSync + DCSync - GPO: Pass (Dangerous)

WriteOwner

Access Right

Change the owner of the object + WriteDACL using ownership

- User: OwnerEdit + WriteDACL + FullControl + ShadowCreds, TargetedKerberoast - Group: OwnerEdit + WriteDACL + WriteMember + AddMember - Machine: OwnerEdit + WriteDACL + FullControl + RBCD, ShadowCreds, LAPS - Domain: OwnerEdit + WriteDACL + FullControl (dangerous)

AddAllowedToAct

BloodHound Edge

Modify msDS-AllowedToActOnBehalfOfOtherIdentity

- Machine: RBCD

AddKeyCredentialLink

BloodHound Edge

Modify msDS-KeyCredentialLink

- User: ShadowCreds - Machine: ShadowCreds

WriteAccountRestrictions

BloodHound Edge

Modify msDS-AllowedToActOnBehalfOfOtherIdentity

- Machine: RBCD

DS-Replication-Get-Changes

Extended Right

One of the two extended rights needed to do DCSync

- Domain: DCSync

DS-Replication-Get-Changes-All

Extended Right

One of the two extended rights needed to do DCSync

- Domain: DCSync

레퍼런스

  • https://github.com/BloodHoundAD/BloodHound/pull/625/files#diff-def72dd48888a7b1a9ad8f7df64ff1e7d5a5b664df9f47614794a9c9bf87ff26

  • https://learn.microsoft.com/ko-kr/windows/win32/ad/how-access-control-works-in-active-directory-domain-services

  • https://learn.microsoft.com/ko-kr/windows/win32/ad/controlling-access-to-objects-and-their-properties

  • https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/acl-persistence-abuse

  • https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces

  • https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab

  • https://learn.microsoft.com/en-us/dotnet/api/system.directoryservices.activedirectoryrights?redirectedfrom=MSDN&view=dotnet-plat-ext-7.0

  • https://dirkjanm.io/abusing-forgotten-permissions-on-precreated-computer-objects-in-active-directory/

  • https://www.youtube.com/watch?v=z8thoG7gPd0

  • https://www.thehacker.recipes/ad/movement/dacl

PreviousSCCMNextAddAllowedToAct

Last updated 2 years ago

⬆️
https://simondotsh.com/infosec/2021/12/29/dcom-without-admin.html