Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°

iOS κΈ°κΈ°μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°„ 데이터 κ³΅μœ λŠ” UIPasteboard λ©”μ»€λ‹ˆμ¦˜μ— μ˜ν•΄ μ΄‰μ§„λ˜λ©°, μ΄λŠ” 두 κ°€μ§€ μ£Όμš” λ²”μ£Όλ‘œ λ‚˜λ‰©λ‹ˆλ‹€:

  • μ‹œμŠ€ν…œ μ „λ°˜μ˜ 일반 ν΄λ¦½λ³΄λ“œ: μ΄λŠ” λͺ¨λ“  μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό 데이터λ₯Ό κ³΅μœ ν•˜λŠ” 데 μ‚¬μš©λ˜λ©°, iOS 10λΆ€ν„° 제곡된 κΈ°λŠ₯으둜, μž₯치 μž¬μ‹œμž‘ 및 μ•± μ‚­μ œ 후에도 데이터λ₯Ό μ§€μ†μ μœΌλ‘œ μœ μ§€ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • μ‚¬μš©μž μ •μ˜ / λͺ…λͺ…λœ ν΄λ¦½λ³΄λ“œ: μ΄λŠ” μ•± λ‚΄ λ˜λŠ” λ™μΌν•œ νŒ€ IDλ₯Ό κ³΅μœ ν•˜λŠ” λ‹€λ₯Έ μ•±κ³Όμ˜ 데이터 곡유λ₯Ό μœ„ν•΄ νŠΉλ³„νžˆ μ„€κ³„λ˜μ—ˆμœΌλ©°, 이λ₯Ό μƒμ„±ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ‘œμ„ΈμŠ€μ˜ 생λͺ… μ£ΌκΈ°λ₯Ό λ„˜μ–΄ μ§€μ†λ˜λ„λ‘ μ„€κ³„λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ΄λŠ” iOS 10μ—μ„œ λ„μž…λœ λ³€κ²½ 사항을 λ”°λ¦…λ‹ˆλ‹€.

λ³΄μ•ˆ 고렀사항은 ν΄λ¦½λ³΄λ“œλ₯Ό μ‚¬μš©ν•  λ•Œ μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

  • μ‚¬μš©μžκ°€ ν΄λ¦½λ³΄λ“œμ— μ ‘κ·Όν•  수 μžˆλŠ” μ•± κΆŒν•œμ„ 관리할 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ μ—†μŠ΅λ‹ˆλ‹€.
  • ν΄λ¦½λ³΄λ“œμ— λŒ€ν•œ 무단 λ°°κ²½ λͺ¨λ‹ˆν„°λ§μ˜ μœ„ν—˜μ„ μ™„ν™”ν•˜κΈ° μœ„ν•΄, 접근은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 전경에 μžˆμ„ λ•Œλ‘œ μ œν•œλ©λ‹ˆλ‹€(이것은 iOS 9λΆ€ν„° 적용됨).
  • 개인 정보 보호 문제둜 인해 지속적인 λͺ…λͺ…λœ ν΄λ¦½λ³΄λ“œμ˜ μ‚¬μš©μ€ 곡유 μ»¨ν…Œμ΄λ„ˆλ₯Ό μ„ ν˜Έν•©λ‹ˆλ‹€.
  • iOS 10μ—μ„œ λ„μž…λœ μœ λ‹ˆλ²„μ„€ ν΄λ¦½λ³΄λ“œ κΈ°λŠ₯은 일반 ν΄λ¦½λ³΄λ“œλ₯Ό 톡해 μž₯치 κ°„ μ½˜ν…μΈ λ₯Ό κ³΅μœ ν•  수 있게 ν•˜λ©°, κ°œλ°œμžκ°€ 데이터 만료λ₯Ό μ„€μ •ν•˜κ³  μžλ™ μ½˜ν…μΈ  전솑을 λΉ„ν™œμ„±ν™”ν•  수 μžˆλ„λ‘ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ―Όκ°ν•œ 정보가 μš°μ—°νžˆ μ „μ—­ ν΄λ¦½λ³΄λ“œμ— μ €μž₯λ˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. λ˜ν•œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ „μ—­ ν΄λ¦½λ³΄λ“œ 데이터λ₯Ό μ˜λ„ν•˜μ§€ μ•Šμ€ μž‘μ—…μ— μ•…μš©λ˜μ§€ μ•Šλ„λ‘ μ„€κ³„λ˜μ–΄μ•Ό ν•˜λ©°, κ°œλ°œμžλŠ” λ―Όκ°ν•œ 정보λ₯Ό ν΄λ¦½λ³΄λ“œμ— λ³΅μ‚¬ν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•œ 쑰치λ₯Ό κ΅¬ν˜„ν•˜λ„λ‘ ꢌμž₯λ©λ‹ˆλ‹€.

