# UUID Insecurities {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** πŸ’¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## Basic Information Universally Unique Identifiers (UUIDs)λŠ” **컴퓨터 μ‹œμŠ€ν…œμ—μ„œ 정보λ₯Ό κ³ μœ ν•˜κ²Œ μ‹λ³„ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 128λΉ„νŠΈ 숫자**μž…λ‹ˆλ‹€. UUIDλŠ” 쀑앙 μ‘°μ • 없이 고유 μ‹λ³„μžκ°€ ν•„μš”ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ν•„μˆ˜μ μž…λ‹ˆλ‹€. 일반적으둜 λ°μ΄ν„°λ² μ΄μŠ€ ν‚€λ‘œ μ‚¬μš©λ˜λ©° λ¬Έμ„œ 및 μ„Έμ…˜κ³Ό 같은 λ‹€μ–‘ν•œ μš”μ†Œλ₯Ό μ°Έμ‘°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. UUIDλŠ” κ³ μœ ν•˜κ³  **μ˜ˆμΈ‘ν•˜κΈ° 어렡도둝 μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€**. νŠΉμ • ν˜•μ‹μœΌλ‘œ κ΅¬μ‘°ν™”λ˜μ–΄ 있으며, 32개의 16μ§„μˆ˜ 숫자둜 κ΅¬μ„±λœ 5개의 그룹으둜 λ‚˜λ‰©λ‹ˆλ‹€. UUIDμ—λŠ” 각각 λ‹€λ₯Έ μš©λ„λ‘œ μ‚¬μš©λ˜λŠ” λ‹€μ–‘ν•œ 버전이 μžˆμŠ΅λ‹ˆλ‹€: * **UUID v1**은 μ‹œκ°„ 기반으둜, νƒ€μž„μŠ€νƒ¬ν”„, 클둝 μ‹œν€€μŠ€ 및 λ…Έλ“œ ID(MAC μ£Όμ†Œ)λ₯Ό ν¬ν•¨ν•˜μ§€λ§Œ μ‹œμŠ€ν…œ 정보λ₯Ό λ…ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. * **UUID v2**λŠ” v1κ³Ό μœ μ‚¬ν•˜μ§€λ§Œ 둜컬 도메인에 λŒ€ν•œ μˆ˜μ • 사항이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€(널리 μ‚¬μš©λ˜μ§€ μ•ŠμŒ). * **UUID v3 및 v5**λŠ” λ„€μž„μŠ€νŽ˜μ΄μŠ€μ™€ μ΄λ¦„μ˜ ν•΄μ‹œ 값을 μ‚¬μš©ν•˜μ—¬ UUIDλ₯Ό μƒμ„±ν•˜λ©°, v3λŠ” MD5λ₯Ό μ‚¬μš©ν•˜κ³  v5λŠ” SHA-1을 μ‚¬μš©ν•©λ‹ˆλ‹€. * **UUID v4**λŠ” 거의 μ™„μ „νžˆ λ¬΄μž‘μœ„λ‘œ μƒμ„±λ˜μ–΄ 높은 μˆ˜μ€€μ˜ 읡λͺ…성을 μ œκ³΅ν•˜μ§€λ§Œ μ•½κ°„μ˜ 쀑볡 μœ„ν—˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. {% hint style="success" %} UUID의 버전 및 ν•˜μœ„ 버전은 일반적으둜 UUID λ‚΄μ—μ„œ 같은 μœ„μΉ˜μ— λ‚˜νƒ€λ‚©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:\ 12345678 - abcd - 1a56 - a539 - 103755193864\ xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx * **M의 μœ„μΉ˜**λŠ” UUID **버전**을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ—μ„œ UUID v**1**μž…λ‹ˆλ‹€. * **N의 μœ„μΉ˜**λŠ” UUID λ³€ν˜•μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. {% endhint %} ## Sandwich attack "μƒŒλ“œμœ„μΉ˜ 곡격"은 **μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ UUID v1 μƒμ„±μ˜ 예츑 κ°€λŠ₯성을 μ•…μš©ν•˜λŠ” νŠΉμ • μœ ν˜•μ˜ 곡격**μž…λ‹ˆλ‹€. 특히 λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •κ³Ό 같은 κΈ°λŠ₯μ—μ„œ UUID v1은 μ‹œκ°„, 클둝 μ‹œν€€μŠ€ 및 λ…Έλ“œμ˜ MAC μ£Όμ†Œλ₯Ό 기반으둜 μƒμ„±λ˜λ―€λ‘œ κ³΅κ²©μžκ°€ μ΄λŸ¬ν•œ UUID 쀑 일뢀λ₯Ό μ‹œκ°„μ— κ°€κΉŒμš΄ μ‹œμ μ—μ„œ 얻을 수 μžˆλ‹€λ©΄ λ‹€μ†Œ 예츑 κ°€λŠ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ### Example UUID v1을 μ‚¬μš©ν•˜μ—¬ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • 링크λ₯Ό μƒμ„±ν•˜λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 상상해 λ³΄μ‹­μ‹œμ˜€. κ³΅κ²©μžκ°€ 이λ₯Ό μ•…μš©ν•˜μ—¬ 무단 μ•‘μ„ΈμŠ€λ₯Ό μ–»λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€: 1. **초기 μ„€μ •**: * κ³΅κ²©μžλŠ” 두 개의 이메일 계정을 μ œμ–΄ν•©λ‹ˆλ‹€: \`attacker1@acme.com\` 및 \`attacker2@acme.com\`. * λŒ€μƒμ˜ 이메일 계정은 \`victim@acme.com\`μž…λ‹ˆλ‹€. 2. **μ‹€ν–‰**: * κ³΅κ²©μžλŠ” 첫 번째 계정(\`attacker1@acme.com\`)에 λŒ€ν•œ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •μ„ νŠΈλ¦¬κ±°ν•˜κ³  UUIDκ°€ ν¬ν•¨λœ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • 링크λ₯Ό λ°›μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ \`99874128-7592-11e9-8201-bb2f15014a14\`μž…λ‹ˆλ‹€. * μ¦‰μ‹œ 후에 κ³΅κ²©μžλŠ” ν”Όν•΄μžμ˜ 계정(\`victim@acme.com\`)에 λŒ€ν•œ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •μ„ νŠΈλ¦¬κ±°ν•˜κ³ , κ·Έ λ‹€μŒ 두 번째 곡격자 μ œμ–΄ 계정(\`attacker2@acme.com\`)에 λŒ€ν•΄ μ‹ μ†ν•˜κ²Œ νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€. * κ³΅κ²©μžλŠ” 두 번째 계정에 λŒ€ν•œ μž¬μ„€μ • 링크λ₯Ό UUID와 ν•¨κ»˜ λ°›μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ \`998796b4-7592-11e9-8201-bb2f15014a14\`μž…λ‹ˆλ‹€. 3. **뢄석**: * κ³΅κ²©μžλŠ” 이제 μ‹œκ°„μ— κ°€κΉŒμš΄ 두 개의 UUID(\`99874128\` 및 \`998796b4\`)λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. μ‹œκ°„ 기반 UUID의 순차적 νŠΉμ„±μ„ κ³ λ €ν•  λ•Œ, ν”Όν•΄μžμ˜ 계정에 λŒ€ν•œ UUIDλŠ” 이 두 κ°’ 사이에 μžˆμ„ κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€. 4. **무차별 λŒ€μž… 곡격**: * κ³΅κ²©μžλŠ” 이 두 κ°’ μ‚¬μ΄μ˜ UUIDλ₯Ό μƒμ„±ν•˜λŠ” 도ꡬλ₯Ό μ‚¬μš©ν•˜κ³ , 각 μƒμ„±λœ UUIDλ₯Ό ν…ŒμŠ€νŠΈν•˜μ—¬ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • 링크에 접근을 μ‹œλ„ν•©λ‹ˆλ‹€(예: \`https://www.acme.com/reset/\\`). * μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ΄λŸ¬ν•œ μ‹œλ„λ₯Ό 적절히 속도 μ œν•œν•˜κ±°λ‚˜ μ°¨λ‹¨ν•˜μ§€ μ•ŠμœΌλ©΄, κ³΅κ²©μžλŠ” λ²”μœ„ λ‚΄μ˜ λͺ¨λ“  κ°€λŠ₯ν•œ UUIDλ₯Ό μ‹ μ†ν•˜κ²Œ ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€. 5. **μ•‘μ„ΈμŠ€ νšλ“**: * ν”Όν•΄μžμ˜ λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • 링크에 λŒ€ν•œ μ˜¬λ°”λ₯Έ UUIDκ°€ 발견되면, κ³΅κ²©μžλŠ” ν”Όν•΄μžμ˜ λΉ„λ°€λ²ˆν˜Έλ₯Ό μž¬μ„€μ •ν•˜κ³  λ¬΄λ‹¨μœΌλ‘œ 계정에 μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. ### Tools * μƒŒλ“œμœ„μΉ˜ 곡격을 μžλ™μœΌλ‘œ μˆ˜ν–‰ν•  수 μžˆλŠ” 도ꡬ: [**https://github.com/Lupin-Holmes/sandwich**](https://github.com/Lupin-Holmes/sandwich) * Burp Suiteμ—μ„œ [**UUID Detector**](https://portswigger.net/bappstore/65f32f209a72480ea5f1a0dac4f38248) ν™•μž₯을 μ‚¬μš©ν•˜μ—¬ μ΄λŸ¬ν•œ μœ ν˜•μ˜ UUIDλ₯Ό 감지할 수 μžˆμŠ΅λ‹ˆλ‹€. ## References * [https://versprite.com/blog/universally-unique-identifiers/](https://versprite.com/blog/universally-unique-identifiers/) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** πŸ’¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}