1οΈβ£ Active Directory Cheatsheet
- Perform user hunting to track down where users are logged into in the network - find users that are members of high-value groups.
- Dump credentials and/or obtain Kerberos tickets.
- Gain access to the user’s machine using creds/ticket.
- (Possibly) escalate privileges in the machine.
- Repeat steps above until you have administrative privileges in the Domain Controller.
πAD Enumeration
- Users / Groups / Computers
- μμ κΆνμ κ°μ§ user μ°ΎκΈ°
λ©μλ | μ€λͺ |
---|---|
onCreate() | μ‘ν°λΉν° μμ± μ νΈμΆ, νλ©΄μ 보μ΄λ λ·°μ μΌλ°μ μΈ μνλ₯Ό μ€μ |
onStart() | μ‘ν°λΉν°κ° μ¬μ©μμκ² νμλκΈ° μ§μ μ νΈμΆ |
onResume() | μ‘ν°λΉν°κ° μ¬μ©μμ μνΈμμ© νκΈ° μ μ νΈμΆ |
onPause() | μμ€ν μ΄ λ€λ₯Έ μ‘ν°λΉν°λ₯Ό μ¬κ°νμ§ μ§μ μ νΈμΆ |
onStop() | μ‘ν°λΉν°κ° λμ΄μ μ¬μ©μμκ² νμλμ§ μμ λ νΈμΆ |
onDestroy() | μ‘ν°λΉν° μλ©Έ μ μ νΈμΆ(λ§μ§λ§ νΈμΆ) |
π**μ‘ν°λΉν° Flow


πνλκ·Έλ¨ΌνΈ
- μ‘ν°λΉν°μ²λΌ μ΄μ©ν μ μλ λ·°
- ν νλ©΄μ μ¬λ¬ νλ©΄ κ΅¬μ± μ κ°λ³ μ‘ν°λΉν° ν΄λμ€μ 볡μ‘μ±μ μ€μ¬μ€ μ μμ
- μ¬λ¬κ°μ νλκ·Έλ¨ΌνΈλ₯Ό νλμ μ‘ν°λΉν°μ μ‘°ν©ν΄ μ°½μ΄ μ¬λ¬ κ°μΈ UI κ΅¬μ± κ°λ₯
- νλμ νλκ·Έλ¨ΌνΈ : Fragment.class + layout.xml
- Fragment, ListFragment, PreferenceFragment, DialogFragment λ±
πνλκ·Έλ¨ΌνΈμ μ‘ν°λΉν°μ κ΄κ³

πμλΉμ€
- λ°±κ·ΈλΌμ΄λμμ μ€νλλ νλ‘μΈμ€λ‘, λ³λμ μ¬μ©μ μΈν°νμ΄μ€ μ 곡 X
- νλ©΄κ³Ό μκ΄ μμ΄ μ₯μκ° μ²λ¦¬ν΄μΌ νλ μμ ꡬνμ μ ν©
(ex. λ©μ μ , μμ νλ μ΄μ΄ λ±)
- νλμ μλΉμ€ : Service.class
- μλΉμ€ ꡬλ λ°©λ²
> startService() : μ΄ν리μΌμ΄μ κ΅¬μ± μμκ° startService() νΈμΆ μ λμ(μμ)
> bindService() : μ΄ν리μΌμ΄μ ꡬμ±μμκ° bindService() νΈμΆ ν λ°μΈλ λλ©΄ λμ (μνΈμμ©)
λ©μλ | μ€λͺ |
---|---|
onCreate() | μλΉμ€ μ΅μ΄ μμ± μ μν (μ€μ μ μ°¨) |
onStartCommand() | startService() νΈμΆ μ λμνλ ν¨μ |
onBind() | bindService() νΈμΆ μ λμνλ ν¨μ |
onDestroy() | μλΉμ€ μλ©Έ μ λμνλ ν¨μ |
πμλΉμ€ μλͺ μ£ΌκΈ°