정적 뢄석

정적 뢄석을 μœ„ν•΄ μ†ŒμŠ€ μ½”λ“œλ‚˜ λ°”μ΄λ„ˆλ¦¬μ—μ„œ λ‹€μŒμ„ κ²€μƒ‰ν•©λ‹ˆλ‹€:

  • generalPasteboardλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹œμŠ€ν…œ μ „λ°˜μ˜ 일반 ν΄λ¦½λ³΄λ“œ μ‚¬μš©μ„ μ‹λ³„ν•©λ‹ˆλ‹€.
  • pasteboardWithName:create: 및 pasteboardWithUniqueName을 μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μž μ •μ˜ ν΄λ¦½λ³΄λ“œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. 지속성이 ν™œμ„±ν™”λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜λ˜, μ΄λŠ” 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

동적 뢄석

동적 뢄석은 νŠΉμ • λ©”μ„œλ“œλ₯Ό ν›„ν‚Ήν•˜κ±°λ‚˜ μΆ”μ ν•˜λŠ” 것을 ν¬ν•¨ν•©λ‹ˆλ‹€:

  • μ‹œμŠ€ν…œ μ „λ°˜μ˜ μ‚¬μš©μ„ μœ„ν•΄ generalPasteboardλ₯Ό λͺ¨λ‹ˆν„°λ§ν•©λ‹ˆλ‹€.
  • μ‚¬μš©μž μ •μ˜ κ΅¬ν˜„μ„ μœ„ν•΄ pasteboardWithName:create: 및 pasteboardWithUniqueName을 μΆ”μ ν•©λ‹ˆλ‹€.
  • 지속성 섀정을 ν™•μΈν•˜κΈ° μœ„ν•΄ 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” setPersistent: λ©”μ„œλ“œ ν˜ΈμΆœμ„ κ΄€μ°°ν•©λ‹ˆλ‹€.

λͺ¨λ‹ˆν„°λ§ν•΄μ•Ό ν•  μ£Όμš” μ„ΈλΆ€ 사항은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • ν΄λ¦½λ³΄λ“œ 이름 및 λ‚΄μš©(예: λ¬Έμžμ—΄, URL, 이미지 확인).
  • μ‘΄μž¬ν•˜λŠ” ν•­λͺ© 수 및 데이터 μœ ν˜•, ν‘œμ€€ 및 μ‚¬μš©μž μ •μ˜ 데이터 μœ ν˜• 검사λ₯Ό ν™œμš©ν•©λ‹ˆλ‹€.
  • setItems:options: λ©”μ„œλ“œλ₯Ό κ²€μ‚¬ν•˜μ—¬ 만료 및 둜컬 μ „μš© μ˜΅μ…˜μ„ ν™•μΈν•©λ‹ˆλ‹€.

λͺ¨λ‹ˆν„°λ§ 도ꡬ μ‚¬μš©μ˜ μ˜ˆλ‘œλŠ” objection의 ν΄λ¦½λ³΄λ“œ λͺ¨λ‹ˆν„°κ°€ 있으며, μ΄λŠ” 일반 ν΄λ¦½λ³΄λ“œλ₯Ό 5μ΄ˆλ§ˆλ‹€ ν΄λ§ν•˜μ—¬ λ³€κ²½ 사항을 ν™•μΈν•˜κ³  μƒˆλ‘œμš΄ 데이터λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ objection의 μ ‘κ·Ό λ°©μ‹μ—μ„œ μ˜κ°μ„ λ°›μ•„ ν΄λ¦½λ³΄λ“œμ˜ λ³€κ²½ 사항을 5μ΄ˆλ§ˆλ‹€ 읽고 κΈ°λ‘ν•˜λŠ” κ°„λ‹¨ν•œ JavaScript 슀크립트 μ˜ˆμ œμž…λ‹ˆλ‹€:

const UIPasteboard = ObjC.classes.UIPasteboard
const Pasteboard = UIPasteboard.generalPasteboard()
var items = ""
var count = Pasteboard.changeCount().toString()

setInterval(function () {
const currentCount = Pasteboard.changeCount().toString()
const currentItems = Pasteboard.items().toString()

if (currentCount === count) {
return
}

items = currentItems
count = currentCount

console.log(
"[* Pasteboard changed] count: " +
count +
" hasStrings: " +
Pasteboard.hasStrings().toString() +
" hasURLs: " +
Pasteboard.hasURLs().toString() +
" hasImages: " +
Pasteboard.hasImages().toString()
)
console.log(items)
}, 1000 * 5)

μ°Έκ³ λ¬Έν—Œ

Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°