πλΈλ‘λμΊμ€νΈ 리μλ²
- μλλ‘μ΄λ μμ€ν λλ λ€λ₯Έ μ±μ λΈλ‘λμΊμ€νΈ λ©μμ§λ₯Ό μ‘μμ νλ κΈ°λ₯μ μλ―Έ
- μ΄λ²€νΈ λͺ¨λΈλ‘ μνλλ μ»΄ν¬λνΈ = μμΌλ©΄ λ§κ³ , μμΌλ©΄ λͺ¨λ μ€ν
- μ ν μμ , λ°°ν°λ¦¬ λΆμ‘±, λ¬Έμ μμ , μμ΄νμ΄ λ°κ²¬, λΈλ£¨ν¬μ€ μ°κ²° λ±
- μμ λ°©λ²
> manifest μ΄μ© : manifestμ μΈν νΈ λ±λ‘ -> Receiver ν΄λμ€ / onReceive()
> context μ΄μ© : μλ‘μ΄ Receive ν΄λμ€ μΈμ€ν΄μ€ -> IntenFilter λ±λ‘
π컨ν μΈ νλ‘λ°μ΄λ (Content Provider)
- μ± κ°μ λ°μ΄ν° 곡μ λ₯Ό λͺ©μ μΌλ‘ μ¬μ©νλ μ»΄ν¬λνΈ
- μΌλ°μ μΌλ‘λ λ€λ₯Έ μ±μ λ°μ΄ν°μ μΈλΆ μ±μ΄ μ κ·Ό ν μ μμ
- μ£Όμλ‘, μ¬μ§μ²©, λ©λͺ¨ μ½μ΄μ€κΈ° (URI κΈ°λ°)
- μλλ‘μ΄λμμ μ 곡νλ URIμλ κΆνμ΄ νμν νλͺ©κ³Ό νμνμ§ μμ νλͺ©λ€μ΄ μμ

πμΈν νΈ
- μ± κ΅¬μ± μμ μ¬μ΄μμ μμ μ μμ²νλ λ©μμ§ κ°μ²΄
- μΈν νΈ μ ν
> λͺ μμ μΈν νΈ : μμν ꡬμ±μμλ₯Ό λͺ μμ μΌλ‘ μ§μ νλ κ²
> μμμ μΈν νΈ : νΉμ ꡬμ±μμλ₯Ό μ§μ νμ§ μκ³ , μνν μμ μ μ§μ νλ©΄ ν΄λΉ μμ μ μ²λ¦¬ν μ μλ ꡬμ±μμκ° μ νλμ΄ μμ μ μν (μ νκ±ΈκΈ°, μ§λμ νμ¬ μμΉ νμ λ±)

πλΉλ νλ‘μΈμ€
- μ»΄νμΌλ¬λ μμ€ μ½λλ₯Ό DEX νμΌλ‘ λ³ννκ³ κ·Έ μΈ λͺ¨λ κ²μ 리μμ€λ‘ λ³ν
- APK κ΄λ¦¬μλ DEX νμΌκ³Ό 리μμ€λ₯Ό λ¨μΌ APKμ κ²°ν©
- APK μμ±
> λλ²κ·Έ : μ€νλμ€ μλ ꡬμ±
> λ¦΄λ¦¬μ¦ : κ°λ°μ μλͺ νμ

πμλλ‘μ΄λ μ± νλ‘μ νΈ κ΅¬μ±μμ
- Manifests
> AndroidManifest.xml
> μ± κ΅¬μ± μμ λ° κΆν μ 보λ₯Ό μ μ
- java
> μλ° μμ€νμΌμ΄ λ€μ΄μλ ν΄λ
> ν¨ν€μ§λͺ κ³Ό λμΌν νμ ν΄λλ€μ΄ λ§λ€μ΄μ§
- res
> 리μμ€ νμΌμ΄ λ€μ΄μλ ν΄λ
> XML λ μ΄μμ, κ·Έλ¦Ό, λ¬Έμμ΄μ μ μν XML

πgradle
- λΉλ λ°°ν¬ λꡬ
- μλλ‘μ΄λ μ€νλμ€μ λΉλ μμ€ν μ λ 립 κ΄κ³
- μλλ‘μ΄λ μ€νλμ€λ μ½λ νΈμ§λ§, gradleμ΄ λΉλ
- build.gradle
> λͺ¨λμ λΉλ λ°©λ²μ μ μν μ€ν¬λ¦½νΈ
> λΉλμ μ¬μ©ν SDKλ²μ , μ¬μ© λΌμ΄λΈλ¬λ¦¬ λ±
- setting.gradle
> μ± λΉλ μ ν¬ν¨ν λͺ¨λμ μ μ